IMFClockStateSink::OnClockStart メソッド (mfidl.h)
プレゼンテーション クロックの開始時に呼び出されます。
構文
HRESULT OnClockStart(
[in] MFTIME hnsSystemTime,
[in] LONGLONG llClockStartOffset
);
パラメーター
[in] hnsSystemTime
クロックが開始されたシステム時刻 (100 ナノ秒単位)。
[in] llClockStartOffset
クロックの新しい開始時刻 (100 ナノ秒単位)。 このパラメーターは、クロック が現在の位置から開始または再起動されたことを示すPRESENTATION_CURRENT_POSITIONに等しい場合もあります。
戻り値
このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。
解説
このメソッドは、プレゼンテーション クロックの IMFPresentationClock::Start メソッドが呼び出されたときに呼び出されます。ただし、クロックが一時停止され、値が PRESENTATION_CURRENT_POSITION で Start が呼び出された場合、IMFClockStateSink::OnClockRestart は OnClockStart の代わりに呼び出されます。
クロックは、タイム ソースの OnClockStart メソッドを呼び出して、プレゼンテーションのタイム ソースに通知します。 この呼び出しは 、Start メソッド内で同期的に行われます。 タイム ソースから OnClockStart からエラーが返された場合、プレゼンテーション クロックの Start メソッドはエラーを返し、状態の変更は行われません。
プレゼンテーションの時刻ソースではないオブジェクトの場合、 OnClockStart メソッドは、状態の変更が完了した後に非同期的に呼び出されます。 その場合、このメソッドからの戻り値は無視されます。
llClockStartOffset に指定された値は、クロックが開始されるプレゼンテーション時間であるため、プレゼンテーションの開始に対する相対値です。 メディア シンクは、 llClockStartOffSet より前のプレゼンテーション時間のデータをレンダリングしないでください。 サンプルがオフセットをまたぐ場合 (つまり、オフセットがサンプルの開始時刻と終了時刻の間にある場合)、シンクは 、llClockStartOffset の後のデータのみがレンダリングされるようにサンプルをトリミングするか、単にサンプルを削除する必要があります。
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ | UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリ | UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | mfidl.h |
Library | Mfuuid.lib |