CSourceStream クラス
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]
CSourceStream クラスは、CSource フィルター クラスの出力ピンを提供します。
このクラスの使用方法については、「 CSource」を参照してください。 このクラスは CAMThread クラスを継承します。このクラスは、ピンからデータをストリーミングするためのワーカー スレッドを提供します。 CSourceStream クラスは、スレッドに要求を送信するために、次のヘルパー メソッドを実装します。
- CSourceStream::Exit
- CSourceStream::Init
- CSourceStream::P ause
- CSourceStream::Run
- CSourceStream::Stop
スレッドに対する最初の要求は 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 | ピンの識別子を取得します。 |
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|