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 番目のフレームを表示することを意味する。