Share via


CBaseInputPin Class

A version of this page is also available for

Windows Embedded CE 6.0 R3

4/8/2010

Aa931692.6ce7a87d-e781-4b6e-9fef-2273698f5503(en-us,MSDN.10).gif

This is an abstract base class derived from CBasePin that adds support for IMemInputPin in addition to the IPin interface support provided by CBasePin. Its IMemInputPin::GetAllocator method returns a CMemAllocator object. Derive your input pin from this class.

All member functions in this class that return HRESULT and accept a pointer as a parameter return E_POINTER when passed a null pointer.

Protected Data Members

Member Description

m_bFlushing

In the state of flushing; if TRUE, all IMemInputPin::Receive methods are returned with S_FALSE.

m_bReadOnly

If TRUE, indicates that the allocator being used contains samples that are read-only.

m_pAllocator

Pointer to the default memory allocator.

Member Functions

Member function Description

CBaseInputPin

Constructs a CBaseInputPin object.

IsReadOnly

Checks the m_bReadOnly data member and returns its value.

IsFlushing

Checks the m_bFlushing data member and returns its value.

PassNotify

Passes a quality-control notification to the appropriate sink.

Overrideable Member Functions

Member function Description

CheckStreaming

Verifies conditions for continuing with a streaming operation.

Inactive

Switches the pin to an inactive state.

Implemented IPin Methods

Method Description

BeginFlush

Informs the pin to begin a flush operation.

Disconnect

Releases the stored allocator.

EndFlush

Informs the pin to end a flush operation.

Implemented IMemInputPin Methods

Method Description

GetAllocator

Returns the allocator interface that this input pin would like the output pin to use.

GetAllocatorRequirements

Indicates an optional method to use if the filter has specific alignment or prefix requirements but could use an upstream allocator.

NotifyAllocator

Tells the input pin which allocator the output pin is actually going to use.

Receive

Returns the next block of data from the stream. (Override this method to process a sample being passed in.)

ReceiveCanBlock

Determines if sending an IMemInputPin::Receive method might block.

ReceiveMultiple

Returns the next block of data from the stream. (Override this method to process samples being passed in.)

Implemented INonDelegatingUnknown Methods

Method Description

NonDelegatingQueryInterface

Retrieves an interface from the subobject, not the aggregated object.

Implemented IQualityControl Methods

Method Description

Notify

Notifies the recipient that a quality-control change is requested.

Override on the output pin only. This implementation returns NOERROR.

Requirements

Windows Embedded CE Windows CE 2.12 and later
Windows Mobile Windows Mobile Version 5.0 and later
Note Microsoft DirectShow applications and DirectShow filters have different include file and Library requirements
For more information, see Setting Up the Build Environment