次の方法で共有


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 インターフェイスへのポインター。 サンプルには、有効な入力データを含むメディア バッファーが少なくとも 1 つ含まれている必要があります。

[in] dwFlags

ゼロを指定してください。

戻り値

このメソッドは HRESULT を返します。 使用できる値には、次の表に示す値が含まれますが、これらに限定されません。

リターン コード 説明
S_OK
メソッドが成功しました。
E_INVALIDARG
無効な引数が渡されました。
MF_E_INVALIDREQUEST
現時点では、デバイス MFT で要求をサポートできませんでした。
MF_E_INVAILIDSTREAMNUMBER
無効なストリーム ID が渡されました。
MF_E_INVALID_STREAM_STATE
要求されたストリームの切り替えは不可能です。
MF_E_TRANSFORM_TYPE_NOT_SET
入力メディアの種類が設定されていません。

注釈

ほとんどの場合、メソッドが成功した場合、MFT はサンプルを格納し、 IMFSample ポインターの参照カウントを保持します。 MFT がサンプルを使用して行われる場合は、メモリ リークを回避するために解放する必要があります。

DTM がすべてのストリームで有効なメディアの種類を設定した後、MFT は常により多くの入力を受け入れ、より多くの出力を生成できる必要があります。

MFT が入力データで致命的でないエラーを検出した場合、単にデータを削除し、より多くの入力データを取得したときに回復を試みることができます。 MFT がデータを削除する場合は、次の出力サンプルで MFSampleExtension_Discontinuity 属性を設定して、データ ストリームにギャップがあることを呼び出し元に通知する必要があります。

要件

要件
サポートされている最小のクライアント Windows 10 Version 1703
対象プラットフォーム Windows
ヘッダー mftransform.h

こちらもご覧ください

IMFDeviceTransform