DirectX Media Objects


DMOs have been superseded by Media Foundation Transforms (MFTs). The DMO interfaces are still supported. However, if you are writing a custom codec or audio/video processing plug-in, you should consider implementing it as an MFT.


DirectX Media Objects (DMOs) are COM-based data-streaming components. In some respects, DMOs are similar to Microsoft DirectShow filters. Like DirectShow filters, DMOs take input data and use it to produce output data. However, the application programming interfaces (APIs) for DMOs are much simpler than the corresponding APIs for DirectShow. As a result, DMOs are easier to create, test, and use. DMOs can be used in many scenarios:

  • Applications based on DirectShow can use DMOs through a DirectShow filter called the DMO Wrapper filter. The distinction between filters and DMOs is transparent to the application. The application does not directly call the DMO APIs.
  • Applications based on Microsoft DirectSound can use audio effect DMOs. Again, the application is shielded from the low-level DMO APIs by the higher-level DirectSound APIs.
  • Applications can use DMOs directly.

Thus, by writing a DMO, you create a component that can be used in a wide range of applications. This documentation contains the following sections: