gstreamer cannot load gtk-demo.webm on arm64
Hello!
I am on Mobian (Debian) trixie with Gstreamer 1.22 (I also tried with 1.24 from sid). I was trying to add GtkVideos to a program and for some reason, there is an issue with gtk-demo.webm
provided by gtk4-widget-factory
on Mobian Trixie. I tried this on a Librem 5 and a Pineephone Pro with the same result. I am able to get mp4
s and other webm
to work. I am attaching a small test app that can reproduce the issue for me:
I commented out:
// gtk_media_file_set_resource (GTK_MEDIA_FILE (video_two), "/test_app/test/test46464/video.webm");
// gtk_video_set_media_stream (self->video_one, GTK_MEDIA_STREAM (video_one));
// gtk_video_set_media_stream (self->video_two, GTK_MEDIA_STREAM (video_two));
to have the smallest code to show the error, but you can uncomment those lines to see what happens when it loads up. I also attached the errored I get when I run GST_DEBUG=2
:
mobian@mobian:~/dev/test_app$ GST_DEBUG=2 ./_build/src/test_app 2>&1 | tee output.txt
0:00:00.088904953 3673 0xaaab00d50270 WARN basesrc gstbasesrc.c:3693:gst_base_src_start_complete:<source> pad not activated yet
0:00:00.102452146 3673 0xaaab00d50270 WARN basesrc gstbasesrc.c:3693:gst_base_src_start_complete:<source> pad not activated yet
0:00:00.390860299 3673 0xffff7c001800 WARN matroskareadcommon matroska-read-common.c:762:gst_matroska_read_common_parse_skip:<matroskademux0:sink> Unknown CueTrackPositions subelement 0xf0 - ignoring
0:00:00.390916462 3673 0xffff7c001800 WARN matroskareadcommon matroska-read-common.c:762:gst_matroska_read_common_parse_skip:<matroskademux0:sink> Unknown CueTrackPositions subelement 0xf0 - ignoring
0:00:00.492806262 3673 0xffff7c001da0 ERROR v4l2codecs-decoder gstv4l2decoder.c:545:gst_v4l2_decoder_request_buffers:<v4l2decoder2> VIDIOC_REQBUFS failed: Device or resource busy
0:00:00.492870585 3673 0xffff7c001da0 ERROR v4l2codecs-decoder gstv4l2decoder.c:545:gst_v4l2_decoder_request_buffers:<v4l2decoder2> VIDIOC_REQBUFS failed: Device or resource busy
0:00:00.492899866 3673 0xffff7c001da0 ERROR v4l2codecs-decoder gstv4l2decoder.c:545:gst_v4l2_decoder_request_buffers:<v4l2decoder2> VIDIOC_REQBUFS failed: Device or resource busy
0:00:00.492936708 3673 0xffff7c001da0 WARN v4l2codecs-vp9dec gstv4l2codecvp9dec.c:573:gst_v4l2_codec_vp9_dec_decide_allocation:<maindec> error: Not enough memory to allocate sink buffers.
0:00:00.493113236 3673 0xffff7c001da0 WARN videodecoder gstvideodecoder.c:4409:gst_video_decoder_negotiate_pool:<maindec> Subclass failed to decide allocation
0:00:00.493457052 3673 0xaaab00d50270 ERROR gst-play gstplay.c:1014:error_cb:<gtkgstplay0> ERROR: from element /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/v4l2slvp9alphadecodebin:v4l2slvp9alphadecodebin0/v4l2slvp9dec:maindec: Not enough memory to allocate sink buffers.
0:00:00.493481894 3673 0xaaab00d50270 ERROR gst-play gstplay.c:1016:error_cb:<gtkgstplay0> Additional debug info: ../sys/v4l2codecs/gstv4l2codecvp9dec.c(573): gst_v4l2_codec_vp9_dec_decide_allocation (): /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/v4l2slvp9alphadecodebin:v4l2slvp9alphadecodebin0/v4l2slvp9dec:maindec
0:00:00.493565058 3673 0xaaab00d50270 ERROR gst-play gstplay.c:938:on_error:<gtkgstplay0> Error: Error from element /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/v4l2slvp9alphadecodebin:v4l2slvp9alphadecodebin0/v4l2slvp9dec:maindec: No space left on the resource.
Not enough memory to allocate sink buffers.
../sys/v4l2codecs/gstv4l2codecvp9dec.c(573): gst_v4l2_codec_vp9_dec_decide_allocation (): /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/v4l2slvp9alphadecodebin:v4l2slvp9alphadecodebin0/v4l2slvp9dec:maindec (gst-play-error-quark, 0)
0:00:00.494446139 3673 0xffff7c002070 ERROR v4l2codecs-decoder gstv4l2decoder.c:545:gst_v4l2_decoder_request_buffers:<v4l2decoder3> VIDIOC_REQBUFS failed: Device or resource busy
0:00:00.494487301 3673 0xffff7c002070 ERROR v4l2codecs-decoder gstv4l2decoder.c:545:gst_v4l2_decoder_request_buffers:<v4l2decoder3> VIDIOC_REQBUFS failed: Device or resource busy
0:00:00.494514062 3673 0xffff7c002070 ERROR v4l2codecs-decoder gstv4l2decoder.c:545:gst_v4l2_decoder_request_buffers:<v4l2decoder3> VIDIOC_REQBUFS failed: Device or resource busy
0:00:00.494540463 3673 0xffff7c002070 WARN v4l2codecs-vp9dec gstv4l2codecvp9dec.c:573:gst_v4l2_codec_vp9_dec_decide_allocation:<alphadec> error: Not enough memory to allocate sink buffers.
0:00:00.494616667 3673 0xffff7c002070 WARN videodecoder gstvideodecoder.c:4409:gst_video_decoder_negotiate_pool:<alphadec> Subclass failed to decide allocation
0:00:00.494836517 3673 0xffff7c001800 WARN matroskademux matroska-demux.c:6109:gst_matroska_demux_loop:<matroskademux0> error: Internal data stream error.
0:00:00.494856198 3673 0xffff7c001800 WARN matroskademux matroska-demux.c:6109:gst_matroska_demux_loop:<matroskademux0> error: streaming stopped, reason not-negotiated (-4)
0:00:00.494956763 3673 0xffff7c001800 WARN multiqueue gstmultiqueue.c:2789:gst_multi_queue_sink_event:<multiqueue0> error: Internal data stream error.
0:00:00.494974643 3673 0xffff7c001800 WARN multiqueue gstmultiqueue.c:2789:gst_multi_queue_sink_event:<multiqueue0> error: streaming stopped, reason not-negotiated (-4)