[Bug 740753] vaapisink: add support for EGL

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Jul 21 06:55:10 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=740753

Daniel van Vugt <daniel.van.vugt at canonical.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |daniel.van.vugt at canonical.c
                   |                            |om

--- Comment #3 from Daniel van Vugt <daniel.van.vugt at canonical.com> ---
I'm looking at this bug at the moment, although if someone could beat me to a
fix that would be excellent.

It appears there are two initial problems:

1. The EGL texture upload code path is not used (at least not with the clutter
video sink) because vaapipostproc deletes that cap:

   if ((GST_VAAPI_PLUGIN_BASE_SRC_PAD_CAN_DMABUF (postproc)
           || !gst_vaapi_display_has_opengl (GST_VAAPI_PLUGIN_BASE_DISPLAY
               (postproc)))
       && gl_upload_meta_idx > -1) {
     gst_caps_remove_structure (caps, gl_upload_meta_idx);
   }

2. create_objects (GstVaapiTextureEGL * texture, GLuint texture_id) fails in a
couple of places with EGL_BAD_PARAMETER. This seems to be because the
texture_id is from the downstream GL context (the thread that's doing the
upload), and gstreamer-vaapi is using some other completely wrong GL context.
So EGL reports EGL_BAD_PARAMETER because texture_id is not valid for the
context we're trying to use.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list