[alsa-devel] question on hardware mixing

Harsha, Priya priya.harsha at intel.com
Sat Dec 6 07:56:52 CET 2008


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 at gmail.com [mailto:rlrevell at gmail.com] On Behalf Of Lee Revell
Sent: Saturday, December 06, 2008 10:29 AM
To: Harsha, Priya
Cc: alsa-devel at alsa-project.org
Subject: Re: [alsa-devel] question on hardware mixing

On Fri, Dec 5, 2008 at 12:03 PM, Harsha, Priya <priya.harsha at 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


More information about the Alsa-devel mailing list