Commit graph

25 commits

Author SHA1 Message Date
George Kiagiadakis 66f8c1389b waylandsink: Implement expose() and handle resizing properly in non-PLAYING states 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 fabc5305be waylandsink: Wait for the frame_cb to redraw and drop frames meanwhile
We are not supposed to redraw until we receive a frame callback and this
is especially useful to avoid allocating too many buffers while the
window is not visible, because the compositor may not call wl_buffer.release
until the window becomes visible (ok, this is a wayland bug, but...).
2014-06-17 13:51:24 +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 26ce7f2344 waylandsink: handle the list of supported formats properly
enum wl_shm_format is not a flags enum, as it may have been in the past,
so multiple formats cannot be stored in a bitfield. Use an array instead.
2014-06-17 13:51:23 +02:00
George Kiagiadakis 253eafd4ef waylandsink: make the display property useful
Let the display property control the name of the display,
like in x(v)imagesink.
2014-06-17 13:51:23 +02:00
George Kiagiadakis 58a4d247b3 waylandsink: remove the useless wayland_lock 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
George Kiagiadakis 05f0842572 waylandsink: remove callback and redraw_pending variables from the window structure 2014-06-17 13:51:22 +02:00
George Kiagiadakis f6e72c8725 waylandsink: split video format related functions out to a separate file 2014-06-17 13:51:21 +02:00
George Kiagiadakis 1e45b1480c waylandsink: move struct shm_pool and its related functions to waylandpool.c
And also make the instance of this struct to be owned by the buffer
pool instead of the element, for the sake of isolation
2014-06-17 13:51:21 +02:00
George Kiagiadakis 4208ae6203 waylandsink: remove unused variables 2014-06-17 13:51:21 +02:00
George Kiagiadakis e600a323b7 waylandsink: process display events in a separate thread
This also moves the display-related code into a new GstWlDisplay class,
which takes care of the new thread
2014-06-17 13:51:20 +02:00
George Kiagiadakis eb8ab3732e waylandsink: tidy up the header files 2014-06-17 13:51:20 +02:00
Benjamin Gaignard 3fc6f1d9b7 wayland: Add support for RGBx and RGBA formats
Wayland interface could offer two buffers pixels formats: WL_SHM_FORMAT_XRGB8888 and WL_SHM_FORMAT_ARGB8888.
Update waylandsink to support them and check if the format is really available.

https://bugzilla.gnome.org/show_bug.cgi?id=702112
2013-06-18 14:03:13 +02:00
Sreerenj Balachandran 54e05ee4aa wayland: update to wayland-protocol 0.99
https://bugzilla.gnome.org/show_bug.cgi?id=686520
2012-10-20 13:09:03 +01:00
Sreerenj Balachandran c803ca4af5 wayland: More fixes based on wayland-0.95.0 and gstreamer-1.0 apis
- bump wayland version to 0.95.0 which will lead to stable 1.0 release
- avoid memcopy and use propose_allocation for GstBufferPool allocation
- using WaylandBufferPool
- shm: Allocate shm buffers through new wl_shm_pool interface
  (the shm buffer allocation is a two step process now: first
  allocate a wl_shm_pool, then allocate a buffer from the pool)

https://bugzilla.gnome.org/show_bug.cgi?id=681453
2012-08-21 10:24:45 +01:00
Tim-Philipp Müller cc167a237a Fix up FSF address in some source files as well 2012-08-18 20:31:17 +01:00
Wim Taymans bd49892d7e wayland: port to 0.11 2012-05-23 12:09:39 +02:00
Sreerenj Balachandran 689bf4d392 waylandsink: Fix warnings, proper structuring, dead code removal, adding doc section. 2012-03-13 14:44:00 +01:00
Sreerenj Balachandran 2747aefaf7 waylandsink: More fixes -- update to Wayland 0.85 protocol -- Added shell surface -- Added format query for shm format -- Create the window based on width and height of video extracted from upstream caps. 2012-03-04 20:21:37 +01:00
Sreerenj Balachandran 775643d60e Update with new APIs in wayland-client. 2012-03-04 20:21:37 +01:00
Sreerenj Balachandran b5a7780122 More Fixes: * Adding buffer_alloc * perform buffer_damage before surface_attach * Fix typo, Remove Dead code etc. 2012-03-04 20:21:37 +01:00
Sreerenj Balachandran d68c6bfa9f Initial Commit: Adding Wayland Video Sink 2012-03-04 20:21:37 +01:00