MFCreateLegacyMediaBufferOnMFMediaBuffer 函数 (mfapi.h)

将 Media Foundation 媒体缓冲区转换为与 DirectX 媒体对象兼容的缓冲区, (DSO) 。

语法

HRESULT MFCreateLegacyMediaBufferOnMFMediaBuffer(
  IMFSample      *pSample,
  IMFMediaBuffer *pMFMediaBuffer,
  DWORD          cbOffset,
  IMediaBuffer   **ppMediaBuffer
);

parameters

pSample

指向包含 Media Foundation 缓冲区的示例的 IMFSample 接口的指针。 此参数可以为 NULL。

pMFMediaBuffer

指向 Media Foundation 缓冲区的 IMFMediaBuffer 接口的指针。

cbOffset

媒体基础缓冲区起始位置的偏移量(以字节为单位)。 此偏移量定义 DMO 缓冲区的开始位置。 如果此参数为零,则 DMO 缓冲区从 Media Foundation 缓冲区的开头开始。

ppMediaBuffer

接收指向 IMediaBuffer 接口的指针。 DirectShow SDK 文档中介绍了此接口。 调用方必须释放接口。

返回值

函数返回 HRESULT。 可能的值包括(但并不限于)下表中的项。

返回代码 说明
S_OK
函数成功。
E_INVALIDARG
无效的参数。 pIMFMediaBuffer 参数不得为 NULL

注解

此函数创建的 DMO 缓冲区还会公开 IMFSample 接口。 如果 pIMFSampleNULL,则所有 IMFSample 方法返回MF_E_NOT_INITIALIZED。 否则,它们通过 调用 pIMFSample 指针。

如果 pIMFMediaBuffer 指定的 Media Foundation 缓冲区公开 IMF2DBuffer 接口,则 DMO 缓冲区也会公开 IMF2DBuffer

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 mfapi.h
Library Mfplat.lib
DLL Mfplat.dll

另请参阅

IMF2DBuffer

IMFMediaBuffer

IMFSample

媒体缓冲区

媒体基础函数