[wdmaudiodev] Which type of driver

  • From: "John D. Farmer" <johndfarmer@xxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Fri, 5 Mar 2004 14:29:16 -0800

Greetings,

I'm new to Audio driver development and still pretty new to driver development 
in general.  I am working on a project that needs to stream audio data down to 
the 1394 Bus, via AVC.sys and 61883.sys.  The overall propose of my project is 
to support Firewire hardware that will implement the IEC-61883-6 standard 
(which Microsoft says they were going to support, but which I have yet to see 
supported).  I am guessing I am in need of a upper filter driver to take care 
of the passing down audio data through the AV/C stack (in place of the 
avcaudio.sys which I cannot find on my system but found in the documentation 
as: Kernel-Mode WDM Audio Components subsection: AVCAudio Class System Driver) 
and another driver below avc.sys to be able to package the audio data up into 
the 61883-6 standard format on its way down to the 1394 bus (since I do not 
believe that 61883.sys does not yet support the 61883-6 standard).

I have been perusing the documentation and this list and there seems to be alot 
of confusion to me on which way would be best to do this.  I started by trying 
to use MSVAD (which I believe is a Port Class driver), but then I noticed that 
MSVAD does not seem to handle IRPs or anything else that would allow me to send 
data down to the 1394 bus.  I looked at the MSDN docs and they said that Port 
Class drivers could not be used for this purpose. I took a look at this list, 
and it seems a number of people have been able to do this by implementing their 
own IRPs and URBs (in the case of USB).  I've taken note of this and noticed 
that it seems to be extremely difficult to do, and probably not the best way to 
handle this problem.

I then started to look at the AVStream and Stream class drivers.  The AVStream 
overview on MSDN that it is a: "multimedia class driver that supports 
video-only streaming and integrated audio/video streaming."  So does this mean 
that I cannot use AVStream to stream audio-only?  My last option was the Stream 
class driver which the MSDN docs seem to suggest that these driver are almost 
if not totally deprecated.   

I also looked at AV/C Client driver (which I think is a Stream Minidriver) as a 
option, and it seemed to be almost what I wanted, but the documentation says 
that the avcstream.sys plays a part in the AV/C stack, my big problem with this 
is:  I can't find avcstream.sys on my system (I'm running Windows XP) see: 
IEC-61883 Protocol Driver in a Client Driver Stack in the MSDN documentation.  
Am I correct in assuming that avcstream.sys handles the AV/C Audio subunit?

So as you can probably tell, I am a little lost and confused on this subject.  
If there is anyone out there who could give this newbie a little guidance, I 
would be in your eternal debt.

Thanks,

John Farmer

Other related posts: