次の方法で共有


IMFDeviceTransform::GetInputStreamPreferredState メソッド (mftransform.h)

GetInputStreamPreferredState メソッドは、Device MFT 入力ストリームの優先状態とメディアの種類を取得します。

構文

HRESULT GetInputStreamPreferredState(
  [in]  DWORD             dwStreamID,
  [out] DeviceStreamState *value,
  [out] IMFMediaType      **ppMediaType
);

パラメーター

[in] dwStreamID

状態を取得する必要がある入力ストリームのストリーム ID。

[out] value

指定した入力 Device MFT ストリームの現在の DeviceStreamState を 指定します。

[out] ppMediaType

入力ストリームの推奨されるメディアの種類は、このパラメーターを介して渡されます。

戻り値

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

リターン コード 説明
S_OK
ストリーム状態の移行に成功しました。
MF_E_INVALIDREQUEST
現時点では、デバイス MFT で要求をサポートできませんでした。
MF_E_INVAILIDSTREAMNUMBER
無効なストリーム ID が渡されました。
MF_E_INVALID_STREAM_STATE
要求されたストリームの切り替えは不可能です。

解説

このインターフェイス関数は、移行する必要がある Device MFT 入力ストリームの優先状態とメディアタイプを照会するのに役立ちます。

出力ストリームのメディアの種類の変更に対応する入力の変更が必要な場合、Device MFT は METransformInputStreamStateChanged を DTM にポストして、関連する入力ストリームを変更します。 DTM は GetInputStreamPreferredState を呼び出して、デバイス MFT 入力ストリームの優先されるメディアタイプと状態を取得します。

たとえば、2 つの入力ストリームと 3 つの出力ストリームを持つ Device MFT を考えてみましょう。 入力 1 の出力 1 と出力 2 のソースを、720p でストリームします。 ここで、Output 2 のメディアの種類が 1080p に変わるとします。 この要求を満たすために、デバイス MFT は 、METransformInputStreamStateChanged イベントを DTM にポストすることによって、Input 1 メディア タイプを 1080p に変更する必要があります。 DTM は GetInputStreamPreferredState を 呼び出し、優先状態とメディアタイプを取得します。 DTM は SetInputStreamState を 呼び出して、入力ストリームのメディアタイプと状態を変更します。

要件

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

関連項目

IMFDeviceTransform