关于 IMFTransform

[与此页面关联的功能(Windows 媒体播放器 SDK)是旧版功能。 它已被 MediaPlayer 取代。 MediaPlayer 已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer 而不是 Windows 媒体播放器 SDK。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

IMFTransform 接口是必须由双模式 DSP 插件实现的接口之一。 Windows 媒体播放器调用 IMFTransform 接口的方法,以便向插件提供数据,并从插件检索已处理的数据。 有关 IMFTransform 接口的完整文档,请参阅 Windows SDK 的媒体基础部分。

IMFTransform 的方法可按以下方式分类。

处理格式协商的方法

Windows 媒体播放器调用以下方法以获取有关插件支持的数据格式的信息。

  • GetStreamCount
  • GetStreamLimits
  • GetInputStreamInfo
  • GetOutputStreamInfo
  • GetInputAvailableType
  • GetOutputAvailableType
  • SetInputType
  • SetOutputType
  • GetAttributes
  • GetInputStreamAttributes
  • GetOutputStreamAttributes
  • GetStreamIDs

指定或检索状态信息的方法

Windows 媒体播放器调用以下方法来获取或设置与插件的当前状态相关的值。

  • SetInputType
  • SetOutputType
  • GetInputCurrentType
  • GetOutputCurrentType
  • GetInputStatus
  • AddInputStreams
  • DeleteInputStreams
  • GetOutputStatus
  • SetOutputBounds

注意

SetInputTypeSetOutputType 既用于格式协商,也用于指定和检索状态信息。

 

处理缓冲和处理数据的方法

Windows 媒体播放器调用以下方法来启动插件执行的各种过程来执行数字信号处理。

  • ProcessInput
  • ProcessOutput
  • ProcessMessage
  • ProcessEvent

必需的接口