次の方法で共有


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 メソッドを呼び出す。

参照

CTransformFilter クラス