DMOs in DirectShow (Windows Embedded CE 6.0)
1/6/2010
The DMO Wrapper filter enables a DirectShow application to use a DMO within a filter graph.
This filter wraps the DMO and handles all the details of using the DMO, such as passing data to and from the DMO.
Also, the filter aggregates the DMO, so the application can query the filter for any COM interfaces that the DMO exposes.
All stream control should occur between the application and the filter or between the application and the filter graph manager.
Do not call any methods on DMO interfaces that might change the state of the DMO. For example, do not set the media type on a stream, process any buffers, flush the DMO, lock the DMO, enable or disable quality control, or set video optimizations. The DMO Wrapper filter handles all streaming for the DMO, and directly calling these methods might cause an error.
There are two ways to add a DMO to a filter graph:
- If you know the class identifier (CLSID) of a specific DMO that you want to use, you can initialize the DMO Wrapper filter with that DMO.
- You can enumerate an entire category of devices, including DMOs and DirectShow filters, by using the system device enumerator.