次の方法で共有


サンプル グラバ フィルタ

サンプル グラバ フィルタは、サンプルがフィルタ グラフを通過するときにそれを取得する方法を提供する。このフィルタは、1 つの入力ピンと 1 つの出力ピンを持つ変換フィルタである。すべてのサンプルをそのままダウンストリームに渡すので、データ ストリームを変更せずにフィルタ グラフに挿入することができる。これにより、アプリケーションは ISampleGrabber インターフェイスでメソッドを呼び出すことで、フィルタから個々のサンプルを取得できる。

データをレンダリングせずにサンプルを取得する場合は、サンプル グラバ フィルタを Null レンダリング フィルタに接続する。

フィルタ インターフェイス IBaseFilterISampleGrabber
入力ピン メディア タイプ 任意のメディア タイプ。
入力ピン インターフェイス IMemInputPinIPinIQualityControl
出力ピン メディア タイプ 任意のメディア タイプ。入力メディア タイプと同じ。
出力ピン インターフェイス IMediaPositionIMediaSeekingIPinIQualityControl
フィルタ CLSID CLSID_SampleGrabber
プロパティ ページ CLSID プロパティ ページなし。
実行モジュール Qedit.dll
メリット MERIT_DO_NOT_USE
フィルタ カテゴリ CLSID_LegacyAmFilterCategory

注意

このフィルタを使うには、フィルタ グラフに追加した後、任意のメディア タイプで ISampleGrabber::SetMediaType を呼び出す。このメソッドは、フィルタの入力ピンと出力ピンの接続のメディア タイプを指定する。その後、フィルタをグラフ内の他のフィルタに接続する。

ISampleGrabber::SetBufferSamples を値 TRUE で呼び出すと、このフィルタは、受け取った各サンプルを、ダウンストリームに渡す前にバッファする。バッファの現在の内容を取得するには、ISampleGrabber::GetCurrentBuffer メソッドを呼び出す。または、ISampleGrabber::SetCallback を呼び出して、フィルタがサンプルを受け取ったときにコールバック関数を起動させることもできる。

このフィルタは、トップダウン方向 (負の biHeight) やフォーマット タイプ FORMAT_VideoInfo2 のビデオ タイプをサポートしていない。また、サーフェイスのストライドがビデオの幅と一致しないビデオ タイプを拒否する。これは、一部のビデオ タイプの場合、サンプル グラバが Video Mixing Renderer (VMR) に接続しないことを意味する。

参照