mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-28 04:31:06 +00:00
5b8d7a443e
Allows callers to properly reference count the buffers used for rendering. Fixes a redraw race in glimagesink where the previous buffer (the one used for redraw operations) is freed as soon as the next buffer is uploaded. 1. glimagesink uploads in _prepare() to texture n 1.1 glupload holds buffer n 2. glimagesink _render()s texture n 3. glimagesink uploads texture n+1 3.1 glupload free previous buffer which deletes texture n 3.2 glupload holds buffer n+1 4. glwindow resize/expose 5. glimagesink redraws with texture n The race is that the buffer n (the one used for redrawing) is freed as soon as the buffer n+1 arrives. There could be any amount of time and number of redraws between this event and when buffer n+1 is actually rendered and thus replaces buffer n as the redraw source. https://bugzilla.gnome.org/show_bug.cgi?id=736740 |
||
---|---|---|
.. | ||
base | ||
basecamerabinsrc | ||
codecparsers | ||
gl | ||
insertbin | ||
interfaces | ||
mpegts | ||
uridownloader | ||
video | ||
wayland | ||
gettext.h | ||
glib-compat-private.h | ||
gst-i18n-plugin.h | ||
Makefile.am |