IBaseFilter Interface (Compact 2013)

3/26/2014

This interface abstracts an object that has typed input and output connections and can be aggregated dynamically.

All DirectShow filters expose this interface.

Because the IBaseFilter interface derives from the IMediaFilter interface, it inherits IPersist.

When to Implement

Implement this interface on every DirectShow filter. It is recommended that you use the CBaseFilter class 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 IBaseFilter methods directly to enumerate or retrieve pins or to get vendor information, but should not use any methods derived from IMediaFilter to control media streaming (use the IMediaControl methods on the filter graph manager instead).

Methods in Vtable Order

The following tables show the methods that appear in the Vtable beneath the standard COM methods inherited from IUnknown.

IMediaFilter method

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 method

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.

Requirements

Header

dshow.h

Library

Strmiids.lib

See Also

Reference

DirectShow Interfaces