v4l2codecs: Delayed linking failed
Hi,
I'm trying master branch since there are some improvements in v4l2codecs.
Here are the system details,
Allwinner H3 SoC
Linux-5.13 Stable
Gstreamer (master branch)
# gst-inspect-1.0 --version
gst-inspect-1.0 version 1.19.1
GStreamer 1.19.1 (GIT)
Unknown package origin
I'm trying to decode h264 stream video from with gst-inspect-1.0 plugin. Attached the plugin inspects and below one the gst-launch log.
root@bpi-m2-plus:~# GST_DEBUG=v4l2*:7 gst-launch-1.0 filesrc location=Big_Buck_Bunny_720_10s_1MB.mp4 ! qtdemux ! h264parse ! v4l2slh264dec ! autovideosink
0:00:00.127261534 311 0x557440 DEBUG v4l2codecs gstv4l2codecdevice.c:331:gst_v4l2_codec_find_devices: Analysing media device '/dev/media0'
0:00:00.127394571 311 0x557440 DEBUG v4l2codecs gstv4l2codecdevice.c:347:gst_v4l2_codec_find_devices: Found CODEC entities
0:00:00.127462984 311 0x557440 DEBUG v4l2codecs gstv4l2codecdevice.c:357:gst_v4l2_codec_find_devices: Analysing entity cedrus-proc
0:00:00.127501774 311 0x557440 DEBUG v4l2codecs gstv4l2codecdevice.c:362:gst_v4l2_codec_find_devices: Found source and sink pads
0:00:00.127536731 311 0x557440 DEBUG v4l2codecs gstv4l2codecdevice.c:370:gst_v4l2_codec_find_devices: Found source and sink V4L IO entities
0:00:00.127926840 311 0x557440 INFO v4l2codecs gstv4l2codecdevice.c:388:gst_v4l2_codec_find_devices: Found decoder device cedrus-proc
0:00:00.128658268 311 0x557440 DEBUG v4l2codecs-decoder gstv4l2decoder.c:306:gst_v4l2_decoder_enum_sink_fmt:<v4l2decoder0> Found format MG2S (MPEG-2 Parsed Slice Data)
0:00:00.128730682 311 0x557440 FIXME v4l2codecs plugin.c:62:register_video_decoder:<v4l2decoder0> MG2S is not supported.
0:00:00.128797263 311 0x557440 DEBUG v4l2codecs-decoder gstv4l2decoder.c:306:gst_v4l2_decoder_enum_sink_fmt:<v4l2decoder0> Found format S264 (H.264 Parsed Slice Data)
0:00:00.128842052 311 0x557440 INFO v4l2codecs plugin.c:50:register_video_decoder:<v4l2decoder0> Registering cedrus-proc as H264 Decoder
0:00:00.129259827 311 0x557440 DEBUG v4l2codecs-decoder gstv4l2decoder.c:306:gst_v4l2_decoder_enum_sink_fmt:<v4l2decoder0> Found format S265 (HEVC Parsed Slice Data)
0:00:00.129324532 311 0x557440 FIXME v4l2codecs plugin.c:62:register_video_decoder:<v4l2decoder0> S265 is not supported.
0:00:00.129385280 311 0x557440 DEBUG v4l2codecs-decoder gstv4l2decoder.c:306:gst_v4l2_decoder_enum_sink_fmt:<v4l2decoder0> Found format VP8F (VP8 Frame)
0:00:00.129428820 311 0x557440 INFO v4l2codecs plugin.c:56:register_video_decoder:<v4l2decoder0> Registering cedrus-proc as VP8 Decoder
Setting pipeline to PAUSED ...
0:00:00.341702592 311 0x557440 INFO v4l2codecs-h264dec gstv4l2codech264dec.c:221:gst_v4l2_codec_h264_dec_open:<v4l2slh264dec0> Opened H264 slice based decoder without start-codes
Pipeline is PREROLLING ...
WARNING: from element /GstPipeline:pipeline0/GstQTDemux:qtdemux0: Delayed linking failed.
Additional debug info:
gst/parse/grammar.y(540): gst_parse_no_more_pads (): /GstPipeline:pipeline0/GstQTDemux:qtdemux0:
failed delayed linking some pad of GstQTDemux named qtdemux0 to some pad of GstH264Parse named h264parse0
ERROR: from element /GstPipeline:pipeline0/GstQTDemux:qtdemux0: Internal data stream error.
Additional debug info:
../git/gst/isomp4/qtdemux.c(6650): gst_qtdemux_loop (): /GstPipeline:pipeline0/GstQTDemux:qtdemux0:
streaming stopped, reason not-linked (-1)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
Any insights, please let me know.
Thanks, Jagan.
Edited by Jagan Teki