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