DSP Plug-in Packaging

Windows Media Player renders audio and video by using one of the following pipelines.

  • DirectShow
  • Media Foundation

In Microsoft Windows XP and earlier, the Player uses DirectShow. In Windows Vista, the Player sometimes uses DirectShow and sometimes uses Media Foundation.

A DSP plug-in that is designed to run in the DirectShow pipeline is called a basic DSP plug-in. A basic DSP plug-ins acts as a DirectX Media Object (DMO). A basic DSP plug-in can run natively in the DirectShow pipeline and can also run in the Media Foundation pipeline inside a wrapper provided by Media Foundation.

A DSP plug-in that is designed to run natively (no wrapper required) in both the DirectShow and Media Foundation pipelines is called a dual-mode DSP plug-in. A dual-mode DSP plug-in can act as a DMO or as a Media Foundation Transform (MFT).

A DSP plug-in is a COM object that is packaged as a self-registering .dll file. The interfaces that the plug-in implements depend on whether the plug-in is designed as a basic DSP plug-in or as a dual-mode DSP plug-in. For detailed information about the interfaces that DSP plug-ins must implement, see Required Interfaces.

A DSP plug-in that runs in the Media Foundation pipeline (either natively or wrapped) must register its threading model as "Both". For detailed information about registry subkeys and entries associated with DSP plug-ins, see Registering DSP Plug-ins.

A DSP plug-in that implements custom interfaces and runs in the Media Foundation pipeline (either natively or wrapped) must be paired with a proxy-stub .dll file that can marshal the custom interfaces across process boundaries. For information about the proxy-stub component, see Updating Existing DSP Plug-ins and Updates to the DSP Plug-in Wizard for Windows Media Player 11.

DSP plug-in objects must not be created as singletons. Windows Media Player must be able to create multiple separate instances of a particular DSP plug-in.

DSP plug-ins that run in the Windows Vista Protected Media Path (PMP) must be signed. For more information, see Code Signing for Protected Media Components in Windows Vista.

DSP Plug-in Developer Overview