IMFDeviceTransform::P rocessOutput 方法 (mftransform.h)
ProcessOutput方法會從裝置 MFT 輸出資料流程取得已處理的輸出。
語法
HRESULT ProcessOutput(
[in] DWORD dwFlags,
[in] DWORD cOutputBufferCount,
[in] MFT_OUTPUT_DATA_BUFFER *pOutputSample,
[in] DWORD *pdwStatus
);
參數
[in] dwFlags
_MFT_PROCESS_OUTPUT_FLAGS 列舉中 零個或多個旗標的位 OR。
[in] cOutputBufferCount
pOutputSamples陣列中的元素數目。 此值必須至少為 1。
[in] pOutputSample
呼叫端所配置 之MFT_OUTPUT_DATA_BUFFER 結構的陣列指標。 MFT 會使用此陣列將輸出資料傳回給呼叫端。
[in] pdwStatus
從 _MFT_PROCESS_OUTPUT_STATUS 列舉接收零個或多個旗標的位 OR。
傳回值
方法會傳回 HRESULT。 可能的值包括但不限於下表中所提供的值。
傳回碼 | 描述 |
---|---|
|
方法成功。 |
|
傳遞不正確引數。 |
|
裝置 MFT 目前無法支援要求。 |
|
傳遞不正確資料流程識別碼。 |
|
無法進行要求的資料流程轉換。 |
|
尚未設定輸入媒體類型。 |
備註
在大部分情況下,如果方法成功,媒體基礎轉換 (MFT) 會儲存樣本,並在 IMFSample 指標上保留參考計數。 使用範例完成 MFT 時,它必須釋放它以避免記憶體流失。
在裝置轉換管理員 (DTM) 在所有資料流程上設定有效的媒體類型之後,MFT 應該一律能夠接受更多輸入,並能夠產生更多輸出。
如果 MFT 在輸入資料中遇到非嚴重錯誤,它可以直接卸載資料,並在取得更多輸入資料時嘗試復原。 如果 MFT 卸載任何資料,它應該在下一個輸出範例上設定 MFSampleExtension_Discontinuity 屬性,以通知呼叫端資料流程中有間距。
需求
最低支援的用戶端 | Windows 10 (版本 1703) |
目標平台 | Windows |
標頭 | mftransform.h |