<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hello everyone</p>
    <p>I'm currently developing an application with a video player
      component, using <a
        href="https://docs.gtk.org/gtk4/class.Video.html">the new Gtk4
        Gtk.Video class</a>, which I understand is not directly
      gstreamer-related.</p>
    <p>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. <br>
    </p>
    <p>But in the portable (Flatpak) version, I build them to make them
      available inside the app's sandbox, like this:</p>
    <p><font face="monospace">{<br>
            "name": "gstreamer",<br>
            "buildsystem": "meson",<br>
            "config-opts": [<br>
                "--buildtype=release",<br>
                "--wrap-mode=nodownload",<br>
        <br>
                "-Dbase=enabled",<br>
                "-Dgood=enabled",<br>
                "-Dbad=enabled",<br>
                "-Dugly=enabled",<br>
                "-Dlibav=enabled",<br>
                "-Dvaapi=enabled",<br>
                "-Dsharp=disabled",<br>
                "-Drs=disabled",<br>
                "-Dpython=disabled",<br>
                "-Ddevtools=disabled",<br>
                "-Dges=disabled",<br>
                "-Drtsp_server=disabled",<br>
                "-Dgst-examples=disabled",<br>
                "-Dqt5=disabled",<br>
                "-Dtests=disabled",<br>
                "-Dexamples=disabled",<br>
                "-Dintrospection=enabled",<br>
                "-Ddoc=disabled",<br>
                "-Dgtk_doc=disabled",<br>
                "-Dgpl=enabled",<br>
        <br>
                "-Dgstreamer:benchmarks=disabled",<br>
                "-Dgstreamer:gobject-cast-checks=disabled",<br>
                "-Dgstreamer:glib-asserts=disabled",<br>
                "-Dgstreamer:glib-checks=disabled",<br>
                "-Dgstreamer:extra-checks=disabled",<br>
        <br>
                "-Dgst-plugins-base:gobject-cast-checks=disabled",<br>
                "-Dgst-plugins-base:glib-asserts=disabled",<br>
                "-Dgst-plugins-base:glib-checks=disabled",<br>
                "-Dgst-plugins-base:gl_api=opengl,gles2",<br>
                "-Dgst-plugins-base:gl_platform=egl,glx",<br>
        <br>
                "-Dgst-plugins-good:gobject-cast-checks=disabled",<br>
                "-Dgst-plugins-good:glib-asserts=disabled",<br>
                "-Dgst-plugins-good:glib-checks=disabled",<br>
                "-Dgst-plugins-good:gtk3=disabled",<br>
        <br>
                "-Dgst-plugins-bad:gobject-cast-checks=disabled",<br>
                "-Dgst-plugins-bad:glib-asserts=disabled",<br>
                "-Dgst-plugins-bad:glib-checks=disabled",<br>
                "-Dgst-plugins-bad:extra-checks=disabled",<br>
                "-Dgst-plugins-bad:vulkan=disabled",<br>
                "-Dgst-plugins-bad:webrtc=disabled",<br>
                "-Dgst-plugins-bad:wasapi=disabled",<br>
                "-Dgst-plugins-bad:wasapi2=disabled",<br>
                "-Dgst-plugins-bad:winks=disabled",<br>
                "-Dgst-plugins-bad:winscreencap=disabled",<br>
                "-Dgst-plugins-bad:assrender=enabled",<br>
                "-Dgst-plugins-bad:nvcodec=enabled",<br>
                "-Dgst-plugins-bad:v4l2codecs=enabled",<br>
                "-Dgst-plugins-bad:va=enabled",<br>
        <br>
        <br>
                "-Dgst-plugins-ugly:gobject-cast-checks=disabled",<br>
                "-Dgst-plugins-ugly:glib-asserts=disabled",<br>
                "-Dgst-plugins-ugly:glib-checks=disabled",<br>
                "-Dgst-plugins-ugly:mpeg2dec=enabled"<br>
            ],<br>
            "sources": [<br>
                {<br>
                    "type": "git",<br>
                    "url":
        <a class="moz-txt-link-rfc2396E" href="https://gitlab.freedesktop.org/gstreamer/gstreamer.git">"https://gitlab.freedesktop.org/gstreamer/gstreamer.git"</a>,<br>
                    "tag": "1.21.2",<br>
                    "commit":
        "a1fcf2b90a293ed6d345411a73420fd77faed4f2",<br>
                    "disable-submodules": true<br>
                }<br>
            ]<br>
        }<br>
      </font></p>
    <p>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.</p>
    <p>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:</p>
    <ul>
      <li>Every codec but H.265 plays fine ; or<br>
      </li>
      <li>Every codec plays fine but only the red channel<br>
      </li>
    </ul>
    <p> Does anybody know why this happens? Is it a bad interaction
      between two incompatible options?</p>
    <p>Thank you for your attention,</p>
    <p><br>
    </p>
    <p>Phil<br>
    </p>
    <p></p>
  </body>
</html>