Registering MFT as WMP plug-in

Hi,

I have converted old DMO based WMP plug-in into MFT. However I have failed to register  my new MFT as WMP plug-in.

Does anyone know about additional interface that registers MFT as WMP plug-in.

Thanks,

   Evgeny



Answer this question

Registering MFT as WMP plug-in

  • Baok

    Running an MFT as a WMP DSP plugin should work. However, there are a few additional steps required to make WMP's Media Foundation pipeline pick up your plugin:

    • The plugin must register using IWMPMediaPluginRegistrar::WMPRegisterPlayerPlugin with the WMP_PLUGINTYPE_DSP_OUTOFPROC plugin type. See the MSDN doc for more information on how to use this interface.
    • Register the plugin's COM server with ThreadingModel = Both.
    • Add support for new media types that are used in MF (for example, NV12 for video and WAVE_FORMAT_IEEE_FLOAT for audio).

    If your plugin has property pages (accessible from the WMP Options dialog), there are a few additional things required to get those to work:

    • Implement IMFGetService. The ISpecifyPropertyPages interface is retrieved via an IMFGetService::GetService request in MF with guidService == the CLSID of your plugin. For DMO's this is still just a QueryInterface().
    • Create a proxy/stub DLL to allow communication between WMP and mfpmp.exe for any custom interfaces you have for controlling the DSP.

    The new WMP SDK DSP wizard generates sample code with most of these changes already made, but still uses the DMO model for backward compatibility. This page on MSDN enumerates most of the changes above that are included in the sample. WMP has a DMO->MFT wrapper that is used when only the DMO interfaces (IMediaObject) are implemented but the plugin otherwise supports MF playback. However, by implementing IMFTransform and IMFGetService, running as a native MFT is also possible.

    Hope this helps,

    -Tom



  • Donaghy

    10x,

    It realy works. I had a problem with property page and the above post solves it.

    Regarding the MFT as Plug-In, it works only in RTM


  • RobZeilinga

    Hi Tom,

    I just installed wmp 11 sdk and tried to build a mobile audio dsp plugin with the sample code. And I tried to follow the instruction listed in http://msdn2.microsoft.com/en-us/library/aa387829.aspx. (I understand the instructions were for mobile UI plugin. But, I could not find any instruction for building an audio dsp plugin for device. )

    After building the solution with vs2003, following two errors were found.

    * error C2065: "WMP_PLUGINTYPE_DSP_OUTOFPROC": undeclared identifier.

    * error C3861: "WMP_PLUGINTYPE_DSP_OUTOFPROC": identifier not found.

    Can you please help me to overcome this problem. Additionally, please let me know if any instruciton for building a dsp (audio and video) plugin for wm devices.

    Thanks.

    Goldfinger


  • Registering MFT as WMP plug-in