サンプル グラバー フィルター

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

注意

[非推奨。 この API は、Windows の今後のリリースから削除される可能性があります。]

 

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

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

Label
フィルター インターフェイス IBaseFilterISampleGrabber
入力ピン メディアの種類 任意のメディアの種類。
入力ピン インターフェイス IMemInputPinIPinIQualityControl
出力ピン メディアの種類 任意のメディアの種類。 入力メディアの種類と一致します。
出力ピン インターフェイス IMediaPositionIMediaSeekingIPinIQualityControl
CLSID をフィルター処理する CLSID_SampleGrabber
プロパティ ページ CLSID プロパティ ページがありません。
[実行可能ファイル] Qedit.dll
メリット MERIT_DO_NOT_USE
フィルター カテゴリ CLSID_LegacyAmFilterCategory

 

解説

このフィルターを使用するには、フィルター グラフに追加し、目的のメディアの種類で ISampleGrabber::SetMediaType を呼び出します。 このメソッドは、フィルターの入力および出力ピン接続のメディアの種類を指定します。 次に、グラフ内の他のフィルターにフィルターを接続します。

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

このフィルターには、ビデオ形式に関して次の制限があります。

  • トップダウン向きのビデオの種類 (負 の biHeight) はサポートされていません。
  • VIDEOINFOHEADER2 形式構造 (FORMAT_VideoInfo2と等しい形式の型) はサポートされていません。
  • サーフェスストライドがビデオ幅と一致しないビデオタイプは拒否されます。

その結果、一部のビデオの種類では、サンプル グラバーはビデオ ミキシング レンダラー (VMR) に接続されません。

要件

要件
ヘッダー
Qedit.h

関連項目

DirectShow Editing Services オブジェクト

サンプル グラバーの使用