Hi Matthias, If you build a USB Audio class compliant device (XP, Vista and beyond) or an HD Audio class compliant device (Vista and beyond) you don’t have to write a driver at all, Windows will natively support your hardware. ☺ Also, if you are developing a virtual audio driver to interface a proprietary device with your network phone services (my assumption after looking up your company web site ☺) please make sure you understand the Communication centric capabilities of Windows 7 (i.e attend WinHEC 2008 this fall or at least review the Voice Communication session contents from that event) so the way your driver exposes your virtual handset/telephone device allows Windows to accurately expose the device to communication applications. In any case good luck! Sincerely, Hakon Strande<mailto:HakonS@xxxxxxxxxxxxx> | Software PM | Microsoft Hardware | (p) 425.705.0637 From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Matthias Moetje Sent: Friday, September 26, 2008 9:29 AM To: 'wdmaudiodev@xxxxxxxxxxxxx' Subject: [wdmaudiodev] Re: Which audio driver model? Matt, thanks very much for the info! I had thought PortCls or AvStream was a kind of pre-WDM model. I’ll go for a start with the MSVAD and I fear I’ll be back with more questions soon ;-) Thanks again, Matthias Moetje [cid:image001.gif@01C91FBB.15D97CD0] TERASENS GmbH Augustenstraße 24 80333 Munich GERMANY Phone: Fax: e-mail: Web: +49.89.143370-0 +49.89.143370-22 info@xxxxxxxxxxxx<mailto:info@xxxxxxxxxxxx> www.terasens.com<http://www.terasens.com/> From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Matt Gonzalez Sent: Freitag, 26. September 2008 05:06 To: wdmaudiodev@xxxxxxxxxxxxx Cc: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: Which audio driver model? Hello, WDM isn't an audio driver model. WDM stands for Windows Driver Model. It refers to the generic Windows driver development framework first introduced with Windows 98 and Windows 2000. WDM is for any type of kernel mode device driver. Wikipedia has a good article. So any audio driver for Win2K/XP/Vista is a WDM driver. All of the MSVAD samples are based on PortCls using WaveCyclic. Matt On Sep 25, 2008, at 7:53 PM, Matthias Moetje <moetje@xxxxxxxxxxxx<mailto:moetje@xxxxxxxxxxxx>> wrote: Matt and Tim, thanks very much for your assistance. So what about the WDM model? Do you any experience with this? Do I assume correctly that the MSVAD sample in the current WDK is WDM based, while the MSVAD from older DDKs is PortCls based? Best regards, Matthias Moetje <image001.gif> TERASENS GmbH Augustenstraße 24 80333 Munich GERMANY Phone: Fax: e-mail: Web: +49.89.143370-0 +49.89.143370-22 info@xxxxxxxxxxxx<mailto:info@xxxxxxxxxxxx> www.terasens.com<http://www.terasens.com/> From: wdmaudiodev-bounce@xxxxxxxxxxxxx<mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx> [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Matt Gonzalez Sent: Dienstag, 23. September 2008 02:36 To: wdmaudiodev@xxxxxxxxxxxxx<mailto:wdmaudiodev@xxxxxxxxxxxxx> Subject: [wdmaudiodev] Re: Which audio driver model? Hello, I have developed drivers using both PortCls and AVStream. AVStream is better for handling external hardware since it can handle surprise removal. It sounds like your solution is software only, so that doesn't matter. Of the two that I have used, AVStream is more flexible but harder to implement. There aren't any good sample drivers, so it's much harder to get started, especially if you don't have any experience with audio drivers. In addition, an AVStream audio driver has to implement quite a bit of the functionality that PortCls does for you. If I were you, I would start with the MSVAD sample in the DDK. I don't have any experience with Stream Class. The main thing to keep in mind is that all of these are just different methods for presenting a kernel streaming filter with the correct set of pins. They use different calls and data structures to describe the same thing. In my opinion, this really isn't obvious just from reading the documentation or the sample code. Matt Matthias Moetje wrote: Hello all, I am new to this list and joined because I need some advice on creating an audio driver. I realized, that there are quite a few models available to develop an audio driver (wdm, AVStream, PortCls, StreamClass) and I have no idea which will be the right one. Let me give you some more information: We have developed a TAPI service provider for the SIP protocol (VoIP). A TAPI service provider (TSP) is a kind of middleware and there are two ways a TSP can provide access to the audio streams to the consuming application: Either an MSP (Media Service Provider, requires TAPI3) or an audio driver (used with TAPI2). We already have implemented the MSP. Actually it’s building a DirectShow filtergraph (consisting of RTP sink/source filter, codec filters) and provides an endpoint pin to the application. Now we want to develop an audio driver. Ideally this audio driver would use the existing MSP to instantiate the filtergraph and model the endpoint pin as wave device. So, the question is: Which would be the best suited audio driver model to accomplish this task? Best regards, Matthias Moetje <image001.gif> TERASENS GmbH Augustenstraße 24 80333 Munich GERMANY Phone: Fax: e-mail: Web: +49.89.143370-0 +49.89.143370-22 info@xxxxxxxxxxxx<mailto:info@xxxxxxxxxxxx> www.terasens.com<http://www.terasens.com/>