gst-rtsp-server and ALSA/OSS help

Chad LS chado2010 at
Thu May 19 13:19:33 PDT 2011

Don't mean to be a pest, but anyone have any insight?

Hello all,

I've spent a long time figuring out Gstreamer and searching the Internet for

answers. This mailing list has been very helpful, but doesn't have the

answer I'm looking for...

Some background: I'm using gst-rtsp-server to create a way to listen to a

network of computers remotely. They're using Mandriva 2008.0. They cannot be

upgraded to any newer version, and must all be kept identical. I'm not 100%

sure on the hardware of the machines, but they are decent machines. Anyway,

on the test machine I have, which is similar to the network machines, I have

successfully compiled the following packages:






My sound card is a SoundBlaster Live! EMU10k1, which appears to be fully

supported by this version of ALSA and OSS. I have successfully compiled,

run, and connected to the server, which is essentially a modified version of

the test-ogg.c server using my own pipeline with Vorbis. Gstreamer grabs the

audio in from the sound card and then makes it so that it can be heard via

the network (or Internet). Here is the pipeline:

alsasrc ! audio/x-raw-int, endianness=1234, signed=true, width=16,

rate=44100, channels=2 ! audioconvert ! vorbisenc quality=0.6 ! queue !

rtpvorbispay name=pay0 pt=127

The problem lies in the fact that I can only have one person connect at a

time before the server throws the following error:

** (mand-test:4510): WARNING **: failed to link stream 0

** (mand-test:4510): WARNING **: 0x8124090: got error Could not open audio

device for recording. Device is being used by another application.

(gstalsasrc.c(630): gst_alsasrc_open ():


Device 'default' is busy)

** (mand-test:4510): WARNING **: failed to preroll pipeline

I get the same error if I switch to (T)OSS (as Mandriva will let me change

back). I noticed that there is no "failed to link stream 0" this way,


** (mand-test:5343): WARNING **: 0x81224a0: got error Could not open audio

devie for recording. (gstosssrc.c(383): gst_oss_src_open ():


Unable to open device /dev/dsp for recording: Device or resource busy)

** (mand-test:5343): WARNING **: failed to preroll pipeline

I have set in the program gst_rtsp_media_factory_set_shared (factory, TRUE);

It hasn't bought me much. The odd part of this is that I can have 2 or 3

clients connect from *within* my network without a problem. If I have people

connect from *outside* my network, it only allows one person to connect at a

time. I don't believe it is a firewall issue, as I have tried two different

routers and I have opened up the necessary ports. Another odd note is that

if I have all the local clients disconnect and then have an "outside" client

connect, I get this error:

** (mand-test:4510): WARNING **: failed to link stream 0

** (mand-test:4510): WARNING **: 0x8124090: got error Could not get/set

settings from/on resource. (gstmultiudpsink.c(652):

gst_multiudpsink_init_send ():


Could not set broadcast socket option (9): Bad file descriptor)

** (mand-test:4510): WARNING **: failed to preroll pipeline

I have had the same code run perfectly on a Kubuntu 10.10 machine with

PulseAudio and with the latest version of Gstreamer.

Currently, ARTS is enabled, but it makes no difference if it is disabled or

enabled (I know that it can be a source of problems). ALSA is version

1.0.14. It also makes no difference if I assign a device after alsasrc, as

it still returns the same error.

I can provide any other information anyone may need. I hope that someone can

help, despite the fact that this is dated. I've tried just about anything

and nothing changes the outcome.

I appreciate the help and feedback on this!


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the gstreamer-devel mailing list