CBaseRenderer メソッド

メソッドは、 Receive ストリーム内の次のメディアサンプルを受け取ります。

構文

virtual Receive(
   IMediaSample *pMediaSample
);

パラメーター

pMediaSample

サンプルの Imediasample なインターフェイスへのポインター。

戻り値

成功し _ た場合は S OK、エラーの原因を示す HRESULT 値を返します。

解説

入力ピンは、上流フィルターからサンプルを受け取ったときにこのメソッドを呼び出します。

フィルターが実行中の場合、このメソッドは次の手順を実行します。

  1. レンダリングのサンプルをスケジュールします (CBaseRenderer::P reparereceive)。
  2. スケジュールされた時刻 (CBaseRenderer:: WaitForRenderTime) まで待機します。
  3. サンプル (CBaseRenderer:: Render) をレンダリングします。
  4. サンプル (CBaseRenderer:: ClearPendingSample) を解放します。

フィルターが一時停止されている場合、メソッドは次の手順を実行します。

  1. サンプルが使用可能であることを派生クラスに通知します (CBaseRenderer:: OnReceiveFirstSample)。
  2. スケジュールされた時刻まで待機します。
  3. サンプルをレンダリングします。
  4. サンプルを解放します。

一時停止中に、メソッドは、フィルターが実行状態に切り替わるまで、手順2で待機します。 この時点で、フィルターはサンプルをスケジュールします。

基本クラスでは、 Onreceivefirstsample メソッドは何も行いません。 派生クラスでオーバーライドできます。 たとえば、ビデオレンダラーが一時停止されている場合は、最初のサンプルが静止画像として表示されます。

必要条件

要件
ヘッダー
Renbase (Streams を含む)
ライブラリ
Strmbase .lib (リテールビルド);
Strmbasd .lib (デバッグビルド)

関連項目

CBaseRenderer クラス