GNOME Bugzilla – Bug 705831
eglglessink: fix expose after changing the window_handle
Last modified: 2014-10-30 18:49:08 UTC
When the window handle changes (eg:a device rotation) and no buffer is processed before doing an expose, the last texture is no longer valid in the current context, so the last buffer needs to be uploaded again.
Created attachment 251338 [details] [review] eglglessink: fix expose after changing the window_handle When the window handle changes iand no buffer is processed before doing an expose, the last texture is no longer valid in the current context, so the last buffer needs to be uploaded again.
Needs some more work for 1.0
Created attachment 251342 [details] [review] eglglessink: fix expose after changing the window_handle
Review of attachment 251342 [details] [review]: ::: ext/eglgles/gsteglglessink.c @@ +1012,3 @@ + obj = GST_MINI_OBJECT_CAST (gst_buffer_ref (buf)); + gst_sample_unref (sample); + } Don't we already keep the last buffer around elsewhere in eglglessink? Otherwise makes sense, but should probably be integrated better with the other patch that allows to change the window during playback.
Created attachment 252191 [details] [review] 0001-eglglessink-fix-expose-after-changing-the-window_han.patch
Created attachment 252192 [details] [review] 0001-eglglessink-fix-expose-after-changing-the-window_han.patch Sorry, I attached the wrong file before
Review of attachment 252192 [details] [review]: ::: ext/eglgles/gsteglglessink.c @@ +1005,3 @@ + + if (G_UNLIKELY (obj == NULL && window_changed && + eglglessink->last_buffer != NULL)) { I think this code should be in the expose() handler and not in queue_object()
eglglessink was removed in the latest stable GStreamer series, with glimagesink being the replacement. Please file a new bug against glimagesink if you still have problems with glimagesink and recent versions of GStreamer (git master or 1.4.x), thanks!