On Thu, Jun 13, 2013 at 1:35 AM, ssm <salmin01010(a)gmail.com> wrote:
Hi,
Thanks for your reply. Actually, my focus is not on application
development,
rather I am trying to understand the audio data processing architecture, at
which points the data get touched. Right now, I am pursuing the audio data
mixing architecture. Can you please tell me which component
(userspace/kernel) mixes/interleaves the audio streams if I configure the
device to stream from 2 channels?
possibly none. ALSA is sufficiently flexible that there are multiple
answers to this question. you also haven't defined whether you are talking
about playback or recording.
in general, ALSA does very little in the kernel, and almost everything in
libasound (user space).
in addition, your USB example is also slightly misleading, because of the
limitations of the USB architecture. if you looked at the data flow for a
PCI device, you'd find an entirely different data flow with potentially no
copying of the data.