CTransInPlaceFilter::CompleteConnect

 
Microsoft DirectShow 9.0

CTransInPlaceFilter::CompleteConnect

The CompleteConnect method completes a pin connection.

Syntax

  HRESULT CompleteConnect(
    PIN_DIRECTION direction,
    IPin *pReceivePin
);

Parameters

direction

Member of the PIN_DIRECTION enumerated type, specifying which pin on the filter is making the connection.

pReceivePin

Pointer to the IPin interface of the other pin in this connection attempt.

Return Value

Returns an HRESULT. Possible values include those shown in the following table.

Value Description
S_OK Success.
VFW_E_NOT_IN_GRAPH The filter is not in a filter graph.

Remarks

This method overrides the CTransformFilter::CompleteConnect method.

The behavior of the filter depends on the order of the pin connections:

  • If the input pin is connected first, the connection uses a temporary allocator. When the output pin is connected, the filter reconnects the input pin. Reconnecting the input pin causes the upstream filter to renegotiate the allocator. At that point, the input pin proposes an allocator from the downstream filter. For more information, see CTransInPlaceInputPin::GetAllocator.
  • If the output pin is connected first, the output pin does not select an allocator. When the input pin is connected, it negotiates an allocator for both connections. If the input and output media types are not the same, the filter reconnects the output pin using the input type.

The filter performs all pin reconnections by calling the CBaseFilter::ReconnectPin method. The ReconnectPin method, in turn, calls the IFilterGraph2::ReconnectEx method on the filter graph manager.

Requirements

**  Header:** Declared in Transip.h; include Streams.h.

**  Library:** Use Strmbase.lib (retail builds) or Strmbasd.lib (debug builds).

See Also