Метод IMFTransform::SetInputType (mftransform.h)
Задает, проверяет или очищает тип носителя для входного потока в этом преобразовании Media Foundation (MFT).
Синтаксис
HRESULT SetInputType(
[in] DWORD dwInputStreamID,
[in] IMFMediaType *pType,
[in] DWORD dwFlags
);
Параметры
[in] dwInputStreamID
Идентификатор входного потока. Чтобы получить список идентификаторов потоков, вызовите IMFTransform::GetStreamIDs.
[in] pType
Указатель на интерфейс IMFMediaType или NULL.
[in] dwFlags
Ноль или более флагов из перечисления _MFT_SET_TYPE_FLAGS .
Возвращаемое значение
Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
MFT не может использовать предлагаемый тип носителя. |
|
Недопустимый идентификатор потока. |
|
Предлагаемый тип недопустим. Этот код ошибки указывает, что сам тип мультимедиа настроен неправильно; например, он может содержать взаимоисключающиеся атрибуты. |
|
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, этот метод переименован в MFTSetInputType. См. раздел Создание гибридных объектов DMO/MFT.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2008 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | mftransform.h |
Библиотека | Mfuuid.lib |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по