[alsa-devel] problem with usb-audio and oss emulation
kunal at singhkunal.com
Mon May 26 16:40:11 CEST 2008
I am working on a ARM based target with 2.6.23 Kernel. My project
involves streaming data from a USB-Audio Device (an iPod) and playing it
back on the target. I am using OSS-emulation API to communicate with the
What I am able to do:
(1) I have a sound card in my target. This is mapped to card0. I can
open the "dsp" device and can playback any audio data on this.
(2) I have enabled the usb-audio module support in kernel
configuration. When I connect iPod to the target, I can see a new card
"card1" being added in the /proc/asound/ directory.
(3) I can open the "dsp1" device and can read from it. When I
connect a "USB-Analyzer" I can see some valid data being streamed to the
However, I am stuck with following issues:
(1) The data being received on the target (in user mode) is junk. I
put some printfs in the function "retire_capture_urb" in file
"/linux/sound/usb/usbaudio.c", and I can see that the "data" which I see
through usb-analzyer is reaching till this point. However, there seem to
be some problem with one of the "snd_pmc_oss_ReadN" functions in file
"http://lxr.linux.no/linux/sound/core/oss/pcm_oss.c". I am not able to
exactly trace the problem, but I think that the "byte count" and "buffer
address" being passed to snd-usb-audio is getting messed up some where.
Has any one faced similar problems before?
(2) Once I connect the iPod to my target, I can not any more use the
default sound card. I read on the oss-emulation tutorial that this could
be a problem with "dsp_map". But I am not able to check the current
Can some one give me some pointers for further debugging?
Thanks and Regards,
More information about the Alsa-devel