Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Задает, проверяет или очищает тип носителя для выходного потока в этом преобразовании Media Foundation (MFT).
Синтаксис
HRESULT SetOutputType(
[in] DWORD dwOutputStreamID,
[in] IMFMediaType *pType,
[in] DWORD dwFlags
);
Параметры
[in] dwOutputStreamID
Идентификатор выходного потока. Чтобы получить список идентификаторов потоков, вызовите IMFTransform::GetStreamIDs.
[in] pType
Указатель на интерфейс IMFMediaType или NULL.
[in] dwFlags
Ноль или более флагов из перечисления _MFT_SET_TYPE_FLAGS .
Возвращаемое значение
Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
Преобразование не может использовать предлагаемый тип мультимедиа. |
|
Недопустимый идентификатор потока. |
|
Предлагаемый тип недопустим. Этот код ошибки указывает, что сам тип мультимедиа настроен неправильно; например, он может содержать взаимоисключательные флаги. |
|
MFT не может переключать типы при обработке данных. Попробуйте выполнить очистку или очистку MFT. |
|
Перед настройкой типов выходных данных необходимо задать типы входных данных. |
|
MFT не удалось найти подходящую конфигурацию DirectX Video Acceleration (DXVA). |
Комментарии
Этот метод можно использовать для задания, тестирования без настройки или очистки типа носителя:
- Чтобы задать тип носителя, задайте dwFlags равным нулю, а для pType — указатель, отличный от NULL , который указывает тип носителя.
- Чтобы проверить тип носителя, не задавая его, задайте для dwFlagsзначение MFT_SET_TYPE_TEST_ONLY а для параметра pType — указатель, отличный от NULL , указывающий тип носителя. Если тип носителя допустим, метод возвращает S_OK. В противном случае возвращается MF_E_INVALIDMEDIATYPE. Независимо от возвращаемого значения текущий тип носителя не изменяется.
- Чтобы очистить тип носителя, присвойте pType значение NULL.
Для MFT может потребоваться, чтобы вызывающий объект установил один или несколько типов входных данных перед настройкой типа вывода. Если это так, метод возвращает MF_E_TRANSFORM_TYPE_NOT_SET.
Если MFT поддерживает ускорение видео DirectX (DXVA), но не может найти подходящую конфигурацию DXVA (например, если графический драйвер не имеет нужных возможностей), метод должен вернуть MF_E_UNSUPPORTED_D3D_TYPE. Дополнительные сведения см. в статье Поддержка DXVA 2.0 в Media Foundation.
Если MFT_UNIQUE_METHOD_NAMES определен перед включением mftransform.h, этот метод переименован в MFTSetOutputType. См. раздел Создание гибридных объектов DMO/MFT.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2008 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | mftransform.h |
Библиотека | Mfuuid.lib |