Pipeline not working with gstreamer 1.14.4 or 1.15.1 but is ok with 1.8.3

Jack jack at rybn.org
Tue Jan 22 23:53:27 UTC 2019


Need help...

I just try this pipeline, but it still fails with Gstreamer 1.15.1 (it
works perfectly with Gstreamer 1.8.3 !) :

### PIPELINE ################################################
multifilesrc name="source0" loop=true location=output.wav !
wavparse ignore-length=1 !
deinterleave name=d

d.src_0 ! volume name="vol0" volume=0.5 ! audiopanorama name="pan0"
panorama=0 ! audio/x-raw,channels=2 ! deinterleave name=d0
d.src_1 ! volume name="vol1" volume=0.5 ! audiopanorama name="pan1"
panorama=0 ! audio/x-raw,channels=2 ! deinterleave name=d1

audiomixer name=mix0 ! i.sink_0
audiomixer name=mix1 ! i.sink_1

d0.src_0 ! mix0.
d0.src_1 ! mix1.
d1.src_0 ! mix0.
d1.src_1 ! mix1.

interleave name=i !
opusenc frame-size=20 max-payload-size=4000 !
rtpopuspay pt=96 !
fakesink
### END PIPELINE ################################################


With GST_DEBUG=3 I get :

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
0:00:00.198717531 30503 0x55a787f7e940 WARN              interleave
interleave.c:316:gst_interleave_set_channel_positions:<i> Invalid
channel positions, using NONE
0:00:00.198774934 30503 0x55a787f7e940 FIXME               basesink
gstbasesink.c:3248:gst_base_sink_default_event:<fakesink0> stream-start
event without group-id. Consider implementing group-id handling in the
upstream elements
Redistribute latency...
0:00:00.199571368 30503 0x55a787f7e940 WARN                GST_PADS
gstpad.c:4230:gst_pad_peer_query:<opusenc0:src> could not send sticky events
0:00:00.362518006 30503 0x55a787f7ea30 WARN                 basesrc
gstbasesrc.c:3064:gst_base_src_loop:<source0> error: Internal data
stream error.
0:00:00.362538938 30503 0x55a787f7ea30 WARN                 basesrc
gstbasesrc.c:3064:gst_base_src_loop:<source0> error: streaming stopped,
reason not-negotiated (-4)
ERROR: from element /GstPipeline:pipeline0/GstMultiFileSrc:source0:
Internal data stream error.
Additional debug info:
gstbasesrc.c(3064): gst_base_src_loop ():
/GstPipeline:pipeline0/GstMultiFileSrc:source0:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...


If i replace "rtpopuspay pt=96 ! fakesink" with "oggmux ! filesink
location=test.ogg", the pipeline is OK.

It also works if I remove :
"audiomixer name=mix1 ! i.sink_1"
"d0.src_1 ! mix1."
"d1.src_1 ! mix1."

I don't know what to try now, if someone has an idee ?
++

Jack




Le 22/01/2019 à 11:16, Jack a écrit :
> Hi Antoine !
> 
> Weird, I just try two "smaller" pipelines with a small difference
> between them :
> 
> ### PIPELINE 1 ################################################
> interleave name=i !
> opusenc frame-size=20 max-payload-size=4000 !
> rtpopuspay pt=96 !
> application/x-rtp,media=audio,encoding-name=OPUS,payload=96,clock-rate=48000
> !
> udpsink host=127.0.0.1 port=9999
> 
> multifilesrc name="source0" loop=true
> location="localisation/bruxelles/sounds/output.wav" !
> wavparse ignore-length=1 !
> decodebin !
> deinterleave name=d
> 
> d.src_0 ! audioconvert ! volume name="vol0" volume=0.5 ! audioconvert !
> audiopanorama name="pan0" panorama=0 ! audioconvert !
> audio/x-raw,channels=2 ! deinterleave name=d0
> d.src_1 ! audioconvert ! volume name="vol1" volume=0.5 ! audioconvert !
> audiopanorama name="pan1" panorama=0 ! audioconvert !
> audio/x-raw,channels=2 ! deinterleave name=d1
> 
> d0.src_0 ! audiomixer name=mix0 ! i.sink_0
> d0.src_1 ! audiomixer name=mix1 ! i.sink_1
> ### END PIPELINE 1 ################################################
> 
> ### PIPELINE 2 ################################################
> interleave name=i !
> opusenc frame-size=20 max-payload-size=4000 !
> rtpopuspay pt=96 !
> application/x-rtp,media=audio,encoding-name=OPUS,payload=96,clock-rate=48000
> !
> udpsink host=127.0.0.1 port=9999
> 
> multifilesrc name="source0" loop=true
> location="localisation/bruxelles/sounds/output.wav" !
> wavparse ignore-length=1 !
> decodebin !
> deinterleave name=d
> 
> d.src_0 ! audioconvert ! volume name="vol0" volume=0.5 ! audioconvert !
> audiopanorama name="pan0" panorama=0 ! audioconvert !
> audio/x-raw,channels=2 ! deinterleave name=d0
> d.src_1 ! audioconvert ! volume name="vol1" volume=0.5 ! audioconvert !
> audiopanorama name="pan1" panorama=0 ! audioconvert !
> audio/x-raw,channels=2 ! deinterleave name=d1
> 
> d0.src_0 ! audiomixer name=mix0 ! i.sink_0
> ### END PIPELINE 2 ################################################
> 
> The Pipeline 1 doesn't work and the pipeline 2 is OK.
> The only difference between then is the last line in the pipeline 1
> (which get the second channel of d0 and ) :
> d0.src_1 ! audiomixer name=mix1 ! i.sink_1
> 
> Maybe that can help to solve this issue ?
> 
> OTOH, I tried with "GST_DEBUG=audio*:7" and didn't get red lines, can I
> say that all is OK with audio ?
> ++
> 
> Jack
> 
> 
> 
> Le 21/01/2019 à 21:52, Antoine Villeret a écrit :
>> Hi Jack !
>>
>> could you try to reduce the pipeline to something shorter that
>> reproduces the issue ?
>> could you also set the GST_DEBUG environment variable to 6 or 7 to get
>> more info about what is wrong ?
>>
>> you could set it before starting you pipeline with something like : 
>>
>> GST_DEBUG="7" gst-launch-1.0 ....
>>
>> level 7 is very verbose and you should filter message with something
>> like : GST_DEBUG=audio*:7 (or something else depending on where the
>> issue is, hence my first advice :-)).
>>
>> cheers
>>
>> antoine
>>
>> Le lun. 21 janv. 2019 à 19:27, Jack <jack at rybn.org
>> <mailto:jack at rybn.org>> a écrit :
>>
>>     Hello !
>>
>>     This is my first message on this list.
>>     I woud like to congratuate the developer team for this nice stream
>>     framework !
>>
>>     Well, I have a problem with this pipeline with recent version of
>>     gstreamer, here the pipeline :
>>
>>     ### PIPELINE ################################################
>>     interleave name=i !
>>     opusenc frame-size=20 max-payload-size=4000 !
>>     rtpopuspay pt=96 !
>>     application/x-rtp,media=audio,encoding-name=OPUS,payload=96,clock-rate=48000
>>     !
>>     udpsink host=127.0.0.1 port=9999
>>
>>     multifilesrc name="source0" loop=true
>>     location="localisation/bruxelles/sounds/output.wav" !
>>     wavparse ignore-length=1 !
>>     decodebin ! deinterleave name=d
>>
>>     d.src_0 ! audioconvert ! volume name="vol0" volume=0.5 ! audioconvert !
>>     audiopanorama name="pan0" panorama=0 ! audioconvert !
>>     audio/x-raw,channels=2 ! deinterleave name=d0
>>     d.src_1 ! audioconvert ! volume name="vol1" volume=0.5 ! audioconvert !
>>     audiopanorama name="pan1" panorama=0 ! audioconvert !
>>     audio/x-raw,channels=2 ! deinterleave name=d1
>>     d.src_2 ! audioconvert ! volume name="vol2" volume=0.5 ! audioconvert !
>>     audiopanorama name="pan2" panorama=0 ! audioconvert !
>>     audio/x-raw,channels=2 ! deinterleave name=d2
>>     d.src_3 ! audioconvert ! volume name="vol3" volume=0.5 ! audioconvert !
>>     audiopanorama name="pan3" panorama=0 ! audioconvert !
>>     audio/x-raw,channels=2 ! deinterleave name=d3
>>
>>     d0.src_0 ! audiomixer name=mix0 ! i.sink_0
>>     d0.src_1 ! audiomixer name=mix1 ! i.sink_1
>>     d1.src_0 ! mix0.
>>     d1.src_1 ! mix1.
>>     d2.src_0 ! mix0.
>>     d2.src_1 ! mix1.
>>     d3.src_0 ! mix0.
>>     d3.src_1 ! mix1.
>>     ### END PIPELINE ################################################
>>
>>     with gstreamer 1.14.4 and 1.15.1, I get an error :
>>     Setting pipeline to PAUSED ...
>>     Pipeline is PREROLLING ...
>>     Redistribute latency...
>>     ERROR: from element /GstPipeline:pipeline0/GstMultiFileSrc:source0:
>>     Internal data stream error.
>>     Additional debug info:
>>     gstbasesrc.c(3055): gst_base_src_loop ():
>>     /GstPipeline:pipeline0/GstMultiFileSrc:source0:
>>     streaming stopped, reason not-negotiated (-4)
>>     ERROR: pipeline doesn't want to preroll.
>>     Setting pipeline to NULL ...
>>     Freeing pipeline ...
>>
>>     But, with gstreamer 1.8.3, everything is ok :
>>     Setting pipeline to PAUSED ...
>>     Pipeline is PREROLLING ...
>>     Redistribute latency...
>>     Pipeline is PREROLLED ...
>>     Setting pipeline to PLAYING ...
>>     New clock: GstSystemClock
>>
>>     any ideas how to solve this issue ?
>>     Thanx.
>>     ++
>>
>>     Jack
>>
>>     _______________________________________________
>>     gstreamer-devel mailing list
>>     gstreamer-devel at lists.freedesktop.org
>>     <mailto:gstreamer-devel at lists.freedesktop.org>
>>     https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
> 
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> 



More information about the gstreamer-devel mailing list