[alsa-devel] [PATCH 2/2] USB: Gadget: Add Audio Class 2.0 Driver

Jassi Brar jassisinghbrar at gmail.com
Wed Aug 24 06:22:52 CEST 2011


On Wed, Aug 24, 2011 at 7:30 AM, Chen Peter-B29397 <B29397 at freescale.com> wrote:
>>
>> This is a flexible USB Audio Class 2.0 compliant gadget driver that
>> implements a simple topology with a virtual sound card exposed at
>> the function side.
>>
>> The driver doesn't expect any real audio codec to be present on the
>> function - the audio streams are simply sinked to and sourced from a
>> virtual ALSA sound card created. The user-space application may choose
>> to do whatever it wants with the data received from the USB Host and
>> choose to provide whatever it wants as audio data to the USB Host.
>>
>> Capture(USB-Out) and Playback(USB-In) can be run at independent
>> configurations specified via module parameters while loading the driver.
>>
>
> Have you a chance to test at Macbook (10.6.5+) which has USB Audio 2.0 support well?
>
Nopes, haven't had my hands on one yet.
It would help if someone could verify.

.....

>> +/* STD AS ISO OUT Endpoint */
>> +struct usb_endpoint_descriptor fs_epout_desc = {
>> +     .bLength = USB_DT_ENDPOINT_SIZE,
>> +     .bDescriptorType = USB_DT_ENDPOINT,
>> +
>> +     .bEndpointAddress = USB_DIR_OUT,
>> +     .bmAttributes = USB_ENDPOINT_XFER_ISOC | USB_ENDPOINT_SYNC_ASYNC,
>> +     .bInterval = 1,
>> +};
>> +
>> +struct usb_endpoint_descriptor hs_epout_desc = {
>> +     .bLength = USB_DT_ENDPOINT_SIZE,
>> +     .bDescriptorType = USB_DT_ENDPOINT,
>> +
>> +     .bmAttributes = USB_ENDPOINT_XFER_ISOC | USB_ENDPOINT_SYNC_ASYNC,
>> +     .bInterval = 4,
>> +};
> The sync type is asynchronous, do you have plan to add feedback for handling
> overflow and underflow?
>
umm... I was not sure if the feature is worth the overhead/complexity
of maintaining timers in the driver. Though I welcome hearing why not
so?


More information about the Alsa-devel mailing list