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。 可能的值包括但不限於下表中指定的值。

傳回碼 描述
S_OK
方法成功。
E_INVALIDARG
傳遞的自變數無效。
MF_E_INVALIDREQUEST
裝置 MFT 目前不支援要求。
MF_E_INVAILIDSTREAMNUMBER
傳遞了無效的數據流標識碼。
MF_E_INVALID_STREAM_STATE
無法轉換要求的數據流。
MF_E_TRANSFORM_TYPE_NOT_SET
尚未設定輸入媒體類型。

備註

在大部分情況下,如果方法成功,MFT 會儲存樣本,並在 IMFSample 指標上保留參考計數。 當 MFT 使用範例完成時,它必須釋放它,以避免記憶體流失。

在 DTM 在所有數據流上設定有效的媒體類型之後,MFT 應該一律能夠接受更多輸入,而且能夠產生更多輸出。

如果 MFT 在輸入數據中遇到非嚴重錯誤,它可以直接卸載數據,並在取得更多輸入數據時嘗試復原。 如果 MFT 卸除任何數據,它應該在下一個輸出範例上設定 MFSampleExtension_Discontinuity 屬性,以通知呼叫端數據流中有間距。

規格需求

需求
最低支援的用戶端 Windows 10 (版本 1703)
目標平台 Windows
標頭 mftransform.h

另請參閱

IMFDeviceTransform