George Kiagiadakis
51a2c694ad
waylandsink: Handle wl_buffer::release and don't reuse buffers that are not released
...
This is achieved by adding an extra reference on the buffers, which does
not allow them to return to the pool. When they are released, this reference
is dropped.
The rest complexity of this patch (hash table, mutex, flag, explicit release calls)
merely exists to allow a safe, guaranteed and deadlock-free destruction sequence.
See the added comment on gstwaylandsink.c for details.
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
68133361ec
waylandsink: implement with stubs the GstWaylandVideo & GstVideoOverlay interfaces
2014-06-17 13:51:23 +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
f800e2b4fa
waylandsink: unref the buffer pool
2014-06-17 13:51:23 +02:00
George Kiagiadakis
a67b08cdd0
waylandsink/waylandpool: ref the display instead of the sink to avoid cyclic references
...
The reference to the sink is not really needed anyway in waylandpool,
what matters basically is that the display is active as long as the
pool is active, so we really want to reference the display object
instead of the sink.
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
e7650117af
waylandsink: access sink->pool in a more atomic fashion
2014-06-17 13:51:22 +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
Edward Hervey
6a2e39eefa
wayland: Remove dead assignment
...
We set it just after variable declaration
CID #1197709
2014-04-14 07:56:16 +02:00
Edward Hervey
97426a1caa
all: Fix for GST_DISABLE_GST_DEBUG
...
Where applicable, remove methods that don't do anything different than
the default implementation.
2013-07-29 09:42:12 +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
Joe Konno
8a63face0e
waylandsink: do not default to a fullscreen canvas
...
Defer certain canvas particulars to the player (or the Wayland
compositor). Before this change, a fullscreen canvas was always
requested. This may not be desirable in all cases.
https://bugzilla.gnome.org/show_bug.cgi?id=690442
2012-12-23 15:58:05 +00: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
Tim-Philipp Müller
32ba17cd0f
Use gst_element_class_set_static_metadata()
...
where possible. Avoids some string copies. Also re-indent
some stuff. Also some indent fixes here and there.
2012-10-17 17:46:34 +01:00
Mark Nauwelaerts
578861abea
replace gst_element_class_set_details_simple with gst_element_class_set_metadata
2012-09-14 17:27:49 +02:00
Tim-Philipp Müller
4ed3d60bd2
waylandsink: fail gracefully with an error message if we can't connect to wayland
...
g_return_val_if_fail() is not for error handling, it's for
catching programming errors in public API.
Fixes problem with generic/states unit test.
2012-09-13 01:09:56 +01:00
Sreerenj Balachandran
547d679e9e
wayland: use scale fullscreen method.
...
This makes the compositor scale the surface to fit and preserves
aspect ratio.
https://bugzilla.gnome.org/show_bug.cgi?id=681453
2012-08-21 10:41:31 +01:00
Sreerenj Balachandran
dc81682f4b
wayland: respond to ping/pong protocol so we're not deemed unresponsive.
...
https://bugzilla.gnome.org/show_bug.cgi?id=681453
2012-08-21 10:41:24 +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
Tim-Philipp Müller
41a39d93bf
celt, opencv, wayland, dvbsub, festival, hls: printf format fixes
2012-07-15 12:27:12 +01:00
Wim Taymans
bd49892d7e
wayland: port to 0.11
2012-05-23 12:09:39 +02:00
Sebastian Dröge
cda192b3b7
gst: Update for GST_PLUGIN_DEFINE() API changes
2012-04-05 18:02:56 +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
e012ea80ff
waylandsink: Fix in shell_surface_set_fullscreen
2012-03-04 20:21:37 +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