MF_TOPOLOGY_STATIC_PLAYBACK_OPTIMIZATIONS 특성
비디오 파이프라인에서 정적 최적화를 사용하도록 설정합니다.
데이터 형식
UINT32
가져오기/설정
이 특성을 얻으려면 IMFAttributes::GetUINT32를 호출합니다.
이 특성을 설정하려면 IMFAttributes::SetUINT32를 호출합니다.
적용 대상
설명
토폴로지를 로드하기 전에 이 특성을 설정합니다. 특성이 TRUE이면 토폴로지 로더는 재생이 시작되기 전에 파이프라인을 최적화하려고 시도합니다.
이 특성을 설정하는 경우 다음 특성도 설정해야 합니다.
이 특성의 GUID 상수는 mfuuid.lib에서 내보냅니다.
예제
HRESULT SetPlaybackOptimizations(IMFTopology *pTopology, HWND hwnd)
{
HRESULT hr = pTopology->SetUINT32(
MF_TOPOLOGY_STATIC_PLAYBACK_OPTIMIZATIONS, TRUE);
if (FAILED(hr))
{
return hr;
}
HMONITOR hCurrentMon = MonitorFromWindow(hwnd, MONITOR_DEFAULTTOPRIMARY);
if (hCurrentMon)
{
MONITORINFO MonitorInfo = {0};
MonitorInfo.cbSize = sizeof(MONITORINFO);
BOOL fSucceeded = GetMonitorInfo(hCurrentMon, &MonitorInfo);
if (fSucceeded )
{
const RECT& rcMonitor = MonitorInfo.rcMonitor;
LONG width = rcMonitor.right - rcMonitor.left;
LONG height = rcMonitor.bottom - rcMonitor.top;
hr = MFSetAttributeSize(
pTopology,
MF_TOPOLOGY_PLAYBACK_MAX_DIMS,
(UINT32)width, (UINT32)height
);
if (FAILED(hr))
{
goto done;
}
HDC hdc = GetDC(hwnd);
hr = MFSetAttributeRatio(
pTopology,
MF_TOPOLOGY_PLAYBACK_FRAMERATE,
GetDeviceCaps(hdc, VREFRESH), 1
);
ReleaseDC(hwnd, hdc);
}
}
done:
return hr;
}
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 |
Windows 7 [데스크톱 앱만 해당] |
지원되는 최소 서버 |
Windows Server 2008 R2 [데스크톱 앱만 해당] |
헤더 |
|
추가 정보