| Microsoft DirectX 9.0 |

The CBaseMediaFilter class implements the IMediaFilter interface. Use this class for plug-in distributors or other objects that need to support IMediaFilter without supporting the IBaseFilter interface. Do not use this class for filters. Instead, use the CBaseFilter class, or a base class derived from CBaseFilter.
Requirements
Header: Declared in Amfilter.h; include Streams.h.
Library: Use Strmbase.lib (retail builds) or Strmbasd.lib (debug builds).
| Protected Member Variables | |
| m_State | Current state of the object. |
| m_pClock | Pointer to the object's reference clock. |
| m_tStart | Reference time that corresponds to stream time 0. |
| m_clsid | Class identifier (CLSID) of the object. |
| m_pLock | Pointer to a critical section. |
| Public Methods | |
| CBaseMediaFilter | Constructor method. |
| ~CBaseMediaFilter | Destructor method. Virtual. |
| StreamTime | Retrieves the current stream time. Virtual. |
| IsActive | Determines whether the object is active (running or paused). |
| IPersist Methods | |
| GetClassID | Retrieves the class identifier. |
| IMediaFilter Methods | |
| GetState | Retrieves the object's state (running, stopped, or paused). |
| SetSyncSource | Sets a reference clock for the object. |
| GetSyncSource | Retrieves the reference clock that the object is using. |
| Stop | Stops the object. |
| Pause | Pauses the object. |
| Run | Runs the object. |