IMFSourceReader::SetStreamSelection メソッド (mfreadwrite.h)
1 つ以上のストリームを選択または選択解除します。
構文
HRESULT SetStreamSelection(
[in] DWORD dwStreamIndex,
[in] BOOL fSelected
);
パラメーター
[in] dwStreamIndex
設定するストリーム。 値には、次のいずれかを指定できます。
[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 |