IMFSourceReader::SetStreamSelection-Methode (mfreadwrite.h)

Wählt einen oder mehrere Streams aus oder hebt die Auswahl auf.

Syntax

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

Parameter

[in] dwStreamIndex

Der festzulegende Stream. Der Wert kann einer der folgenden Werte sein.

Wert Bedeutung
0–0xFFFFFFFB
Der nullbasierte Index eines Datenstroms.
MF_SOURCE_READER_FIRST_VIDEO_STREAM
0xFFFFFFFC
Der erste Videostream.
MF_SOURCE_READER_FIRST_AUDIO_STREAM
0xFFFFFFFD
Der erste Audiodatenstrom.
MF_SOURCE_READER_ALL_STREAMS
0xFFFFFFFE
Alle Streams.

[in] fSelected

Geben Sie TRUE an, um Streams auszuwählen, oder FALSE , um die Auswahl von Streams aufzuheben. Wenn die Auswahl eines Datenstroms aufgehoben wird, werden keine Daten generiert.

Rückgabewert

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Es gibt zwei häufige Verwendungsmöglichkeiten für diese Methode:

  • So ändern Sie die Standardstreamauswahl. Einige Mediendateien enthalten mehrere Streams desselben Typs. Beispielsweise kann eine Datei Audiostreams für mehrere Sprachen enthalten. Sie können diese Methode verwenden, um zu ändern, welcher der Streams ausgewählt ist. Um Informationen zu jedem Stream abzurufen, rufen Sie IMFSourceReader::GetPresentationAttribute oder IMFSourceReader::GetNativeMediaType auf.
  • Wenn Sie keine Daten aus einem der Streams benötigen, empfiehlt es sich, die Auswahl dieses Streams aufzuheben. Wenn der Datenstrom ausgewählt ist, kann die Medienquelle eine Warteschlange mit ungelesenen Daten speichern, und die Warteschlange kann unbegrenzt wachsen und Arbeitsspeicher verbrauchen.
Ein Beispiel für das Aufheben der Auswahl eines Streams finden Sie unter Tutorial: Decodieren von Audiodaten.

Wenn ein Stream deaktiviert wird, gibt die IMFSourceReader::ReadSample-MethodeMF_E_INVALIDREQUEST für diesen Datenstrom zurück. Andere IMFSourceReader-Methoden sind für nicht ausgewählte Streams gültig.

Stream Auswahl wirkt sich nicht darauf aus, wie der Quellleser Decoder im Arbeitsspeicher lädt oder entlädt. Insbesondere das Aufheben der Auswahl eines Datenstroms erzwingt nicht, dass der Quellleser den Decoder für diesen Stream entladen muss.

Diese Schnittstelle ist unter Windows Vista verfügbar, wenn das Plattformupdate-Supplement für Windows Vista installiert ist.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Ergänzung zu Windows 7, Windows Vista und Plattformupdates für Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile mfreadwrite.h

Weitere Informationen

IMFSourceReader

Quellleser