iamBufferNegotiation 接口 (strmif.h)

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

接口 IAMBufferNegotiation 请求筛选器要创建的缓冲区数以及每个缓冲区的大小。 此接口可由使用 IMemInputPin 引脚接口连接的任何引脚公开,但通常在捕获筛选器的输出引脚上公开。

当两个引脚通过 IMemInputPin 连接时,它们同意负责创建缓冲区的分配器对象。 通常,此过程对应用程序是透明的,但在某些情况下,应用程序需要更多控制。 如果引脚公开 IAMBufferNegotiation,应用程序可以建议要创建的缓冲区数、缓冲区的大小和其他属性。 如果应用程序执行捕获的音频预览,则可以指定较小的缓冲区大小以减少延迟。 电话会议应用程序应指定最小数量的缓冲区。

若要使用此接口,请在引脚连接之前调用 SuggestAllocatorProperties 方法。 引脚连接后,调用 GetAllocatorProperties 方法以确定引脚是否遵循请求。

筛选器开发人员:捕获筛选器应始终支持此接口(如果可能)。

继承

IAMBufferNegotiation 接口继承自 IUnknown 接口。 IAMBufferNegotiation 还具有以下类型的成员:

方法

IAMBufferNegotiation 接口具有以下方法。

 
IAMBufferNegotiation::GetAllocatorProperties

GetAllocatorProperties 方法检索引脚正在使用的分配器属性。
IAMBufferNegotiation::SuggestAllocatorProperties

SuggestAllocatorProperties 方法通知引脚应用程序的首选分配器属性。 在引脚连接之前调用此方法。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 strmif.h (包括 Dshow.h)

另请参阅

接口