Differences Between DMOs and DirectShow Filters (Windows CE 5.0)
DirectShow filters work only within a DirectShow filter graph. The filter graph manager mediates between the application and the filters in the graph. DMOs do not have this requirement; an application can use a DMO by itself.
In DirectShow, filters do much of the work required to stream data. The following list shows what this work includes:
- Allocating buffers.
- Negotiating media types and connections to other filters.
- Pushing data through the filter graph.
- Sending events to the filter graph manager.
- Synchronizing multiple threads.
In contrast, a DMO does none of these things. Instead, these kinds of tasks become the responsibility of the client using the DMO. The client allocates buffers and fills them with data. It then delivers the buffers to the DMO, which processes them, and the client retrieves the output buffers.
Within DirectShow, the DMO Wrapper filter is the client of the DMO, so it handles all of these tasks. Other applications can provide their own implementations.
See Also
Introduction to DirectX Media Objects
Send Feedback on this topic to the authors