10 Commits

Author SHA1 Message Date
George Kiagiadakis
c62ec6f815 waylandsink: get the external display handle using GstContext
This drops the ugly GstWaylandWindowHandle structure and is much
more elegant because we can now request the display separately
from the window handle. Therefore the window handle can be requested
in render(), i.e. when it is really needed and we can still open
the correct display for getting caps and creating the pool earlier.

This change also separates setting the wl_surface from setting its size.
Applications should do that by calling two functions in sequence:

  gst_video_overlay_set_window_handle (overlay, surface);
  gst_wayland_video_set_surface_size (overlay, w, h);
2014-06-17 13:51:27 +02:00
George Kiagiadakis
bd5ad17e58 waylandsink: drop width/height arguments from gst_wl_window_new_from_surface() 2014-06-17 13:51:27 +02:00
George Kiagiadakis
87949dcb07 waylandsink: remove unused functions 2014-06-17 13:51:26 +02:00
George Kiagiadakis
162dbd412c waylandsink: set an empty input region on the video surface 2014-06-17 13:51:25 +02:00
George Kiagiadakis
94d02288d0 waylandsink/wlwindow: reuse code between the two constructors 2014-06-17 13:51:25 +02:00
George Kiagiadakis
086ac4ee81 waylandsink: Use wl_scaler/wl_viewport to scale the surface in the compositor/hardware 2014-06-17 13:51:25 +02:00
George Kiagiadakis
e56f305274 waylandsink: implement the GstVideoOverlay & GstWaylandVideo interfaces
This is the initial implementation, without the GstVideoOverlay.expose()
method. It only implements using an external (sub)surface and resizing
it with GstWaylandVideo.
2014-06-17 13:51:24 +02:00
George Kiagiadakis
350d919719 waylandsink: apply the same debug category to all the subobjects 2014-06-17 13:51:22 +02:00
George Kiagiadakis
ac9503ed65 waylandsink: cleanup header includes 2014-06-17 13:51:22 +02:00
George Kiagiadakis
ae6aebd9d5 waylandsink: split window-related code out to a new GstWlWindow class
GstWlWindow also has API ready to support subsurfaces.
2014-06-17 13:51:22 +02:00