共用方式為


_MFT_OUTPUT_STREAM_INFO_FLAGS列舉 (mftransform.h)

描述媒體基礎轉換 (MFT) 上的輸出資料流程。

Syntax

typedef enum _MFT_OUTPUT_STREAM_INFO_FLAGS {
  MFT_OUTPUT_STREAM_WHOLE_SAMPLES = 0x1,
  MFT_OUTPUT_STREAM_SINGLE_SAMPLE_PER_BUFFER = 0x2,
  MFT_OUTPUT_STREAM_FIXED_SAMPLE_SIZE = 0x4,
  MFT_OUTPUT_STREAM_DISCARDABLE = 0x8,
  MFT_OUTPUT_STREAM_OPTIONAL = 0x10,
  MFT_OUTPUT_STREAM_PROVIDES_SAMPLES = 0x100,
  MFT_OUTPUT_STREAM_CAN_PROVIDE_SAMPLES = 0x200,
  MFT_OUTPUT_STREAM_LAZY_READ = 0x400,
  MFT_OUTPUT_STREAM_REMOVABLE = 0x800
} ;

常數

 
MFT_OUTPUT_STREAM_WHOLE_SAMPLES
值: 0x1
每個媒體範例 (IMFSample 介面) MFT 輸出資料的輸出資料都包含完整的未中斷資料單位。 資料單位的定義取決於媒體類型:針對未壓縮的視訊,視訊畫面;對於壓縮的資料,則為壓縮封包;針對未壓縮的音訊,為單一音訊框架。

對於未壓縮的音訊格式,一律會隱含此旗標。 (設定旗標是有效的,但不需要。) 未壓縮的音訊畫面絕對不能跨越一個以上的媒體範例。
MFT_OUTPUT_STREAM_SINGLE_SAMPLE_PER_BUFFER
值: 0x2
每個輸出範例只包含一個資料單位,如MFT_OUTPUT_STREAM_WHOLE_SAMPLES旗標所定義。

如果此旗標存在,則MFT_OUTPUT_STREAM_WHOLE_SAMPLES旗標也必須存在。

輸出未壓縮音訊的 MFT 不應設定此旗標。 為了提高效率,它應該一次輸出一個以上的音訊畫面。
MFT_OUTPUT_STREAM_FIXED_SAMPLE_SIZE
值: 0x4
所有輸出範例的大小都相同。
MFT_OUTPUT_STREAM_DISCARDABLE
值: 0x8
如果用戶端要求,MFT 可以捨棄來自此輸出資料流程的輸出資料。 若要捨棄輸出,請在 IMFTransform::P rocessOutput 方法中設定MFT_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER旗標。
MFT_OUTPUT_STREAM_OPTIONAL
值: 0x10
此輸出資料流程是選擇性的。 用戶端可以取消選取資料流程,方法是不設定媒體類型或設定 Null 媒體類型。 取消選取選擇性資料流程時,它不會產生任何輸出資料。
MFT_OUTPUT_STREAM_PROVIDES_SAMPLES
值: 0x100
MFT 提供此資料流程的輸出範例,方法是在內部配置它們,或直接在輸入樣本上操作。 MFT 無法使用用戶端為此資料流程提供的輸出範例。

如果未設定此旗標,MFT 必須將 cbSize 設定為 MFT_OUTPUT_STREAM_INFO 結構中的非零值,讓用戶端可以配置正確的緩衝區大小。 如需詳細資訊,請參閱 IMFTransform::GetOutputStreamInfo。 此旗標無法與 MFT_OUTPUT_STREAM_CAN_PROVIDE_SAMPLES 旗標結合。
MFT_OUTPUT_STREAM_CAN_PROVIDE_SAMPLES
值: 0x200
MFT 可以提供此資料流程的輸出範例,也可以使用用戶端配置的範例。 此旗標無法與MFT_OUTPUT_STREAM_PROVIDES_SAMPLES旗標結合。

如果 MFT 未設定此旗標或MFT_OUTPUT_STREAM_PROVIDES_SAMPLES旗標,用戶端必須為此輸出資料流程配置範例。 MFT 不會提供自己的範例。
MFT_OUTPUT_STREAM_LAZY_READ
值: 0x400
MFT 不需要用戶端處理此資料流程的輸出。 如果用戶端繼續傳送輸入資料而不從此資料流程取得輸出,MFT 只會捨棄先前的輸入。
MFT_OUTPUT_STREAM_REMOVABLE
值: 0x800
MFT 可能會在串流期間移除此輸出資料流程。 此旗標通常會套用至解構器,其中輸入資料包含可在串流期間啟動和停止的多個資料流程。 如需詳細資訊,請參閱 IMFTransform::P rocessOutput

備註

在用戶端在 MFT 上設定媒體類型之前,保證正確的唯一旗標是MFT_OUTPUT_STREAM_OPTIONAL旗標。 對於所有其他旗標,用戶端應該先在每個非選擇性資料流程上設定媒體類型。

MFT_OUTPUT_STREAM_DISCARDABLE和MFT_OUTPUT_STREAM_LAZY_READ旗標會定義 MFT 如何捨棄輸出資料的不同行為。

  • MFT_OUTPUT_STREAM_DISCARDABLE:只有當用戶端使用 MFT_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER 旗標呼叫 ProcessOutput 時,MFT 才會捨棄輸出資料。 當用戶端呼叫 ProcessInput時,MFT 永遠不會捨棄資料。
  • MFT_OUTPUT_STREAM_LAZY_READ:如果用戶端繼續呼叫 ProcessInput 而不收集此資料流程的輸出,MFT 最終會捨棄輸出。 如果所有輸出資料流程都有MFT_OUTPUT_STREAM_LAZY_READ旗標,MFT 永遠不會拒絕更多輸入資料。
如果這兩個旗標都未設定,MFT 永遠不會捨棄輸出資料。

需求

   
最低支援的用戶端 Windows Vista [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
標頭 mftransform.h

另請參閱

MFT_OUTPUT_STREAM_INFO

媒體基礎列舉

媒體基礎轉換