AM_SAMPLE2_PROPERTIES 構造体

AM_SAMPLE2_PROPERTIES 構造体は、メディア サンプルのプロパティを記述する。IMediaSample2 インターフェイスはこの構造体を使う。

構文

typedef struct tagAM_SAMPLE2_PROPERTIES {
    DWORD           cbData;
    DWORD           dwTypeSpecificFlags;
    DWORD           dwSampleFlags;
    LONG            lActual;
    REFERENCE_TIME  tStart;
    REFERENCE_TIME  tStop;
    DWORD           dwStreamId;
    AM_MEDIA_TYPE   *pMediaType;
    BYTE            *pbBuffer;
    LONG            cbBuffer;
} AM_SAMPLE2_PROPERTIES;

メンバ

cbData

プロパティ データの長さ (バイト単位)。この構造体メンバは拡張用である。

dwTypeSpecificFlags

タイプ固有のフラグ。フラグはメディア タイプごとに定義される。デフォルト値は AM_VIDEO_FLAG_INTERLEAVED_FRAME (ゼロ)。ビデオ ストリームには次のフラグが使われている。

フラグ 説明
AM_VIDEO_FLAG_FIELD_MASK 0x0003 このマスクを使ってサンプルがフィールドかフレームかを調べる。
AM_VIDEO_FLAG_INTERLEAVED_FRAME 0x0000 サンプルはフレームである (この値をテストする場合は必ず AM_VIDEO_FLAG_FIELD_MASK ビットマスクを使うこと)。
AM_VIDEO_FLAG_FIELD1 0x0001 サンプルはフィールド 1 である (この値をテストする場合は必ず AM_VIDEO_FLAG_FIELD_MASK ビットマスクを使うこと)。
AM_VIDEO_FLAG_FIELD2 0x0002 サンプルはフィールド 2 である (この値をテストする場合は必ず AM_VIDEO_FLAG_FIELD_MASK ビットマスクを使うこと)。
AM_VIDEO_FLAG_FIELD1FIRST 0x0004 このフラグが設定されている場合は、フィールド 1 を最初に表示する。設定されていない場合は、フィールド 2 を最初に表示する (1 つのサンプルにつき 2 つのフィールドがある場合に限り適用される)。
AM_VIDEO_FLAG_WEAVE 0x0008 このフラグが設定されている場合は、ウィーヴ モードを使う (サンプルを非インターレース化しない)。このフラグが設定されていない場合は、ボブ モードを使う。このフラグは、1 つのサンプルにつき 2 つのフィールドがある場合に限り適用される。
AM_VIDEO_FLAG_REPEAT_FIELD 0x0040 このフラグが設定されている場合は、2 つ目のフィールドを表示した後で再び最初のフィールドを表示する (1 つのサンプルにつき 2 つのフィールドがある場合に限り適用される)。

他のフラグも定義されているが、現在は使われていない。dvdmedia.h を参照すること。

dwSampleFlags

AM_SAMPLE_PROPERTY_FLAGS 列挙型のフラグのビットごとの組み合わせ。未定義のビットは予約されており、ゼロでなければならない。

lActual

バッファ内の有効なデータの長さ。

tStart

有効な場合は開始タイム。dwSampleFlags メンバはこのメンバが有効かどうかを示す。

tStop

有効な場合は終了タイム。dwSampleFlags メンバはこのメンバが有効かどうかを示す。

dwStreamId

ストリーム識別子。この値が AM_STREAM_MEDIA の場合、ストリームにはメディア データが含まれる。この値が AM_STREAM_CONTROL の場合、ストリ-ムにはコントロール情報が含まれる。アプリケーションは 0x80000000 以上の値を定義して、アプリケーション自身の用途に使える。「AM_SAMPLE_PROPERTY_FLAGS 列挙」を参照すること。

pMediaType

フォーマットが変更された場合に、メディア タイプを指定する AM_MEDIA_TYPE 構造体へのポインタ。このフォーマットが変更されていないときは、このメンバには NULL を指定する。

pbBuffer

サンプル バッファへのポインタ。

cbBuffer

サンプル バッファのサイズ (バイト単位)。

参照