CRendererPosPassThru クラス
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]
クラスは CRendererPosPassThru
、レンダラー フィルターの seek コマンドを次のフィルターに上流に渡すことによって処理します。
このクラスは CPosPassThru クラスから派生します。 サンプルの到着時にタイム スタンプをキャッシュするためのサポートが追加されます。 このクラスは、 CPosPassThru クラスと同じ方法で使用します。 詳細については、 CPosPassThru のドキュメントを参照してください。
レンダラー フィルターは、次のように、オブジェクトのキャッシュされたタイム スタンプを更新 CRendererPosPassThru
する必要があります。
- フィルターが受け取る各サンプルについて、 CRendererPosPassThru::RegisterMediaTime メソッドを呼び出します。
- フィルターが停止するか 、EndFlush 呼び出しを受信したら、 CRendererPosPassThru::ResetMediaTime メソッドを呼び出します。
- フィルターがストリームの終了通知を受信したら、 CRendererPosPassThru::EOS メソッドを呼び出します。
このクラスの使用方法の例については、 CBaseRenderer ソース コードを参照してください。
パブリック メソッド | 説明 |
---|---|
CRendererPosPassThru | コンストラクター メソッド。 |
GetMediaTime | 現在のサンプルのタイム スタンプを取得します。 |
RegisterMediaTime | 現在のサンプルのタイム スタンプをキャッシュします。 |
ResetMediaTime | キャッシュされたタイム スタンプを 0 にリセットします。 |
EOS | ストリームの終了通知の後に、キャッシュされたタイム スタンプを更新します。 |
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|