v4l2slh265dec: Stream with a GAP at the beginning causes "assertion 'GST_VIDEO_INFO_WIDTH (&state->info) != 0' failed"
Describe your issue
HEVC with gap: test
Trying to decode a stream with v4l2h265dec
which begins with a GAP causes these errors:
$ gst-launch-1.0 filesrc location=test.mp4 ! qtdemux ! v4l2slh265dec ! fakesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
(gst-launch-1.0:46606): GStreamer-Video-CRITICAL **: 14:38:25.056: gst_video_decoder_negotiate_default: assertion 'GST_VIDEO_INFO_WIDTH (&state->info) != 0' failed
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
Redistribute latency...
New clock: GstSystemClock
(gst-launch-1.0:46606): GStreamer-WARNING **: 14:38:25.057: ../gst/gstpad.c:5337:store_sticky_event:<v4l2slh265dec0:src> Sticky event misordering, got 'segment' before 'caps'
(gst-launch-1.0:46606): GStreamer-WARNING **: 14:38:25.057: ../gst/gstpad.c:5337:store_sticky_event:<fakesink0:sink> Sticky event misordering, got 'segment' before 'caps'
Redistribute latency...
I can't upload the original test file, but I managed to recreate something that give the same error using:
gst-launch-1.0 \
videotestsrc num-buffers=100 timestamp-offset=10000000000 ! video/x-raw,format=I420 ! x265enc ! h265parse \
! mp4mux name=m ! filesink location=test.mp4 \
audiotestsrc num-buffers=200 ! opusenc ! m.
Expected Behavior
Does not emit CRITICALs and WARNINGs.
Observed Behavior
Emits a CRITICAL and warnings. The stream does seem to play and decode correctly though.
Setup
- Operating System: Ubuntu 24.04
- Device: Virtual Machine
- GStreamer Version: 15c24abf I have also seen it on 1.22 as well.
- Command line: See above
Steps to reproduce the bug
See above commands
How reproducible is the bug?
Always
Screenshots if relevant
Solutions you have tried
Additional Information
I also see the warnings with vah265dec
on my development PC (but the CRITICAL is specific to v4l2slh265dec
).
I get no criticals or warnings if I use avdec_h265
.
If I adjust the pipelines to use h264 everywhere I also get no errors (with v4l2slh264dec
or with vah264dec
).