CSourceStream クラス

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]

csourcestream クラス階層

CSourceStream クラスは、CSource フィルター クラスの出力ピンを提供します。

このクラスの使用方法については、「 CSource」を参照してください。 このクラスは CAMThread クラスを継承します。このクラスは、ピンからデータをストリーミングするためのワーカー スレッドを提供します。 CSourceStream クラスは、スレッドに要求を送信するために、次のヘルパー メソッドを実装します。

スレッドに対する最初の要求は Init である必要があります。 Exit 要求はスレッドを終了します。 ピンの CSourceStream::Active メソッドと CSourceStream::Inactive メソッドは必要に応じてそれらを呼び出すので、実際には、これらのメソッドを直接呼び出す必要はありません。

クラスには、いくつかの "ハンドラー" メソッドも用意されています。

これらは基底クラスでは何も行いませんが、派生クラスはそれらをオーバーライドできます。

保護されたメンバー変数 説明
m_pFilter このピンを含むフィルターへのポインター。
プロテクト メソッド 説明
OnThreadCreate ストリーミング スレッドが初期化されるときに呼び出されます。 仮想。
OnThreadDestroy ストリーミング スレッドが終了しようとしているときに呼び出されます。 仮想。
OnThreadStartPlay CSourceStream::D oBufferProcessingLoop メソッドの開始時に呼び出されます。 仮想。
アクティブ フィルターがアクティブになったことをピンに通知します。
非アクティブ フィルターがアクティブでなくなったことをピンに通知します。
GetRequest 次のスレッド要求を待機します。
CheckRequest ブロックせずにスレッド要求があるかどうかを確認します。
ThreadProc スレッド プロシージャ。 仮想。
DoBufferProcessingLoop メディア データを生成し、ダウンストリーム入力ピンに配信します。 仮想。
CheckMediaType ピンが特定のメディアの種類を受け入れるかどうかを判断します。 仮想。
GetMediaType 優先されるメディアの種類を取得します。 仮想。
パブリック メソッド 説明
CSourceStream コンストラクター メソッド。
~ CSourceStream デストラクター メソッド。 仮想。
Init ストリーミング スレッドを初期化します。
終了 ストリーミング スレッドに終了を通知します。
[実行] ストリーミング スレッドの実行を通知します。
一時 停止 ストリーミング スレッドがアクティブになることを通知します。
停止 ストリーミング スレッドに停止を通知します。
純粋仮想メソッド 説明
FillBuffer メディア サンプルにデータを入力します。
IPin メソッド 説明
QueryId ピンの識別子を取得します。

要件

要件
ヘッダー
Source.h (Streams.h を含む)
ライブラリ
Strmbase.lib (製品版ビルド);
Strmbasd.lib (デバッグ ビルド)

関連項目

ソース フィルターの記述