AVStream のクロック
AVStream フィルターは、ピンのクロックをサポートします。
AVStream ピンがクロックを公開していることを示すには、KSFILTER_DESCRIPTOR の PinDescriptors メンバーの最初の KSPIN_DESCRIPTOR_EXの Flags メンバーに KSPIN_FLAG_IMPLEMENT_CLOCK を設定します。
また、KSPIN_DISPATCH のKSCLOCK_DISPATCH 構造体へのポインターも指定します。
クロック要求を行うには、IKsReferenceClock インターフェイスで定義されているメソッドを使用します。 KsPinGetReferenceClockInterface を呼び出すことで、IKsReferenceClock インターフェイスを取得できます。 AVStream ミニドライバーは、完了時にインターフェイスを解放する役割を担います。
KSSTREAM_HEADER の PresentationTime フィールドに配置するタイマー値を取得するには、IKsReferenceClock::GetCorrelatedTime を呼び出します。
クロックが選択されている場合でも、クロックは GraphEdit に表示されないことに注意してください。
クロックが選択されていることを確認するには、IKsReferenceClock メソッドの呼び出しによって、KSCLOCK_DISPATCH で指定されたディスパッチ ルーチンの呼び出しが生成されることを確認します。
フィルター グラフ マネージャーは、グラフが一時停止状態に遷移したときにクロックを選択します。 プッシュ ソースであるフィルター (キャプチャ フィルターなど) は、クロック プロバイダーとして優先されます。