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。 可能的值包括(但并不限于)下表中的项。
返回代码 | 说明 |
---|---|
|
函数成功。 |
|
无效的参数。 pIMFMediaBuffer 参数不得为 NULL。 |
注解
此函数创建的 DMO 缓冲区还会公开 IMFSample 接口。 如果 pIMFSample 为 NULL,则所有 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 |