MFCreateTranscodeTopology 函数 (mfidl.h)
创建部分转码拓扑。
基础拓扑生成器通过连接所需的管道对象(源、编码器和接收器)来创建部分拓扑。 编码器和接收器是根据转码配置文件中调用方指定的设置配置的。
若要创建转码配置文件对象,请调用 MFCreateTranscodeProfile 函数,并通过调用相应的 IMFTranscodeProfile 方法设置所需的属性。
配置的转码配置文件将传递到 MFCreateTranscodeTopology 函数,该函数使用适当的设置创建转码拓扑。 然后,调用方可以在媒体会话上设置此拓扑,并启动会话以开始编码过程。 媒体会话结束时,将生成转码文件。
语法
HRESULT MFCreateTranscodeTopology(
[in] IMFMediaSource *pSrc,
[in] LPCWSTR pwszOutputFilePath,
[in] IMFTranscodeProfile *pProfile,
[out] IMFTopology **ppTranscodeTopo
);
参数
[in] pSrc
指向媒体源的指针,用于封装要转码的源文件。 媒体源对象公开 IMFMediaSource 接口,可以使用源解析程序创建。 有关详细信息,请参阅 使用源解析程序。
[in] pwszOutputFilePath
指向以 null 结尾的字符串的指针,该字符串包含要生成的输出文件的名称和路径。
[in] pProfile
指向转码配置文件的指针,该配置文件包含音频流、视频流和文件写入到的容器的配置设置。 转码配置文件对象公开 IMFTranscodeProfile 接口,必须通过调用 MFCreateTranscodeProfile 函数来创建。 创建对象后,调用方必须通过调用相应的 IMFTranscodeProfile 方法提供配置设置。
[out] ppTranscodeTopo
接收指向转码拓扑对象的 IMFTopology 接口的指针。 调用方必须释放接口。
返回值
函数返回 HRESULT。 可能的值包括(但并不限于)下表中的项。
返回代码 | 说明 |
---|---|
|
函数调用成功, ppTranscodeTopo 接收指向转码拓扑的指针。 |
|
pwszOutputFilePath 包含无效字符。 |
|
媒体源中未选择流。 |
|
配置文件不包含 MF_TRANSCODE_CONTAINERTYPE 属性。 |
|
对于一个或多个流,找不到接受配置文件中给定媒体类型的编码器。 |
|
配置文件未为媒体源上的任何选定流指定媒体类型。 |
注解
有关使用此函数的示例代码,请参阅以下主题:
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
目标平台 | Windows |
标头 | mfidl.h |
Library | Mf.lib |
DLL | Mf.dll |