MF_TOPOLOGY_STATIC_PLAYBACK_OPTIMIZATIONS 属性

在视频管道中启用静态优化。

数据类型

UINT32

获取/设置

若要获取此属性,请调用 IMFAttributes::GetUINT32

若要设置此属性,请调用 IMFAttributes::SetUINT32

适用于

IMFTopology

备注

在加载拓扑之前设置此属性。 如果该属性为 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 [仅限桌面应用]
标头
Mfidl.h

另请参阅

媒体基础属性的字母顺序列表

拓扑属性

视频质量管理