IMFDeviceTransform::P rocessInput 方法 (mftransform.h)
ProcessInput 方法會將數據傳遞給此 Media Foundation 轉換上的輸入數據流, (MFT) 。
語法
HRESULT ProcessInput(
[in] DWORD dwInputStreamID,
[in] IMFSample *pSample,
[in] DWORD dwFlags
);
參數
[in] dwInputStreamID
輸入數據流識別碼。
[in] pSample
輸入範例之 IMFSample 介面的指標。 此範例至少必須包含一個包含有效輸入數據的媒體緩衝區。
[in] dwFlags
必須為零。
傳回值
方法會傳回 HRESULT。 可能的值包括但不限於下表中指定的值。
傳回碼 | 描述 |
---|---|
|
方法成功。 |
|
傳遞的自變數無效。 |
|
裝置 MFT 目前不支援要求。 |
|
傳遞了無效的數據流標識碼。 |
|
無法轉換要求的數據流。 |
|
尚未設定輸入媒體類型。 |
備註
在大部分情況下,如果方法成功,MFT 會儲存樣本,並在 IMFSample 指標上保留參考計數。 當 MFT 使用範例完成時,它必須釋放它,以避免記憶體流失。
在 DTM 在所有數據流上設定有效的媒體類型之後,MFT 應該一律能夠接受更多輸入,而且能夠產生更多輸出。
如果 MFT 在輸入數據中遇到非嚴重錯誤,它可以直接卸載數據,並在取得更多輸入數據時嘗試復原。 如果 MFT 卸除任何數據,它應該在下一個輸出範例上設定 MFSampleExtension_Discontinuity 屬性,以通知呼叫端數據流中有間距。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 (版本 1703) |
目標平台 | Windows |
標頭 | mftransform.h |