gstreamer/ext/wayland
George Kiagiadakis 06639dd727 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.
2014-06-17 13:51:28 +02:00
..
.gitignore waylandsink: Build bindings for the unstable wl_scaler spec 2014-06-17 13:51:24 +02:00
gstwaylandsink.c waylandsink: remove the manual synchronization from pause/resume_rendering and use subsurface sync/desync 2014-06-17 13:51:28 +02:00
gstwaylandsink.h waylandsink: remove the manual synchronization from pause/resume_rendering and use subsurface sync/desync 2014-06-17 13:51:28 +02:00
Makefile.am waylandsink/Makefile.am: Fix scaler-client-protocol.h generation 2014-06-17 13:51:26 +02:00
scaler.xml waylandsink: Update wl_scaler to version 2 2014-06-17 13:51:26 +02:00
waylandpool.c waylandsink: Handle wl_buffer::release and don't reuse buffers that are not released 2014-06-17 13:51:24 +02:00
waylandpool.h waylandsink: Handle wl_buffer::release and don't reuse buffers that are not released 2014-06-17 13:51:24 +02:00
wldisplay.c waylandsink: create and maintain the subsurface inside the sink 2014-06-17 13:51:27 +02:00
wldisplay.h waylandsink: create and maintain the subsurface inside the sink 2014-06-17 13:51:27 +02:00
wlvideoformat.c waylandsink: remove unused functions 2014-06-17 13:51:26 +02:00
wlvideoformat.h waylandsink: add G_BEGIN/END_DECLS on all headers for consistency 2014-06-17 13:51:27 +02:00
wlwindow.c waylandsink: move surface resizing logic to the GstWlWindow and make it be called from the main thread 2014-06-17 13:51:28 +02:00
wlwindow.h waylandsink: move surface resizing logic to the GstWlWindow and make it be called from the main thread 2014-06-17 13:51:28 +02:00