[wdmaudiodev] Re: SFX APO and Windows Media Player

  • From: Michael Johansen <johansen.mic@xxxxxxxxx>
  • Date: Thu, 10 Mar 2016 12:50:24 +0100

... with an AddRef first ofcourse...

Michael

2016-03-09 17:43 GMT+01:00 Matthew van Eerde <
Matthew.van.Eerde@xxxxxxxxxxxxx>:

It is expected for different media players to behave differently,
depending on the higher-level APIs they use.



In particular, Windows Media Player is probably using Media Foundation,
which will probe WASAPI to see whether it can leverage the source format to
do things like headphone virtualization.



I don’t know what MPC uses.



You say the SFX is returning S_OK. What is it setting the output pointer
to?




https://msdn.microsoft.com/en-us/library/windows/hardware/ff536511(v=vs.85).aspx



If the call completed successfully, the ppSupportedInputFormat parameter
returns a pRequestedInputFormat pointer and the IsInputFormatSupported
method returns a value of S_OK. Otherwise, this method returns one of the
following error codes:



*From: *Michael Johansen <johansen.mic@xxxxxxxxx>
*Sent: *Wednesday, March 9, 2016 6:06 AM
*To: *wdmaudiodev@xxxxxxxxxxxxx
*Subject: *[wdmaudiodev] SFX APO and Windows Media Player


Hi,

I am helping a customer upgrade an existing GFX APO to the new SFX, MFX,
EFX design.
The customer wants to use an SFX for certain effects. It installs fine.
But when using an MP3 file with Windows Media Player IsInputFormatSupported
is called with format tag WAVE_FORMAT_MPEGLAYER3 to which the APO returns 
APOERR_FORMAT_NOT_SUPPORTED.
Then the APO is called again with other float32 supported formats that the
APO responds S_OK to. But WMP then stop with a failure saying it does not
support the format. If I install the MFX or EFX all is fine.
Also if I use another player such as MPC it starts with asking for the
float32 format and plays nicely with the SFX.

What would be the solution to handle this situation with WMP?

- Michael


Other related posts: