CRendererPosPassThru クラス
CRendererPosPassThru クラスは、シーク コマンドを次のフィルタにアップストリームして渡すことにより、レンダラ フィルタのシーク コマンドを処理する。
このクラスは、CPosPassThru クラスから派生する。サンプルが届いたときサンプルからタイム スタンプをキャッシュするサポートが追加されている。CPosPassThru クラスと同じやり方でこのクラスを使う。詳細については、『CPosPassThru』ドキュメントを参照すること。
レンダラ フィルタは、以下のようにして、CRendererPosPassThru オブジェクトのキャッシュされたタイム スタンプを更新しなければならない。
- フィルタが受け取った各サンプルに対して、CRendererPosPassThru::RegisterMediaTime メソッドを呼び出す。
- フィルタが停止したときまたは EndFlush 呼び出しを受け取ったとき、CRendererPosPassThru::ResetMediaTime メソッドを呼び出す。
- フィルタがストリーム終了通知を受け取ったとき、CRendererPosPassThru::EOS メソッドを呼び出す。
このクラスの使い方については、CBaseRenderer ソース コードを参照すること。
要件
ヘッダー : Ctlutil.h 内で宣言し、Streams.h をインクルードする。
ライブラリ : Strmbase.lib (リテール ビルド) または Strmbasd.lib (デバッグ ビルド) を使う。
パブリック メソッド | |
CRendererPosPassThru | コンストラクタ メソッド。 |
GetMediaTime | 現在のサンプルのタイム スタンプを取得する。 |
RegisterMediaTime | 現在のサンプルからタイム スタンプをキャッシュする。 |
ResetMediaTime | キャッシュされたタイム スタンプをゼロにリセットする。 |
EOS | エンドオブストリーム通知の後でキャッシュされたタイム スタンプを更新する。 |