CTransInPlaceFilter.DecideBufferSize 方法

[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayerIMFMediaEngine媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

方法 DecideBufferSize 设置输出引脚的缓冲区要求。

语法

HRESULT DecideBufferSize(
   IMemAllocator        *pAlloc,
   ALLOCATOR_PROPERTIES *pProperties
);

参数

pAlloc

指向输出引脚使用的 IMemAllocator 对象的指针。

pProperties

指向 ALLOCATOR_PROPERTIES结构指定的 计数、大小和对齐请求的分配器属性的指针。

返回值

返回 HRESULT 值。 可能的值包括下表中显示的值。

返回代码 说明
S_OK
成功
E_FAIL
失败

备注

CTransInPlaceFilter 类需要为下游筛选器提供缓冲区大小时,将调用此方法。 如果 CTransInPlaceFilter 筛选器已上游连接,它将使用上游引脚连接上的分配器属性。 否则,它将缓冲区大小设置为 1 字节作为临时占位符值。 当上游筛选器连接时,CTransInPlaceFilter 类会重新协商下游分配器。 有关此类中的引脚连接过程的详细信息,请参阅 CTransInPlaceFilter 类

要求

要求
标头
Transip.h (包括 Streams.h)

Strmbase.lib (零售版本) ;
Strmbasd.lib (调试生成)

另请参阅

CTransInPlaceFilter 类