Multiple pipelines in one gst-launch

E-J van der Linden EJvanderLinden at hetnet.nl
Mon May 30 09:01:44 PDT 2011


I try to have two pipelines in one gst-launch command.

gst-launch -v alsasrc ! "audio/x-raw-int,channels=2,rate=44100,depth=32,height=32" ! audioconvert ! rtpL16pay ! udpsink host=localhost port=8000 \
udpsrc port=8000 ! "application/x-rtp,media=audio,clock-rate=44100,channels=2,payload=96" ! rtpL16depay ! alsasink sync=false

The output is

Setting pipeline to PAUSED ...
/GstPipeline:pipeline0/GstAlsaSrc:alsasrc0: actual-buffer-time = 200000
/GstPipeline:pipeline0/GstAlsaSrc:alsasrc0: actual-latency-time = 10000
/GstPipeline:pipeline0/GstAlsaSrc:alsasrc0.GstPad:src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2, height=(int)32
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstAudioSrcClock
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2, height=(int)32
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2, height=(int)32
/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:src: caps = audio/x-raw-int, endianness=(int)4321, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2
/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2, height=(int)32
/GstPipeline:pipeline0/GstRtpL16Pay:rtpl16pay0.GstPad:src: caps = application/x-rtp, media=(string)audio, clock-rate=(int)44100, encoding-name=(string)L16, encoding-params=(string)2, channels=(int)2, payload=(int)96, ssrc=(uint)407862357, clock-base=(uint)3043520952, seqnum-base=(uint)48790
/GstPipeline:pipeline0/GstRtpL16Pay:rtpl16pay0.GstPad:sink: caps = audio/x-raw-int, endianness=(int)4321, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2
/GstPipeline:pipeline0/GstRtpL16Pay:rtpl16pay0: timestamp = 3043520952
/GstPipeline:pipeline0/GstRtpL16Pay:rtpl16pay0: seqnum = 48790
/GstPipeline:pipeline0/GstUDPSink:udpsink0.GstPad:sink: caps = application/x-rtp, media=(string)audio, clock-rate=(int)44100, encoding-name=(string)L16, encoding-params=(string)2, channels=(int)2, payload=(int)96, ssrc=(uint)407862357, clock-base=(uint)3043520952, seqnum-base=(uint)48790

I see that the second pipe doesn't run, there isn't sound !!
When I run two gst-launch commands, there is sound.

The thing is that I want to program the two pipelines in one program and if I can't get this to work with gst-launch I think I can't program it...

Ernst-Jan


More information about the gstreamer-devel mailing list