METransformInputStreamStateChanged
METransformInputStreamStateChanged事件表示必須變更輸入資料流程狀態或媒體類型。
傳送時
當裝置 MFT 輸出變更時,可能也需要變更相關的輸入資料流程狀態。 發生此狀況時,裝置 MFT 會產生 METransformInputStreamStateChanged 事件。
參數
參數 | 描述 |
---|---|
輸入資料流程索引 | 輸入資料流程索引必須在 IMFMediaEvent 的屬性存放區上設定。 |
備註
為了回應此事件,裝置轉換管理員 (DTM) 會使用指定的輸入資料流程索引,在裝置 MFT 上呼叫 GetInputStreamPreferredState 。 裝置 MFT 會傳回慣用的狀態和媒體類型。
DTM 會在 devproxy 輸出資料流程上設定要求的媒體類型,然後將它轉換為要求的串流狀態。 如果成功,則 DTM 會在裝置 MFT 輸入資料流程上設定相同的媒體類型,並將其轉換為要求的狀態。
如果此程式期間發生錯誤, SetInputStreamStatedwStatus 參數將包含發生的錯誤。 裝置 MFT 應該適當地將錯誤傳播至 DTM。
當指定的資料流程處於停止或執行中狀態時,可能會產生此事件。 如果資料流程處於停止狀態,Device Transform Manager 會查詢該裝置 MFT 輸入資料流程的慣用類型,並將它設定為 Devproxy 的輸出。 如果成功,DTM 會在裝置 MFT 的輸入上設定相同的慣用媒體類型。
當裝置 MFT 在串流時產生此事件時,會停止進一步的範例傳遞,並在裝置 MFT 輸入上要求慣用的 mediatype。 此 mediatype 會在 Devproxy 的輸出和裝置 MFT 的輸入上設定。 資料流程會自動在 Devproxy 輸出資料流程上重新開機,並將範例傳遞至裝置 MFT 輸入資料流程。 當新的範例送達時,裝置 MFT 會將範例傳遞至相關的輸出資料流程。