CTransformFilter::Receive
Receive メソッドは、メディア サンプルを取得して処理し、ダウンストリーム フィルタに出力サンプルを出力する。
構文
HRESULT Receive(
IMediaSample *pSample
);
パラメータ
pSample
入力サンプルの IMediaSample インターフェイスへのポインタ。
戻り値
HRESULT 値を返す。次のいずれかの値を返す。
値 | 説明 |
S_FALSE | アップストリーム フィルタはサンプルの送信を停止しなければならない。 |
S_OK | 成功。 |
注意
フィルタの入力ピンはサンプルを取得するとき、このメソッドを呼び出す。このメソッドは、新しい出力サンプルを準備する CTransformFilter::InitializeOutputSample メソッドを呼び出す。その後 CTransformFilter::Transform メソッドを呼び出す。このメソッドは、派生クラスで実装しなければならない。Transform メソッドは入力データを処理し、出力データを作成する。
Transform メソッドが S_FALSE を返すと、Receive メソッドはこのサンプルをドロップする。最初にドロップされたサンプルでは、フィルタは EC_QUALITY_CHANGE イベントをフィルタ グラフ マネージャに送る。一方、Transform メソッドが S_OK を返すと、フィルタは出力サンプルを出力する。それを行うため、ダウンストリームの入力ピンの IMemInputPin::Receive メソッドを呼び出す。
参照