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 を返すべきである。
参照