All of lore.kernel.org
 help / color / mirror / Atom feed
* Question about dmix?
@ 2010-03-20 14:05 cee1
  2010-03-20 14:27 ` Colin Guthrie
  2010-03-22  8:03 ` Clemens Ladisch
  0 siblings, 2 replies; 4+ messages in thread
From: cee1 @ 2010-03-20 14:05 UTC (permalink / raw)
  To: alsa-devel

Hi all,
I know alsa support userspace software multi-playback by dmix plugin.
How does it realize? I expected a daemon accepting multi-streams which
then mixes these streams to a single one -- it seems not the case.


Regards,

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Question about dmix?
  2010-03-20 14:05 Question about dmix? cee1
@ 2010-03-20 14:27 ` Colin Guthrie
  2010-03-21  1:58   ` cee1
  2010-03-22  8:03 ` Clemens Ladisch
  1 sibling, 1 reply; 4+ messages in thread
From: Colin Guthrie @ 2010-03-20 14:27 UTC (permalink / raw)
  To: alsa-devel

'Twas brillig, and cee1 at 20/03/10 14:05 did gyre and gimble:
> Hi all,
> I know alsa support userspace software multi-playback by dmix plugin.
> How does it realize? I expected a daemon accepting multi-streams which
> then mixes these streams to a single one -- it seems not the case.

I believe an older version of dmix used to act like a daemon, but the
current version no longer does this and instead uses some magic spells
that I don't even being to know about.

As far as userspace mixing goes, most linux distros and a lot of
embedded systems (e.g. smartphones) now use PulseAudio which does run as
a stand alone daemon and opens a single stream to alsa. It does much
more than just mixing, but it fits in with your paradigms :)

See http://pulseaudio.org for more info.

Col


-- 

Colin Guthrie
gmane(at)colin.guthr.ie
http://colin.guthr.ie/

Day Job:
  Tribalogic Limited [http://www.tribalogic.net/]
Open Source:
  Mandriva Linux Contributor [http://www.mandriva.com/]
  PulseAudio Hacker [http://www.pulseaudio.org/]
  Trac Hacker [http://trac.edgewall.org/]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Question about dmix?
  2010-03-20 14:27 ` Colin Guthrie
@ 2010-03-21  1:58   ` cee1
  0 siblings, 0 replies; 4+ messages in thread
From: cee1 @ 2010-03-21  1:58 UTC (permalink / raw)
  To: Colin Guthrie; +Cc: alsa-devel

2010/3/20 Colin Guthrie <gmane@colin.guthr.ie>:
> 'Twas brillig, and cee1 at 20/03/10 14:05 did gyre and gimble:
>> Hi all,
>> I know alsa support userspace software multi-playback by dmix plugin.
>> How does it realize? I expected a daemon accepting multi-streams which
>> then mixes these streams to a single one -- it seems not the case.
>
> I believe an older version of dmix used to act like a daemon, but the
> current version no longer does this and instead uses some magic spells
> that I don't even being to know about.

My soundcard is driven by an experimental alsa driver, it seems always
underrun the buffer and causes bad quality in playback. Disable dmix
will improve playback quality a little. I'm curious about what does
dmix do internally.


Regards,

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Question about dmix?
  2010-03-20 14:05 Question about dmix? cee1
  2010-03-20 14:27 ` Colin Guthrie
@ 2010-03-22  8:03 ` Clemens Ladisch
  1 sibling, 0 replies; 4+ messages in thread
From: Clemens Ladisch @ 2010-03-22  8:03 UTC (permalink / raw)
  To: cee1; +Cc: alsa-devel

cee1 wrote:
> I know alsa support userspace software multi-playback by dmix plugin.
> How does it realize? I expected a daemon accepting multi-streams which
> then mixes these streams to a single one -- it seems not the case.

The kernel maps the device's DMA buffer into all userspace processes;
the processes then cooperate in adding samples to the buffer.


Regards,
Clemens

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-03-22  8:03 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-20 14:05 Question about dmix? cee1
2010-03-20 14:27 ` Colin Guthrie
2010-03-21  1:58   ` cee1
2010-03-22  8:03 ` Clemens Ladisch

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.