[wdmaudiodev] Re: SFX APO and Windows Media Player

  • From: Matthew van Eerde <Matthew.van.Eerde@xxxxxxxxxxxxx>
  • To: Michael Johansen <johansen.mic@xxxxxxxxx>
  • Date: Thu, 10 Mar 2016 20:32:14 +0000

What if the requested input format is nullptr?

From: Michael Johansen<mailto:johansen.mic@xxxxxxxxx>
Sent: Thursday, March 10, 2016 3:51 AM
Cc: wdmaudiodev@xxxxxxxxxxxxx<mailto:wdmaudiodev@xxxxxxxxxxxxx>
Subject: [wdmaudiodev] Re: SFX APO and Windows Media Player

... with an AddRef first ofcourse...

Michael

2016-03-09 17:43 GMT+01:00 Matthew van Eerde 
<Matthew.van.Eerde@xxxxxxxxxxxxx<mailto: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<mailto:johansen.mic@xxxxxxxxx>
Sent: Wednesday, March 9, 2016 6:06 AM
To: wdmaudiodev@xxxxxxxxxxxxx<mailto: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: