CRenderedInputPin クラス
CRenderedInputPin クラスは、レンダラに入力ピンを実装するための基底クラスである。このクラスは、CBaseRenderer クラスから派生しないレンダラ フィルタ用に設計されている。(CBaseRenderer から派生するフィルタは、入力ピンに CRendererInputPin クラスを使う。)
このクラスを使うには、最低限次のことを実行しなければならない。
- CRenderedInputPin を継承する新しいピン クラスを宣言する。
- ピン クラスで、ストリーミング ロックを保持するためのクリティカル セクション オブジェクトを宣言する。この目的で CCritSec クラスを使える。詳細については、「スレッドとクリティカル セクション」を参照すること。
- ストリーミング ロックを保持するために CRenderedInputPin::EndOfStream をオーバーライドする。
- IMemInputPin::Receive、CBasePin::CheckMediaType、および CBasePin::GetMediaType メソッドを実装する。
- フィルタ内で、ピン クラスのインスタンスを返すために CBaseFilter::GetPin を実装する。
このクラスは、複数の入力ピンがあるレンダラで使える。このクラスは、CBaseInputPin クラスを継承する。
要件
ヘッダー : Amextra.h 内で宣言し、Streams.h をインクルードする。
ライブラリ : Strmbase.lib (リテール ビルド) または Strmbasd.lib (デバッグ ビルド) を使う。
プロテクト メンバ変数 | 説明 |
m_bAtEndOfStream | エンドオブストリームに到達したかどうかを示す。 |
m_bCompleteNotified | ピンがフィルタ グラフ マネージャに EC_COMPLETE イベントを送信したかどうかを示す。 |
パブリック メソッド | |
Active | フィルタが現在アクティブであることをピンに通知する。 |
CRenderedInputPin | コンストラクタ メソッド。 |
Run | フィルタが現在実行中であることをピンに知らせる。 |
IPin メソッド | |
EndFlush | フラッシュ処理を終了する。 |
EndOfStream | フィルタが新しい実行コマンドを受け取るまで追加のデータがないことをピンに通知する。 |