Hey List,  :-)

I posted to the -dev list, where I learned about the dmix plugin... and
am now trying to get it working and thought it more appropriate to post
here rather than there.

I'm having a hell of a time getting the dmix plugin to work properly. 
What I *want* is to be able to listen to MP3s playing in the background
and still hear a chime from gaim, an error from gkrellm, or a ding from
<insert shareware-quality gtk game here>, without interrupting the MP3
playing.

I posted to the dev list because last I heard such a thing wasn't
possible without looking in to a (high latency) sound server... dmix has
been introduced since then, though.  Ideally you should be able to tell
your alsa-aware app to use dmix and bam, there ya go.

However, if I go in to the alsa output plugin in xmms and set it to use
'dmix' user defined whatchamacallit, it promptly crashes upon pressing
the play button.  mpg321 refuses to recognize the existence of 'dmix' so
I'm forced to make dmix enabled in 'default' with it.  However, it still
can't play anything.  XMMS still crashes, even if it's set to 'default'
as long as that dmix plugin is enabled.

To help narrow the problem down, I'm testing everything with aplay now. 
I'm dealing with 'puddle.wav' from KDE's games and an MP3 I decoded into
a .au file.

To begin with, I was only playing with the dmix plugin.  For
simplicity's sake, I'm setting it to !default:

pcm_slave.plugged {
        pcm "hw:0,0"
}
pcm.!default {
        type dmix
        ipc_key 123
        slave plugged
}

I can play puddle.wav without any problems:

$ aplay puddle.wav
Playing WAVE 'puddle.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Warning: rate is not accurate (requested = 44100Hz, got = 48000Hz)
         please, try the plug plugin (-Dplug:default)

I'm not sure if that Warning line is going to help down the road or
not...

I can't, however, play the test.au file:

$ aplay test.au
Playing Sparc Audio 'test.au' : Signed 16 bit Big Endian, Rate 44100 Hz, Stereo
aplay: set_params:809: Sample format non available

tossing a -v into the mix gives the standard output for puddle.wav, but
gives nothing for test.au.  If I put a & at the end of that puddle.wav
line, and play it over and over, on top of itself, it does, indeed, play
many streams at once.

If I set !default to type hw card 0, it still plays puddle.wav just
fine, and still doesn't play test.au - the same 'Sample format non
available' error.

So this tells me the plug plugin is being used extensively to let the
chip play the sound by changing the rate.

So, we need to just use the plug and dmix plugins together, right?  That
should be simple enough...

I changed my .asoundrc file to:

pcm_slave.plugged {
        pcm "dmix"
}
pcm.!default {
        type plug
        slave plugged
}

However, xmms crashes when it tries to play (still), mpg321 can't open
libao driver with device alsa09, thinking it may be in use, and aplay
just sits there, never playing the file, like the device is already in
use.  It does this with both test.au and puddle.wav.

Essentially I have no sound output at all with this setup.

So, why not try switching around plug and dmix, so dmix is loaded last?

pcm_slave.plugged {
        pcm "plug"
}
pcm.!default {
        type dmix
        ipc_key 124
        slave plugged
}

Something isn't right with that setup as it won't play anything at all. 

$ aplay puddle.wav
ALSA lib pcm.c:6363:(snd_pcm_slave_conf) missing field pcm
ALSA lib pcm_dmix.c:954:(snd_pcm_dmix_open) unable to open slave

Which, to me, says you can't use plug as a pcm, like you apparently can
do with dmix.

Since I don't know how to string multiple plugins together without using
the built-in ones, I can't go that route, piling dmix on top of plug
instead of plug on top of dmix.

Am I SOL with my hardware (it is a laptop with an i8x0 compatible chip)
or is there some way I can modify my .asoundrc to pile dmix on top of
plug... or an option to get plug working on top of dmix... or what?

Let me know what other information to provide!  I'm really no good with
audio stuff, all I want is something that works.  :-)

Rob



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Alsa-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-user

Reply via email to