[wdmaudiodev] Re: AVStream Mixer Problems

  • From: "Mathieu Routhier" <mrouthier@xxxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Thu, 26 Aug 2004 10:05:28 -0400

John and DJ,


The last time I worked on a device including an AVC audio subunit (last
winter), we faced the same problems as John described.  The avcaudio crashed
when it loaded.  Using the debugger and correct symbols, we determined that
the crash occurred while parsing the descriptor.  Even if the error was in
the descriptor we crafted, I guess the driver shouldn't have crashed.  If I
remember correctly, we reported that issue to MS and it probably reached
you, DJ, am I wrong?  In any case, we ended up writing our own avcaudio
replacement driver for numerous reasons, one of them being the driver for
our device had to do things that avcaudio was not designed for.
Nevertheless, we used AVC.sys to handle avc commands because we had a
minimum requirement of Windows XP.


About your master volume question.  Well, one thing you could do is simply
do not declare a master volume control.  The other lines (midi, wave, CD,
etc) should still show up.  Alternatively, you could implement your own
software attenuator.  I am not sure you can "ask" kmixer to add a master
volume control.





From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of John D. Farmer
Sent: Wednesday, August 25, 2004 6:05 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: AVStream Mixer Problems


To answer DJ's question:  My device does Implement the AVC Audio subunit
spec.  We originally tried to use AVCAudio.sys after modifying the INF and
trying to install it, it not only crashed our test machine but hosed our
registry beyond any ability to repair.

We tried to use 61883.sys and AVC.sys, but there we're quirks in both of
those drivers that wouldn't allow us to get the card initialized properly.
I believe we also had problems sending data down to the bus.  The final
problem was that we needed support for Windows 2000 (I believe AVC wasn't
supported on except in MSDV.sys).  The long story short, I ended up crafting
my own psuedo AVC.sys by sending down raw Isochronous commands to the 1394
bus and getting the response back in a allocated address range.  I only
included selective AVC command specific to our hardware.


Finally this is probably a rather stupid question, but is there any way to
use my Volume Control to send the volume and mute values to the KMIXER lines
so that KMIXER can take care of mixing the audio stream instead of having to
set the hardware to those volume values (it seems the new chip we are
working with does not yet support the Audio Subunit FUNCTION_BLOCK command,
so I don't think the hardware can set the volume right now anyway).


Thanks again for your time,





----- Original Message ----- 

From: Mathieu <mailto:mrouthier@xxxxxxxxxxxxx>  Routhier 

To: wdmaudiodev@xxxxxxxxxxxxx 

Sent: Wednesday, August 25, 2004 1:45 PM

Subject: [wdmaudiodev] Re: AVStream Mixer Problems


Oh.  One more thing:


In my experience, sysaudio will set a volume value and verify it has been
successfully set by querying the value right afterwards.  If it gets
confused by seeing that the value is not set as required, after a few tries,
it will ultimately give up and disable the control.  I don't know the exact
algorithm but that's what I've witnessed.





From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of DJ Sisolak
Sent: Wednesday, August 25, 2004 3:50 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: AVStream Mixer Problems


Hi John,


I would like to add to Mathieu's comments that if the support handler does
not return the expected structures and simply returns success as you say,
then the control will likely not function as well. 


On a side note, does your device implement the AV/C Audio subunit spec? 





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



From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Mathieu Routhier
Sent: Wednesday, August 25, 2004 11:35 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: AVStream Mixer Problems




Obviously, if your hardware needs a message to change its volume value, yes
you need to send a message to it.  Maybe I misunderstood the question?


About the second question, yes, these controls are inserted by
kmixer/sysaudio.  I would suggest you implement volume control on your
master volume and leave the other controls untouched.  The inputs from those
lines are mixed directly into your audio device, so you couldn't
differentiate these feeds even if you wanted to.  And for the balance
control, this translates to volume commands; so you don't really need to do
anything special for this to work, other than supporting a stereo volume





Other related posts: