IMFSinkWriter::SetInputMediaType 方法 (mfreadwrite.h)

设置接收器编写器上的流的输入格式。

语法

HRESULT SetInputMediaType(
  [in] DWORD         dwStreamIndex,
  [in] IMFMediaType  *pInputMediaType,
  [in] IMFAttributes *pEncodingParameters
);

参数

[in] dwStreamIndex

流的从零开始的索引。 索引由 IMFSinkWriter::AddStream 方法的 pdwStreamIndex 参数接收。

[in] pInputMediaType

指向媒体类型的 IMFMediaType 接口的指针。 媒体类型指定输入格式。

[in] pEncodingParameters

指向属性存储的 IMFAttributes 接口的指针。 使用属性存储配置编码器。 此参数可以为 NULL。

返回值

该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。

返回代码 说明
S_OK
方法成功。
MF_E_INVALIDMEDIATYPE
基础媒体接收器不支持格式,无法进行转换,或者无法进行动态格式更改。
MF_E_INVALIDSTREAMNUMBER
dwStreamIndex 参数无效。
MF_E_TOPO_CODEC_NOT_FOUND
找不到编码格式的编码器。

注解

输入格式不必与写入媒体接收器的目标格式匹配。 如果格式不匹配,方法会尝试加载可从输入格式编码到目标格式的编码器。

流式处理开始后(即首次调用 IMFSinkWriter::WriteSample 之后),可以随时调用此方法来更改输入格式。 但是,基础编码器和媒体接收器必须支持动态格式更改。

如果安装了适用于 Windows Vista 的平台更新补充,则此接口在 Windows Vista 上可用。

要求

要求
最低受支持的客户端 适用于 Windows Vista 的 Windows 7、Windows Vista 和平台更新补充 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2 [桌面应用 |UWP 应用]
目标平台 Windows
标头 mfreadwrite.h

另请参阅

IMFSinkWriter

接收器编写器