pluginutil: Remove Mesa from drivers white list
The Mesa Gallium driver is poorly tested currently, leading to bad user experience for AMD users. The driver can be added back to the white list at runtime using the GST_VAAPI_ALL_DRIVERS environment variable.
Merge request reports
Activity
cc: @cap
Hi, thx for cc me. I feel it would be better to improve the filtering by making the black listing and white listing more specific (mesa version ? card type ? kernel ?) In Chromium it is actually the opposite, people are reporting hw decoding to be stable using vaapi. In electron and qtwebengine, vaapi is enabled by default. What are the failures ? Thx
My vendor string:
Mesa Gallium driver 18.3.4 for Radeon RX 560 Series (POLARIS11, DRM 3.27.0, 4.19.0-4-amd64, LLVM 7.0.1)
Here's one crash :)(gdb) bt #0 0x00007fd61b39fa3d in __memmove_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:240 #1 0x00007fd5be357742 in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so #2 0x00007fd5be35786c in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so #3 0x00007fd5beaab851 in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so #4 0x00007fd494f85ef0 in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so #5 0x00007fd53656e0ec in gst_vaapi_surface_put_image (surface=0x7fd6000064a0, image=image@entry=0x7fd45c006050) at ../subprojects/gstreamer-vaapi/gst-libs/gst/vaapi/gstvaapisurface.c:790 #6 0x00007fd536532aca in extract_allowed_surface_formats (img_formats=0x7fd608071d30, img_formats=0x7fd608071d30, direction=GST_PAD_SINK, specified_format=GST_VIDEO_FORMAT_UNKNOWN, display=0x5556e8337df0 [GstVaapiDisplayEGL]) at ../subprojects/gstreamer-vaapi/gst/vaapi/gstvaapipluginbase.c:1307 #7 0x00007fd536532aca in ensure_allowed_raw_caps (plugin=plugin@entry=0x7fd45c05f520, format=format@entry=GST_VIDEO_FORMAT_UNKNOWN, direction=direction@entry=GST_PAD_SINK) at ../subprojects/gstreamer-vaapi/gst/vaapi/gstvaapipluginbase.c:1346 #8 0x00007fd53653439f in ensure_allowed_raw_caps (direction=GST_PAD_SINK, format=GST_VIDEO_FORMAT_UNKNOWN, plugin=plugin@entry=0x7fd45c05f520) at ../subprojects/gstreamer-vaapi/gst/vaapi/gstvaapipluginbase.c:1378 #9 0x00007fd53653439f in gst_vaapi_plugin_base_get_allowed_sinkpad_raw_caps (plugin=plugin@entry=0x7fd45c05f520) at ../subprojects/gstreamer-vaapi/gst/vaapi/gstvaapipluginbase.c:1378 #10 0x00007fd5365394da in ensure_allowed_sinkpad_caps (postproc=0x7fd45c05f520) at ../subprojects/gstreamer-vaapi/gst/vaapi/gstvaapipostproc.c:1099 #11 0x00007fd5365394da in gst_vaapipostproc_transform_caps_impl (direction=<optimized out>, trans=0x7fd45c05f520 [GstVaapiPostproc]) at ../subprojects/gstreamer-vaapi/gst/vaapi/gstvaapipostproc.c:1193 #12 0x00007fd5365394da in gst_vaapipostproc_transform_caps (trans=0x7fd45c05f520 [GstVaapiPostproc], direction=<optimized out>, caps=0x7fd4a4003540, filter=0x7fd45c003540) at ../subprojects/gstreamer-vaapi/gst/vaapi/gstvaapipostproc.c:1216 #13 0x00007fd61d1025a1 in gst_base_transform_transform_caps (trans=trans@entry=0x7fd45c05f520 [GstVaapiPostproc], direction=GST_PAD_SRC, caps=caps@entry=0x7fd4a4003540, filter=filter@entry=0x7fd45c003540) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:474 #14 0x00007fd61d1060dc in gst_base_transform_query_caps (filter=0x7fd45c003540, pad=0x7fd45c062040 [GstPad], trans=0x7fd45c05f520 [GstVaapiPostproc]) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:695 #15 0x00007fd61d1060dc in gst_base_transform_default_query (trans=0x7fd45c05f520 [GstVaapiPostproc], direction=<optimized out>, query=0x7fd45c0035e0) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1550 #16 0x00007fd61d007530 in gst_pad_query (pad=pad@entry=0x7fd45c062040 [GstPad], query=query@entry=0x7fd45c0035e0) at ../subprojects/gstreamer/gst/gstpad.c:4071 #17 0x00007fd61d007c8b in gst_pad_peer_query (pad=pad@entry=0x7fd45c00dd30 [GstPad], query=query@entry=0x7fd45c0035e0) at ../subprojects/gstreamer/gst/gstpad.c:4203 #18 0x00007fd61d0439f4 in gst_pad_peer_query_caps (pad=pad@entry=0x7fd45c00dd30 [GstPad], filter=filter@entry=0x7fd45c003540) at ../subprojects/gstreamer/gst/gstutils.c:3107 #19 0x00007fd61d105efe in gst_base_transform_query_caps (filter=0x7fd45c0034f0, pad=0x7fd45c00dae0 [GstPad], trans=0x7fd45c01c0f0 [GstCapsFilter]) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:678 #20 0x00007fd61d105efe in gst_base_transform_default_query (trans=0x7fd45c01c0f0 [GstCapsFilter], direction=<optimized out>, query=0x7fd45c003450) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1550 #21 0x00007fd61d007530 in gst_pad_query (pad=pad@entry=0x7fd45c00dae0 [GstPad], query=query@entry=0x7fd45c003450) at ../subprojects/gstreamer/gst/gstpad.c:4071 #22 0x00007fd61d007c8b in gst_pad_peer_query (pad=pad@entry=0x7fd45c00d890 [GstPad], query=0x7fd45c003450) at ../subprojects/gstreamer/gst/gstpad.c:4203 #23 0x00007fd61d03e1a8 in query_caps_func (pad=pad@entry=0x7fd45c00d890 [GstPad], data=data@entry=0x7fd4668fc470) at ../subprojects/gstreamer/gst/gstutils.c:2765 #24 0x00007fd61d0060fe in gst_pad_forward (pad=pad@entry=0x7fd45c00d640 [GstPad], forward=forward@entry=0x7fd61d03e190 <query_caps_func>, user_data=user_data@entry=0x7fd4668fc470) at ../subprojects/gstreamer/gst/gstpad.c:3008 #25 0x00007fd61d040c5a in gst_pad_proxy_query_caps (pad=pad@entry=0x7fd45c00d640 [GstPad], query=query@entry=0x7fd45c003450) at ../subprojects/gstreamer/gst/gstutils.c:2815 #26 0x00007fd61d0062e4 in gst_pad_query_caps_default (query=0x7fd45c003450, pad=0x7fd45c00d640 [GstPad]) at ../subprojects/gstreamer/gst/gstpad.c:3187 #27 0x00007fd61d0062e4 in gst_pad_query_default (pad=0x7fd45c00d640 [GstPad], parent=<optimized out>, query=0x7fd45c003450) at ../subprojects/gstreamer/gst/gstpad.c:3415 #28 0x00007fd574147bb5 in gst_queue_handle_sink_query (pad=<optimized out>, parent=0x7fd4ac0cd2e0 [GstQueue], query=0x7fd45c003450) at ../subprojects/gstreamer/plugins/elements/gstqueue.c:1079 #29 0x00007fd61d007530 in gst_pad_query (pad=pad@entry=0x7fd45c00d640 [GstPad], query=query@entry=0x7fd45c003450) at ../subprojects/gstreamer/gst/gstpad.c:4071 #30 0x00007fd61d007c8b in gst_pad_peer_query (pad=pad@entry=0x7fd45c00d3f0 [GstPad], query=query@entry=0x7fd45c003450) at ../subprojects/gstreamer/gst/gstpad.c:4203 #31 0x00007fd61d0439f4 in gst_pad_peer_query_caps (pad=pad@entry=0x7fd45c00d3f0 [GstPad], filter=filter@entry=0x7fd45c0034f0) at ../subprojects/gstreamer/gst/gstutils.c:3107 #32 0x00007fd61ce2d781 in __gst_video_element_proxy_getcaps (element=element@entry=0x7fd45c05b1a0 [GstVaapiDecode], sinkpad=<optimized out>, srcpad=0x7fd45c00d3f0 [GstPad], initial_caps=<optimized out>, filter=filter@entry=0x7fd45c0034a0) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideoutilsprivate.c:108 #33 0x00007fd61ce1e1a9 in gst_video_decoder_proxy_getcaps (decoder=decoder@entry=0x7fd45c05b1a0 [GstVaapiDecode], caps=<optimized out>, filter=filter@entry=0x7fd45c0034a0) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideodecoder.c:1730 #34 0x00007fd53652f962 in gst_vaapidecode_sink_getcaps (vdec=<optimized out>, filter=<optimized out>) at ../subprojects/gstreamer-vaapi/gst/vaapi/gstvaapidecode.c:1341 #35 0x00007fd61ce1e26b in gst_video_decoder_sink_getcaps (filter=<optimized out>, decoder=0x7fd45c05b1a0 [GstVaapiDecode]) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideodecoder.c:1744 #36 0x00007fd61ce1e26b in gst_video_decoder_sink_query_default (decoder=0x7fd45c05b1a0 [GstVaapiDecode], query=0x7fd608075630) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideodecoder.c:1793 #37 0x00007fd61d007530 in gst_pad_query (pad=pad@entry=0x7fd45c00d1a0 [GstPad], query=query@entry=0x7fd608075630) at ../subprojects/gstreamer/gst/gstpad.c:4071 #38 0x00007fd61d041414 in gst_pad_query_caps (pad=0x7fd45c00d1a0 [GstPad], filter=0x7fd45c0034a0) at ../subprojects/gstreamer/gst/gstutils.c:3061 #39 0x00007fd61ce1e4b9 in gst_video_decoder_sink_query_default (decoder=0x7fd45c05b1a0 [GstVaapiDecode], query=0x7fd45c003720) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideodecoder.c:1817 --Type <RET> for more, q to quit, c to continue without paging-- #40 0x00007fd61d007530 in gst_pad_query (pad=pad@entry=0x7fd45c00d1a0 [GstPad], query=query@entry=0x7fd45c003720) at ../subprojects/gstreamer/gst/gstpad.c:4071 #41 0x00007fd61d007c8b in gst_pad_peer_query (pad=pad@entry=0x7fd45c060050 [GstProxyPad], query=0x7fd45c003720) at ../subprojects/gstreamer/gst/gstpad.c:4203 #42 0x00007fd61d03e170 in query_accept_caps_func (pad=pad@entry=0x7fd45c060050 [GstProxyPad], data=data@entry=0x7fd4668fcb50) at ../subprojects/gstreamer/gst/gstutils.c:2705 #43 0x00007fd61d0060fe in gst_pad_forward (pad=pad@entry=0x7fd474026bc0 [GstGhostPad], forward=forward@entry=0x7fd61d03e160 <query_accept_caps_func>, user_data=user_data@entry=0x7fd4668fcb50) at ../subprojects/gstreamer/gst/gstpad.c:3008 #44 0x00007fd61d040ace in gst_pad_proxy_query_accept_caps (pad=pad@entry=0x7fd474026bc0 [GstGhostPad], query=query@entry=0x7fd45c003720) at ../subprojects/gstreamer/gst/gstutils.c:2745 #45 0x00007fd61d0065e5 in gst_pad_query_accept_caps_default (query=0x7fd45c003720, pad=0x7fd474026bc0 [GstGhostPad]) at ../subprojects/gstreamer/gst/gstpad.c:3134 #46 0x00007fd61d0065e5 in gst_pad_query_default (pad=0x7fd474026bc0 [GstGhostPad], parent=<optimized out>, query=0x7fd45c003720) at ../subprojects/gstreamer/gst/gstpad.c:3411 #47 0x00007fd61d007530 in gst_pad_query (pad=pad@entry=0x7fd474026bc0 [GstGhostPad], query=query@entry=0x7fd45c003720) at ../subprojects/gstreamer/gst/gstpad.c:4071 #48 0x00007fd61d043bac in gst_pad_query_accept_caps (pad=pad@entry=0x7fd474026bc0 [GstGhostPad], caps=<optimized out>) at ../subprojects/gstreamer/gst/gstutils.c:3144 #49 0x00007fd61d0000fa in pre_eventfunc_check (event=0x7fd484007c10, pad=0x7fd474026bc0 [GstGhostPad]) at ../subprojects/gstreamer/gst/gstpad.c:5611 #50 0x00007fd61d0000fa in gst_pad_send_event_unchecked (pad=pad@entry=0x7fd474026bc0 [GstGhostPad], event=event@entry=0x7fd484007c10, type=<optimized out>) at ../subprojects/gstreamer/gst/gstpad.c:5756 #51 0x00007fd61d009d29 in gst_pad_send_event (pad=0x7fd474026bc0 [GstGhostPad], event=0x7fd484007c10) at ../subprojects/gstreamer/gst/gstpad.c:5935 #52 0x00007fd57417ecc8 in send_sticky_event (pad=<optimized out>, event=<optimized out>, user_data=0x7fd4668fcf20) at ../subprojects/gstreamer/gst/gstevent.h:438 #53 0x00007fd61cffebd9 in foreach_dispatch_function (user_data=0x7fd4668fce50, ev=0x7fd4668fce00, pad=0x7fd45c00cf50 [GstPad]) at ../subprojects/gstreamer/gst/gstpad.c:6034 #54 0x00007fd61cffebd9 in foreach_dispatch_function (pad=pad@entry=0x7fd45c00cf50 [GstPad], ev=ev@entry=0x7fd4668fce00, user_data=user_data@entry=0x7fd4668fce50) at ../subprojects/gstreamer/gst/gstpad.c:6026 #55 0x00007fd61cffe448 in events_foreach (pad=pad@entry=0x7fd45c00cf50 [GstPad], func=func@entry=0x7fd61cffeba0 <foreach_dispatch_function>, user_data=user_data@entry=0x7fd4668fce50) at ../subprojects/gstreamer/gst/gstpad.c:608 #56 0x00007fd61d00a933 in gst_pad_sticky_events_foreach (pad=pad@entry=0x7fd45c00cf50 [GstPad], foreach_func=foreach_func@entry=0x7fd57417ecb0 <send_sticky_event>, user_data=user_data@entry=0x7fd4668fcf20) at ../subprojects/gstreamer/gst/gstpad.c:6065 #57 0x00007fd574189d9b in send_sticky_events (dbin=0x5556e9422a90 [GstDecodeBin], pad=0x7fd45c00cf50 [GstPad]) at ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c:1994 #58 0x00007fd574189d9b in connect_pad (dbin=dbin@entry=0x5556e9422a90 [GstDecodeBin], src=src@entry=0x5556e9131b00 [GstCapsFilter], dpad=dpad@entry=0x7fd480012af0 [GstDecodePad], pad=pad@entry=0x7fd45c00cf50 [GstPad], caps=caps@entry=0x7fd45c0034a0, factories=<optimized out>, chain=<optimized out>, deadend_details=0x7fd4668fcfe8) at ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c:2516 #59 0x00007fd574187d51 in analyze_new_pad (dbin=dbin@entry=0x5556e9422a90 [GstDecodeBin], src=src@entry=0x5556e9131b00 [GstCapsFilter], pad=pad@entry=0x7fd45c00cf50 [GstPad], caps=caps@entry=0x7fd45c0034a0, chain=<optimized out>, chain@entry=0x7fd4a404bea0, new_chain=new_chain@entry=0x7fd4668fd038) at ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c:1808 #60 0x00007fd57418869a in pad_added_cb (element=element@entry=0x5556e9131b00 [GstCapsFilter], pad=pad@entry=0x7fd45c00cf50 [GstPad], chain=chain@entry=0x7fd4a404bea0) at ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c:2949 #61 0x00007fd57418890f in caps_notify_cb (pad=0x7fd45c00cf50 [GstPad], unused=<optimized out>, chain=0x7fd4a404bea0) at ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c:3139 #65 0x00007fd61c3c591f in <emit signal notify:caps on instance 0x7fd45c00cf50 [GstPad]> (instance=instance@entry=0x7fd45c00cf50, signal_id=<optimized out>, detail=<optimized out>) at ../../../gobject/gsignal.c:3447 #62 0x00007fd61c3a8c7d in g_closure_invoke (closure=0x7fd45c0136d0, return_value=0x0, n_param_values=2, param_values=0x7fd4668fd280, invocation_hint=0x7fd4668fd200) at ../../../gobject/gclosure.c:810 #63 0x00007fd61c3bc345 in signal_emit_unlocked_R (node=node@entry=0x5556e82be600, detail=detail@entry=1502, instance=instance@entry=0x7fd45c00cf50, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fd4668fd280) at ../../../gobject/gsignal.c:3635 #64 0x00007fd61c3c525e in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fd4668fd450) at ../../../gobject/gsignal.c:3391 #66 0x00007fd61c3ad354 in g_object_dispatch_properties_changed (object=0x7fd45c00cf50 [GstPad], n_pspecs=<optimized out>, pspecs=<optimized out>) at ../../../gobject/gobject.c:1088 #67 0x00007fd61cfbaeb4 in gst_object_dispatch_properties_changed (object=0x7fd45c00cf50 [GstPad], n_pspecs=1, pspecs=0x7fd4668fd5c0) at ../subprojects/gstreamer/gst/gstobject.c:454 #68 0x00007fd61c3af901 in g_object_notify_by_spec_internal (pspec=<optimized out>, object=0x7fd45c00cf50 [GstPad]) at ../../../gobject/gobject.c:1181 #69 0x00007fd61c3af901 in g_object_notify_by_pspec (object=object@entry=0x7fd45c00cf50 [GstPad], pspec=<optimized out>) at ../../../gobject/gobject.c:1291 #70 0x00007fd61cffeaac in store_sticky_event (pad=pad@entry=0x7fd45c00cf50 [GstPad], event=event@entry=0x7fd484007c10) at ../subprojects/gstreamer/gst/gstpad.c:5230 #71 0x00007fd61d0099b8 in gst_pad_push_event (pad=pad@entry=0x7fd45c00cf50 [GstPad], event=0x7fd484007c10) at ../subprojects/gstreamer/gst/gstpad.c:5529 #72 0x00007fd61d10529b in gst_pad_set_caps (caps=0x7fd45c0034a0, pad=0x7fd45c00cf50 [GstPad]) at ../subprojects/gstreamer/gst/gstcompat.h:59 #73 0x00007fd61d10529b in gst_base_transform_setcaps (trans=trans@entry=0x5556e9131b00 [GstCapsFilter], pad=<optimized out>, incaps=<optimized out>) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1337 #74 0x00007fd61d10668d in gst_base_transform_sink_eventfunc (trans=trans@entry=0x5556e9131b00 [GstCapsFilter], event=0x7fd484007c80) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1898 #75 0x00007fd574118061 in gst_capsfilter_sink_event (trans=0x5556e9131b00 [GstCapsFilter], event=0x7fd484007c80) at ../subprojects/gstreamer/gst/gstevent.h:438 #76 0x00007fd61d0000b7 in gst_pad_send_event_unchecked (pad=pad@entry=0x7fd45c00cd00 [GstPad], event=event@entry=0x7fd484007c80, type=<optimized out>, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../subprojects/gstreamer/gst/gstpad.c:5765 #77 0x00007fd61d0005d4 in gst_pad_push_event_unchecked (pad=pad@entry=0x7fd45c00cab0 [GstPad], event=0x7fd484007c80, type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../subprojects/gstreamer/gst/gstpad.c:5410 --Type <RET> for more, q to quit, c to continue without paging-- #78 0x00007fd61d000a44 in push_sticky (pad=pad@entry=0x7fd45c00cab0 [GstPad], ev=ev@entry=0x7fd4668fd9a0, user_data=user_data@entry=0x7fd4668fda00) at ../subprojects/gstreamer/gst/gstevent.h:438 #79 0x00007fd61cffe448 in events_foreach (pad=pad@entry=0x7fd45c00cab0 [GstPad], func=func@entry=0x7fd61d0009f0 <push_sticky>, user_data=user_data@entry=0x7fd4668fda00) at ../subprojects/gstreamer/gst/gstpad.c:608 #80 0x00007fd61d009711 in check_sticky (event=0x7fd484007c80, pad=0x7fd45c00cab0 [GstPad]) at ../subprojects/gstreamer/gst/gstpad.c:3985 #81 0x00007fd61d009711 in gst_pad_push_event (pad=pad@entry=0x7fd45c00cab0 [GstPad], event=0x7fd484007c80) at ../subprojects/gstreamer/gst/gstpad.c:5541 #82 0x00007fd5947ce5b3 in gst_pad_set_caps (caps=0x7fd45c0034a0, pad=0x7fd45c00cab0 [GstPad]) at ../subprojects/gstreamer/gst/gstcompat.h:59 #83 0x00007fd5947ce5b3 in gst_h264_parse_update_src_caps (h264parse=h264parse@entry=0x7fd45c0173d0 [GstH264Parse], caps=<optimized out>, caps@entry=0x7fd6080755e0) at ../subprojects/gst-plugins-bad/gst/videoparsers/gsth264parse.c:2118 #84 0x00007fd5947d29ff in gst_h264_parse_set_caps (parse=0x7fd45c0173d0 [GstH264Parse], caps=<optimized out>) at ../subprojects/gst-plugins-bad/gst/videoparsers/gsth264parse.c:2937 #85 0x00007fd61d0e75b6 in gst_base_parse_sink_event_default (parse=0x7fd45c0173d0 [GstH264Parse], event=0x7fd48400a080) at ../subprojects/gstreamer/libs/gst/base/gstbaseparse.c:1191 #86 0x00007fd5947cc363 in gst_h264_parse_event (parse=0x7fd45c0173d0 [GstH264Parse], event=0x7fd48400a080) at ../subprojects/gst-plugins-bad/gst/videoparsers/gsth264parse.c:3112 #87 0x00007fd61d0000b7 in gst_pad_send_event_unchecked (pad=pad@entry=0x7fd45c00c860 [GstPad], event=event@entry=0x7fd48400a080, type=<optimized out>) at ../subprojects/gstreamer/gst/gstpad.c:5765 #88 0x00007fd61d009d29 in gst_pad_send_event (pad=0x7fd45c00c860 [GstPad], event=0x7fd48400a080) at ../subprojects/gstreamer/gst/gstpad.c:5935 #89 0x00007fd57417ecc8 in send_sticky_event (pad=<optimized out>, event=<optimized out>, user_data=0x7fd4668fe080) at ../subprojects/gstreamer/gst/gstevent.h:438 #90 0x00007fd61cffebd9 in foreach_dispatch_function (user_data=0x7fd4668fdfb0, ev=0x7fd4668fdf60, pad=0x7fd45c00c610 [GstPad]) at ../subprojects/gstreamer/gst/gstpad.c:6034 #91 0x00007fd61cffebd9 in foreach_dispatch_function (pad=pad@entry=0x7fd45c00c610 [GstPad], ev=ev@entry=0x7fd4668fdf60, user_data=user_data@entry=0x7fd4668fdfb0) at ../subprojects/gstreamer/gst/gstpad.c:6026 #92 0x00007fd61cffe448 in events_foreach (pad=pad@entry=0x7fd45c00c610 [GstPad], func=func@entry=0x7fd61cffeba0 <foreach_dispatch_function>, user_data=user_data@entry=0x7fd4668fdfb0) at ../subprojects/gstreamer/gst/gstpad.c:608 #93 0x00007fd61d00a933 in gst_pad_sticky_events_foreach (pad=pad@entry=0x7fd45c00c610 [GstPad], foreach_func=foreach_func@entry=0x7fd57417ecb0 <send_sticky_event>, user_data=user_data@entry=0x7fd4668fe080) at ../subprojects/gstreamer/gst/gstpad.c:6065 #94 0x00007fd574189d9b in send_sticky_events (dbin=0x5556e9422a90 [GstDecodeBin], pad=0x7fd45c00c610 [GstPad]) at ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c:1994 #95 0x00007fd574189d9b in connect_pad (dbin=dbin@entry=0x5556e9422a90 [GstDecodeBin], src=0x7fd45c00f080 [GstMultiQueue], src@entry=0x7fd47c0176d0 [GstQTDemux], dpad=dpad@entry=0x7fd480012af0 [GstDecodePad], pad=0x7fd45c00c610 [GstPad], pad@entry=0x7fd45c00c170 [GstPad], caps=caps@entry=0x7fd6080755e0, factories=<optimized out>, chain=<optimized out>, deadend_details=0x7fd4668fe148) at ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c:2516 #96 0x00007fd574187d51 in analyze_new_pad (dbin=dbin@entry=0x5556e9422a90 [GstDecodeBin], src=src@entry=0x7fd47c0176d0 [GstQTDemux], pad=pad@entry=0x7fd45c00c170 [GstPad], caps=caps@entry=0x7fd6080755e0, chain=<optimized out>, chain@entry=0x7fd46800c870, new_chain=new_chain@entry=0x7fd4668fe198) at ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c:1808 #97 0x00007fd57418869a in pad_added_cb (element=0x7fd47c0176d0 [GstQTDemux], pad=0x7fd45c00c170 [GstPad], chain=0x7fd46800c870) at ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c:2949 #98 0x00007fd619d958ee in ffi_call_unix64 () at /usr/lib/x86_64-linux-gnu/libffi.so.6 #99 0x00007fd619d952bf in ffi_call () at /usr/lib/x86_64-linux-gnu/libffi.so.6 #104 0x00007fd61c3c591f in <emit signal ??? on instance 0x7fd47c0176d0 [GstQTDemux]> (instance=instance@entry=0x7fd47c0176d0, signal_id=<optimized out>, detail=detail@entry=0) at ../../../gobject/gsignal.c:3447 #100 0x00007fd61c3a9472 in g_cclosure_marshal_generic (closure=0x7fd4680025c0, return_gvalue=0x0, n_param_values=<optimized out>, param_values=<optimized out>, invocation_hint=<optimized out>, marshal_data=<optimized out>) at ../../../gobject/gclosure.c:1496 #101 0x00007fd61c3a8c7d in g_closure_invoke (closure=0x7fd4680025c0, return_value=0x0, n_param_values=2, param_values=0x7fd4668fe5c0, invocation_hint=0x7fd4668fe540) at ../../../gobject/gclosure.c:810 #102 0x00007fd61c3bc345 in signal_emit_unlocked_R (node=node@entry=0x5556e8d4e960, detail=detail@entry=0, instance=instance@entry=0x7fd47c0176d0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fd4668fe5c0) at ../../../gobject/gsignal.c:3635 #103 0x00007fd61c3c525e in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fd4668fe790) at ../../../gobject/gsignal.c:3391 #105 0x00007fd61cfe3010 in gst_element_add_pad (element=element@entry=0x7fd47c0176d0 [GstQTDemux], pad=0x7fd45c00c170 [GstPad]) at ../subprojects/gstreamer/gst/gstelement.c:711 #106 0x00007fd537b98094 in gst_qtdemux_add_stream (qtdemux=qtdemux@entry=0x7fd47c0176d0 [GstQTDemux], stream=0x7fd45c004940, list=0x7fd608075590) at ../subprojects/gst-plugins-good/gst/isomp4/qtdemux.c:8884 #107 0x00007fd537b983e5 in qtdemux_expose_streams (qtdemux=qtdemux@entry=0x7fd47c0176d0 [GstQTDemux]) at ../subprojects/gst-plugins-good/gst/isomp4/qtdemux.c:12879 #108 0x00007fd537bb1cdb in gst_qtdemux_loop_state_header (qtdemux=0x7fd47c0176d0 [GstQTDemux]) at ../subprojects/gst-plugins-good/gst/isomp4/qtdemux.c:4729 #109 0x00007fd537bb1cdb in gst_qtdemux_loop (pad=0x5556e945b530 [GstPad]) at ../subprojects/gst-plugins-good/gst/isomp4/qtdemux.c:6515 #110 0x00007fd61d0356d1 in gst_task_func (task=0x7fd4a827f4d0 [GstTask]) at ../subprojects/gstreamer/gst/gsttask.c:328 #111 0x00007fd61c2efdc3 in g_thread_pool_thread_proxy (data=<optimized out>) at ../../../glib/gthreadpool.c:307 #112 0x00007fd61c2ef425 in g_thread_proxy (data=0x7fd468004400) at ../../../glib/gthread.c:784 #113 0x00007fd61d593fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486 #114 0x00007fd61b33c82f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Sure. This only one issue, though, if there's no crash, all I get is scrambled output, as reported almost one year ago: #100 (closed)
(gdb) bt #0 0x00007f424524ea3d in __memmove_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:240 #1 0x00007f4230359742 in memcpy (__len=<optimized out>, __src=0x7f40d81324a0, __dest=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34 #2 0x00007f4230359742 in util_copy_rect (dst=<optimized out>, format=<optimized out>, dst_stride=256, dst_x=0, dst_y=<optimized out>, width=<optimized out>, height=<optimized out>, src=0x7f40d81324a0 "", src_stride=32, src_x=0, src_y=<optimized out>) at ../src/gallium/auxiliary/util/u_surface.c:105 #3 0x00007f423035986c in util_copy_box (dst=0x7f41e8304000 <error: Cannot access memory at address 0x7f41e8304000>, format=PIPE_FORMAT_R8_UNORM, dst_stride=256, dst_slice_stride=8192, dst_x=dst_x@entry=0, dst_y=dst_y@entry=0, dst_z=0, width=32, height=32, depth=1, src=<optimized out>, src_stride=32, src_slice_stride=0, src_x=0, src_y=0, src_z=0) at ../src/gallium/auxiliary/util/u_surface.c:131 #4 0x00007f4230aad851 in u_default_texture_subdata (pipe=0x7f40d8084e00, resource=0x7f40d812d370, level=<optimized out>, usage=<optimized out>, box=0x7f410f3fb360, data=0x7f40d81324a0, stride=32, layer_stride=0) at ../src/gallium/auxiliary/util/u_transfer.c:67 #5 0x00007f40b6285ef0 in () at /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so #6 0x00007f4170d6e0fc in gst_vaapi_surface_put_image (surface=0x7f42340680f0, image=image@entry=0x7f40d400f630) at ../subprojects/gstreamer-vaapi/gst-libs/gst/vaapi/gstvaapisurface.c:790 #7 0x00007f4170d32aca in extract_allowed_surface_formats (img_formats=0x7f40d81276d0, img_formats=0x7f40d81276d0, direction=GST_PAD_SINK, specified_format=GST_VIDEO_FORMAT_UNKNOWN, display=0x561d315818a0 [GstVaapiDisplayEGL]) at ../subprojects/gstreamer-vaapi/gst/vaapi/gstvaapipluginbase.c:1307 #8 0x00007f4170d32aca in ensure_allowed_raw_caps (plugin=plugin@entry=0x7f40d81021d0, format=format@entry=GST_VIDEO_FORMAT_UNKNOWN, direction=direction@entry=GST_PAD_SINK) at ../subprojects/gstreamer-vaapi/gst/vaapi/gstvaapipluginbase.c:1346 #9 0x00007f4170d3439f in ensure_allowed_raw_caps (direction=GST_PAD_SINK, format=GST_VIDEO_FORMAT_UNKNOWN, plugin=plugin@entry=0x7f40d81021d0) at ../subprojects/gstreamer-vaapi/gst/vaapi/gstvaapipluginbase.c:1378 #10 0x00007f4170d3439f in gst_vaapi_plugin_base_get_allowed_sinkpad_raw_caps (plugin=plugin@entry=0x7f40d81021d0) at ../subprojects/gstreamer-vaapi/gst/vaapi/gstvaapipluginbase.c:1378 #11 0x00007f4170d394da in ensure_allowed_sinkpad_caps (postproc=0x7f40d81021d0) at ../subprojects/gstreamer-vaapi/gst/vaapi/gstvaapipostproc.c:1099 #12 0x00007f4170d394da in gst_vaapipostproc_transform_caps_impl (direction=<optimized out>, trans=0x7f40d81021d0 [GstVaapiPostproc]) at ../subprojects/gstreamer-vaapi/gst/vaapi/gstvaapipostproc.c:1193 #13 0x00007f4170d394da in gst_vaapipostproc_transform_caps (trans=0x7f40d81021d0 [GstVaapiPostproc], direction=<optimized out>, caps=0x7f40d810be30, filter=0x7f40d810bca0) at ../subprojects/gstreamer-vaapi/gst/vaapi/gstvaapipostproc.c:1216 #14 0x00007f4246fb15a1 in gst_base_transform_transform_caps (trans=trans@entry=0x7f40d81021d0 [GstVaapiPostproc], direction=GST_PAD_SRC, caps=caps@entry=0x7f40d810be30, filter=filter@entry=0x7f40d810bca0) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:474 #15 0x00007f4246fb50dc in gst_base_transform_query_caps (filter=0x7f40d810bca0, pad=0x7f40d809c120 [GstPad], trans=0x7f40d81021d0 [GstVaapiPostproc]) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:695 #16 0x00007f4246fb50dc in gst_base_transform_default_query (trans=0x7f40d81021d0 [GstVaapiPostproc], direction=<optimized out>, query=0x7f40d810bcf0) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1550 #17 0x00007f4246eb6530 in gst_pad_query (pad=pad@entry=0x7f40d809c120 [GstPad], query=query@entry=0x7f40d810bcf0) at ../subprojects/gstreamer/gst/gstpad.c:4071 #18 0x00007f4246eb6c8b in gst_pad_peer_query (pad=pad@entry=0x7f40d4271d80 [GstPad], query=query@entry=0x7f40d810bcf0) at ../subprojects/gstreamer/gst/gstpad.c:4203 #19 0x00007f4246ef29f4 in gst_pad_peer_query_caps (pad=pad@entry=0x7f40d4271d80 [GstPad], filter=filter@entry=0x7f40d810bca0) at ../subprojects/gstreamer/gst/gstutils.c:3107 #20 0x00007f4246fb4efe in gst_base_transform_query_caps (filter=0x7f4234068190, pad=0x7f40d4271b30 [GstPad], trans=0x561d3237b360 [GstCapsFilter]) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:678 #21 0x00007f4246fb4efe in gst_base_transform_default_query (trans=0x561d3237b360 [GstCapsFilter], direction=<optimized out>, query=0x7f40d810bc50) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1550 #22 0x00007f4246eb6530 in gst_pad_query (pad=pad@entry=0x7f40d4271b30 [GstPad], query=query@entry=0x7f40d810bc50) at ../subprojects/gstreamer/gst/gstpad.c:4071 #23 0x00007f4246eb6c8b in gst_pad_peer_query (pad=pad@entry=0x7f40d42718e0 [GstPad], query=0x7f40d810bc50) at ../subprojects/gstreamer/gst/gstpad.c:4203 #24 0x00007f4246eed1a8 in query_caps_func (pad=pad@entry=0x7f40d42718e0 [GstPad], data=data@entry=0x7f410f3fbaf0) at ../subprojects/gstreamer/gst/gstutils.c:2765 #25 0x00007f4246eb50fe in gst_pad_forward (pad=pad@entry=0x7f40d4271690 [GstPad], forward=forward@entry=0x7f4246eed190 <query_caps_func>, user_data=user_data@entry=0x7f410f3fbaf0) at ../subprojects/gstreamer/gst/gstpad.c:3008 #26 0x00007f4246eefc5a in gst_pad_proxy_query_caps (pad=pad@entry=0x7f40d4271690 [GstPad], query=query@entry=0x7f40d810bc50) at ../subprojects/gstreamer/gst/gstutils.c:2815 #27 0x00007f4246eb52e4 in gst_pad_query_caps_default (query=0x7f40d810bc50, pad=0x7f40d4271690 [GstPad]) at ../subprojects/gstreamer/gst/gstpad.c:3187 #28 0x00007f4246eb52e4 in gst_pad_query_default (pad=0x7f40d4271690 [GstPad], parent=<optimized out>, query=0x7f40d810bc50) at ../subprojects/gstreamer/gst/gstpad.c:3415 #29 0x00007f41887d0bb5 in gst_queue_handle_sink_query (pad=<optimized out>, parent=0x561d32327900 [GstQueue], query=0x7f40d810bc50) at ../subprojects/gstreamer/plugins/elements/gstqueue.c:1079 #30 0x00007f4246eb6530 in gst_pad_query (pad=pad@entry=0x7f40d4271690 [GstPad], query=query@entry=0x7f40d810bc50) at ../subprojects/gstreamer/gst/gstpad.c:4071 #31 0x00007f4246eb6c8b in gst_pad_peer_query (pad=pad@entry=0x7f40d4271440 [GstPad], query=query@entry=0x7f40d810bc50) at ../subprojects/gstreamer/gst/gstpad.c:4203 #32 0x00007f4246ef29f4 in gst_pad_peer_query_caps (pad=pad@entry=0x7f40d4271440 [GstPad], filter=filter@entry=0x7f4234068190) at ../subprojects/gstreamer/gst/gstutils.c:3107 #33 0x00007f4246cdc781 in __gst_video_element_proxy_getcaps (element=element@entry=0x7f40d80db620 [GstVaapiDecode], sinkpad=<optimized out>, srcpad=0x7f40d4271440 [GstPad], initial_caps=<optimized out>, filter=filter@entry=0x7f40d8003cf0) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideoutilsprivate.c:108 #34 0x00007f4246ccd1a9 in gst_video_decoder_proxy_getcaps (decoder=decoder@entry=0x7f40d80db620 [GstVaapiDecode], caps=<optimized out>, filter=filter@entry=0x7f40d8003cf0) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideodecoder.c:1730 --Type <RET> for more, q to quit, c to continue without paging-- #35 0x00007f4170d2f962 in gst_vaapidecode_sink_getcaps (vdec=<optimized out>, filter=<optimized out>) at ../subprojects/gstreamer-vaapi/gst/vaapi/gstvaapidecode.c:1341 #36 0x00007f4246ccd26b in gst_video_decoder_sink_getcaps (filter=<optimized out>, decoder=0x7f40d80db620 [GstVaapiDecode]) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideodecoder.c:1744 #37 0x00007f4246ccd26b in gst_video_decoder_sink_query_default (decoder=0x7f40d80db620 [GstVaapiDecode], query=0x7f4234068280) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideodecoder.c:1793 #38 0x00007f4246eb6530 in gst_pad_query (pad=pad@entry=0x7f40d42711f0 [GstPad], query=query@entry=0x7f4234068280) at ../subprojects/gstreamer/gst/gstpad.c:4071 #39 0x00007f4246ef0414 in gst_pad_query_caps (pad=0x7f40d42711f0 [GstPad], filter=0x7f40d8003cf0) at ../subprojects/gstreamer/gst/gstutils.c:3061 #40 0x00007f4246ccd4b9 in gst_video_decoder_sink_query_default (decoder=0x7f40d80db620 [GstVaapiDecode], query=0x7f4234068370) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideodecoder.c:1817 #41 0x00007f4246eb6530 in gst_pad_query (pad=pad@entry=0x7f40d42711f0 [GstPad], query=query@entry=0x7f4234068370) at ../subprojects/gstreamer/gst/gstpad.c:4071 #42 0x00007f4246eb6c8b in gst_pad_peer_query (pad=pad@entry=0x561d326333f0 [GstProxyPad], query=0x7f4234068370) at ../subprojects/gstreamer/gst/gstpad.c:4203 #43 0x00007f4246eed170 in query_accept_caps_func (pad=pad@entry=0x561d326333f0 [GstProxyPad], data=data@entry=0x7f410f3fc1d0) at ../subprojects/gstreamer/gst/gstutils.c:2705 #44 0x00007f4246eb50fe in gst_pad_forward (pad=pad@entry=0x7f40d426cac0 [GstGhostPad], forward=forward@entry=0x7f4246eed160 <query_accept_caps_func>, user_data=user_data@entry=0x7f410f3fc1d0) at ../subprojects/gstreamer/gst/gstpad.c:3008 #45 0x00007f4246eeface in gst_pad_proxy_query_accept_caps (pad=pad@entry=0x7f40d426cac0 [GstGhostPad], query=query@entry=0x7f4234068370) at ../subprojects/gstreamer/gst/gstutils.c:2745 #46 0x00007f4246eb55e5 in gst_pad_query_accept_caps_default (query=0x7f4234068370, pad=0x7f40d426cac0 [GstGhostPad]) at ../subprojects/gstreamer/gst/gstpad.c:3134 #47 0x00007f4246eb55e5 in gst_pad_query_default (pad=0x7f40d426cac0 [GstGhostPad], parent=<optimized out>, query=0x7f4234068370) at ../subprojects/gstreamer/gst/gstpad.c:3411 #48 0x00007f4246eb6530 in gst_pad_query (pad=pad@entry=0x7f40d426cac0 [GstGhostPad], query=query@entry=0x7f4234068370) at ../subprojects/gstreamer/gst/gstpad.c:4071 #49 0x00007f4246ef2bac in gst_pad_query_accept_caps (pad=pad@entry=0x7f40d426cac0 [GstGhostPad], caps=<optimized out>) at ../subprojects/gstreamer/gst/gstutils.c:3144 #50 0x00007f4246eaf0fa in pre_eventfunc_check (event=0x7f40d8004c70, pad=0x7f40d426cac0 [GstGhostPad]) at ../subprojects/gstreamer/gst/gstpad.c:5611 #51 0x00007f4246eaf0fa in gst_pad_send_event_unchecked (pad=pad@entry=0x7f40d426cac0 [GstGhostPad], event=event@entry=0x7f40d8004c70, type=<optimized out>) at ../subprojects/gstreamer/gst/gstpad.c:5756 #52 0x00007f4246eb8d29 in gst_pad_send_event (pad=0x7f40d426cac0 [GstGhostPad], event=0x7f40d8004c70) at ../subprojects/gstreamer/gst/gstpad.c:5935 #53 0x00007f41a015dcc8 in send_sticky_event (pad=<optimized out>, event=<optimized out>, user_data=0x7f410f3fc5a0) at ../subprojects/gstreamer/gst/gstevent.h:438 #54 0x00007f4246eadbd9 in foreach_dispatch_function (user_data=0x7f410f3fc4d0, ev=0x7f410f3fc480, pad=0x7f40d4270fa0 [GstPad]) at ../subprojects/gstreamer/gst/gstpad.c:6034 #55 0x00007f4246eadbd9 in foreach_dispatch_function (pad=pad@entry=0x7f40d4270fa0 [GstPad], ev=ev@entry=0x7f410f3fc480, user_data=user_data@entry=0x7f410f3fc4d0) at ../subprojects/gstreamer/gst/gstpad.c:6026 #56 0x00007f4246ead448 in events_foreach (pad=pad@entry=0x7f40d4270fa0 [GstPad], func=func@entry=0x7f4246eadba0 <foreach_dispatch_function>, user_data=user_data@entry=0x7f410f3fc4d0) at ../subprojects/gstreamer/gst/gstpad.c:608 #57 0x00007f4246eb9933 in gst_pad_sticky_events_foreach (pad=pad@entry=0x7f40d4270fa0 [GstPad], foreach_func=foreach_func@entry=0x7f41a015dcb0 <send_sticky_event>, user_data=user_data@entry=0x7f410f3fc5a0) at ../subprojects/gstreamer/gst/gstpad.c:6065 #58 0x00007f41a0168d9b in send_sticky_events (dbin=0x561d326300b0 [GstDecodeBin], pad=0x7f40d4270fa0 [GstPad]) at ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c:1994 #59 0x00007f41a0168d9b in connect_pad (dbin=dbin@entry=0x561d326300b0 [GstDecodeBin], src=src@entry=0x561d3237b020 [GstCapsFilter], dpad=dpad@entry=0x561d3153d560 [GstDecodePad], pad=pad@entry=0x7f40d4270fa0 [GstPad], caps=caps@entry=0x7f40d8003cf0, factories=<optimized out>, chain=<optimized out>, deadend_details=0x7f410f3fc678) at ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c:2516 #60 0x00007f41a0166c61 in analyze_new_pad (dbin=dbin@entry=0x561d326300b0 [GstDecodeBin], src=src@entry=0x561d3237b020 [GstCapsFilter], pad=pad@entry=0x7f40d4270fa0 [GstPad], caps=caps@entry=0x7f40d8003cf0, chain=<optimized out>, chain@entry=0x7f40d40051d0, new_chain=new_chain@entry=0x7f410f3fc6c8) at ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c:1808 #61 0x00007f41a016769a in pad_added_cb (element=element@entry=0x561d3237b020 [GstCapsFilter], pad=pad@entry=0x7f40d4270fa0 [GstPad], chain=chain@entry=0x7f40d40051d0) at ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c:2949 #62 0x00007f41a016790f in caps_notify_cb (pad=0x7f40d4270fa0 [GstPad], unused=<optimized out>, chain=0x7f40d40051d0) at ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c:3139 #66 0x00007f424627491f in <emit signal notify:caps on instance 0x7f40d4270fa0 [GstPad]> (instance=instance@entry=0x7f40d4270fa0, signal_id=<optimized out>, detail=<optimized out>) at ../../../gobject/gsignal.c:3447 #63 0x00007f4246257c7d in g_closure_invoke (closure=0x7f40d80055d0, return_value=0x0, n_param_values=2, param_values=0x7f410f3fc910, invocation_hint=0x7f410f3fc890) at ../../../gobject/gclosure.c:810 #64 0x00007f424626b345 in signal_emit_unlocked_R (node=node@entry=0x561d31506600, detail=detail@entry=1502, instance=instance@entry=0x7f40d4270fa0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7f410f3fc910) at ../../../gobject/gsignal.c:3635 #65 0x00007f424627425e in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7f410f3fcae0) at ../../../gobject/gsignal.c:3391 #67 0x00007f424625c354 in g_object_dispatch_properties_changed (object=0x7f40d4270fa0 [GstPad], n_pspecs=<optimized out>, pspecs=<optimized out>) at ../../../gobject/gobject.c:1088 #68 0x00007f4246e69eb4 in gst_object_dispatch_properties_changed (object=0x7f40d4270fa0 [GstPad], n_pspecs=1, pspecs=0x7f410f3fcc50) at ../subprojects/gstreamer/gst/gstobject.c:454 #69 0x00007f424625e901 in g_object_notify_by_spec_internal (pspec=<optimized out>, object=0x7f40d4270fa0 [GstPad]) at ../../../gobject/gobject.c:1181 #70 0x00007f424625e901 in g_object_notify_by_pspec (object=object@entry=0x7f40d4270fa0 [GstPad], pspec=<optimized out>) at ../../../gobject/gobject.c:1291 #71 0x00007f4246eadaac in store_sticky_event (pad=pad@entry=0x7f40d4270fa0 [GstPad], event=event@entry=0x7f40d8004c70) at ../subprojects/gstreamer/gst/gstpad.c:5230 #72 0x00007f4246eb89b8 in gst_pad_push_event (pad=pad@entry=0x7f40d4270fa0 [GstPad], event=0x7f40d8004c70) at ../subprojects/gstreamer/gst/gstpad.c:5529 #73 0x00007f4246fb429b in gst_pad_set_caps (caps=0x7f40d8003cf0, pad=0x7f40d4270fa0 [GstPad]) at ../subprojects/gstreamer/gst/gstcompat.h:59 #74 0x00007f4246fb429b in gst_base_transform_setcaps (trans=trans@entry=0x561d3237b020 [GstCapsFilter], pad=<optimized out>, incaps=<optimized out>) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1337 --Type <RET> for more, q to quit, c to continue without paging-- #75 0x00007f4246fb568d in gst_base_transform_sink_eventfunc (trans=trans@entry=0x561d3237b020 [GstCapsFilter], event=0x7f40d8004c00) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:1898 #76 0x00007f41887a1061 in gst_capsfilter_sink_event (trans=0x561d3237b020 [GstCapsFilter], event=0x7f40d8004c00) at ../subprojects/gstreamer/gst/gstevent.h:438 #77 0x00007f4246eaf0b7 in gst_pad_send_event_unchecked (pad=pad@entry=0x7f40d4270d50 [GstPad], event=event@entry=0x7f40d8004c00, type=<optimized out>, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../subprojects/gstreamer/gst/gstpad.c:5765 #78 0x00007f4246eaf5d4 in gst_pad_push_event_unchecked (pad=pad@entry=0x7f40d4270b00 [GstPad], event=0x7f40d8004c00, type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../subprojects/gstreamer/gst/gstpad.c:5410 #79 0x00007f4246eafa44 in push_sticky (pad=pad@entry=0x7f40d4270b00 [GstPad], ev=ev@entry=0x7f410f3fd030, user_data=user_data@entry=0x7f410f3fd090) at ../subprojects/gstreamer/gst/gstevent.h:438 #80 0x00007f4246ead448 in events_foreach (pad=pad@entry=0x7f40d4270b00 [GstPad], func=func@entry=0x7f4246eaf9f0 <push_sticky>, user_data=user_data@entry=0x7f410f3fd090) at ../subprojects/gstreamer/gst/gstpad.c:608 #81 0x00007f4246eb8711 in check_sticky (event=0x7f40d8004c00, pad=0x7f40d4270b00 [GstPad]) at ../subprojects/gstreamer/gst/gstpad.c:3985 #82 0x00007f4246eb8711 in gst_pad_push_event (pad=pad@entry=0x7f40d4270b00 [GstPad], event=0x7f40d8004c00) at ../subprojects/gstreamer/gst/gstpad.c:5541 #83 0x00007f417314c5b3 in gst_pad_set_caps (caps=0x7f40d8003cf0, pad=0x7f40d4270b00 [GstPad]) at ../subprojects/gstreamer/gst/gstcompat.h:59 #84 0x00007f417314c5b3 in gst_h264_parse_update_src_caps (h264parse=h264parse@entry=0x7f40d8010800 [GstH264Parse], caps=<optimized out>, caps@entry=0x7f4234067990) at ../subprojects/gst-plugins-bad/gst/videoparsers/gsth264parse.c:2118 #85 0x00007f41731509ff in gst_h264_parse_set_caps (parse=0x7f40d8010800 [GstH264Parse], caps=<optimized out>) at ../subprojects/gst-plugins-bad/gst/videoparsers/gsth264parse.c:2937 #86 0x00007f4246f965b6 in gst_base_parse_sink_event_default (parse=0x7f40d8010800 [GstH264Parse], event=0x7f40d8004440) at ../subprojects/gstreamer/libs/gst/base/gstbaseparse.c:1191 #87 0x00007f417314a363 in gst_h264_parse_event (parse=0x7f40d8010800 [GstH264Parse], event=0x7f40d8004440) at ../subprojects/gst-plugins-bad/gst/videoparsers/gsth264parse.c:3112 #88 0x00007f4246eaf0b7 in gst_pad_send_event_unchecked (pad=pad@entry=0x7f40d42708b0 [GstPad], event=event@entry=0x7f40d8004440, type=<optimized out>) at ../subprojects/gstreamer/gst/gstpad.c:5765 #89 0x00007f4246eb8d29 in gst_pad_send_event (pad=0x7f40d42708b0 [GstPad], event=0x7f40d8004440) at ../subprojects/gstreamer/gst/gstpad.c:5935 #90 0x00007f41a015dcc8 in send_sticky_event (pad=<optimized out>, event=<optimized out>, user_data=0x7f410f3fd710) at ../subprojects/gstreamer/gst/gstevent.h:438 #91 0x00007f4246eadbd9 in foreach_dispatch_function (user_data=0x7f410f3fd640, ev=0x7f410f3fd5f0, pad=0x7f40d000ad20 [GstPad]) at ../subprojects/gstreamer/gst/gstpad.c:6034 #92 0x00007f4246eadbd9 in foreach_dispatch_function (pad=pad@entry=0x7f40d000ad20 [GstPad], ev=ev@entry=0x7f410f3fd5f0, user_data=user_data@entry=0x7f410f3fd640) at ../subprojects/gstreamer/gst/gstpad.c:6026 #93 0x00007f4246ead448 in events_foreach (pad=pad@entry=0x7f40d000ad20 [GstPad], func=func@entry=0x7f4246eadba0 <foreach_dispatch_function>, user_data=user_data@entry=0x7f410f3fd640) at ../subprojects/gstreamer/gst/gstpad.c:608 #94 0x00007f4246eb9933 in gst_pad_sticky_events_foreach (pad=pad@entry=0x7f40d000ad20 [GstPad], foreach_func=foreach_func@entry=0x7f41a015dcb0 <send_sticky_event>, user_data=user_data@entry=0x7f410f3fd710) at ../subprojects/gstreamer/gst/gstpad.c:6065 #95 0x00007f41a0168d9b in send_sticky_events (dbin=0x561d326300b0 [GstDecodeBin], pad=0x7f40d000ad20 [GstPad]) at ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c:1994 #96 0x00007f41a0168d9b in connect_pad (dbin=dbin@entry=0x561d326300b0 [GstDecodeBin], src=src@entry=0x561d315133d0 [GstTypeFindElement], dpad=dpad@entry=0x561d3153d560 [GstDecodePad], pad=pad@entry=0x7f40d000ad20 [GstPad], caps=caps@entry=0x7f4234067990, factories=<optimized out>, chain=<optimized out>, deadend_details=0x7f410f3fd7e8) at ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c:2516 #97 0x00007f41a0166c61 in analyze_new_pad (dbin=dbin@entry=0x561d326300b0 [GstDecodeBin], src=src@entry=0x561d315133d0 [GstTypeFindElement], pad=pad@entry=0x7f40d000ad20 [GstPad], caps=caps@entry=0x7f4234067990, chain=<optimized out>, new_chain=new_chain@entry=0x0) at ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c:1808 #98 0x00007f41a01674ad in type_found (typefind=0x561d315133d0 [GstTypeFindElement], probability=<optimized out>, caps=0x7f4234067990, decode_bin=0x561d326300b0 [GstDecodeBin]) at ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c:3344 #99 0x00007f4243c448ee in ffi_call_unix64 () at /usr/lib/x86_64-linux-gnu/libffi.so.6 #100 0x00007f4243c442bf in ffi_call () at /usr/lib/x86_64-linux-gnu/libffi.so.6 #105 0x00007f424627491f in <emit signal ??? on instance 0x561d315133d0 [GstTypeFindElement]> (instance=instance@entry=0x561d315133d0, signal_id=<optimized out>, detail=detail@entry=0) at ../../../gobject/gsignal.c:3447 #101 0x00007f4246258472 in g_cclosure_marshal_generic (closure=0x561d324cf420, return_gvalue=0x0, n_param_values=<optimized out>, param_values=<optimized out>, invocation_hint=<optimized out>, marshal_data=<optimized out>) at ../../../gobject/gclosure.c:1496 #102 0x00007f4246257c7d in g_closure_invoke (closure=0x561d324cf420, return_value=0x0, n_param_values=3, param_values=0x7f410f3fdc80, invocation_hint=0x7f410f3fdc00) at ../../../gobject/gclosure.c:810 #103 0x00007f424626b345 in signal_emit_unlocked_R (node=node@entry=0x561d323935e0, detail=detail@entry=0, instance=instance@entry=0x561d315133d0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7f410f3fdc80) at ../../../gobject/gsignal.c:3635 #104 0x00007f424627425e in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7f410f3fde60) at ../../../gobject/gsignal.c:3391 #106 0x00007f41887d8b2a in gst_type_find_element_emit_have_type (typefind=typefind@entry=0x561d315133d0 [GstTypeFindElement], probability=probability@entry=100, caps=caps@entry=0x7f4234067990) at ../subprojects/gstreamer/plugins/elements/gsttypefindelement.c:236 #107 0x00007f41887da1dc in gst_type_find_element_setcaps (caps=0x7f4234067990, typefind=0x561d315133d0 [GstTypeFindElement]) at ../subprojects/gstreamer/plugins/elements/gsttypefindelement.c:784 #108 0x00007f41887da1dc in gst_type_find_element_sink_event (pad=<optimized out>, parent=0x561d315133d0 [GstTypeFindElement], event=0x561d325b0710) at ../subprojects/gstreamer/plugins/elements/gsttypefindelement.c:674 #109 0x00007f4246eaf0b7 in gst_pad_send_event_unchecked (pad=pad@entry=0x7f40d000aad0 [GstPad], event=event@entry=0x561d325b0710, type=<optimized out>, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) --Type <RET> for more, q to quit, c to continue without paging-- at ../subprojects/gstreamer/gst/gstpad.c:5765 #110 0x00007f4246eaf5d4 in gst_pad_push_event_unchecked (pad=pad@entry=0x561d31fb1a80 [GstProxyPad], event=0x561d325b0710, type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../subprojects/gstreamer/gst/gstpad.c:5410 #111 0x00007f4246eafa44 in push_sticky (pad=pad@entry=0x561d31fb1a80 [GstProxyPad], ev=ev@entry=0x7f410f3fe120, user_data=user_data@entry=0x7f410f3fe180) at ../subprojects/gstreamer/gst/gstevent.h:438 #112 0x00007f4246ead448 in events_foreach (pad=pad@entry=0x561d31fb1a80 [GstProxyPad], func=func@entry=0x7f4246eaf9f0 <push_sticky>, user_data=user_data@entry=0x7f410f3fe180) at ../subprojects/gstreamer/gst/gstpad.c:608 #113 0x00007f4246eb8711 in check_sticky (event=0x561d325b0710, pad=0x561d31fb1a80 [GstProxyPad]) at ../subprojects/gstreamer/gst/gstpad.c:3985 #114 0x00007f4246eb8711 in gst_pad_push_event (pad=pad@entry=0x561d31fb1a80 [GstProxyPad], event=0x561d325b0710) at ../subprojects/gstreamer/gst/gstpad.c:5541 #115 0x00007f4246eb8ca4 in event_forward_func (pad=pad@entry=0x561d31fb1a80 [GstProxyPad], data=data@entry=0x7f410f3fe270) at ../subprojects/gstreamer/gst/gstevent.h:438 #116 0x00007f4246eb50fe in gst_pad_forward (pad=pad@entry=0x561d31faf490 [GstGhostPad], forward=forward@entry=0x7f4246eb8be0 <event_forward_func>, user_data=user_data@entry=0x7f410f3fe270) at ../subprojects/gstreamer/gst/gstpad.c:3008 #117 0x00007f4246eb520d in gst_pad_event_default (pad=0x561d31faf490 [GstGhostPad], parent=<optimized out>, event=0x561d325b0710) at ../subprojects/gstreamer/gst/gstpad.c:3105 #118 0x00007f4246eaf0b7 in gst_pad_send_event_unchecked (pad=pad@entry=0x561d31faf490 [GstGhostPad], event=event@entry=0x561d325b0710, type=<optimized out>, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../subprojects/gstreamer/gst/gstpad.c:5765 #119 0x00007f4246eaf5d4 in gst_pad_push_event_unchecked (pad=pad@entry=0x561d31fae310 [GstGhostPad], event=0x561d325b0710, type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../subprojects/gstreamer/gst/gstpad.c:5410 #120 0x00007f4246eafa44 in push_sticky (pad=pad@entry=0x561d31fae310 [GstGhostPad], ev=ev@entry=0x7f410f3fe440, user_data=user_data@entry=0x7f410f3fe4a0) at ../subprojects/gstreamer/gst/gstevent.h:438 #121 0x00007f4246ead448 in events_foreach (pad=pad@entry=0x561d31fae310 [GstGhostPad], func=func@entry=0x7f4246eaf9f0 <push_sticky>, user_data=user_data@entry=0x7f410f3fe4a0) at ../subprojects/gstreamer/gst/gstpad.c:608 #122 0x00007f4246eb8711 in check_sticky (event=0x561d325b0710, pad=0x561d31fae310 [GstGhostPad]) at ../subprojects/gstreamer/gst/gstpad.c:3985 #123 0x00007f4246eb8711 in gst_pad_push_event (pad=pad@entry=0x561d31fae310 [GstGhostPad], event=0x561d325b0710) at ../subprojects/gstreamer/gst/gstpad.c:5541 #124 0x00007f4246eb8ca4 in event_forward_func (pad=pad@entry=0x561d31fae310 [GstGhostPad], data=data@entry=0x7f410f3fe590) at ../subprojects/gstreamer/gst/gstevent.h:438 #125 0x00007f4246eb50fe in gst_pad_forward (pad=pad@entry=0x561d31fb1820 [GstProxyPad], forward=forward@entry=0x7f4246eb8be0 <event_forward_func>, user_data=user_data@entry=0x7f410f3fe590) at ../subprojects/gstreamer/gst/gstpad.c:3008 #126 0x00007f4246eb520d in gst_pad_event_default (pad=0x561d31fb1820 [GstProxyPad], parent=<optimized out>, event=0x561d325b0710) at ../subprojects/gstreamer/gst/gstpad.c:3105 #127 0x00007f4246eaf0b7 in gst_pad_send_event_unchecked (pad=pad@entry=0x561d31fb1820 [GstProxyPad], event=event@entry=0x561d325b0710, type=<optimized out>, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../subprojects/gstreamer/gst/gstpad.c:5765 #128 0x00007f4246eaf5d4 in gst_pad_push_event_unchecked (pad=pad@entry=0x561d32586a40 [GstPad], event=0x561d325b0710, type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../subprojects/gstreamer/gst/gstpad.c:5410 #129 0x00007f4246eafa44 in push_sticky (pad=pad@entry=0x561d32586a40 [GstPad], ev=ev@entry=0x7f410f3fe760, user_data=user_data@entry=0x7f410f3fe7c0) at ../subprojects/gstreamer/gst/gstevent.h:438 #130 0x00007f4246ead448 in events_foreach (pad=pad@entry=0x561d32586a40 [GstPad], func=func@entry=0x7f4246eaf9f0 <push_sticky>, user_data=user_data@entry=0x7f410f3fe7c0) at ../subprojects/gstreamer/gst/gstpad.c:608 #131 0x00007f4246eb8711 in check_sticky (event=0x561d325b0710, pad=0x561d32586a40 [GstPad]) at ../subprojects/gstreamer/gst/gstpad.c:3985 #132 0x00007f4246eb8711 in gst_pad_push_event (pad=0x561d32586a40 [GstPad], event=0x561d325b0710) at ../subprojects/gstreamer/gst/gstpad.c:5541 #133 0x00007f4246fae06b in gst_base_src_set_caps (src=src@entry=0x561d325b22f0 [GstAppSrc], caps=caps@entry=0x7f4234067990) at ../subprojects/gstreamer/libs/gst/base/gstbasesrc.c:954 #134 0x00007f4246feda15 in gst_app_src_do_negotiate (basesrc=basesrc@entry=0x561d325b22f0 [GstAppSrc]) at ../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsrc.c:1102 #135 0x00007f4246fedcab in gst_app_src_create (bsrc=0x561d325b22f0 [GstAppSrc], offset=<optimized out>, size=4096, buf=0x7f410f3fe950) at ../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsrc.c:1203 #136 0x00007f4246faa14f in gst_base_src_get_range (src=src@entry=0x561d325b22f0 [GstAppSrc], offset=offset@entry=18446744073709551615, length=<optimized out>, buf=buf@entry=0x7f410f3fea28) at ../subprojects/gstreamer/libs/gst/base/gstbasesrc.c:2527 #137 0x00007f4246fabf54 in gst_base_src_loop (pad=0x561d32586a40 [GstPad]) at ../subprojects/gstreamer/libs/gst/base/gstbasesrc.c:2851 #138 0x00007f4246ee46d1 in gst_task_func (task=0x561d322f13b0 [GstTask]) at ../subprojects/gstreamer/gst/gsttask.c:328 #139 0x00007f424619edc3 in g_thread_pool_thread_proxy (data=<optimized out>) at ../../../glib/gthreadpool.c:307 #140 0x00007f424619e425 in g_thread_proxy (data=0x561d325a7720) at ../../../glib/gthread.c:784 #141 0x00007f4247442fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486 #142 0x00007f42451eb82f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
To sum-up these issues happen with:
GST_GL_API=gles2 GST_GL_PLATFORM=egl ... vaapih264dec ! "video/x-raw(memory:DMABuf), format=RGBA" ! glimagesink
?But get resolved when inserting
vaapipostproc
, it that correct ?Edited by Julien IsorceFixed in latest mesa, see #100 (closed)
There are more issues, as mentioned by @vjaquez.
can we improve the white list to check driver version ?
* vaQueryVendorString returns a pointer to a zero-terminated string * describing some aspects of the VA implemenation on a specific * hardware accelerator. The format of the returned string is vendor * specific and at the discretion of the implementer.
We'll end up parsing arbitrary strings which is (already) error prone.
It is funny the doc in the va.c is more specific:
* The format of the returned string is: * <vendorname>-<major_version>-<minor_version>-<addtional_info>
Also I notice that
vaInitialize
always returnsVA_MAJOR_VERSION
/VA_MINOR_VERSION
and there is no va helper to queryCTX(dpy)->version_major
andCTX(dpy)->version_minor
.VADriverContext
'sversion_major
andversion_minor
are completely ignored and actually mesa fixes them to 0.1 :)Maybe we can implement it, around https://github.com/intel/libva/blob/master/va/va.c#L775 ,
vaQueryDriverVersion()
which would just returnCTX(dpy)->version_major
andCTX(dpy)->version_minor
. Or fixvaInitialize
to return them.