Share via


IAMBufferNegotiation Interface (Compact 2013)

3/26/2014

This interface enables an application to request how many buffers a filter creates and the buffer size. Any pin that connects using the IMemInputPin interface can expose this interface, but is typically exposed on the output pins of capture filters.

When two pins connect through IMemInputPin, they agree on an allocator object that is responsible for creating buffers. Normally this process is transparent to the application, but in some situations the application needs more control. If a pin exposes IAMBufferNegotiation, then the application can suggest how many buffers to create, the size of the buffers, and other properties. If your application performs preview of captured audio, you can specify a smaller buffer size to reduce latency. Teleconferencing applications should specify a minimal number of buffers.

To use this interface, call the SuggestAllocatorProperties method before the pins connect. After the pins connect, call the GetAllocatorProperties method to determine whether the pin honored the request.

Filter developers: Capture filters should always support this interface when possible.

In addition to the methods inherited from IUnknown, this interface exposes the following methods.

Method

Description

GetAllocatorProperties

Retrieves the allocator properties that the pin is using.

SuggestAllocatorProperties

Informs the pin of the application's preferred allocator properties.

Requirements

Header

dshow.h

Library

Strmiids.lib

See Also

Reference

DirectShow Interfaces
IMemInputPin Interface