diff options
author | Scott Murray <scott.murray@konsulko.com> | 2019-02-08 10:53:08 -0500 |
---|---|---|
committer | Stephane Desneux <stephane.desneux@iot.bzh> | 2019-04-04 18:02:11 +0200 |
commit | 7faccb97d69c7581e338f88ce3a2153cdd69fd16 (patch) | |
tree | 57dd664e04593af6eed43cb6ecffab438d93d860 /meta-agl-bsp/meta-ti/recipes-arago/gstreamer/gstreamer1.0-plugins-bad/0001-gstwaylandsink-Add-mouse-drag-and-drop-support.patch | |
parent | e978a20f40916eac57a5e1af8f65b6ed9f719e50 (diff) |
Upgrade to thud
Changes include:
- Add LAYERSERIES_COMPAT definitions to layer.conf files
- Remove now unnecessary SECURITY_*FLAGS over-rides from distro
configuration
- Set intel-corei7-64 preferred kernel version to 4.19 to match
latest linux-intel kernel available in meta-intel
- Update qemuarm preferred kernel version to 4.18 to match latest
linux-yocto
- Update firmware package and devicetree file names for raspberrypi3
- Remove linux-firmware bbappend specific to raspberrypi, it seems no
longer required and breaks the cross SDK build
- Update linux-intel bbappend to 4.19, remove now unnecessary patch
- Remove now unnecessary lttng-modules backport
- Update linux-raspberrypi bbappend to 4.14 kernel
- Added kernel configuration fragment for raspberrypi to disable
Kprobes. This is required until linux-raspberrypi is updated to
greater than 4.14.104 to avoid a build failure in lttng-modules
related to a check for known breakage in the kernel CONFIG_OPTPROBES
code.
- Replace obsolete base_conditional usage with oe.utils.conditional
- Add gstreamer1.0-plugins-bad bbappend for raspberrypi3 to disable
faad PACKAGECONFIG to avoid commercial license issues
- Remove unused and unbuildable Vayu gstreamer recipes
- Update linux-ti-staging bbappend for new BSP kernel
- Regen dcan2_pinmux_enable.patch for linux-ti-staging to remove fuzz
warning, and remove upstreamed fix_dcan_addresses.patch
- Remove ipumm-fw from meta-agl-bsp/meta-ti, as newer version is
available in the upstream BSP
- Update meta-agl-bsp/meta-ti weston patch to apply against 5.0.0
- Update meta-agl-bsp/meta-ti wayland-ivi-extension patch to apply
against 2.2.0
- Add ti-sgx-ddk-km patch to add AGL toolchain configuration file
- Remove now unnecessary fdtoverlay recipe
- Update core.cfg and ivishell.cfg in weston-ini-conf recipe to handle
move of ivi-controller.so configuration in Weston 5.0.0
- Update connman-ncurses patch to remove fuzz warning
- Add installation of systemd over-ride file for run-postinsts.service
in run-postinsts bbappend to workaround race condition between
ldconfig.service and the /sbin/ldconfig invocations in the
post-install scripts run by run-postinsts.service. The observed
failure was cynara's post-install script failing and its database
not being created.
- Remove now unnecessary valgrind backport
- Add patches to fix most driver compilation against newer kernels
- Update libmicrohttpd bbappend
- Remove libssp-dev from agl-image-graphical-qt5-crosssdk and
agl-demo-platform-html5-crosssdk, upstream have removed it from
non-mingw32 platform SDKs
- Update wayland-ivi-extension recipe to build 2.2.0, and update
local patches
- Update weston patches for 5.0.0. Patches:
0016-ivi-shell_add_screen_remove_layer_api.patch
0017-ivi-shell-register-ivi_layout_interface.patch
have been removed as they have been applied upstream and are no longer
necessary. Patches:
0018-compositor-add-output-type-to-weston_output.patch
0019-compositor-drm-introduce-drm_get_dmafd_from_view.patch
(both related to Waltham) have been disabled for now as they need
significant rework.
- Remove weston-conf RRECOMMENDS in weston bbappend to avoid conflict
with weston-ini-conf
- Add OECMAKE_GENERATOR = "Unix Makefiles" to aglwgt.bbclass to work
around CMake+ninja issue in cmake-apps-module
- Update dbus cynara patches for 1.12.10
- Add do_install_append in cynara recipe to remove /var/cynara from
cynara package so the directory creation and labelling in the
post-install scriptlet will function as intended
- Remove now unnecessary e2fsprogs backport
- Remove now unnecessary libcap-ng backport
- Update pulseaudio patches to remove fuzz warnings
- Update neardal patch to remove fuzz warning
- Update freetype patch to remove fuzz warning
- Rename opencv bbappend to 3.% to handle 3.x backports in upstream
- Updated qtwayland patch to remove fuzz warning
Changes from Stephane Desneux <stephane.desneux@iot.bzh>:
- Remove wayland-ivi-extension PREFERRED_VERSION
- Remove now unnecessary nativesdk-cmake patch
- Remove now unnecessary ptest-runner patches
- Remove now unnecessary harfbuzz patches
- Disable waltham-transmitter as it does not build against weston 5.0.0
- Update af-main, cynara, and security-manager to use pkg_postinst_ontarget
- Bump connman-ncurses revision to avoid deprecated ncurses functions
- Update libva package usage with new intel-vaapi-driver name
- Add patches to security-manager to fix compilation with gcc8
- Updated systemd bbappend
Changes from Jan-Simon Möller <jsmoeller@linuxfoundation.org>:
- Remove meta-agl-bsp/ROCKO.FIXMEs
- Remove linux-yocto_4.12.bbappend and now unnecessary associated
patch
- Remove now unneeded kern-tools-native patch
- Bump gstreamer PREFERRED_VERSIONs to 1.14.x
- Remove latencytop from packagegroup-agl-core-devel, it has been
dropped by upstream
- Remove now unnecessary rpm patches
- Update pulseaudio bbappend to 12.2
- Update opencv bbappend to 3.4
- Update freetype bbappend to 2.9.1
- Update dbus bbappend to 1.12.10
- Update weston bbappend to 5.0.0
- Update cynara patches to remove fuzz warnings
- Add patch to cynara to fix compilation with gcc8
- Add xmlsec1 bbappend to clear EXTRA_OECONF to fix compilation on
sumo or newer
Changes from Ronan Le Martet <ronan.lemartet@iot.bzh>:
- Update meta-rcar-gen3-adas layer gstreamer1.0-plugin-vspfilter
bbappend to version 1.0.1
Known issues (marked with FIXME):
- CMake+ninja issue in cmake-apps-module has been worked around with
OECMAKE_GENERATOR
- waltham-transmitter and the patches to weston related to it have been
disabled
- Currently unclear if patch to libcap-native is actually required or
not
Bug-AGL: SPEC-1837
Change-Id: I7b8b9ef667aec2d229952eace6663dfc761654d0
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Diffstat (limited to 'meta-agl-bsp/meta-ti/recipes-arago/gstreamer/gstreamer1.0-plugins-bad/0001-gstwaylandsink-Add-mouse-drag-and-drop-support.patch')
-rw-r--r-- | meta-agl-bsp/meta-ti/recipes-arago/gstreamer/gstreamer1.0-plugins-bad/0001-gstwaylandsink-Add-mouse-drag-and-drop-support.patch | 408 |
1 files changed, 0 insertions, 408 deletions
diff --git a/meta-agl-bsp/meta-ti/recipes-arago/gstreamer/gstreamer1.0-plugins-bad/0001-gstwaylandsink-Add-mouse-drag-and-drop-support.patch b/meta-agl-bsp/meta-ti/recipes-arago/gstreamer/gstreamer1.0-plugins-bad/0001-gstwaylandsink-Add-mouse-drag-and-drop-support.patch deleted file mode 100644 index 696202637..000000000 --- a/meta-agl-bsp/meta-ti/recipes-arago/gstreamer/gstreamer1.0-plugins-bad/0001-gstwaylandsink-Add-mouse-drag-and-drop-support.patch +++ /dev/null @@ -1,408 +0,0 @@ -From 79db7e4cab226515f0e4d40afdb5a5b478755396 Mon Sep 17 00:00:00 2001 -From: Pooja Prajod <a0132412@ti.com> -Date: Wed, 14 Sep 2016 16:03:17 -0400 -Subject: [PATCH] gstwaylandsink: Add mouse drag and drop support - -This patch adds mouse input listeners to WlDisplay instance. - -Signed-off-by: Pooja Prajod <a0132412@ti.com> -Signed-off-by: Eric Ruei <e-ruei1@ti.com> ---- - ext/wayland/wldisplay.c | 305 +++++++++++++++++++++++++++++++++++++++++++++++- - ext/wayland/wldisplay.h | 4 + - ext/wayland/wlwindow.c | 2 + - 3 files changed, 310 insertions(+), 1 deletion(-) - -diff --git a/ext/wayland/wldisplay.c b/ext/wayland/wldisplay.c -index 8c5eeaf..c647f34 100644 ---- a/ext/wayland/wldisplay.c -+++ b/ext/wayland/wldisplay.c -@@ -21,18 +21,45 @@ - #ifdef HAVE_CONFIG_H - #include <config.h> - #endif -- -+#include <stdlib.h> -+#include <stdio.h> - #include "wldisplay.h" - #include "wlbuffer.h" -+#include "wlwindow.h" -+ -+#include <wayland-client-protocol.h> - -+#include <unistd.h> - #include <errno.h> -+#include <linux/input.h> - - GST_DEBUG_CATEGORY_EXTERN (gstwayland_debug); - #define GST_CAT_DEFAULT gstwayland_debug - - G_DEFINE_TYPE (GstWlDisplay, gst_wl_display, G_TYPE_OBJECT); - -+struct touch_point -+{ -+ int32_t id; -+ struct wl_list link; -+}; -+ -+struct input -+{ -+ GstWlDisplay *display; -+ struct wl_seat *seat; -+ struct wl_pointer *pointer; -+ struct wl_touch *touch; -+ struct wl_list touch_point_list; -+ GstWlWindow *pointer_focus; -+ GstWlWindow *touch_focus; -+ struct wl_list link; -+ GstWlWindow *grab; -+}; -+ - static void gst_wl_display_finalize (GObject * gobject); -+static void input_grab (struct input *input, GstWlWindow *window); -+static void input_ungrab (struct input *input); - - static void - gst_wl_display_class_init (GstWlDisplayClass * klass) -@@ -51,6 +78,54 @@ gst_wl_display_init (GstWlDisplay * self) - } - - static void -+input_grab (struct input *input, GstWlWindow *window) -+{ -+ input->grab = window; -+} -+ -+static void -+input_ungrab (struct input *input) -+{ -+ input->grab = NULL; -+} -+ -+static void -+input_remove_pointer_focus (struct input *input) -+{ -+ GstWlWindow *window = input->pointer_focus; -+ -+ if (!window) -+ return; -+ -+ input->pointer_focus = NULL; -+} -+ -+static void -+input_destroy (struct input *input) -+{ -+ input_remove_pointer_focus (input); -+ -+ if (input->display->seat_version >= 3) { -+ if (input->pointer) -+ wl_pointer_release (input->pointer); -+ } -+ -+ wl_list_remove (&input->link); -+ wl_seat_destroy (input->seat); -+ free (input); -+} -+ -+static void -+display_destroy_inputs (GstWlDisplay *display) -+{ -+ struct input *tmp; -+ struct input *input; -+ -+ wl_list_for_each_safe (input, tmp, &display->input_list, link) -+ input_destroy (input); -+} -+ -+static void - gst_wl_display_finalize (GObject * gobject) - { - GstWlDisplay *self = GST_WL_DISPLAY (gobject); -@@ -74,6 +149,8 @@ gst_wl_display_finalize (GObject * gobject) - g_hash_table_unref (self->buffers); - g_mutex_clear (&self->buffers_mutex); - -+ display_destroy_inputs (self); -+ - if (self->shm) - wl_shm_destroy (self->shm); - -@@ -143,6 +220,228 @@ static const struct wl_shm_listener shm_listener = { - shm_format - }; - -+ -+static void -+pointer_handle_enter (void *data, struct wl_pointer *pointer, -+ uint32_t serial, struct wl_surface *surface, -+ wl_fixed_t sx_w, wl_fixed_t sy_w) -+{ -+ struct input *input = data; -+ -+ if (!surface) { -+ /* enter event for a window we've just destroyed */ -+ return; -+ } -+ -+ input->display->serial = serial; -+ input->pointer_focus = wl_surface_get_user_data (surface); -+} -+ -+static void -+pointer_handle_leave (void *data, struct wl_pointer *pointer, -+ uint32_t serial, struct wl_surface *surface) -+{ -+ struct input *input = data; -+ -+ input_remove_pointer_focus (input); -+} -+ -+static void -+pointer_handle_motion (void *data, struct wl_pointer *pointer, -+ uint32_t time, wl_fixed_t sx_w, wl_fixed_t sy_w) -+{ -+ struct input *input = data; -+ GstWlWindow *window = input->pointer_focus; -+ -+ if (!window) -+ return; -+ -+ if (input->grab) -+ wl_shell_surface_move (input->grab->shell_surface, input->seat, -+ input->display->serial); -+ -+} -+ -+static void -+pointer_handle_button (void *data, struct wl_pointer *pointer, uint32_t serial, -+ uint32_t time, uint32_t button, uint32_t state_w) -+{ -+ struct input *input = data; -+ enum wl_pointer_button_state state = state_w; -+ input->display->serial = serial; -+ -+ if (button == BTN_LEFT) { -+ if (state == WL_POINTER_BUTTON_STATE_PRESSED) -+ input_grab (input, input->pointer_focus); -+ -+ if (input->grab && state == WL_POINTER_BUTTON_STATE_RELEASED) -+ input_ungrab (input); -+ } -+ -+ if (input->grab) -+ wl_shell_surface_move (input->grab->shell_surface, input->seat, -+ input->display->serial); -+} -+ -+static void -+pointer_handle_axis (void *data, struct wl_pointer *pointer, -+ uint32_t time, uint32_t axis, wl_fixed_t value) -+{ -+} -+ -+static const struct wl_pointer_listener pointer_listener = { -+ pointer_handle_enter, -+ pointer_handle_leave, -+ pointer_handle_motion, -+ pointer_handle_button, -+ pointer_handle_axis, -+}; -+ -+static void -+touch_handle_down (void *data, struct wl_touch *wl_touch, -+ uint32_t serial, uint32_t time, struct wl_surface *surface, -+ int32_t id, wl_fixed_t x_w, wl_fixed_t y_w) -+{ -+ struct input *input = data; -+ struct touch_point *tp; -+ -+ input->display->serial = serial; -+ input->touch_focus = wl_surface_get_user_data (surface); -+ if (!input->touch_focus) { -+ return; -+ } -+ -+ tp = malloc (sizeof *tp); -+ if (tp) { -+ tp->id = id; -+ wl_list_insert (&input->touch_point_list, &tp->link); -+ wl_shell_surface_move (input->touch_focus->shell_surface, input->seat, -+ serial); -+ } -+} -+ -+static void -+touch_handle_motion (void *data, struct wl_touch *wl_touch, -+ uint32_t time, int32_t id, wl_fixed_t x_w, wl_fixed_t y_w) -+{ -+ struct input *input = data; -+ struct touch_point *tp; -+ -+ -+ if (!input->touch_focus) { -+ return; -+ } -+ wl_list_for_each (tp, &input->touch_point_list, link) { -+ if (tp->id != id) -+ continue; -+ -+ wl_shell_surface_move (input->touch_focus->shell_surface, input->seat, -+ input->display->serial); -+ -+ return; -+ } -+} -+ -+static void -+touch_handle_frame (void *data, struct wl_touch *wl_touch) -+{ -+} -+ -+static void -+touch_handle_cancel (void *data, struct wl_touch *wl_touch) -+{ -+} -+ -+static void -+touch_handle_up (void *data, struct wl_touch *wl_touch, -+ uint32_t serial, uint32_t time, int32_t id) -+{ -+ struct input *input = data; -+ struct touch_point *tp, *tmp; -+ -+ if (!input->touch_focus) { -+ return; -+ } -+ -+ wl_list_for_each_safe (tp, tmp, &input->touch_point_list, link) { -+ if (tp->id != id) -+ continue; -+ -+ wl_list_remove (&tp->link); -+ free (tp); -+ -+ return; -+ } -+} -+ -+static const struct wl_touch_listener touch_listener = { -+ touch_handle_down, -+ touch_handle_up, -+ touch_handle_motion, -+ touch_handle_frame, -+ touch_handle_cancel, -+}; -+ -+ -+static void -+seat_handle_capabilities (void *data, struct wl_seat *seat, -+ enum wl_seat_capability caps) -+{ -+ struct input *input = data; -+ -+ if ((caps & WL_SEAT_CAPABILITY_POINTER) && !input->pointer) { -+ input->pointer = wl_seat_get_pointer (seat); -+ wl_pointer_set_user_data (input->pointer, input); -+ wl_pointer_add_listener (input->pointer, &pointer_listener, input); -+ } else if (!(caps & WL_SEAT_CAPABILITY_POINTER) && input->pointer) { -+ wl_pointer_destroy (input->pointer); -+ input->pointer = NULL; -+ } -+ -+ if ((caps & WL_SEAT_CAPABILITY_TOUCH) && !input->touch) { -+ input->touch = wl_seat_get_touch (seat); -+ wl_touch_set_user_data (input->touch, input); -+ wl_touch_add_listener (input->touch, &touch_listener, input); -+ } else if (!(caps & WL_SEAT_CAPABILITY_TOUCH) && input->touch) { -+ wl_touch_destroy (input->touch); -+ input->touch = NULL; -+ } -+} -+ -+static void -+seat_handle_name (void *data, struct wl_seat *seat, const char *name) -+{ -+ -+} -+ -+static const struct wl_seat_listener seat_listener = { -+ seat_handle_capabilities, -+ seat_handle_name -+}; -+ -+static void -+display_add_input (GstWlDisplay *d, uint32_t id) -+{ -+ struct input *input; -+ -+ input = calloc (1, sizeof (*input)); -+ if (input == NULL) { -+ fprintf (stderr, "%s: out of memory\n", "gst-wayland-sink"); -+ exit (EXIT_FAILURE); -+ } -+ input->display = d; -+ input->seat = wl_registry_bind (d->registry, id, &wl_seat_interface, -+ MAX (d->seat_version, 3)); -+ input->touch_focus = NULL; -+ input->pointer_focus = NULL; -+ wl_list_init (&input->touch_point_list); -+ wl_list_insert (d->input_list.prev, &input->link); -+ -+ wl_seat_add_listener (input->seat, &seat_listener, input); -+ wl_seat_set_user_data (input->seat, input); -+ -+} -+ - static void - registry_handle_global (void *data, struct wl_registry *registry, - uint32_t id, const char *interface, uint32_t version) -@@ -160,6 +459,9 @@ registry_handle_global (void *data, struct wl_registry *registry, - } else if (g_strcmp0 (interface, "wl_shm") == 0) { - self->shm = wl_registry_bind (registry, id, &wl_shm_interface, 1); - wl_shm_add_listener (self->shm, &shm_listener, self); -+ } else if (g_strcmp0 (interface, "wl_seat") == 0) { -+ self->seat_version = version; -+ display_add_input (self, id); - } else if (g_strcmp0 (interface, "wl_scaler") == 0) { - self->scaler = wl_registry_bind (registry, id, &wl_scaler_interface, 2); - } -@@ -237,6 +539,7 @@ gst_wl_display_new_existing (struct wl_display * display, - self->own_display = take_ownership; - - self->queue = wl_display_create_queue (self->display); -+ wl_list_init (&self->input_list); - self->registry = wl_display_get_registry (self->display); - wl_proxy_set_queue ((struct wl_proxy *) self->registry, self->queue); - wl_registry_add_listener (self->registry, ®istry_listener, self); -diff --git a/ext/wayland/wldisplay.h b/ext/wayland/wldisplay.h -index 5505d60..d8c2cef 100644 ---- a/ext/wayland/wldisplay.h -+++ b/ext/wayland/wldisplay.h -@@ -62,6 +62,10 @@ struct _GstWlDisplay - GMutex buffers_mutex; - GHashTable *buffers; - gboolean shutting_down; -+ -+ struct wl_list input_list; -+ int seat_version; -+ uint32_t serial; - }; - - struct _GstWlDisplayClass -diff --git a/ext/wayland/wlwindow.c b/ext/wayland/wlwindow.c -index a964335..34ae385 100644 ---- a/ext/wayland/wlwindow.c -+++ b/ext/wayland/wlwindow.c -@@ -111,6 +111,8 @@ gst_wl_window_new_internal (GstWlDisplay * display) - - window->area_surface = wl_compositor_create_surface (display->compositor); - window->video_surface = wl_compositor_create_surface (display->compositor); -+ wl_surface_set_user_data (window->area_surface, window); -+ wl_surface_set_user_data (window->video_surface, window); - - wl_proxy_set_queue ((struct wl_proxy *) window->area_surface, display->queue); - wl_proxy_set_queue ((struct wl_proxy *) window->video_surface, --- -1.9.1 - |