[Ekiga-devel-list] OSS and Ekiga: Correct using /dev/dsp device



Hi!

I'm using FreeBSD 6.2-RELEASE, and see something strange with ekiga.

Be default sound system FreeBSD using OSS (Linux for example ALSA)
The default device is /dev/dsp

If hacking /etc/sysctl.conf to:
hw.snd.pcm0.vchans=4
hw.snd.maxautovchans=4

you can make an 4 virtual chanel.

I can listen amarok, xmms, realplayer..... and it play at once without any errors.

but when I run ekiga, it say device busy, because using NOT /dev/dsp BUT /dev/dsp0.0

Its right: /dev/dsp0.0 - is busy, but when it'll be using /dev/dsp - nothing problem.

Make a test:

cat file > /dev/dsp // some sound
then run amarok
cat file > /dev/dsp // some sound
cat file > /dev/dsp0.0 // Device busy, because it is busy by amarok

[siegerstein siegerstein ~]$ fstat | grep dsp
siegerst amarokapp  40507   15 /dev         41 crw-rw-rw-  dsp0.0  w
siegerst amarokapp  40507   15 /dev         41 crw-rw-rw-  dsp0.0  w
siegerst amarokapp  40507   15 /dev         41 crw-rw-rw-  dsp0.0  w
siegerst amarokapp  40507   15 /dev         41 crw-rw-rw-  dsp0.0  w
siegerst amarokapp  40507   15 /dev         41 crw-rw-rw-  dsp0.0  w
[siegerstein siegerstein ~]$

and don't shut down amarok, and run xmms:

[siegerstein siegerstein ~]$ fstat | grep dsp
siegerst xmms       45881    9 /dev         44 crw-rw-rw-  dsp0.1  w
siegerst xmms       45881    9 /dev         44 crw-rw-rw-  dsp0.1  w
siegerst xmms       45881    9 /dev         44 crw-rw-rw-  dsp0.1  w
siegerst xmms       45881    9 /dev         44 crw-rw-rw-  dsp0.1  w
siegerst xmms       45881    9 /dev         44 crw-rw-rw-  dsp0.1  w
siegerst amarokapp  40507   15 /dev         41 crw-rw-rw-  dsp0.0  w
siegerst amarokapp  40507   15 /dev         41 crw-rw-rw-  dsp0.0  w
siegerst amarokapp  40507   15 /dev         41 crw-rw-rw-  dsp0.0  w
siegerst amarokapp  40507   15 /dev         41 crw-rw-rw-  dsp0.0  w
siegerst amarokapp  40507   15 /dev         41 crw-rw-rw-  dsp0.0  w
[siegerstein siegerstein ~]$

cat file > /dev/dsp0.0 // Device busy, because it is busy by amarok
cat file > /dev/dsp0.1 // Device busy, because it is busy by xmms
cat file > /dev/dsp // some sound, free device.... always free ))
cat file > /dev/dsp0.2 // some sound, also free device, because nothing using it yet... cat file > /dev/dsp0.3 // some sound, also free device, because nothing using it yet... cat file > /dev/dsp0.4 // some sound, also free device, because nothing using it yet...
.....
cat file > /dev/dsp0.10 // some sound, also free device, because nothing using it yet...

DEVICE /dev/dsp IS free always, because it distribute which device is busy and which is free.

RESULT : using only /dev/dsp device, and it will solve how play sound...
Don't play it through /dev/dsp0.0 /dev/dsp0.1... etc...

Thanks,

- Alex Ivasyuv aka SIEGERSTEIN




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]