Метод IMFSourceReader::SetStreamSelection (mfreadwrite.h)

Выбирает или отменяет выбор одного или нескольких потоков.

Синтаксис

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

Параметры

[in] dwStreamIndex

Задается поток. Это может быть любое из следующих значений.

Значение Значение
0–0xFFFFFFFB
Отсчитываемый от нуля индекс потока.
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 .

Комментарии

Этот метод используется двумя распространенными способами:

  • Изменение выбора потока по умолчанию. Некоторые файлы мультимедиа содержат несколько потоков одного типа. Например, файл может содержать аудиопотоки для нескольких языков. Этот метод можно использовать для изменения выбранного потока. Чтобы получить сведения о каждом потоке, вызовите IMFSourceReader::GetPresentationAttribute или IMFSourceReader::GetNativeMediaType.
  • Если вам не нужны данные из одного из потоков, рекомендуется отменить выбор этого потока. Если выбран поток, источник мультимедиа может содержать очередь непрочитанных данных, а очередь может увеличиваться бесконечно, потребляя память.
Пример отмены выбора потока см. в разделе Руководство. Декодирование звука.

Если поток не выбран, метод IMFSourceReader::ReadSample возвращает MF_E_INVALIDREQUEST для этого потока. Другие методы IMFSourceReader допустимы для отмененных потоков.

Stream выбор не влияет на то, как средство чтения исходного кода загружает или выгружает декодеры в памяти. В частности, отмена выбора потока не приводит к тому, что средство чтения исходного кода выгрузит декодер для этого потока.

Этот интерфейс доступен в Windows Vista, если установлено дополнение к обновлению платформы для Windows Vista.

Требования

Требование Значение
Минимальная версия клиента Windows 7, Windows Vista и дополнение к обновлению платформы для Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 R2 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header mfreadwrite.h

См. также раздел

IMFSourceReader

Средство чтения исходного кода