次の方法で共有


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::OnClockRestartOnClockStart の代わりに呼び出されます。

クロックは、タイム ソースの OnClockStart メソッドを呼び出して、プレゼンテーションのタイム ソースに通知します。 この呼び出しは 、Start メソッド内で同期的に行われます。 タイム ソースから OnClockStart からエラーが返された場合、プレゼンテーション クロックの Start メソッドはエラーを返し、状態の変更は行われません。

プレゼンテーションの時刻ソースではないオブジェクトの場合、 OnClockStart メソッドは、状態の変更が完了した後に非同期的に呼び出されます。 その場合、このメソッドからの戻り値は無視されます。

llClockStartOffset に指定された値は、クロックが開始されるプレゼンテーション時間であるため、プレゼンテーションの開始に対する相対値です。 メディア シンクは、 llClockStartOffSet より前のプレゼンテーション時間のデータをレンダリングしないでください。 サンプルがオフセットをまたぐ場合 (つまり、オフセットがサンプルの開始時刻と終了時刻の間にある場合)、シンクは 、llClockStartOffset の後のデータのみがレンダリングされるようにサンプルをトリミングするか、単にサンプルを削除する必要があります。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー mfidl.h
Library Mfuuid.lib

関連項目

IMFClockStateSink

MFTIME

プレゼンテーションクロック