Pipeline not working with gstreamer 1.14.4 or 1.15.1 but is ok with 1.8.3
Jack
jack at rybn.org
Thu Jan 24 11:20:57 UTC 2019
Hello,
I have a simpler pipeline, but still have the issue (with v1.15.1, not
with v1.8.3 so it is a bug ?) :
GST_DEBUG=3 gst-launch-1.0 filesrc location=output.wav !
wavparse ! deinterleave name=d
d.src_0 ! volume name="vol0" volume=0.5 ! audiopanorama name="pan0"
panorama=0 ! audio/x-raw,channels=2 ! audioconvert ! queue ! i.
d.src_1 ! volume name="vol1" volume=0.5 ! audiopanorama name="pan1"
panorama=0 ! audio/x-raw,channels=2 ! audioconvert ! queue ! i.
interleave name=i ! opusenc frame-size=20 max-payload-size=4000 !
rtpopuspay pt=96 ! fakesink
I get :
Setting pipeline to PAUSED ...
0:00:00.014909281 25566 0x5569f3678550 WARN basesrc
gstbasesrc.c:3592:gst_base_src_start_complete:<filesrc0> pad not
activated yet
Pipeline is PREROLLING ...
0:00:00.015098902 25566 0x5569f3668de0 FIXME default
gstutils.c:3981:gst_pad_create_stream_id_internal:<wavparse0:src>
Creating random stream-id, consider implementing a deterministic way of
creating a stream-id
0:00:00.020775475 25566 0x5569f3668c50 WARN interleave
interleave.c:316:gst_interleave_set_channel_positions:<i> Invalid
channel positions, using NONE
0:00:00.020796839 25566 0x5569f3668c50 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
0:00:00.020936961 25566 0x5569f3668c50 FIXME interleave
interleave.c:920:gst_interleave_sink_event:<i> FIXME: merge tags and
send after stream-start
0:00:00.021016249 25566 0x5569f3668c00 FIXME interleave
interleave.c:920:gst_interleave_sink_event:<i> FIXME: merge tags and
send after stream-start
0:00:00.021754444 25566 0x5569f3668c50 WARN GST_PADS
gstpad.c:4230:gst_pad_peer_query:<opusenc0:src> could not send sticky events
Redistribute latency...
0:00:00.023276294 25566 0x5569f3668de0 WARN wavparse
gstwavparse.c:2297:gst_wavparse_loop:<wavparse0> error: Internal data
stream error.
0:00:00.023285254 25566 0x5569f3668de0 WARN wavparse
gstwavparse.c:2297:gst_wavparse_loop:<wavparse0> error: streaming
stopped, reason not-negotiated (-4)
0:00:00.023313614 25566 0x5569f3668de0 WARN queue
gstqueue.c:988:gst_queue_handle_sink_event:<queue1> error: Internal data
stream error.
0:00:00.023321091 25566 0x5569f3668de0 WARN queue
gstqueue.c:988:gst_queue_handle_sink_event:<queue1> error: streaming
stopped, reason not-negotiated (-4)
ERROR: from element /GstPipeline:pipeline0/GstWavParse:wavparse0:
Internal data stream error.
Additional debug info:
gstwavparse.c(2297): gst_wavparse_loop ():
/GstPipeline:pipeline0/GstWavParse:wavparse0:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
The soundfile "output.wav" is :
Input #0, wav, from 'localisation/bruxelles/sounds/output.wav':
Metadata:
date : 2018-06-20
encoder : Lavf56.40.101
encoded_by : REAPER
Duration: 00:18:40.00, bitrate: 3072 kb/s
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz,
4.0, s16, 3072 kb/s
Any help to solve this issue would be very appreciated !
++
Jack
Le 23/01/2019 à 00:53, Jack a écrit :
> 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
>>
>
> _______________________________________________
> 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