gst_parse_error: no element "vaapih265dec"

Arun Raghavan arun at arunraghavan.net
Wed Nov 9 02:55:51 UTC 2022


On Sat, 5 Nov 2022, at 6:30 PM, Bill Hofmann via gstreamer-devel wrote:
> OK. Looking with the GST_DEBUG=2,vaapi*:5 results. The two Gstreamer 
> calls are Gst.init(None) and
> Gst.parse_launch with this pipeline:
>> souphttpsrc location="http://localhost/foo.m3u8" ! parsebin name=pb ! queue ! vaapih265dec !
>> video/x-raw,format=P010_10LE ! queue max-size-bytes=100663300 ! kmssink connector-id=308 plane-id=31
>> pb. ! queue ! fdkaacdec ! scaletempo ! volume volume=0.9 ! alsasink
>
> The Gst logging output is (from system log..., this is running as a service):
>> *Nov 05 15:08:09 player0 systemd[682]: Queued start job for default target Main User Target.*
>> Nov 05 15:08:19 player0 python3[716]: 0:00:10.017282911   716 0x562e9953f890 INFO                  python lvplayer.py:74:__init__: Start init config: '/media/views/content/config/nuc.json'
>> Nov 05 15:08:21 player0 python3[716]: 0:00:11.516405122   716 0x562e9953f890 ERROR           GST_PIPELINE subprojects/gstreamer/gst/parse/grammar.y:499:gst_parse_element_make: no element "vaapih265dec"
>> Nov 05 15:08:21 player0 python3[716]: 0:00:11.516417510   716 0x562e9953f890 ERROR           GST_PIPELINE subprojects/gstreamer/gst/parse/grammar.y:1118:priv_gst_parse_yyparse: link has no sink [source=@0x562e99792190]
>> Nov 05 15:08:21 player0 python3[716]: 0:00:11.516439058   716 0x562e9953f890 ERROR           GST_PIPELINE subprojects/gstreamer/gst/parse/grammar.y:1118:priv_gst_parse_yyparse: link has no source [sink=@0x562e99792490]
>> Nov 05 15:08:21 player0 python3[716]: Traceback (most recent call last):
>> Nov 05 15:08:21 player0 python3[716]:   File "/home/player/lvplayer/src/lvplayer/lvplayer.py", line 948, in <module>
>> Nov 05 15:08:21 player0 python3[716]:     sys.exit(main(sys.argv))
>> Nov 05 15:08:21 player0 python3[716]:   File "/home/player/lvplayer/src/lvplayer/lvplayer.py", line 938, in main
>> Nov 05 15:08:21 player0 python3[716]:     player = Player(args[1])
>> Nov 05 15:08:21 player0 python3[716]:   File "/home/player/lvplayer/src/lvplayer/lvplayer.py", line 112, in __init__
>> Nov 05 15:08:21 player0 python3[716]:     self._player = Gst.parse_launch(PIPELINE)
>> Nov 05 15:08:21 player0 python3[716]: gi.repository.GLib.GError: gst_parse_error: no element "vaapih265dec" (1)
>> Nov 05 15:08:21 player0 systemd[682]: player_service.service: Main process exited, code=exited, status=1/FAILURE
>> Nov 05 15:08:21 player0 systemd[682]: player_service.service: Failed with result 'exit-code'.
>> Nov 05 15:08:21 player0 systemd[682]: Failed to start LiquidView Player Service.
>> Nov 05 15:08:21 player0 systemd[682]: Reached target Main User Target.
>> Nov 05 15:08:21 player0 systemd[682]: Startup finished in 12.175s.
>> Nov 05 15:08:26 player0 systemd[682]: player_service.service: Scheduled restart job, restart counter is at 1.
>> Nov 05 15:08:26 player0 systemd[682]: Stopped LiquidView Player Service.
>> *Nov 05 15:08:26 player0 systemd[682]: Starting LiquidView Player Service...*
>> Nov 05 15:08:27 player0 python3[1857]: Loading LiquidView Player version lvplayer at 9aa933d3c03040baa072d02e28942744b70d5c38
>> Nov 05 15:08:27 player0 python3[1858]: 0:00:00.002161960  1858 0x560ca588c830 INFO                   vaapi gstvaapiutils.c:95:gst_vaapi_log: VA-API version 1.14.0
>> Nov 05 15:08:27 player0 python3[1858]: 0:00:00.002183680  1858 0x560ca588c830 INFO                   vaapi gstvaapiutils.c:95:gst_vaapi_log: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
>
> It then relaunches the service, and this time after Gst.init(None), 
> there are a whole raft of Vaapi calls before "Start init config", and 
> it succeeds.  Full log of my player service up until successful launch 
> attached.
>
> What's the best solution here? Seems pretty reliably unable to start 
> until the second try, or, maybe, 20 seconds after boot?

My best guess is that it takes some time for the /dev nodes to appear and thus for the vaapi plugin to find the required resources to expose the plugin at all. Why that might be is pretty system-specific and might need some digging in.

Cheers,
Arun


More information about the gstreamer-devel mailing list