From 51019c16e16d1860491840774b2521173440349e Mon Sep 17 00:00:00 2001 From: Vineeth T M Date: Tue, 7 Jul 2015 19:45:43 +0900 Subject: [PATCH] ximagesink: Post navigation events as message on the bus post unhandled events to bus, so that application can utilise the same if needed https://bugzilla.gnome.org/show_bug.cgi?id=752043 --- sys/ximage/ximagesink.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/sys/ximage/ximagesink.c b/sys/ximage/ximagesink.c index a0eb5b4..3e6e838 100644 --- a/sys/ximage/ximagesink.c +++ b/sys/ximage/ximagesink.c @@ -1528,6 +1528,7 @@ gst_x_image_sink_navigation_send_event (GstNavigation * navigation, GstEvent *event = NULL; gint x_offset, y_offset; gdouble x, y; + gboolean handled = FALSE; /* We are not converting the pointer coordinates as there's no hardware scaling done here. The only possible scaling is done by videoscale and @@ -1558,8 +1559,17 @@ gst_x_image_sink_navigation_send_event (GstNavigation * navigation, } event = gst_event_new_navigation (structure); - if (event) - gst_pad_push_event (GST_VIDEO_SINK_PAD (ximagesink), event); + if (event) { + gst_event_ref (event); + handled = gst_pad_push_event (GST_VIDEO_SINK_PAD (ximagesink), event); + + if (!handled) + gst_element_post_message (GST_ELEMENT_CAST (ximagesink), + gst_navigation_message_new_event (GST_OBJECT_CAST (ximagesink), + event)); + + gst_event_unref (event); + } } static void -- 2.7.4