[Bug 731525] multiple glimagesink elements aborts due to no XInitThreads.
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Thu Jun 12 00:20:24 PDT 2014
https://bugzilla.gnome.org/show_bug.cgi?id=731525
GStreamer | gst-plugins-bad | git
Julien Isorce <julien.isorce> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |julien.isorce at gmail.com
--- Comment #1 from Julien Isorce <julien.isorce at gmail.com> 2014-06-12 07:20:22 UTC ---
Do you mean that "gst_gl_ensure_display" make them use the same GstGLDisplay
instance ?
Maybe we could ensure thread safety ourself: renaming
"gst_gl_display_get_handle":
to "gst_gl_display_acquire_handle" and adding "gst_gl_display_release_handle".
The caller would be responsible to release it when done.
The bad thing is that it adds a locking at client level, so 2 glXSwapBuffers
(x11_display_handle, window_handle) would never happen at the same time within
the same pipeline.
But I think it would be the same result with XInitThreads, plus it adds the
constrain to all pipelines. Anyway I guess at some point there is a locking
mechanism at server level if not using the same connection.
Good thing is that we avoid 1 and 2.
Also when using only one glimagesink, the same problem will happen when having
one one GLThread per streaming thread and having gleffects ! queue !
glimagesink.
In the end I would prefer to go for a solution where we have the hand on the
locking.
(Just a note, the glimage_sink->display_name is never used)
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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