[wdmaudiodev] Re: Which type of driver

  • From: Waldemar Haszlakiewicz <waldemar.haszlakiewicz@xxxxxxxx>
  • To: Matt Gonzalez <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Sat, 6 Mar 2004 12:29:27 +0100

Then again AVStream has lots of stuff implemented already there is less 
writing, but yes more
thinking (read breaking your head).
BUT when you figure it out everything looks very clean and simple.

Anyway if you'll write AVStream driver you'll have to read older drivers docs 
also (well not
everything) as some things are just upgrades.
In short: AVStream hides a lot of stuff from you, so you don't need to bother 
with them.


MG> This is exactly what I've been doing.

MG> If you want to talk to a 1394 device, you have to make your own IRPsand 
send them to the
MG> 1394 stack.   You will find examples on how to dothis in the 1394 samples.  
MG> DriverWorks also has usefulsample code for talking to 1394.

MG> To expose your hardware as an audio device, you need to create a 
kernelstreaming filter. 
MG> You can try using portclass miniports (like MSVAD)or AVStream.  There's 
also the older stream
MG> class stuff, but you'd bebetter off with AVStream.

MG> Portclass is an older model and doesn't handle surprise removal aswell.  
AVStream is
MG> cleaner, but there is no good example code forbuilding an audio driver.  
Portclass is perhaps
MG> quirkier, but muchbetter documented.

MG> Both AVC.sys and 61883.sys weren't useful for our purposes.  AVC.sysdoesn't 
support audio
MG> formats.   61883.sys didn't give me enoughcontrol over the streaming.

MG> Matt

MG> John D. Farmer wrote:

MG>       Greetings,


MG>   I'm new to Audio driver developmentand still pretty new to driver 
development in
MG> general.  I am working ona project that needs to stream audio data down to 
the 1394 Bus,
MG> viaAVC.sys and 61883.sys.  The overall propose of my project is to 
supportFirewire hardware that
MG> will implement the IEC-61883-6 standard (whichMicrosoft says they were 
going to support, but
MG> which I have yet to seesupported).  I am guessing I am in need of a upper 
filter driver totake
MG> care of the passing down audio data through the AV/C stack (inplace of the 
avcaudio.sys which I
MG> cannot find on my system but found inthe documentation as: Kernel-Mode WDM 
Audio Components
MG> subsection:AVCAudio Class System Driver) and another driver below 
avc.sys to beable to package
MG> the audio data up into the 61883-6 standard format onits way down to the 
1394 bus (since I do
MG> not believe that 61883.sysdoes not yet support the 61883-6 standard).


MG>   I have been perusing thedocumentation and this list and there seems to be 
alot of
MG> confusion tome on which way would be best to do this.  I started by trying 
to useMSVAD (which I
MG> believe is a Port Class driver), but then I noticed thatMSVAD does not seem 
to handle IRPs or
MG> anything else that would allow meto send data down to the 1394 bus.  I 
looked at the MSDN docs
MG> and theysaid that Port Class drivers could not be used for this purpose. I 
tooka look at
MG> this list, and it seems a number of people have been able todo this by 
implementing their own
MG> IRPs and URBs (in the case of USB). I've taken note of this and noticed 
that it seems to be
MG> extremelydifficult to do, and probably not the best way to handle this 


MG>   I then started to lookat the AVStream and Stream class drivers.  The 
AVStream overview
MG> onMSDN that it is a: "multimediaclass driver that supports video-only 
streaming and
MG> integratedaudio/video streaming."  So does this mean that I cannot use 
AVStreamto stream
MG> audio-only?  My last option was the Stream class driver whichthe MSDN 
docs seem to suggest that
MG> these driver are almost if nottotally deprecated.   


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


MG>   So as you can probably tell, I am alittle lost and confused on this 
subject.  If there is
MG> anyone out therewho could give this newbie a little guidance, I would be in 
youreternal debt.


MG>   Thanks,


MG>   John Farmer

MG> ******************WDMAUDIODEV addresses:Post message:
MG> mailto:wdmaudiodev@xxxxxxxxxxxxxxxxxxxxxx:   
MG> mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribeUnsubscribe: 
MG> mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribeModerator:   
MG> mailto:wdmaudiodev-moderators@xxxxxxxxxxxxxxxx to WDMAUDIODEV 


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


Other related posts: