summaryrefslogtreecommitdiff
path: root/ext/wayland/gstwaylandsink.h
diff options
context:
space:
mode:
authorGeorge Kiagiadakis <george.kiagiadakis@collabora.com>2014-05-29 12:27:46 +0300
committerGeorge Kiagiadakis <george.kiagiadakis@collabora.com>2014-06-17 13:51:28 +0200
commit06639dd72748e24822dab453a97a8fa3902adc6d (patch)
tree113eefacd7d3dfbd7d0fc95bf725068085c1bd2e /ext/wayland/gstwaylandsink.h
parentc17521c096a4e7c217aea6250325933c31d3e079 (diff)
downloadgstreamer-plugins-bad-06639dd72748e24822dab453a97a8fa3902adc6d.tar.gz
waylandsink: remove the manual synchronization from pause/resume_rendering and use subsurface sync/desync
Previously, in order to change the surface size we had to let the pipeline redraw it, which at first also involved re-negotiating caps, etc, so a synchronization with the pipeline was absolutely necessary. At the moment, we are using wl_viewport, which separates the surface size from the buffer size and it also allows us to commit a surface resize without attaching a new buffer, so it is enough to just do: gst_wayland_video_pause_rendering(): wl_subsurface_set_sync() gst_video_overlay_set_render_rectangle(): wl_subsurface_set_position() wl_viewport_set_destination() wl_surface_damage() wl_surface_commit() ... commit the parent surface ... gst_wayland_video_resume_rendering(): wl_subsurface_set_desync() This is enough to synchronize a surface resize and the pipeline can continue drawing independently. Now of course, the names pause/resume_rendering are bad. I will rename them in another commit.
Diffstat (limited to 'ext/wayland/gstwaylandsink.h')
-rw-r--r--ext/wayland/gstwaylandsink.h3
1 files changed, 0 insertions, 3 deletions
diff --git a/ext/wayland/gstwaylandsink.h b/ext/wayland/gstwaylandsink.h
index 1280f746b..85265e8da 100644
--- a/ext/wayland/gstwaylandsink.h
+++ b/ext/wayland/gstwaylandsink.h
@@ -63,10 +63,7 @@ struct _GstWaylandSink
gchar *display_name;
gboolean redraw_pending;
- gboolean drawing_frozen;
- gboolean rendered;
GMutex render_lock;
- GCond render_cond;
GstBuffer *last_buffer;
};