Comment 4 for bug 2019917

Revision history for this message
James Henstridge (jamesh) wrote :

The use of vaapipostproc in Totem appears to be through vaapidecodebin:

https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/subprojects/gstreamer-vaapi/gst/vaapi/gstvaapidecodebin.c#L326-329

The error path there calls post_missing_element_message(), which would trigger Totem's message. It seems like an odd choice though, since the two elements come from the same plugin: if it is missing, there's no other plugins you could install to fix it.

The creation of the postprocessing element is controlled by the "disable-vpp" GObject property, and defaults to true if the GST_VAAPI_DISABLE_VPP environment variable is set:

https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/subprojects/gstreamer-vaapi/gst/vaapi/gstvaapidecodebin.c#L406

And running "GST_VAAPI_DISABLE_VPP=1 totem filename.mp4" does seem to work.

I also gave the i965 driver a try with "LIBVA_DRIVER_NAME=i965 totem filename.mp4", which played the video but with corrupted video (maybe tiling related?). i965 with DISABLE_VPP=1 plays fine though, so is not necessarily a better choice for this generation of hardware.

On the GStreamer side, the best option would probably be to stop posting the missing element message and just disable VPP automatically if it can't create the element. I'll look at putting together an upstream bug for that.