waylandsink: create and maintain the subsurface inside the sink
authorGeorge Kiagiadakis <george.kiagiadakis@collabora.com>
Fri, 23 May 2014 15:18:32 +0000 (18:18 +0300)
committerGeorge Kiagiadakis <george.kiagiadakis@collabora.com>
Tue, 17 Jun 2014 11:51:27 +0000 (13:51 +0200)
commit07f671fcaf4d2956cba920fe19ce394607ec10e0
treeb930b80cc56f3b690a6f34821e3dedff8ae2b9e6
parentb8063133961334e3c9b8b89caaaa3789723ab7a7
waylandsink: create and maintain the subsurface inside the sink

This means that the given surface in set_window_handle can now be
the window's top-level surface on top of which waylandsink creates
its own subsurface for rendering the video.

This has many advantages:
* We can maintain aspect ratio by overlaying the subsurface in
  the center of the given area and fill the parent surface's area
  black in case we need to draw borders (instead of adding another
  subsurface inside the subsurface given from the application,
  so, less subsurfaces)
* We can more easily support toolkits without subsurfaces (see gtk)
* We can get properly use gst_video_overlay_set_render_rectangle
  as our api to set the video area size from the application and
  therefore remove gst_wayland_video_set_surface_size.
ext/wayland/gstwaylandsink.c
ext/wayland/wldisplay.c
ext/wayland/wldisplay.h
ext/wayland/wlwindow.c
ext/wayland/wlwindow.h