[Bug 749411] glcontext_egl should call eglTerminate to free resources for non EGL DISPLAY types

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon May 18 19:56:39 PDT 2015


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

--- Comment #4 from Jian Li <lj.qfy.sh at gmail.com> ---
This is not the display sharing case, it will create a egl_display in
gst_gl_context_egl_create_context() if it's not GST_GL_DISPLAY_TYPE_EGL type,
see below code, this means one context will have it's own egl_display, shall it
release the resources when this context is destroyed?

  if (display->type == GST_GL_DISPLAY_TYPE_EGL) {
    egl->egl_display = (EGLDisplay) gst_gl_display_get_handle (display);
  } else {
    guintptr native_display = gst_gl_display_get_handle (display);

    if (!native_display) {
      GstGLWindow *window = NULL;
      GST_WARNING ("Failed to get a global display handle, falling back to "
          "per-window display handles.  Context sharing may not work");

      if (other_context)
        window = gst_gl_context_get_window (other_context);
      if (!window)
        window = gst_gl_context_get_window (context);
      if (window) {
        native_display = gst_gl_window_get_display (window);
        gst_object_unref (window);
      }
    }

    egl->egl_display = eglGetDisplay ((EGLNativeDisplayType) native_display);
  }

-- 
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