public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Lee Revell <rlrevell@joe-job.com>
Cc: Takashi Iwai <tiwai@suse.de>,
	Linux Kernel list <linux-kernel@vger.kernel.org>
Subject: Re: Mac mini sound woes
Date: Tue, 29 Mar 2005 13:41:02 +1000	[thread overview]
Message-ID: <1112067662.12300.11.camel@gaston> (raw)
In-Reply-To: <1112067369.19014.24.camel@mindpipe>

On Mon, 2005-03-28 at 22:36 -0500, Lee Revell wrote:
> On Mon, 2005-03-28 at 09:42 +1000, Benjamin Herrenschmidt wrote:
> > It seems that Apple's driver has an in-kernel framework for doing volume
> > control, mixing, and other horrors right in the kernel, in temporary
> > buffers, just before they get DMA'ed (gack !)
> > 
> > I want to avoid something like that. How "friendly" would Alsa be to
> > drivers that don't have any HW volume control capability ? Does typical
> > userland libraries provide software processing volume control ? Do you
> > suggest I just don't do any control ? Or should I implement a double
> > buffer scheme with software gain as well in the kernel driver ?
> 
> alsa-lib handles both mixing (dmix plugin) and volume control (softvol
> plugin) in software for codecs like this that don't do it in hardware.
> Since Windows does mixing and volume control in the kernel (ugh) it's
> increasingly common to find devices that cannot do these.  You don't
> need to handle it in the driver at all.

Yah, OS X does it in the kernel too lately ... at least Apple drivers
are doing it, it's not a "common" lib. They also split treble/bass that
way when you have an iSub plugged on USB and using the machine internal
speakers for treble.

> dmix has been around for a while but softvol plugin is very new, you
> will need ALSA CVS or the upcoming 1.0.9 release.

Ok.

Ben.



  reply	other threads:[~2005-03-29  3:42 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-27 23:42 Mac mini sound woes Benjamin Herrenschmidt
2005-03-28  1:42 ` Andrea Arcangeli
2005-03-28  2:34   ` Benjamin Herrenschmidt
2005-03-29  3:36 ` Lee Revell
2005-03-29  3:41   ` Benjamin Herrenschmidt [this message]
2005-03-29  7:47   ` Marcin Dalecki
2005-03-29  8:18     ` Benjamin Herrenschmidt
2005-03-29  9:22       ` Marcin Dalecki
2005-03-29 10:22         ` Takashi Iwai
2005-03-30  1:45           ` Marcin Dalecki
2005-03-30  2:08             ` Lee Revell
2005-03-30  4:14             ` Lee Revell
2005-03-30  5:15             ` Steven Rostedt
2005-03-29 22:13         ` Lee Revell
2005-03-29 23:25           ` Chris Friesen
2005-03-29 23:39             ` Benjamin Herrenschmidt
2005-03-30  1:48               ` Marcin Dalecki
2005-03-30  5:42                 ` Lee Revell
2005-03-30  1:45           ` Marcin Dalecki
2005-03-29 10:02   ` Takashi Iwai
2005-03-29 11:04     ` Benjamin Herrenschmidt
2005-03-29 12:12       ` Takashi Iwai
2005-03-29 19:05       ` Lee Revell
2005-03-29 19:31         ` Takashi Iwai
2005-03-29 20:11           ` Lee Revell
2005-03-29 22:03           ` Benjamin Herrenschmidt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1112067662.12300.11.camel@gaston \
    --to=benh@kernel.crashing.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rlrevell@joe-job.com \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox