IVideoFrameStep::Step
Step メソッドは、指定されたフレーム数だけフィルタ グラフを順方向にコマ送りする。
構文
HRESULT Step(
DWORD dwFrames,
IUnknown *pStepObject
);
パラメータ
dwFrames
スキップするフレーム数を指定する。dwFrames が 1 の場合、グラフは 1 フレーム、順方向にコマ送りする。dwFrames が 1 より大きい数値 n の場合、グラフは n - 1 フレームをスキップして n 番目のフレームを表示する。
pStepObject
コマ送り操作を制御するフィルタのインターフェイスへのポインタ。グラフ内のレンダリング フィルタを使ってコマ送りを実行するときは NULL を指定する。コマ送りを実装するカスタム フィルタがグラフに含まれている場合、pStepObject はそのフィルタの IBaseFilter インターフェイスを指定する必要がある。
戻り値
HRESULT を返す。次のいずれかの値を返す。
値 | 説明 |
S_OK | 成功。 |
VFW_E_FRAME_STEP_UNSUPPORTED | コマ送りはサポートされていない。 |
E_INVALIDARG | pStepObject 引数が無効である。 |
注意
コマ送り操作が完了すると、このメソッドはフィルタ グラフ マネージャに EC_STEP_COMPLETE イベント通知を送る。フィルタ グラフ マネージャは、これをアプリケーションのイベント ループに渡し、フィルタ グラフをポーズ状態に切り替える。
コマ送りは実時間で行われる。これは、ムービーを 30 フレーム/秒で再生しているときに、bMultiple に 60 を設定して IVideoFrameStep::Step を呼び出すと、実行に 2 秒かかることを意味する。このインターフェイスのメソッドはすべて非同期であり、制御は直ちにアプリケーションに返される。
参照