CSourceStream クラス
CSourceStream クラスは、CSource フィルタ クラスの出力ピンを提供する。
このクラスの使い方の詳細については、「CSource」を参照すること。このクラスは、ピンからのストリーミング データにワーカー スレッドを提供する CAMThread クラスを継承する。CSourceStream クラスは、次のヘルパー メソッドを実装して、スレッドに要求を送る。
スレッドへの最初の要求は、Init でなくてはならない。Exit 要求によって、スレッドが終了する。実際には、これらのいずれのメソッドも直接呼び出す必要はない。これは、ピンの CSourceStream::Active メソッドと CSourceStream::Inactive メソッドが、必要に応じてメソッドを呼び出すためである。
このクラスは、次に示すいくつかの "ハンドラ" メソッドも提供する。
これらのメソッドは、基底クラスでは何も処理を行わないが、派生クラスではそれらをオーバーライドできる。
要件
ヘッダー : Source.h 内で宣言し、Streams.h をインクルードする。
ライブラリ : Strmbase.lib (リテール ビルド) または Strmbasd.lib (デバッグ ビルド) を使う。
プロテクト メンバ変数 | |
m_pFilter | このピンが含まれているフィルタへのポインタ。 |
プロテクト メソッド | |
OnThreadCreate | ストリーミング スレッドが初期化されたときに呼び出される。仮想。 |
OnThreadDestroy | ストリーミング スレッドが間もなく終了するときに呼び出される。仮想。 |
OnThreadStartPlay | CSourceStream::DoBufferProcessingLoop メソッドの処理が開始されたときに呼び出される。仮想。 |
Active | フィルタが現在アクティブであることをピンに通知する。 |
Inactive | フィルタがアクティブではなくなったことをピンに通知する。 |
GetRequest | 次のスレッド要求を待つ。 |
CheckRequest | ブロックせずに、スレッド要求があるかどうかを調べる。 |
ThreadProc | スレッド プロシージャ。仮想。 |
DoBufferProcessingLoop | メディア データを生成し、ダウンストリームの入力ピンに提供する。仮想。 |
CheckMediaType | ピンが特定のメディア タイプを受け入れるかどうかを調べる。仮想。 |
GetMediaType | 優先メディア タイプを取得する。仮想。 |
パブリック メソッド | |
CSourceStream | コンストラクタ メソッド。 |
~CSourceStream | デストラクタ メソッド。仮想。 |
Init | ストリーミング スレッドを初期化する。 |
Exit | ストリーミング スレッドに終了するように通知する。 |
Run | ストリーミング スレッドに実行するように通知する。 |
Pause | ストリーミング スレッドにアクティブになるように通知する。 |
Stop | ストリーミング スレッドに停止するように通知する。 |
純粋仮想メソッド | |
FillBuffer | メディア サンプルにデータを埋める。 |
IPin メソッド | |
QueryId | ピンの識別子を取得する。 |