Skip to content

rpi-hevc-dec hang #7480

Description

@chep

Describe the bug

I'm trying to play an mkv file with gstreamer and v4l2slh265dec. It always hang when decoding frame 579.

I kept the video file so I can send it for debug.

Steps to reproduce the behaviour

  • Ask me for the video file
  • Start gstreamer gst-launch-1.0 filesrc location=output.mkv ! matroskademux ! h265parse ! queue ! v4l2slh265dec ! queue ! fakevideosink

Device (s)

Raspberry Pi CM5

System

I use nixos.

[pulsar@pulsar-RC:~]$ uname -a
Linux pulsar-RC 6.12.87 #1-NixOS SMP Tue Jan 1 00:00:00 UTC 1980 aarch64 GNU/Linux

[pulsar@pulsar-RC:~]$ vcgencmd version
2025/06/13 10:39:26
Copyright (c) 2012 Broadcom
version 5855b10b (release) (embedded)

Logs

gst-launch-1.0 filesrc location=output.mkv ! matroskademux ! h265parse ! queue ! v4l2slh265dec ! queue ! autovideosink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got context from element 'autovideosink0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayWayland\)\ gldisplaywayland0";
Redistribute latency...
Redistribute latency...
Redistribute latency...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
Redistribute latency...
New clock: GstSystemClock
ERROR: from element /GstPipeline:pipeline0/v4l2slh265dec:v4l2slh265dec0: Decoding frame 579 took too long
Additional debug info:
../sys/v4l2codecs/gstv4l2codech265dec.c(1293): gst_v4l2_codec_h265_dec_output_picture (): /GstPipeline:pipeline0/v4l2slh265dec:v4l2slh265dec0
Execution ended after 0:00:11.608416910
Setting pipeline to NULL ...
ERROR: from element /GstPipeline:pipeline0/GstMatroskaDemux:matroskademux0: Internal data stream error.
Additional debug info:
../gst/matroska/matroska-demux.c(6360): gst_matroska_demux_loop (): /GstPipeline:pipeline0/GstMatroskaDemux:matroskademux0:
streaming stopped, reason error (-5)
Details:
details, flow-return=(int)-5;
ERROR: from element /GstPipeline:pipeline0/GstQueue:queue0: Internal data stream error.
Additional debug info:
../plugins/elements/gstqueue.c(1081): gst_queue_handle_sink_event (): /GstPipeline:pipeline0/GstQueue:queue0:
streaming stopped, reason error (-5)
Details:
details, flow-return=(int)-5;

Process is stuck:

pulsar      1449  0.3  0.9 917936 79488 pts/0    Dl+  13:04   0:00 /run/current-system/sw/bin/gst-launch-1.0 filesrc location=output.mkv ! matroskademux ! h265parse ! queue ! v4l2slh265dec ! queue ! autovideosink

Here is dmesg output:

[  729.112502] rpi-hevc-dec 1000800000.codec: Col ref index 255 >= 0

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions