IMFSourceReader::SetStreamSelection メソッド (mfreadwrite.h)

1 つ以上のストリームを選択または選択解除します。

構文

HRESULT SetStreamSelection(
  [in] DWORD dwStreamIndex,
  [in] BOOL  fSelected
);

パラメーター

[in] dwStreamIndex

設定するストリーム。 値には、次のいずれかを指定できます。

意味
0 ~ 0xFFFFFFFB
ストリームの 0 から始まるインデックス。
MF_SOURCE_READER_FIRST_VIDEO_STREAM
0xFFFFFFFC
最初のビデオ ストリーム。
MF_SOURCE_READER_FIRST_AUDIO_STREAM
0xFFFFFFFD
最初のオーディオ ストリーム。
MF_SOURCE_READER_ALL_STREAMS
0xFFFFFFFE
すべてのストリーム。

[in] fSelected

ストリームを選択する場合は TRUE 、ストリームの選択を解除するには FALSE を 指定します。 ストリームの選択を解除すると、データは生成されません。

戻り値

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

注釈

このメソッドには、次の 2 つの一般的な使用方法があります。

  • 既定のストリーム選択を変更するには。 一部のメディア ファイルには、同じ種類の複数のストリームが含まれています。 たとえば、ファイルに複数の言語のオーディオ ストリームが含まれている場合があります。 このメソッドを使用して、どのストリームを選択するかを変更できます。 各ストリームに関する情報を取得するには、 IMFSourceReader::GetPresentationAttribute または IMFSourceReader::GetNativeMediaType を呼び出します。
  • いずれかのストリームのデータが不要な場合は、そのストリームの選択を解除することをお勧めします。 ストリームが選択されている場合、メディア ソースが未読データのキューに保持され、キューが無期限に増加し、メモリを消費する可能性があります。
ストリームの選択を解除する例については、「 チュートリアル: オーディオのデコード」を参照してください。

ストリームの選択を解除すると、 IMFSourceReader::ReadSample メソッドはそのストリーム のMF_E_INVALIDREQUEST を返します。 その他の IMFSourceReader メソッドは、選択解除されたストリームに対して有効です。

Stream選択しても、ソース リーダーがメモリ内のデコーダーを読み込んだりアンロードしたりする方法には影響しません。 特に、ストリームの選択を解除しても、ソース リーダーはそのストリームのデコーダーを強制的にアンロードしません。

このインターフェイスは、Windows Vista のプラットフォーム更新プログラムの補足がインストールされている場合に、Windows Vista で使用できます。

要件

要件
サポートされている最小のクライアント Windows Vista 用 Windows 7、Windows Vista およびプラットフォーム更新プログラムの補足 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー mfreadwrite.h

こちらもご覧ください

IMFSourceReader

ソース リーダー