次の方法で共有


CTransformFilter.Transform メソッド

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

メソッドは Transform 、入力サンプルを変換して出力サンプルを生成します。

構文

virtual HRESULT Transform(
   IMediaSample *pIn,
   IMediaSample *pOut
);

パラメーター

ピン

入力サンプルの IMediaSample インターフェイスへのポインター。

ふくれっ面

出力サンプルの IMediaSample インターフェイスへのポインター。

戻り値

基底クラスは、E_UNEXPECTEDを返します。

派生クラスは、成功または失敗を示す HRESULT 値を返す必要があります。 次の表に示す値を指定できます。

リターン コード 説明
S_FALSE
このサンプルは提供しないでください。
S_OK
成功しました。

解説

出力データを生成するには、このメソッドをオーバーライドします。 pIn パラメーターで指定されたサンプルから入力データを読み取り、pOut パラメーターで指定されたサンプルに新しいデータを書き込みます。

フィルターは、このメソッドを呼び出す前に、入力サンプルから出力サンプルにプロパティをコピーします。 メソッドは TransformIMediaSample メソッドまたは IMediaSample2 インターフェイス (使用可能な場合) を使用して、 2 つのサンプル間で異なるプロパティを設定する必要があります。

フィルターでこのサンプルを提供しない場合 (品質管理をサポートする場合など)、メソッドはS_FALSEを返す必要があります。

要件

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

関連項目

CTransformFilter クラス