IMFSeekInfo::GetNearestKeyFrames メソッド (mfidl.h)
特定のシーク位置の場合は、最も近い 2 つのキー フレームを取得します。
構文
HRESULT GetNearestKeyFrames(
[in] const GUID *pguidTimeFormat,
[in] const PROPVARIANT *pvarStartPosition,
[out] PROPVARIANT *pvarPreviousKeyFrame,
[out] PROPVARIANT *pvarNextKeyFrame
);
パラメーター
[in] pguidTimeFormat
時刻形式を指定する GUID へのポインター。 時刻形式は、このメソッドの他のパラメーターの単位を定義します。 値が GUID_NULLの場合、時間形式は 100 ナノ秒単位です。 一部のメディア ソースでは、追加の時間形式 GUID がサポートされる場合があります。
[in] pvarStartPosition
シーク位置。 このパラメーターの単位は pguidTimeFormat で指定します。
[out] pvarPreviousKeyFrame
pvarStartPosition より前に表示される最も近いキー フレームの位置を受け取ります。 このパラメーターの単位は pguidTimeFormat で指定します。
[out] pvarNextKeyFrame
pvarStartPosition より後に表示される最も近いキー フレームの位置を受け取ります。 このパラメーターの単位は pguidTimeFormat で指定します。
戻り値
このメソッドは、これらの値のいずれかを返すことができます。
リターン コード | 説明 |
---|---|
|
メソッドが成功しました。 |
|
pguidTimeFormat で指定された時刻形式はサポートされていません。 |
解説
アプリケーションが非キー フレームをシークする場合、デコーダーは前のキー フレームからのデコードを開始する必要があります。 これにより、要求されたフレームに到達する前に複数のフレームがデコードされる可能性があるため、待機時間が長くなる可能性があります。 待機時間を短縮するために、アプリケーションはこのメソッドを呼び出して、目的の時間に最も近い 2 つのキー フレームを検索し、それらのキー フレームのいずれかにシークします。
要件
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | mfidl.h |