On Thu, Jun 13, 2013 at 1:35 AM, ssm <salmin01010@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.