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


Метод IMFDeviceTransform::SetInputStreamState (mftransform.h)

Метод SetInputStreamState задает состояние входного потока MFT устройства и тип носителя.

Синтаксис

HRESULT SetInputStreamState(
  [in] DWORD             dwStreamID,
  [in] IMFMediaType      *pMediaType,
  [in] DeviceStreamState value,
  [in] DWORD             dwFlags
);

Параметры

[in] dwStreamID

Идентификатор потока входного потока, в котором необходимо изменить состояние и тип носителя.

[in] pMediaType

Предпочтительный тип носителя для входного потока передается через этот параметр. Устройство MFT должно изменять тип носителя только в том случае, если тип входящего носителя отличается от текущего типа мультимедиа.

[in] value

Указывает DeviceStreamState , на который должен перейти входной поток.

[in] dwFlags

Когда возвращается S_OK , выполните операцию изменения состояния. В противном случае он содержит ошибку, которая произошла при задании типа носителя в выходном контакте devproxy. В этом случае следует соответствующим образом распространить ошибку.

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

Метод возвращает HRESULT. Возможные значения включают, помимо прочего, значения, указанные в следующей таблице.

Код возврата Описание
S_OK
Инициализация выполнена успешно
MF_E_INVALIDREQUEST
В настоящее время MFT-устройство не поддерживает запрос.
MF_E_INVAILIDSTREAMNUMBER
Передан недопустимый идентификатор потока.
MF_E_INVALID_STREAM_STATE
Запрошенный переход потока невозможен.

Комментарии

Эта функция интерфейса помогает перевести входной поток в указанное состояние с заданным типом носителя, заданным во входном потоке. Он будет использоваться диспетчером преобразования устройств (DTM), когда MFT устройства запрашивает изменение состояния и типа носителя определенного входного потока. Устройство MFT потребуется запросить такое изменение при изменении одного из выходных данных MFT устройства.

В качестве примера рассмотрим MFT-устройство с двумя входными и тремя потоками вывода. Пусть выходные данные 1 и выходные данные 2 будут источником из входных данных 1 и потоковой передачи в 720p. Теперь, если тип носителя output 2 изменится на 1080p, MFT устройства необходимо изменить тип носителя Input 1 на 1080p. Для этого устройство MFT должно запросить DTM для вызова этого метода с помощью сообщения METransformInputStreamStateChanged .

Требования

   
Минимальная версия клиента Windows 10 версии 1703
Целевая платформа Windows
Header mftransform.h

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

IMFDeviceTransform