AM_SAMPLE2_PROPERTIES 構造体 (strmif.h)

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

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 (ゼロ) です。 ビデオ ストリームには、次のフラグが使用されます。 これらは、ヘッダー ファイル dvdmedia.h で定義されています。

フラグ 説明
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 を最初に表示します。 (サンプルごとに 2 つのフィールドがある場合にのみ適用されます)。
AM_VIDEO_FLAG_WEAVE
0x0008
このフラグが設定されている場合は、織りモードを使用します (つまり、サンプルのインターレースを解除しないでください)。 それ以外の場合は、bob モードを使用します。 このフラグは、サンプルごとに 2 つのフィールドがある場合にのみ適用されます。
AM_VIDEO_FLAG_REPEAT_FIELD
0x0040
このフラグが設定されている場合は、2 番目のフィールドを表示した後、最初のフィールドをもう一度表示します。 (サンプルごとに 2 つのフィールドがある場合にのみ適用されます)。
AM_ReverseBlockStart
0x2
DVD ビデオの逆再生中に VOBU の開始を通知します。 詳細については、「 Windows Vista での DVD 再生の機能強化」を参照してください。
AM_ReverseBlockEnd
0x4
DVD ビデオの逆再生中に VOBU の終了を通知します。 DVD ナビゲーターは、このフラグを空のサンプルに設定して、VOBU の終了を通知します。 詳細については、「 Windows Vista での DVD 再生の機能強化」を参照してください。
AM_UseNewCSSKey
0x1
DVD 再生の場合は、デコーダーが新しいコンテンツ スクランブル システム (CSS) キーを適用する必要があるストリーム内のポイントを示します。

DVD ナビゲーターは、CSS タイトル キーを再ネゴシエーションする直前に、空のメディア サンプルにこのフラグを設定します。

以前は、DVD ナビゲーターは、ディスク キーをネゴシエートする前に、このキーを誤って送信しました。 Windows 7 以降では、デコーダーの AM_PROPERTY_DVDCOPY_SUPPORTS_NEW_KEYCOUNT プロパティが TRUE を返した場合、DVD ナビゲーターはディスク キーをネゴシエートする前にこのフラグを送信しません。 「DVD Copy Protection プロパティ セット」を参照してください。

 

その他のフラグは定義されていますが、現在は使用されていません。 dvdmedia.h を参照してください。

dwSampleFlags

のビットごとの組み合わせは、列挙されたデータ型 AM_SAMPLE_PROPERTY_FLAGS フラグを設定します。 未定義のビットは予約されており、0 である必要があります。

lActual

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

tStart

開始時刻 (有効な場合)。 dwSampleFlags メンバーは、このメンバーが有効かどうかを指定します。

tStop

時間を停止します (有効な場合)。 dwSampleFlags メンバーは、このメンバーが有効かどうかを指定します。

dwStreamId

Stream識別子。 値がAM_STREAM_MEDIAの場合、ストリームにはメディア データが含まれます。 値がAM_STREAM_CONTROLの場合、ストリームには制御情報が含まれます。 アプリケーションでは、独自に使用するために 0x80000000 以上の値を定義できます。 ( 「AM_SAMPLE_PROPERTY_FLAGS」を参照してください)。

pMediaType

形式が変更された場合にメディアの種類を指定する AM_MEDIA_TYPE 構造体へのポインター。 この形式が変更されていない場合、このメンバーは NULL です

pbBuffer

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

cbBuffer

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

要件

要件
Header strmif.h (Dshow.h を含む)

こちらもご覧ください

DirectShow 構造体