AM_SAMPLE2_PROPERTIES 結構 (strmif.h)

[與此頁面相關的功能 DirectShow 是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft 強烈建議新程式代碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 DirectShow。 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。 (僅適用於每個 sample 有兩個字段。)
AM_VIDEO_FLAG_WEAVE
0x0008
如果設定此旗標,請使用 weave 模式 (也就是不要將範例反交) 。 否則,請使用bob模式。 只有當每個範例有兩個字段時,才會套用此旗標。
AM_VIDEO_FLAG_REPEAT_FIELD
0x0040
如果設定此旗標,請在顯示第二個字段之後再次顯示第一個字段。 (僅適用於每個 sample 有兩個字段。)
AM_ReverseBlockStart
0x2
在 DVD 視訊的反向播放期間,發出 VOBU 的開始訊號。 如需詳細資訊,請參閱 Windows Vista 中的 DVD 播放增強功能
AM_ReverseBlockEnd
0x4
在 DVD 視訊的反向播放期間,發出 VOBU 結尾的訊號。 DVD 導覽器會在空的範例上設定此旗標,以發出 VOBU 結尾的訊號。 如需詳細資訊,請參閱 Windows Vista 中的 DVD 播放增強功能
AM_UseNewCSSKey
0x1
針對 DVD 播放,表示譯碼器應該套用新的 Content Scramble System (CSS) 鍵時數據流中的點。

DVD 導覽器會在空白媒體範例上設定此旗標,再重新交涉 CSS 標題鍵。

先前,DVD 導覽器在交涉光碟鍵之前未正確地傳送此密鑰。 從 Windows 7 開始,如果譯碼器 AM_PROPERTY_DVDCOPY_SUPPORTS_NEW_KEYCOUNT 屬性傳回 TRUE,DVD 導覽器不會在交涉磁碟鍵之前傳送此旗標。 請參閱 DVD 複製保護屬性集

 

已定義其他旗標,但目前未使用。 請參閱 dvdmedia.h。

dwSampleFlags

旗標 AM_SAMPLE_PROPERTY_FLAGS列舉數據類型 的位元組合。 未定義的位是保留的,而且必須是零。

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

範例緩衝區的大小,以位元組為單位。

規格需求

需求
標頭 strmif.h (包含 Dshow.h)

另請參閱

DirectShow 結構