METransformInputStreamStateChanged

METransformInputStreamStateChanged 事件指示必须更改输入流状态或媒体类型。

发送时

更改设备 MFT 输出时,可能还需要更改相关的输入流状态。 出现这种情况时,Device MFT 将生成 METransformInputStreamStateChanged 事件。

参数

参数 说明
输入流索引 必须在 IMFMediaEvent 的属性存储中设置输入流索引。

注解

为了响应此事件,设备转换管理器 (DTM) 将使用指定的输入流索引在设备 MFT 上调用 GetInputStreamPreferredState 。 设备 MFT 将返回首选状态和媒体类型。

DTM 会在 devproxy 输出流上设置请求的 mediatype,然后将其转换为请求的流式处理状态。 如果成功,DTM 将在设备 MFT 输入流上设置相同的媒体类型,并将其转换为请求的状态。

如果在此过程中出现错误,则 SetInputStreamStatedwStatus 参数将包含发生的错误。 设备 MFT 应根据需要将错误传播到 DTM。

当指定的流处于停止或运行状态时,可能会生成此事件。 如果流处于停止状态,设备转换管理器将查询该设备 MFT 输入流的首选类型,并将其设置为 Devproxy 的输出。 如果成功,则 DTM 将在设备 MFT 的输入上设置相同的首选媒体类型。

当设备 MFT 在流式传输时生成此事件时,将停止进一步的示例传送,并且将在设备 MFT 输入上请求首选媒体类型。 此 mediatype 在 Devproxy 的输出和设备 MFT 的输入上设置。 流将在 Devproxy 输出流上自动重启,示例将传送到设备 MFT 输入流。 当新样本到达时,Device MFT 会将样本传送到相关的输出流。