Microsoft Windows CE 3.0  

IBaseFilter Interface

Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

The IBaseFilterinterface abstracts an object that has typed input and output connections and can be aggregated dynamically. All DirectShow filters expose this interface.

Since the IBaseFilterinterface derives from the IMediaFilterinterface, it inherits IPersist.

When to Implement

Implement this interface on every DirectShow filter. It is recommended that you use the CBaseFilterclass library to implement this interface.

When to Use

The filter graph manager is the primary user of this interface. Applications or other filters can use IBaseFiltermethods directly to enumerate or retrieve pins or to get vendor information, but should not use any methods derived from IMediaFilterto control media streaming (use the IMediaControlmethods on the filter graph manager instead).

Methods in Vtable Order

IUnknown methods Description
QueryInterface Returns pointers to supported interfaces.
AddRef Increments the reference count.
Release Decrements the reference count.
IMediaFilter methods Description
Stop Informs the filter to transition to the new (stopped) state.
Pause Informs the filter to transition to the new (paused) state.
Run Informs the filter to transition to the new (running) state.
GetState Determines the state of the filter.
SetSyncSource Identifies the reference clock to which the filter should synchronize activity.
GetSyncSource Retrieves the current reference clock (or NULL if there is no clock). Passes a time value to synchronize independent streams.
IBaseFilter methods Description
EnumPins Enumerates the specified pins available on this filter.
FindPin Retrieves a pointer to the pin with the specified identifier.
QueryFilterInfo Retrieves information about the specified filter.
JoinFilterGraph Notifies a filter that it has joined a filter graph.
QueryVendorInfo Retrieves optional information supplied by a vendor for the specified filter.