Hallo,
Mark Constable hat gesagt: // Mark Constable wrote:
> On Sun, 19 Oct 2003 05:21 am, Bob Rossi wrote:
> > ...
> > Does anyone know how to get OSS applications to use the aoss wrapper
> > with dmix in order to get software mixing to work?
> >
> > Any help would be really appreciated. Does using dmix allow multiple
> > applications to open /dev/dsp?
> >
> > What about /dev/mixer?
> >
> > It would be extremely helpfull to see a full example of how to set this
> > up. I don't think there is such an example on the web.
>
> Sorry I can't help with your question but if anyone can come
> up with a working example could they please please please put
> the info on the Wiki at http://alsa.opensrc.org for the rest
> of us. Thanks heaps.
I don't want to put half tested things up there, but if some people
could try the following:
1) Install aoss, alsaplayer, mpg123(rsp. mpg321)
2) Test basic dmix on alsa with:
alsaplayer -o alsa -d plug:dmix some.mp3 &
aplay -D plug:dmix some.wav &
alsaplayer -o alsa -d plug:dmix some.mp3 &
This should work everywhere with ALSA 0.9.7.
3) configure asoundrc for aoss-testing:
# ~/.asoundrc:
pcm.dsp0 {
type plug
slave.pcm "hw:0"
}
# or:
# pcm.dsp0 pcm.default
# if "default" hasn't been redefined
ctl.mixer0 {
type hw
card 0
}
4) Test aoss with mpg123 in oss mode:
aoss mpg123 some.mp3
This should play the file, but not yet "dmix"ed.
Now comes the tricky and rather difficult part: redefinig dsp0 to be
some kind of dmix.
5) The simple approach:
# ~/.asoundrc
pcm.dsp0 {
type plug
slave.pcm "dmix"
}
# mixer0 can stay unchanged, because it isn't used anyway, I guess
# ;)
ctl.mixer0 {
type hw
card 0
}
Test this setup with mpg123 like under 4). This should enable dmixed
OSS playback, but it will not work on cards like the M-Audio
Audiophile or other Delta cards, that need a certain audio data format
for playback on hw:0 (which dmix uses by default).
6) The complex approach (defining dmix parameters)
Because of the format conversion we need to create a custom dmix
device. I call it ossmix.
pcm.ossmix {
type dmix
ipc_key 1024 # must be unique!
slave {
pcm "hw:0,0" # you cannot use a "plug"
device
# here, darn.
period_time 0
period_size 1024 # must be power of 2
buffer_size 8192 # dito.
#format "S32_LE"
#periods 128 # dito.
#rate 8000 # with rate 8000 you *will*
hear,
# if ossmix is used :)
}
# bindings are not actually needed:
# bindings {
# 0 0
# 1 1
# }
}
pcm.dsp0 {
type plug
slave.pcm "ossmix" # use our new PCM here
}
# mixer0 like above
ctl.mixer0 {
type hw
card 0
}
It is important, that this "ossmix" PCM works with your card in ALSA
mode. That is, the following should produce sound:
alsaplayer -o alsa -d ossmix some.mp3
It does not do so here, yet:
$ alsaplayer -d ossmix
error on set_format SND_PCM_FORMAT_S16_LE
Unavailable hw params:
ACCESS: RW_INTERLEAVED
FORMAT: S32_LE
SUBFORMAT: ALL
SAMPLE_BITS: ALL
FRAME_BITS: ALL
CHANNELS: 2
RATE: 48000
PERIOD_TIME: (21333 21334)
PERIOD_SIZE: 1024
PERIOD_BYTES: ALL
PERIODS: (6 7)
BUFFER_TIME: (136520 136521)
BUFFER_SIZE: 6553
BUFFER_BYTES: ALL
TICK_TIME: ALL
What *does* work, however, is this:
alsaplayer -o alsa -d plug:ossmix some.mp3
Theoretically you should be able to somehow get the right settings to
at last enable the OSS-dmix-bridge on Delta cards this way, but I
couldn't find the correct settings yet. It does work if I use hw:1,
which is a SBLive, though. But there I don't need sw-mixing.
To be honest, I don't need sw-mixing anyway, but I'm working on an
article where configuring dmix is one topic, so I'd really like to see
someone test this. ;)
Then we could put it on the ALSA-Wiki and I would write a really quick
Quicktoot for Dave's site.
ciao
--
Frank Barknecht _ ______footils.org__
-------------------------------------------------------
This SF.net email sponsored by: Enterprise Linux Forum Conference & Expo
The Event For Linux Datacenter Solutions & Strategies in The Enterprise
Linux in the Boardroom; in the Front Office; & in the Server Room
http://www.enterpriselinuxforum.com
_______________________________________________
Alsa-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-user