|Microsoft DirectX 9.0|
The CBaseOutputPin class is an abstract base class that implements an output pin.
This class derives from CBasePin. It differs from CBasePin in the following respects:
When the pin connects, it requests a memory allocator from the input pin. Failing that, it creates a new allocator object. The output pin is responsible for setting the allocator properties. It does this through the pure virtual method CBaseOutputPin::DecideBufferSize. Override this method in your derived class. If the input pin has any buffer requirements, they are passed to the DecideBufferSize method.
Call the CBaseOutputPin::GetDeliveryBuffer method to obtain an empty media sample. Call the CBaseOutputPin::Deliver method to deliver samples downstream.
Your derived class must override the pure virtual CBasePin::CheckMediaType method to validate the media type during pin connections.
Header: Declared in Amfilter.h; include Streams.h.
Library: Use Strmbase.lib (retail builds) or Strmbasd.lib (debug builds).
|Protected Member Variables|
|m_pAllocator||Pointer to the memory allocator.|
|m_pInputPin||Pointer to the input pin connected to this pin.|
|DecideAllocator||Selects a memory allocator. Virtual.|
|GetDeliveryBuffer||Retrieves a media sample that contains an empty buffer. Virtual.|
|Deliver||Delivers a media sample to the connected input pin. Virtual.|
|InitAllocator||Creates a memory allocator. Virtual.|
|CheckConnect||Determines whether a pin connection is suitable.|
|BreakConnect||Releases the pin from a connection.|
|Active||Notifies the pin that the filter is now active.|
|Inactive||Notifies the pin that the filter is no longer active.|
|DeliverEndOfStream||Delivers an end-of-stream notification to the connected input pin. Virtual.|
|DeliverBeginFlush||Requests the connected input pin to begin a flush operation. Virtual.|
|DeliverEndFlush||Requests the connected input pin to end a flush operation. Virtual.|
|DeliverNewSegment||Delivers a new-segment notification to the connected input pin. Virtual.|
|Pure Virtual Methods|
|DecideBufferSize||Sets the buffer requirements.|
|BeginFlush||Begins a flush operation.|
|EndFlush||Ends a flush operation.|
|EndOfStream||Notifies the pin that no additional data is expected.|