[wdmaudiodev] Re: Multi-channel->2 channel APO on 2-channel device

  • From: "Alexandra Schoepel \(Ally\)" <Alexandra@xxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Wed, 7 Mar 2007 16:48:50 -0800

A little follow up...  Ultimately, the problem was that the
APO_FLAG_SAMPLESPERFRAME_MUST_MATCH registry flag was being set (since
our original code was based off of the swap example, before the
speakerfill example was available).  Thus, any case where input and
output channels counts were different, it wouldn't be called.  The
information about this flag is documented in AudioEngineBaseApo.idl (not
in the word document).  I've found that once properly configure, this
type of APO can be tested using GraphEdit (available with the Direct X
SDK) to play multi-channel wav files.
 

________________________________

From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Hakon Strande
Sent: Friday, February 02, 2007 3:32 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: Multi-channel->2 channel APO on 2-channel
device



Dear Madam,

 

I think this is covered in the white paper on this subject
http://www.microsoft.com/whdc/device/audio/sysfx.mspx but what you are
suggesting is possible when you load your APO into the Local Effect
(LFX) insertion point (per app) so please check that you are doing that.

 

From a high level the LFX exposed the format that the LFX wants (such as
multi-channel) and then down mixes that to a stereo stream for instance.
This functionality is already in Vista though...

 

Sincerely,

 

HakonS

 

From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Alexandra
Schoepel (Ally)
Sent: Friday, February 02, 2007 1:24 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Multi-channel->2 channel APO on 2-channel device

 

Hi Guys, 

First off, thanks for all your help over the past few months.  It's
great to have your support.  

We are working on an APO that would provide the service of taking a
multi-channel surround mix and mixing to 2 channels (with user
controls), in the case where the hardware device is a maximum 2-channel
output device.

I have looked into the InputFormatSupported function and overridden the
base functionality.  However, I never see a request for more than
2-channels.  Even when using the Graph Edit tool with a multi-channel
PCM wave file or a WMV HD file containing a 5.1 mix, using the MM system
over Dsound, as instructed from a previous posting on this same forum.

I assume that this is because, in a traditional sense, the device is
being queried for the maximum number of channels.  In spite of the APO I
have in place which will honor 5.1 channels, the application is told 2
channels and therefore the system arranges for 2 channels down the pipe
and I never see a query for anything but that.  I hope I'm wrong?

So, is it even possible to write an APO providing the functionality
described for a 2-channel soundcard? 

Thanks again, 
Ally 

Other related posts: