[wdmaudiodev] Re: how to implement a USB audio driver!

  • From: "Daniel Sisolak" <dsisolak@xxxxxxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Fri, 30 Mar 2012 14:10:25 +0000

The "real" USB Audio device should be able to describe itself. First thing you 
need to do is to get the Config descriptor from USB and start parsing 
(descriptors are well described in the USB Audio Specifications available from 
USB.org) ...unless you already know the configuration of your target device in 
which case you can hard code a KS topology which reflects that. You need to 
create KS Pin structures from the descriptors that reflect the format 
capabilities and tie them to your topology. You need to create support for the 
Isochronous endpoints and tie them to the pins you created so you can stream 
audio data from the pin data structures to the device supporting all  KS pin 
state transitions. You need to pass the audio data from the input pins to the 
system and the out pins to the device. You have to accurately reflect position 
information for those streams through pin properties. You need to adjust device 
controls through topology/filter properties (should there be any) through the 
control endpoint. You need to be able to handle power state changes while you 
are streaming as well as not.

Dozens of other details as well. Like Tim said, it's no easy task and even if 
undertaken it is difficult to get correct. (I should know :-))

Good luck if you choose to pursue this,
DJ

-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of hetao su
Sent: Friday, March 30, 2012 2:49 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: how to implement a USB audio driver!

Dear all:

    As I said before:
    MSVAD and Avshws They are all to simulate a hardware,and I don't
know how to implement a class for describing the real usb audio
device.
******************

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

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.com/



******************

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

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.com/

Other related posts: