次の方法で共有


CTransformFilter::Transform

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

構文

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

パラメータ

pIn

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

pOut

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

戻り値

基底クラスは E_UNEXPECTED を返す。

派生クラスは、成功または失敗を示す HRESULT 値を返す。次のいずれかの値を返す。

説明
S_FALSE このサンプルを出力しない。
S_OK 成功。

注意

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

フィルタはこのメソッドを呼び出す前に、入力サンプルから出力サンプルにプロパティをコピーする。Transform メソッドは 2 つのサンプル間で異なるプロパティを設定すべきである。それには IMediaSample メソッドを使うか、または (もし利用可能なら) IMediaSample2 インターフェイスを使う。

(たとえば、品質コントロールをサポートするために) フィルタがこのサンプルを出力するべきでない場合、このメソッドは S_FALSE を返すべきである。

参照

CTransformFilter クラス