[wdmaudiodev] Re: AVStream and WDF

  • From: "Sam Tertzakian" <sam@xxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Sat, 24 Oct 2009 17:18:13 -0700

Hi, Eliyas,

 

Would you say it is true that if you want to use the full capabilities of
WDF using a two driver model is best?  I say this because your slide 30
shows that many important features of WDF cannot be used in a single driver
model.

 

In the past I have written code such that a  single AVStream driver could be
used with both an underlying PCI  bus or a USB bus. I used an  underlying
WDF or WDM driver to deal with the buffer transfer between the bus/card and
host memory...then, I exposed  a device interface that an AVStream driver
used to expose the board as an AVStram device.

 

In this way, I get full use of WDF for all the hardware stuff, but I only
have to write the code that exposes the card to AVStream one time. If I want
to add another bus type, then I can just write another underlying WDF driver
for that bus and reuse the same AVStream layer without modification.

 

From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Eliyas Yakub
Sent: Saturday, October 24, 2009 7:17 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: AVStream and WDF

 

Yes it's possible to write AVStream driver with KMDF. You don't need to have
a filter driver. Please go through this presentation and let me know if you
have question. Using KMDF to interface with the USB stack is the best way of
doing it. Most NDIS miniport drivers for USB drivers are written using KMDF.


 

http://download.microsoft.com/download/D/1/D/D1DD7745-426B-4CC3-A269-ABBBE42
7C0EF/DDE-T685_DDC08.pptx

 

This model has been supported from version 1.0. Latest WDF version that was
release with Win7 is 1.9 and you should use that.

 

From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of KS
Sent: Saturday, October 24, 2009 4:37 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: AVStream and WDF

 

Hi,

 

While this is possible and would work, I think it would be something that
would be considered as one of the last resort if there is no other way and
the change must be made. This is something like asking Microsoft to split
their usbaudio.sys driver, which is an AVStream driver, into 2 drivers so
that it is WDF compilant and fulfill WLP requirement.

 

I would hope that there should be some method that is less painful for those
who have an existing AVStream driver that communicate with a usb device. (Or
that the WLP requirement does not apply to usb drivers that are using
AVStream framework)

 

 

KS


 

On Sat, Oct 24, 2009 at 7:17 PM, Sam Tertzakian <saekisam@xxxxxxxxx> wrote:

You would write two drivers...a lower wdf driver that talks directly to the
hardware as a generic wdf driver. Then you install an upper filter driver
over the wdf driver that exposes the device as an avstream driver. Avstream
driver then sends and receives data from the lower driver. 

  _____  

From: KS <wakeup1504@xxxxxxxxx> 

Date: Sat, 24 Oct 2009 18:50:00 +0800

To: <wdmaudiodev@xxxxxxxxxxxxx>

Subject: [wdmaudiodev] AVStream and WDF

 

Hi,

 

Is it possible to write an AVStream driver using WDF? I posted this
questions a few years back and the answer was no. 

 

There were some code snippets on using AVStream with WDF in the Winhec 2008
presentation, and there is also some new WLP requirements for USB drivers to
be WDF compilant. So does this mean that it is now possible to use AVStream
with WDF (since many usb audio/video device would be using AVStream driver)?
If this is true, is there any info on what is the minimum KMDF version that
can support this, and any info on what can and what cannot be done with WDF
for AVStream would be appreciated.

 

Thanks

 

KS

 

Other related posts: