MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES 屬性

指定拓撲載入器是否列舉媒體來源所提供的媒體類型。

資料類型

UINT32

使用下列其中一個值。

意義
請勿列舉來源媒體類型。
TRUE
列舉來源媒體類型。

 

取得/設定

若要取得此屬性,請呼叫 IMFAttributes::GetUINT32

若要設定此屬性,請呼叫 IMFAttributes::SetUINT32

適用於

IMFTopology

備註

媒體來源上的每個數據流都可以提供多個媒體類型。 類型清單會透過 數據流描述元上的IMFMediaTypeHandler 介面來列舉。

拓撲載入器嘗試媒體來源媒體類型的順序是由兩個屬性所控制:

  • 拓撲上的 MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES 屬性。
  • 來源 節點上的 MF_TOPONODE_CONNECT_METHOD 屬性。

如果MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES屬性為 FALSE 或未設定,拓撲載入器會使用數據流目前的媒體類型。 它不會列舉可能的類型清單。 如果目前的媒體類型與下游拓撲節點不相容,而且找不到譯碼器/轉換器的組合,拓撲解析就會失敗。

如果MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES屬性為 TRUE,拓撲載入器會列舉來源的媒體類型,直到找到相容的類型為止。 在此情況下,作業的確切順序取決於來源節點上MF_TOPONODE_CONNECT_METHOD屬性是否包含MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES旗標。

如果MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES為 TRUE已設定MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES 旗標,拓撲載入器會在移至下一個媒體之前耗盡每個媒體類型,如下所示:

foreach media type T
    connect directly using T
    if failed, connect with converters using T
    if failed, connect with decoders using T

如果MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES為 TRUE未設定MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES ,拓撲載入器會嘗試與每個媒體類型直接連線,然後使用轉換器嘗試每個媒體類型,最後嘗試每個具有譯碼器的媒體類型:

foreach media type T
    connect directly using T
if failed,
    foreach media type T
        connect with converters using T
if failed
    foreach media type T
        connect with decoders using T

如果MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES為 FALSE則會忽略MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES 旗標。

MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES的預設值為 FALSE,以便與現有應用程式相容。

此屬性的 GUID 常數是從 mfuuid.lib 導出。

範例

以下是說明MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES旗標的範例。 假設拓撲已將 MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES 屬性設定為 TRUE

媒體來源提供下列類型:

  • T1、T2、T3

媒體接收接受下列類型:

  • T3、T4

案例 1:已 設定MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES 旗標。

  1. 拓撲載入器會嘗試與 T1 直接連線。 接收會拒絕 T1。
  2. 拓撲載入器會插入接受 T1 並輸出 T4 的譯碼器。 接收接受 T4。
  3. 最終拓撲包含:媒體來源→譯碼器→媒體接收。

案例 2:未設定旗標。

  1. 拓撲載入器會嘗試與 T1 直接連線。 接收會拒絕 T1。
  2. 拓撲載入器會嘗試與T2直接連線。 接收會拒絕 T2。
  3. 拓撲載入器會嘗試與 T3 直接連線。 接收接受 T3。
  4. 最終拓撲包含:媒體來源→媒體接收。

需求

需求
最低支援的用戶端
Windows 7 [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2008 R2 [僅限傳統型應用程式]
頁首
Mfidl.h

另請參閱

依字母順序排列的媒體基礎屬性清單

拓撲屬性