Share via


tagAM_SAMPLE_PROPERTY_FLAGS列舉 (strmif.h)

[與此頁面相關的功能 DirectShow 是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft 強烈建議新程式代碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式代碼盡可能重寫為使用新的 API。

指定 AM_SAMPLE2_PROPERTIES 結構的值。 這些值描述媒體範例的屬性。

Syntax

typedef enum tagAM_SAMPLE_PROPERTY_FLAGS {
  AM_SAMPLE_SPLICEPOINT = 0x1,
  AM_SAMPLE_PREROLL = 0x2,
  AM_SAMPLE_DATADISCONTINUITY = 0x4,
  AM_SAMPLE_TYPECHANGED = 0x8,
  AM_SAMPLE_TIMEVALID = 0x10,
  AM_SAMPLE_TIMEDISCONTINUITY = 0x40,
  AM_SAMPLE_FLUSH_ON_PAUSE = 0x80,
  AM_SAMPLE_STOPVALID = 0x100,
  AM_SAMPLE_ENDOFSTREAM = 0x200,
  AM_STREAM_MEDIA = 0,
  AM_STREAM_CONTROL = 1
} ;

常數

 
AM_SAMPLE_SPLICEPOINT
值: 0x1
範例是 (可以譯碼的接點,而不參考先前的數據) 。
AM_SAMPLE_PREROLL
值: 0x2
範例是預先註冊範例。
AM_SAMPLE_DATADISCONTINUITY
值: 0x4
此範例中的初始數據是一個接合點。 上一個範例中的數據並非後面接著此範例中的數據。 如需詳細資訊,請參閱<備註>。
AM_SAMPLE_TYPECHANGED
值: 0x8
範例類型已變更。
AM_SAMPLE_TIMEVALID
值: 0x10
時間有效。
AM_SAMPLE_TIMEDISCONTINUITY
值: 0x40
數據中的時間間距會在這個範例之後開始。 在此情況下 ,AM_SAMPLE2_PROPERTIES 結構可以是 NULL
AM_SAMPLE_FLUSH_ON_PAUSE
值: 0x80
僅適用於實時數據;表示處於暫停狀態的捨棄。
AM_SAMPLE_STOPVALID
值: 0x100
停止時間有效。
AM_SAMPLE_ENDOFSTREAM
值: 0x200
串流結束會在這個範例之後發生。 此旗標會保留給核心串流。 DirectShow 目前未使用它。
AM_STREAM_MEDIA
值: 0
一般數據流標識碼。
AM_STREAM_CONTROL
值: 1
控制數據流標識碼。 大於0x7FFFFFFF的值表示應用程式定義的數據流。

備註

AM_SAMPLE_DATADISCONTINUITY旗標表示目前媒體範例中的數據不會被視為與先前範例中的數據連續。 接收具有 AM_SAMPLE_DATADISCONTINUITY 旗標集之範例的篩選不應捨棄其緩衝區中未處理的數據。 等候傳入數據的篩選,才能處理緩衝的數據應該立即處理緩衝的數據;因此,如果數據不完整,可能會捨棄緩衝的數據。

例如,當影片解壓縮器篩選有兩個完整壓縮的視訊畫面,以及其中一個未完成壓縮的視訊畫面格時,可能會收到一個媒體範例,其中 設定了AM_SAMPLE_DATADISCONTINUITY 旗標。 在此情況下,篩選會解壓縮兩個完整畫面格,並捨棄不完整的第三個畫面格,然後再開始處理來自目前媒體範例的數據。

AM_SAMPLE_DATADISCONTINUITY旗標是在排清或停止之後收到的第一個樣本上設定。 此外,您應該在來源中切換內容時,使用 AM_SAMPLE_DATADISCONTINUITY 旗標、當通道變更發生時, (也可能有格式變更) ,或因為串流中斷而遺失數據時。

AM_SAMPLE_DATADISCONTINUITY旗標相當於傳回S_OKIMediaSample::IsDiscontinuity 方法。

規格需求

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

另請參閱

DirectShow 列舉型別