IMFDeviceTransform::SetInputStreamState 方法 (mftransform.h)

SetInputStreamState 方法设置设备 MFT 输入流状态和媒体类型。

语法

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

parameters

[in] dwStreamID

需要更改状态和媒体类型的输入流的流 ID。

[in] pMediaType

输入流的首选媒体类型通过此参数传入。 仅当传入媒体类型与当前媒体类型不同时,设备 MFT 才应更改媒体类型。

[in] value

指定输入流应转换到的 DeviceStreamState

[in] dwFlags

返回 S_OK 时,执行状态更改操作。 否则,这包含在 devproxy 输出引脚上设置媒体类型时发生的错误。 在这种情况下,请适当传播错误。

返回值

该方法返回 HRESULT。 可能的值包括但不限于下表中给出的值。

返回代码 说明
S_OK
初始化成功
MF_E_INVALIDREQUEST
设备 MFT 目前不支持该请求。
MF_E_INVAILIDSTREAMNUMBER
传递的流 ID 无效。
MF_E_INVALID_STREAM_STATE
无法进行请求的流转换。

注解

此接口函数有助于在输入流上设置指定的媒体类型的情况下将输入流转换为指定状态。 当设备 MFT 请求更改特定输入流的状态和媒体类型时,设备转换管理器 (DTM) 将使用此功能。 当设备 MFT 的输出之一发生更改时,设备 MFT 需要请求此类更改。

例如,假设设备 MFT 具有两个输入流和三个输出流。 让输出 1 和输出 2 从输入 1 源,以 720p 的速度流式传输。 现在,如果输出 2 的媒体类型更改为 1080p,设备 MFT 必须将输入 1 的媒体类型更改为 1080p。 为此,设备 MFT 应使用 METransformInputStreamStateChanged 消息请求 DTM 调用此方法。

要求

   
最低受支持的客户端 Windows 10 版本 1703
目标平台 Windows
标头 mftransform.h

另请参阅

IMFDeviceTransform