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 [仅限桌面应用] |
标头 |
|
另请参阅