IMFSinkWriter::SetInputMediaType 方法(mfreadwrite.h)

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

Syntax

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

参数

[in] dwStreamIndex

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

[in] pInputMediaType

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

[in] pEncodingParameters

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

返回值

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

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

注解

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

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

如果安装了 Windows Vista 平台更新补充,则 Windows Vista 上提供了此接口。

要求

Requirement 价值
最低支持的客户端 适用于 Windows Vista 的 Windows 7、Windows Vista 和平台更新补充 [桌面应用 |UWP 应用]
支持的最低服务器 Windows Server 2008 R2 [桌面应用 |UWP 应用]
目标平台 Windows操作系统
Header mfreadwrite.h

另请参阅

IMFSinkWriter

接收器编写器