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. |
Multimedia components that provide time-based data expose the IMediaFilterinterface. This interface abstracts an object that processes time-based data streams and represents a multimedia device (possibly implemented in software). It controls the active or running state of the object and the synchronization of this state with other objects in the system.
This interface inherits the IPersistinterface.
When to Implement
Methods on this interface should be implemented as part of any filter. This is typically done by using the base class CBaseFilter, which implements IBaseFilterand IMediaFilter.
When to Use
Because the IMediaFilterinterface is inherited by the IBaseFilterinterface, which adds other necessary methods required to be exported by filters, this interface is not normally used directly by the filter graph manager or other filters. It can, however, be of use to plug-in distributors. For example, the filter graph manager internally exports IMediaFilter; its plug-in distributor exports IMediaControland calls the IMediaFiltermethods to implement its own methods.
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. |