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 で除算する。
参照