次の方法で共有


IMediaFilter::Run

Run メソッドは、フィルタを実行する。

構文

  HRESULT Run(
  REFERENCE_TIME tStart
);

パラメータ

tStart

ストリーム タイム 0 に対応する基準タイム。

戻り値

HRESULT 値を返す。可能な値は次の一覧のとおりである。

説明
S_FALSE 移行は完了していない。
S_OK 成功。移行は完了した。

注意

フィルタが実行中のとき、フィルタはサンプルを受け取り、処理し、出力できる。ソース フィルタは新しいサンプルを生成し、レンダリング フィルタはそれらのサンプルをレンダリングする。

状態移行は非同期の場合がある。移行が完了する前にメソッドが返る場合、戻り値は S_FALSE となる。

ストリーム タイムは現在の基準タイムから tStart を引いて計算される。メディア サンプルがいつレンダリングされるかを計算するために、レンダラは現在のストリーム タイムとタイム スタンプを比較する。そのため、タイム スタンプがゼロのメディア サンプルは、tStart 時にレンダリングされる必要がある。詳細については、「DirectShow のタイムとクロック」を参照すること。

アプリケーションが IMediaControl::Run メソッドを呼び出す場合に、フィルタ グラフ マネージャは各フィルタで IMediaFilter::Run を呼び出す。フィルタ グラフ マネージャは tStart の値を少し後で設定し、グラフの遅延時間に対応する。

参照