IMFDeviceTransform::SetInputStreamState メソッド (mftransform.h)
SetInputStreamState メソッドは、デバイス MFT 入力ストリームの状態とメディアの種類を設定します。
構文
HRESULT SetInputStreamState(
[in] DWORD dwStreamID,
[in] IMFMediaType *pMediaType,
[in] DeviceStreamState value,
[in] DWORD dwFlags
);
パラメーター
[in] dwStreamID
状態とメディアの種類を変更する必要がある入力ストリームのストリーム ID。
[in] pMediaType
入力ストリームに推奨されるメディアの種類は、このパラメーターを介して渡されます。 デバイス MFT は、受信メディアの種類が現在のメディアの種類と異なる場合にのみ、メディアの種類を変更する必要があります。
[in] value
入力ストリームの遷移先となる DeviceStreamState を指定します。
[in] dwFlags
S_OKが返されたら、状態変更操作を実行します。 それ以外の場合は、devproxy 出力ピンでメディアの種類を設定するときに発生したエラーが含まれます。 この場合は、エラーを適切に伝達します。
戻り値
このメソッドは HRESULT を返します。 使用可能な値には、次の表に示す値が含まれますが、これらに限定されません。
リターン コード | 説明 |
---|---|
|
初期化に成功しました |
|
現時点では、デバイス MFT は要求をサポートできませんでした。 |
|
無効なストリーム ID が渡されました。 |
|
要求されたストリームの切り替えは不可能です。 |
解説
このインターフェイス関数は、入力ストリームで指定されたメディアの種類が設定された指定された状態に入力ストリームを切り替えるのに役立ちます。 これは、デバイス MFT が特定の入力ストリームの状態とメディアの種類の変更を要求するときに、デバイス変換マネージャー (DTM) によって使用されます。 デバイス MFT の出力のいずれかが変更された場合、デバイス MFT はこのような変更を要求する必要があります。
たとえば、2 つの入力ストリームと 3 つの出力ストリームを持つ Device MFT について考えてみましょう。 入力 1 の出力 1 と出力 2 のソースを 720p でストリーミングします。 ここで、Output 2 のメディアの種類が 1080p に変更された場合、デバイス MFT は入力 1 のメディアの種類を 1080p に変更する必要があります。 これを実現するには、デバイス MFT が METransformInputStreamStateChanged メッセージを使用してこのメソッドを呼び出すように DTM を要求する必要があります。
要件
サポートされている最小のクライアント | Windows 10 Version 1703 |
対象プラットフォーム | Windows |
ヘッダー | mftransform.h |