Hi,
Thanks.
A quick follow up question. In the trigger function - I see that from substream->runtime->private_data, voice specific parameters are extracted. How and can somehow user space fill in some private data to the driver so that driver can process voice in a different way and music in a different way?
Thanks, Harsha
-----Original Message----- From: rlrevell@gmail.com [mailto:rlrevell@gmail.com] On Behalf Of Lee Revell Sent: Saturday, December 06, 2008 10:29 AM To: Harsha, Priya Cc: alsa-devel@alsa-project.org Subject: Re: [alsa-devel] question on hardware mixing
On Fri, Dec 5, 2008 at 12:03 PM, Harsha, Priya priya.harsha@intel.com wrote:
Hi,
If my sound card supports hardware mixing, how do I need to code my sound card driver such that I can send multiple streams through ALSA to the sound card driver at the same time?
Check out the emu10k1 driver. You need something like the voice allocator in that driver that assigns a hardware mixing channel or channels when ALSA asks the driver for a new PCM stream.
User space would open the same device multiple times (up to the hardware voice limit) and the driver manages the allocations. From userspace POV a hardware mixing device looks just like a single stream device, but it doesn't return -EBUSY when you open it multiple times.
Lee