[alsa-devel] question on hardware mixing
priya.harsha at intel.com
Sat Dec 6 07:56:52 CET 2008
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?
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:
> 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.
More information about the Alsa-devel