CBaseFilter クラス
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
クラスは CBaseFilter
、フィルターを実装するための抽象クラスです。 このクラスを使用してフィルターを実装するには、少なくとも次の手順を実行する必要があります。
- から
CBaseFilter
新しいクラスを派生させます。 - フィルターのピンを定義するメンバー変数を含めます。 ピンは CBasePin クラスから継承する必要があります。
- フィルターのピンを取得する純粋仮想メソッド CBaseFilter::GetPin をオーバーライドします。
- 純粋仮想メソッド CBaseFilter::GetPinCount をオーバーライドします。これにより、ピンの数が取得されます。
- メディア サンプルを生成、処理、またはレンダリングするためのメソッドを提供します。
CSource、CBaseRenderer、CTransformFilter など、いくつかの基底クラスが からCBaseFilter
派生します。 通常は、直接使用 CBaseFilter
するのではなく、これらの特殊なクラスのいずれかを使用してフィルターを実装する方が簡単です。
保護されたメンバー変数 | 説明 |
---|---|
m_State | フィルターの現在の状態。 |
m_pClock | フィルターの参照クロックへのポインター。 |
m_tStart | ストリーム時間 0 に対応する参照時刻。 |
m_clsid | フィルターのクラス識別子 (CLSID)。 |
m_pLock | 状態の変更をシリアル化するために使用されるクリティカル セクションへのポインター。 |
m_pName | フィルター名。 |
m_pGraph | フィルター グラフ マネージャーへのポインター。 |
m_pSink | フィルター グラフ マネージャーの IMediaEventSink インターフェイスへのポインター。 |
m_PinVersion | このフィルターのピンセットの現在のバージョン。 |
パブリック メソッド | 説明 |
CBaseFilter | コンストラクター メソッド。 |
~ CBaseFilter | デストラクター メソッド。 |
StreamTime | 現在のストリーム時刻を取得します。 仮想。 |
IsActive | フィルターが現在アクティブ (実行中または一時停止中) かどうかを判断します。 |
IsStopped | フィルターが現在停止されているかどうかを判断します。 |
NotifyEvent | フィルター グラフ マネージャーにイベント通知を送信します。 |
GetFilterGraph | フィルター グラフ マネージャーへのポインターを取得します。 |
ReconnectPin | 既存のピン接続を切断し、指定したメディアタイプを使用して同じピンに再接続します。 |
GetPinVersion | このフィルターのピンセットのバージョン番号を取得します。 仮想。 |
IncrementPinVersion | ピンのセットのバージョン番号をインクリメントします。 |
GetSetupData | フィルターの登録データを取得します。 仮想。 |
純粋仮想メソッド | 説明 |
GetPinCount | ピンの数を取得します。 |
GetPin | ピンを取得します。 |
IPersist メソッド | 説明 |
GetClassID | クラス識別子を取得します。 |
IMediaFilter メソッド | 説明 |
GetState | フィルターの状態 (実行中、停止、または一時停止) を取得します。 |
SetSyncSource | フィルターの参照クロックを設定します。 |
GetSyncSource | フィルターで使用されている参照クロックを取得します。 |
停止 | フィルターを停止します。 |
一時 停止 | フィルターを一時停止します。 |
[実行] | フィルタを実行します。 |
IBaseFilter メソッド | 説明 |
EnumPins | このフィルターのピンを列挙します。 |
FindPin | 指定した識別子を持つピンを取得します。 |
QueryFilterInfo | フィルターに関する情報を取得します。 |
JoinFilterGraph | フィルターグラフが結合または削除されたことをフィルターに通知します。 |
QueryVendorInfo | ベンダー情報を含む文字列を取得します。 |
IAMovieSetup メソッド | 説明 |
[登録] | レジストリにフィルターを追加します。 |
Unregister | レジストリからフィルターを削除します。 |
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|