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 [デスクトップ アプリのみ] |
Header |
|
こちらもご覧ください