MF_TRANSCODE_ADJUST_PROFILE_FLAGS 枚举 (mfidl.h)
定义 在 MF_TRANSCODE_ADJUST_PROFILE 属性中设置的配置文件标志。
这些标志在拓扑生成期间由 MFCreateTranscodeTopology 检查。 基于这些标志, MFCreateTranscodeTopology 根据拓扑中使用的编码器的输入要求,通过修改流的配置设置来调整转码配置文件。
有关应用程序可以指定的流设置的详细信息,请参阅 使用转码 API。
语法
typedef enum _MF_TRANSCODE_ADJUST_PROFILE_FLAGS {
MF_TRANSCODE_ADJUST_PROFILE_DEFAULT = 0,
MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES = 1
} MF_TRANSCODE_ADJUST_PROFILE_FLAGS;
常量
MF_TRANSCODE_ADJUST_PROFILE_DEFAULT 值: 0 Media Foundation 对音频和视频流使用应用程序指定的设置。 如果应用程序未提供所需的设置,则会创建拓扑,但编码会话失败。 对于视频流,将修改帧速率和交错模式设置。 有关详细信息,请参阅“备注”。 |
MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES 值:1 对于音频和视频流,通过复制输入源属性来填充缺少的流设置。 此标志可确保转码的输出文件与输入文件最匹配。 |
注解
如果指定 了MF_TRANSCODE_ADJUST_PROFILE_DEFAULT 标志,则会对视频流进行以下更改:
- 如果在 MFCreateTranscodeTopology 的 pSrc 参数中指定的媒体源的帧速率与应用程序在 MF_MT_FRAME_RATE 属性中指定的帧速率相差小于 1/1000,则配置文件将使用媒体源帧速率。 这是因为管道认为差异可以忽略不计。
- 如果应用程序未通过设置 MF_MT_INTERLACE_MODE 属性指定交错模式,则配置文件将更改为使用渐进帧。
- MF_MT_AUDIO_NUM_CHANNELS
- MF_MT_AUDIO_SAMPLES_PER_SECOND
- MF_MT_AUDIO_BLOCK_ALIGNMENT
- MF_MT_AUDIO_AVG_BYTES_PER_SECOND
- MF_MT_AUDIO_BITS_PER_SAMPLE
如果要使用输入流属性转码文件,请使用 MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES 标志。 在拓扑中插入 MFT 节点之前,输入源流属性将复制到输出媒体类型。 如果设置其他流属性,则此标志不会覆盖设置的值。 只有缺少的属性才使用输入源的属性值填充。 此标志在需要以与输入源相同的格式生成输出文件的 remux 方案中很有用。 如果要执行格式转换,请确保设置流的 MF_MT_SUBTYPE 属性,以指定拓扑生成器必须使用的编码器。 除非设置了 MF_TRANSCODE_DONOT_INSERT_ENCODER ,否则会将转换节点添加到拓扑中。 在本例中,和 内容未编码。 相反,如果容器允许,内容将嵌入到指定的容器中。
例如,假设输入源是 MP3 文件。 将容器设置为 MFTranscodeContainerType_ASF,不设置任何流属性,并设置 MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES 标志。 在这种情况下,生成的输出文件是包含 MP3 媒体数据的 ASF 文件 (.wma) 。 请注意,如果使用此标志,某些输入流属性和容器类型可能不兼容。
要求
最低受支持的客户端 | Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
标头 | mfidl.h |