[Bug 723529] glimagesink: only draws on buffer push

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Feb 4 06:50:22 PST 2014


https://bugzilla.gnome.org/show_bug.cgi?id=723529
  GStreamer | gst-plugins-gl | git

--- Comment #4 from Chris Paulson-Ellis <chris at edesix.com> 2014-02-04 14:50:16 UTC ---
You don't get expose events in the application, presumably because
gst_gl_window_x11_handle_event() has handled the event for the internally
created gl window and this window is completely covering the parent window -
the one set with gst_video_overlay_set_window_handle().

I suppose glimagesink could synthesize an expose event for the parent window
whenever it doesn't handle an expose on the internal window, but this strikes
me as a weird hack. Mind you - it also seems a bit weird that glimagesink
implements gst_video_overlay_expose() by sending itself an expose event... They
are normally only sent by the X server.

Resizes are not such a problem as both the internal and parent windows get the
ConfigureNotify event. However, if you call gst_video_overlay_expose() from the
application, then the resulting redraw happens at the previous window size, so
the display tends to always be one resize behind where it should be.

ximagesink handles exposes by default, but you can turn it off with the
handle-expose property.

ximagesink doesn't seem to handle configure events until the next buffer push.

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