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 の値を少し後で設定し、グラフの遅延時間に対応する。
参照