From 1ac501d42706538578c21ed50ba1ae62dcb0fc9b Mon Sep 17 00:00:00 2001 From: Vineeth TM Date: Thu, 10 Mar 2016 08:49:01 +0900 Subject: [PATCH] dfbvideosink: post message to application for unhandled keyboard/mouse events https://bugzilla.gnome.org/show_bug.cgi?id=763403 --- ext/directfb/dfbvideosink.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ext/directfb/dfbvideosink.c b/ext/directfb/dfbvideosink.c index 5723e6d75e..4899147db5 100644 --- a/ext/directfb/dfbvideosink.c +++ b/ext/directfb/dfbvideosink.c @@ -2026,8 +2026,14 @@ gst_dfbvideosink_navigation_send_event (GstNavigation * navigation, pad = gst_pad_get_peer (GST_VIDEO_SINK_PAD (dfbvideosink)); if (GST_IS_PAD (pad) && GST_IS_EVENT (event)) { - gst_pad_send_event (pad, event); - + if (!gst_pad_send_event (pad, gst_event_ref (event))) { + /* If upstream didn't handle the event we'll post a message with it + * for the application in case it wants to do something with it */ + gst_element_post_message (GST_ELEMENT_CAST (dfbvideosink), + gst_navigation_message_new_event (GST_OBJECT_CAST (dfbvideosink), + event)); + } + gst_event_unref (event); gst_object_unref (pad); } }