Поделиться через


Метод IMFSourceReaderEx::SetNativeMediaType (mfreadwrite.h)

Задает собственный тип мультимедиа для потока в источнике мультимедиа.

Синтаксис

HRESULT SetNativeMediaType(
  [in]  DWORD        dwStreamIndex,
  [in]  IMFMediaType *pMediaType,
  [out] DWORD        *pdwStreamFlags
);

Параметры

[in] dwStreamIndex

[in] pMediaType

Указатель на интерфейс IMFMediaType типа носителя.

[out] pdwStreamFlags

Получает побитовое ЗНАЧЕНИЕ ИЛИ , равное нулю или большему из следующих флагов.

Значение Значение
MF_SOURCE_READERF_ALLEFFECTSREMOVED
Все эффекты были удалены из потока.
MF_SOURCE_READERF_CURRENTMEDIATYPECHANGED
Текущий тип выходных данных изменен.

Возвращаемое значение

Этот метод может возвращать одно из этих значений.

Код возврата Описание
S_OK
Успешно.
MF_E_INVALIDREQUEST
Недопустимый запрос.
MF_E_INVALIDSTREAMNUMBER
Недопустимый параметр dwStreamIndex .

Комментарии

Этот метод задает тип выходных данных, создаваемый источником мультимедиа. В отличие от метода IMFSourceReader::SetCurrentMediaType , этот метод не вставляет декодеры, видеопроцессоры и другие преобразования. Источник мультимедиа должен поддерживать указанный тип носителя в собственном коде. Чтобы получить список поддерживаемых типов из источника мультимедиа, вызовите IMFSourceReader::GetNativeMediaType.

В асинхронном режиме этот метод завершается сбоем, если ожидается пример запроса. В этом случае дождитесь вызова обратного вызова OnReadSample , прежде чем вызывать метод . Дополнительные сведения об использовании средства чтения источника в асинхронном режиме см. в разделе IMFSourceReader::ReadSample.

Этот метод может вызвать изменение формата вывода для потока. В этом случае флаг MF_SOURCE_READERF_CURRENTMEDIATYPECHANGED возвращается в параметре pdwStreamFlags . Метод также может привести к удалению всех эффектов, добавленных методом IMFSourceReaderEx::AddTransformForStream . В этом случае флаг MF_SOURCE_READERF_ALLEFFECTSREMOVED возвращается в pdwStreamFlags.

Этот метод полезен для устройств аудио- и видеозахвата, так как устройство может поддерживать несколько форматов вывода. Этот метод позволяет приложению выбрать формат устройства перед добавлением декодеров и других преобразований.

Требования

Требование Значение
Минимальная версия клиента Windows 8 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2012 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header mfreadwrite.h

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

IMFSourceReaderEx