2016-09-16 92 views
1

問題媒體基金會:多輸入MFT和拓撲連接順序

我正在寫有兩個輸入和一個輸出(它結合了兩個視頻流爲一體)的自定義MFT。

我的MFT要求在其輸入之前設置媒體類型,然後才能提供輸出類型

我已經通過連接兩個源節點(它們將來自聚合媒體源的不同流)連接到我的變換節點,然後將EVR連接到我的單個輸出來設置我的拓撲。

當我開始媒體會話時,我看到拓撲在第一個輸入上調用了SetInputType,並且成功。

但隨後立即嘗試得到一個輸出型:通過調用GetOutputAvailableType,這是我做回MF_E_TRANSFORM_TYPE_NOT_SET按照文檔(第一個通過我的MFT,它返回MF_E_TRANSFORM_TYPE_NOT_SET因爲它無法提供一個呼叫GetOutputCurrentType,然後說你必須設置輸入類型之前設置輸出類型;我也試圖輸出一些部分媒體類型,但它是一樣的)。

問題出在這之後,拓撲似乎放棄了我的MFT:它從來不會在第二個輸入上調用SetInputType

問題

我如何可以強制拓撲處理在輸出之前將所有的輸入類型?

回答

2

閱讀:Multiple input

在Windows 7,這是行不通的......

你可以提供一個自定義的媒體會話就像我在一個MFNode項目做。