delayed linking failed: uridecodebin, mpegtsmux, hlssink

David Ing ding at panopto.com
Thu Sep 12 20:51:25 UTC 2019


I am using gstreamer 1.16.0 on fedora 30, but I'm having the same problem
on Windows (1.16.0-mingw).

I have written a pipeline for rendering an HLS stream variant.  It works
perfectly using test audio and video sources.

duration=45

gst-launch-1.0 --gst-debug-level=3 \
    videotestsrc do-timestamp=true num-buffers=450 !
video/x-raw,framerate=10/1  ! x264enc ! queue ! mpegtsmux name=mux1 !
hlssink playlist-length=$duration target-duration=9 \
    audiotestsrc do-timestamp=true samplesperbuffer=48000 wave=6 volume=0.2
num-buffers=$duration ! audio/x-raw,rate=48000 ! faac ! queue ! mux1.

But there is a problem when I try using real video from an *.mp4 file, as
shown here:

duration=45

gst-launch-1.0 --gst-debug-level=3 uridecodebin name=decode
uri="file:///home/ding/mess/hls/snaps_45sec.mp4" \
    decode. ! video/x-raw ! queue ! x264enc ! queue ! mpegtsmux name=mux1 !
hlssink playlist-length=$duration target-duration=9 \
    decode. ! audio/x-raw ! queue ! faac ! queue ! mux1.

I get the following output:


Setting pipeline to PAUSED ...
0:00:00.020551189 18153      0x23ca270 WARN                 basesrc
gstbasesrc.c:3600:gst_base_src_start_complete:<source> pad not activated yet
0:00:00.020774200 18153      0x23ca270 WARN                 basesrc
gstbasesrc.c:3600:gst_base_src_start_complete:<source> pad not activated yet
Pipeline is PREROLLING ...
0:00:00.025374086 18153 0x7ff850083800 WARN                 qtdemux
qtdemux_types.c:239:qtdemux_type_get: unknown QuickTime node type sgpd
0:00:00.025392899 18153 0x7ff850083800 WARN                 qtdemux
qtdemux_types.c:239:qtdemux_type_get: unknown QuickTime node type sbgp
0:00:00.025421632 18153 0x7ff850083800 WARN                 qtdemux
qtdemux.c:3239:qtdemux_parse_trex:<qtdemux0> failed to find fragment
defaults for stream 1
0:00:00.025464664 18153 0x7ff850083800 WARN                 qtdemux
qtdemux.c:3239:qtdemux_parse_trex:<qtdemux0> failed to find fragment
defaults for stream 2
Redistribute latency...
0:00:00.090624933 18153 0x7ff84c00fca0 WARN                 default
grammar.y:506:gst_parse_no_more_pads:<decode> warning: Delayed linking
failed.
0:00:00.090747337 18153 0x7ff84c00fca0 WARN                 default
grammar.y:506:gst_parse_no_more_pads:<decode> warning: failed delayed
linking some pad of GstURIDecodeBin named decode to some pad of GstQueue
named queue2
WARNING: from element /GstPipeline:pipeline0/GstURIDecodeBin:decode:
Delayed linking failed.
Additional debug info:
../gstreamer/gst/parse/grammar.y(506): gst_parse_no_more_pads ():
/GstPipeline:pipeline0/GstURIDecodeBin:decode:
failed delayed linking some pad of GstURIDecodeBin named decode to some pad
of GstQueue named queue2
Redistribute latency...
Redistribute latency...


My second launch command is very similar to the first, but `uridecodebin`
takes the place of test sources.

I don't think there is anything wrong with the file.  It plays normally
when I do this:  `gst-launch-1.0 playbin
uri=file:///home/ding/mess/hls/snaps_45sec.mp4`.  The file I am using was
uploaded here for your reference:
https://drive.google.com/file/d/1FC7nKpx8zk2vBBoPF8aDA72Kl5kjUce5/view?usp=sharing
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20190912/18962eb2/attachment.html>


More information about the gstreamer-devel mailing list