Microsoft DirectX 8.1 (C++) |
The point where a filter connects to another filter is called a pin. Each pin is a distinct COM object that supports the IPin interface. Pins use COM reference counting, but the filter that owns a pin controls the pin's lifetime. Filters can dynamically create or destroy pins at run time.
Each pin has a direction, either input or output. It must connect to a pin with the opposite direction. Media samples travel across pin connections, always from output pin to input pin. This direction is called downstream; the opposite direction is called upstream. (Some control information moves upstream. For details, see Data Flow for Filter Developers.)
When two pins connect, they negotiate the details of the connection, such as the media type, the buffer sizes, and the delivery mechanism (called the transport). If either pin rejects the connection, the two filters cannot exchange data.