On Tue, 24 Feb 2004, Kirk Bauer wrote:
> On Tue, 24 Feb 2004, Jaroslav Kysela wrote:
>
> > Here is the most optimized way to create three devices without mixing of
> > all 10 channels which your hardware (ICE1712) has:
>
> > pcm.dmixer12 {
> > type dmix
> > ipc_key 1024
> > slave {
> > pcm "hw:0,0"
> > period_time 0
> > period_size 1024
> > buffer_size 6553
> > rate 44100 # set to your source rate
> > }
> > bindings.0 0
> > bindings.1 1
> > }
> >
> > pcm.channel12 {
> > type plug
> > slave.pcm "dmixer12"
> > }
> >
> > Explanation: The specified bindings also REDUCES the used channels (only
> > destination channels are mixed). It's great speedup for your hardware.
> >
> > Also, note that if you don't want mix sources, you may replace 'plug dmix'
> > with 'plug dshare'. It is also very good optimization.
>
> Wow! This changed everything... here I have three MP3s playing to the
> same output channel (for testing purposes). Not only does it sound
> great and not skip like it was doing before, the CPU usage is next to
> nothing:
>
> 30540 root 5 -20 2980 2980 2784 S < 3.5 0.7 0:04 mpg123
> 30566 root 4 -20 2480 2480 2284 S < 3.3 0.6 0:03 mpg123
> 30580 root 5 -20 2108 2108 1912 S < 3.1 0.5 0:02 mpg123
> 30567 root 12 0 1560 1300 1172 R 2.1 0.3 0:01 aplay
> 30541 root 11 0 1580 1320 1240 R 1.9 0.3 0:02 aplay
> 30581 root 13 0 1560 1300 1172 R 1.7 0.3 0:01 aplay
>
> I tried everything I could do to get it to skip yet all three played to
> completion without problems!
>
> I'd like to understand a little about what you changed to make this work
> so much better. Now each stereo output has its own mixer instead of
> previously all outputs sharing a mixer?
Yes, exactly. The plug plugin figured that you have hardware with 10
channels so it sent all 10 channels to dmix plugin (which is not exactly
you wanted). The "auto" way may not be the "desired" way.
> What does sharing a mixer do for you?
Sorry? I don't understand this question.
> And it seems that 'dshare' just allows the two channels to be used as a
> pair and that is all? I can't play more than one stream to the same
It's not limited to pair. You can divide your card to one stereo, and two
surround streams with four channels for example.
> output device using dshare, which I guess is why I use dmix! :)
Yes, the dshare plugin creates exclusive devices routed to different
channels (you can separate the device with many channels to devices with
less number of channels).
The difference between dmix and dshare plugin is that dmix does
sample mixing and dshare does sample copying which is far more
faster.
Jaroslav
-----
Jaroslav Kysela <[EMAIL PROTECTED]>
Linux Kernel Sound Maintainer
ALSA Project, SuSE Labs
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
Alsa-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-user