CRenderedInputPin クラス
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
CRenderedInputPin クラスは、レンダラーに入力ピンを実装するための基本クラスです。 このクラスは、 CBaseRenderer クラスから派生しないレンダラー フィルター用に設計されています。 ( CBaseRenderer から派生するフィルターでは、入力ピンに CRendererInputPin クラスを使用する必要があります)。
このクラスを使用するには、少なくとも次の操作を行う必要があります。
- CRenderedInputPin を継承する新しい pin クラスを宣言します。
- pin クラスで、ストリーミング ロックを保持するクリティカル セクション オブジェクトを宣言します。 この目的で CCritSec クラスを使用できます。 詳細については、「 スレッドとクリティカル セクション」を参照してください。
- ストリーミング ロックを保持するには 、CRenderedInputPin::EndOfStream をオーバーライドします。
- IMemInputPin::Receive、CBasePin::CheckMediaType、および CBasePin::GetMediaType メソッドを実装します。
- フィルターで CBaseFilter::GetPin を 実装して、pin クラスのインスタンスを返します。
このクラスは、複数の入力ピンを持つレンダラーで使用できます。 このクラスは CBaseInputPin クラスを継承します。
保護されたメンバー変数 | 説明 |
---|---|
m_bAtEndOfStream | ストリームの末尾に達したかどうかを示します。 |
m_bCompleteNotified | ピンがフィルター グラフ マネージャーに EC_COMPLETE イベントを送信したかどうかを示します。 |
パブリック メソッド | 説明 |
アクティブ | フィルターがアクティブになったことをピンに通知します。 |
CRenderedInputPin | コンストラクター メソッド。 |
[実行] | フィルターが実行されていることをピンに通知します。 |
IPin メソッド | 説明 |
EndFlush | フラッシュ操作を終了します。 |
EndOfStream | フィルターが新しい実行コマンドを受け取るまで、追加のデータが必要ないことをピンに通知します。 |
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|