IMFSourceReaderEx::GetTransformForStream 方法 (mfreadwrite.h)

获取指向指定流的媒体基础转换 (MFT) 的指针。

语法

HRESULT GetTransformForStream(
  [in]  DWORD        dwStreamIndex,
  [in]  DWORD        dwTransformIndex,
  [out] GUID         *pGuidCategory,
  [out] IMFTransform **ppTransform
);

参数

[in] dwStreamIndex

要查询 MFT 的流。 该值可以是以下任意值。

含义
0–0xFFFFFFFB
流的从零开始的索引。
MF_SOURCE_READER_FIRST_VIDEO_STREAM
0xFFFFFFFC
第一个视频流。
MF_SOURCE_READER_FIRST_AUDIO_STREAM
0xFFFFFFFD
第一个音频流。

[in] dwTransformIndex

要检索的 MFT 的从零开始的索引。

[out] pGuidCategory

接收指定 MFT 类别的 GUID。 有关可能值的列表,请参阅 MFT_CATEGORY

[out] ppTransform

接收指向 MFT 的 IMFTransform 接口的指针。 调用方必须释放接口。

返回值

此方法可以返回其中一个值。

返回代码 说明
S_OK
成功。
MF_E_INVALIDINDEX
dwTransformIndex 参数已超过范围。
MF_E_INVALIDSTREAMNUMBER
dwStreamIndex 参数无效。

注解

在将 MFT 插入处理链后,可以使用此方法配置 MFT。 请勿使用 ppTransform 中返回的指针来设置 MFT 上的媒体类型或处理数据。 具体而言,调用以下任何 IMFTransform 方法都可能会产生意外结果。

如果存在解码器,它将出现在索引位置 0 处。

为了避免丢失任何数据,应在调用此方法之前清空源读取器。 有关详细信息,请参阅 清空数据管道

要求

要求
最低受支持的客户端 Windows 8 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2012 [桌面应用 |UWP 应用]
目标平台 Windows
标头 mfreadwrite.h

另请参阅

IMFSourceReaderEx