次の方法で共有


CPullPin::Receive

Receive メソッドは、オブジェクトが出力ピンからメディア サンプルを受信すると呼び出される。派生クラスはこのメソッドを実装する必要がある。

構文

  virtual HRESULT Receive(
    IMediaSample *pSample
) PURE;

パラメータ

pSample

メディア サンプルの IMediaSample インターフェイスへのポインタ。

戻り値

HRESULT 値を返す。S_OK 以外の値を返すと、データ取り出しスレッドは終了する。

注意

このメソッドは、出力ピンから新しいサンプルが到着するたびに呼び出される。このメソッドは IMemInputPin::Receive メソッドと同じ方法で記述する。

サンプルのタイム スタンプは、CPullPin::Seek メソッドで指定した元の開始位置を基準にして、バイト オフセットを指定する。

開始位置は最も近いアラインメント境界に合わせて切り捨て、停止位置は最も近いアラインメント境界に合わせて切り上げる。また、停止位置が合計時間幅を超過している場合は、代わりに時間幅を使う。

すべてのタイム スタンプは、定数 UNITS として定義される、10,000,000 を乗算したバイト オフセットで指定する。したがって、表記上は 1 秒が 1 バイトとなる。実際のバイト オフセットを確認するには、IMediaSample::GetTime を呼び出し、結果を UNITS で除算する。

参照