Problem using the vaapi config-opts

Philippe Coatmeur xaccrocheur at gmail.com
Sat Nov 26 20:00:01 UTC 2022


Hello everyone

I'm currently developing an application with a video player component, 
using the new Gtk4 Gtk.Video class 
<https://docs.gtk.org/gtk4/class.Video.html>, which I understand is not 
directly gstreamer-related.

However, it does use the Gstreamer plugins ; Now, on the desktop, as a 
standalone app, it makes use of the distribution packages (base, good, 
bad, and ugly) and everything works fine.

But in the portable (Flatpak) version, I build them to make them 
available inside the app's sandbox, like this:

{
     "name": "gstreamer",
     "buildsystem": "meson",
     "config-opts": [
         "--buildtype=release",
         "--wrap-mode=nodownload",

         "-Dbase=enabled",
         "-Dgood=enabled",
         "-Dbad=enabled",
         "-Dugly=enabled",
         "-Dlibav=enabled",
         "-Dvaapi=enabled",
         "-Dsharp=disabled",
         "-Drs=disabled",
         "-Dpython=disabled",
         "-Ddevtools=disabled",
         "-Dges=disabled",
         "-Drtsp_server=disabled",
         "-Dgst-examples=disabled",
         "-Dqt5=disabled",
         "-Dtests=disabled",
         "-Dexamples=disabled",
         "-Dintrospection=enabled",
         "-Ddoc=disabled",
         "-Dgtk_doc=disabled",
         "-Dgpl=enabled",

         "-Dgstreamer:benchmarks=disabled",
         "-Dgstreamer:gobject-cast-checks=disabled",
         "-Dgstreamer:glib-asserts=disabled",
         "-Dgstreamer:glib-checks=disabled",
         "-Dgstreamer:extra-checks=disabled",

         "-Dgst-plugins-base:gobject-cast-checks=disabled",
         "-Dgst-plugins-base:glib-asserts=disabled",
         "-Dgst-plugins-base:glib-checks=disabled",
         "-Dgst-plugins-base:gl_api=opengl,gles2",
         "-Dgst-plugins-base:gl_platform=egl,glx",

         "-Dgst-plugins-good:gobject-cast-checks=disabled",
         "-Dgst-plugins-good:glib-asserts=disabled",
         "-Dgst-plugins-good:glib-checks=disabled",
         "-Dgst-plugins-good:gtk3=disabled",

         "-Dgst-plugins-bad:gobject-cast-checks=disabled",
         "-Dgst-plugins-bad:glib-asserts=disabled",
         "-Dgst-plugins-bad:glib-checks=disabled",
         "-Dgst-plugins-bad:extra-checks=disabled",
         "-Dgst-plugins-bad:vulkan=disabled",
         "-Dgst-plugins-bad:webrtc=disabled",
         "-Dgst-plugins-bad:wasapi=disabled",
         "-Dgst-plugins-bad:wasapi2=disabled",
         "-Dgst-plugins-bad:winks=disabled",
         "-Dgst-plugins-bad:winscreencap=disabled",
         "-Dgst-plugins-bad:assrender=enabled",
         "-Dgst-plugins-bad:nvcodec=enabled",
         "-Dgst-plugins-bad:v4l2codecs=enabled",
         "-Dgst-plugins-bad:va=enabled",


         "-Dgst-plugins-ugly:gobject-cast-checks=disabled",
         "-Dgst-plugins-ugly:glib-asserts=disabled",
         "-Dgst-plugins-ugly:glib-checks=disabled",
         "-Dgst-plugins-ugly:mpeg2dec=enabled"
     ],
     "sources": [
         {
             "type": "git",
             "url": 
"https://gitlab.freedesktop.org/gstreamer/gstreamer.git",
             "tag": "1.21.2",
             "commit": "a1fcf2b90a293ed6d345411a73420fd77faed4f2",
             "disable-submodules": true
         }
     ]
}

But as soon as I enable the vaapi option - which I need to decode H.265 
- all the videos become red, like they lose the G and B.

This has been blocking me for several days now, as I tried a lot of 
options combinations, and the above list of options is the best I could 
come up with:

  * Every codec but H.265 plays fine ; or
  * Every codec plays fine but only the red channel

  Does anybody know why this happens? Is it a bad interaction between 
two incompatible options?

Thank you for your attention,


Phil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20221126/a32afa9d/attachment.htm>


More information about the gstreamer-devel mailing list