[wdmaudiodev] Re: My first WASAPI implementation.

  • From: "Jeff Pages" <jeff@xxxxxxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Thu, 23 Mar 2006 10:35:29 +1100

As card manufacturers we have no control over how third-party applications 
expect to see our hardware. If application X wants to open four stereo channels 
to generate 8 outputs then our card has to allow that, but if application Y 
expects to see a single 8-channel device then we have to support that too. 
Otherwise the customer goes away.

Jeff Pages
Innes Corporation Pty Ltd
  ----- Original Message ----- 
  From: Perry, Chris 
  To: wdmaudiodev@xxxxxxxxxxxxx 
  Sent: Thursday, March 23, 2006 9:54 AM
  Subject: [wdmaudiodev] Re: My first WASAPI implementation.


  >then it is appropriate for the device to be presented as several completely 
independent sets of outputs.

   

  As far as I can see, this is only appropriate if the speakers you are talking 
about are attached to two separate audio devices. If they are attached to 
channels from a single audio device such as a MOTU then the

  application can mix the audio stream on each channel to go to whatever 
speaker desired.

   

  So, to me, it seems that you can get there if all channels on one device can 
be opened and used at once. However if Vista presents the device as stereo 
pairs than I have to open each pair as a separate "virtual" device and then 
issue a play for each "virtual" device which presents a problem if you want to 
output to all channels simultaneously.

   

   

  Chris Perry

  Bose Corporation 

   

   


------------------------------------------------------------------------------

  From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Frank Yerrace
  Sent: Wednesday, March 22, 2006 5:03 PM
  To: wdmaudiodev@xxxxxxxxxxxxx
  Subject: [wdmaudiodev] Re: My first WASAPI implementation.

   

   

  > We do it in order to support legacy apps that don't support multichannel 
hardware.

   

  The API layers do this on your behalf. For example, the application can open 
stereo formats using waveOut regardless of how many channels the actual audio 
hardware has. The stereo data ends up being directed to the two output channels 
identified as front-left and front-right.

   

  > Plus, it lets you address different sets of inputs and outputs with 
multiple applications simultaneously, which is useful.

   

  If the user wishes to configure his device installation to have two channels 
going to one set of speakers and other channels going to other sets of 
speakers, then it is appropriate for the device to be presented as several 
completely independent sets of outputs.

   

  What Vista currently does not promote is a hybrid between these two 
configurations, allowing apps to discover for example 4 stereo devices *and* 
one 8 channel device. At this time, we don't understand how this is a useful 
feature going forward. I'd like to understand more about this sort of usage if 
others feel this is a problem.

   

  Frank Yerrace

  Microsoft Corporation

   

  This posting is provided "AS IS" with no warranties, and confers no rights.

   

   


------------------------------------------------------------------------------

  From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Matt Gonzalez
  Sent: Wednesday, March 22, 2006 1:13 PM
  To: wdmaudiodev@xxxxxxxxxxxxx
  Subject: [wdmaudiodev] Re: My first WASAPI implementation.

   

  We do it in order to support legacy apps that don't support multichannel 
hardware.

  Plus, it lets you address different sets of inputs and outputs with multiple 
applications simultaneously, which is useful.

  Matt

  wdmaudiodev-bounce@xxxxxxxxxxxxx wrote: 

I never really did understand why vendors would publish a bunch ofstereo pairs 
rather than one device that had many channels. Was this tosupportlegacy OS's 
that didn't have WAVEFORMATEXTENSIBLE?  If I have one 8-channel stream I want 
to output, the last thing I wanttodo is open 4 virtual stereo devices and 
issues the play command to eachone. Chris PerryBose Corporation -----Original 
Message-----From: 
wdmaudiodev-bounce@xxxxxxxxxxxxx[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On 
Behalf Of Frank YerraceSent: Wednesday, March 22, 2006 3:36 PMTo: 
wdmaudiodev@xxxxxxxxxxxxxxxxxxxx: [wdmaudiodev] Re: My first WASAPI 
implementation.    my biggest gripe currently is not knowing if its possible 
for a device    manufacturer to define a huge 16 output (or more) endpoint in 
oneIAudioClient without having to fake it with WAVEFORMATEXTENSIBLE'snChannels 
set to 16 and dwChannelMask set to 0x00, or to have thatmanufacturer define a 
bunch of separate stereo pairs to do the job. Can you clarify what you would 
*like* to see here? At this time, we feelthat if the hardware is intended to be 
used as a 16-channel output, thenit should be presented as a single 16-channel 
output accessed through asingle instance of IAudioRenderClient using a 
16-channelWAVEFORMATEXTENSIBLE. Frank YerraceMicrosoft Corporation This posting 
is provided "AS IS" with no warranties, and confers norights  -----Original 
Message-----From: 
wdmaudiodev-bounce@xxxxxxxxxxxxx[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On 
Behalf Of David ViensSent: Wednesday, March 22, 2006 12:17 PMTo: 
wdmaudiodev@xxxxxxxxxxxxxxxxxxxx: [wdmaudiodev] Re: My first WASAPI 
implementation. Ron Kuper wrote:  David, were the "suprises" pleasant or 
unpleasant?      Ha, of course I meant "surprisingly good" results,with little 
to no clicking (but sometimes occurring with evenmoderate DSP cpu loads) I ran 
the code with my onboard NVidia AMD nforce4 ac97,a Roland ua-1a device running 
"USB composite device",and my Terratec EWS88MT's extra output (fixed at 48 
Khz)- not the full 12/10 combo which doesnt appear.cant try my various SB 
cards, because of lack of working drivers. I'm trying to put latency down, but 
i got tired of shooting in the darkwith trying things. Thats why i'm awaiting 
answers before continuing.Knowing that vista is now scheduled to release in 
2007, its not thaturgent it would seem.The way it currently works is a bit odd, 
with the 100-nano second"periods"settings, which cant seem to fit on even 
sample frames in somecircumstances,or .. sigh allow for power of two sized 
buffers. Also since no pro audio card has Vista drivers yet, my biggest 
gripecurrentlyis not knowing if its possible for a device manufacturer to 
define ahuge16 output (or more) endpoint in one IAudioClient without having to 
fakeit withWAVEFORMATEXTENSIBLE's nChannels set to 16 and dwChannelMask set 
to0x00,or to have that manufacturer define a bunch of separate stereo pairs 
todo the job. (i never implemented WDM-KS's pin querrying stuff mind you - so 
might bea similar thing) I've got another bag of questions...    

  ****************** WDMAUDIODEV addresses: Post message: 
mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: 
mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: 
mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: 
mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page: 
http://www.wdmaudiodev.com/

Other related posts: