Freigeben über


IMFSourceReader::SetStreamSelection-Methode (mfreadwrite.h)

Markiert oder deaktiviert einen oder mehrere Datenströme.

Syntax

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

Die Parameter

[in] dwStreamIndex

Der festzulegende Datenstrom. Der Wert kann eine der folgenden 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 Datenströme.

[in] fSelected

Geben Sie WAHR an, um Datenströme auszuwählen, oder FALSE , um Datenströme zu deaktivieren. Wenn ein Datenstrom nicht ausgewählt ist, werden keine Daten generiert.

Rückgabewert

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

Bemerkungen

Für diese Methode gibt es zwei häufige Verwendungsmöglichkeiten:

  • So ändern Sie die Standarddatenstromauswahl. Einige Mediendateien enthalten mehrere Datenströme desselben Typs. Beispielsweise kann eine Datei Audiodatenströme für mehrere Sprachen enthalten. Sie können diese Methode verwenden, um zu ändern, welche der Datenströme ausgewählt ist. Rufen Sie ZUM Abrufen von Informationen zu jedem Datenstrom IMFSourceReader::GetPresentationAttribute oder IMFSourceReader::GetNativeMediaType auf.
  • Wenn Sie keine Daten aus einem der Datenströme benötigen, empfiehlt es sich, die Auswahl dieses Datenstroms aufzuheben. Wenn der Datenstrom ausgewählt ist, hält die Medienquelle möglicherweise eine Warteschlange mit ungelesenen Daten in der Warteschlange, und die Warteschlange kann unbegrenzt wachsen, was Arbeitsspeicher verbraucht.
Ein Beispiel zum Deaktivieren der Auswahl eines Datenstroms finden Sie im Lernprogramm: Decodieren von Audio.

Wenn ein Datenstrom nicht ausgewählt ist, gibt die IMFSourceReader::ReadSample-MethodeMF_E_INVALIDREQUEST für diesen Datenstrom zurück. Andere IMFSourceReader-Methoden sind für nicht ausgewählte Datenströme gültig.

Die Streamauswahl wirkt sich nicht darauf aus, wie der Quellleser Decoder im Arbeitsspeicher lädt oder entlädt. Die Deaktivierung eines Datenstroms erzwingt insbesondere nicht das Entladen des Decoders für diesen Datenstrom.

Diese Schnittstelle ist unter Windows Vista verfügbar, wenn die Plattformupdate-Ergänzung für Windows Vista installiert ist.

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Ergänzung zu Windows 7, Windows Vista und Platform Update für Windows Vista [Desktop-Apps | UWP-Apps]
Mindestanforderungen für unterstützte Server Windows Server 2008 R2 [Desktop-Apps | UWP-Apps]
Zielplattform Fenster
Header mfreadwrite.h

Siehe auch

IMFSourceReader-

Quellleser