delayed linking failed: uridecodebin, mpegtsmux, hlssink

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

delayed linking failed: uridecodebin, mpegtsmux, hlssink

David Ing
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

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel