Microsoft DirectX 8.0 |
Microsoft® DirectShow® 下でフレーム単位のシークを実装するデコーダは、AM_KSPROPSETID_FrameStep プロパティ セットを実装する必要がある。このプロパティ セットは、IVideoFrameStep インターフェイスと共に使用し、2 つのプロパティから構成される。AM_PROPERTY_FRAMESTEP は、コマ送りコマンドとコマ送り能力情報を渡すために使用する。AM_FRAMESTEP_STEP は、コマ送りするフレーム数を指定するために使用する。
構文
typedef enum { AM_PROPERTY_FRAMESTEP_STEP = 0x01, AM_PROPERTY_FRAMESTEP_CANCEL = 0x02, AM_PROPERTY_FRAMESTEP_CANSTEP = 0x03, AM_PROPERTY_FRAMESTEP_CANSTEPMULTIPLE = 0x04 } AM_PROPERTY_FRAMESTEP;メンバ
- AM_PROPERTY_FRAMESTEP_STEP
- デコーダにコマ送り操作の開始を指示する。
- AM_PROPERTY_FRAMESTEP_CANCEL
- デコーダに現在のコマ送り操作の取り消しを指示する。
- AM_PROPERTY_FRAMESTEP_CANSTEP
- デコーダにコマ送りが実行可能かどうかを照会する。実行可能な場合は S_OK を返し、それ以外の場合は S_FALSE を返す。
- AM_PROPERTY_FRAMESTEP_CANSTEPMULTIPLE
- 同時に複数のフレームをコマ送りできるどうかをデコーダに照会する。実行可能な場合は S_OK を返し、それ以外の場合は S_FALSE を返す。
typedef struct _AM_FRAMESTEP_STEP { DWORD dwFramesToStep; } AM_FRAMESTEP_STEP;AM_FRAMESTEP_STEP メンバ
- dwFramesToStep
- コマ送りするフレーム数をデコーダに知らせる DWORD 値。1 以上でなければならない。1 より大きい場合には、(n - 1) フレームをスキップし、n 番目のフレームを表示することを意味する。