[Bug 745090] android: Fix changing GL window handle

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Mar 27 22:54:43 PDT 2015


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

Matthew Waters <ystreet00 at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ystreet00 at gmail.com

--- Comment #8 from Matthew Waters <ystreet00 at gmail.com> ---
This is caused by a number of things.
1. this patch
2. bc7a7259f357b0065dd94e0668b5a895d83fa53a fixing up the send_message_async
calling onto a NULL GMainContext resulting in performing the set_window_handle
on the main context which is racy.  However that moved the set_window_handle to
after the context_class->create_context call.
3. eagl context class assumes that the view is always available by the
context_class->create_context call.

One fix is to bring back the old behaviour of immediately setting the window
handle if the window main loop is not running.  This will only be non-racy iff
set_window_handle is synchronised with context_create (either calling thread or
gl thread will work) which mostly happens already.  The only time that doesn't
hold is when the app explicitly sets the window handle while we're creating the
context but that's currently racy anyway.

The other more involved fix is to get the layer from the window/view whenever
it needs the access the layer so it always has the latest layer and can detect
layer/view changes.  The layer should also not be context state as it currently
is.

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