From: Vineeth T M Date: Tue, 7 Jul 2015 10:45:43 +0000 (+0900) Subject: ximagesink: Post navigation events as message on the bus X-Git-Tag: 1.6.0~138 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=51019c16e16d1860491840774b2521173440349e;p=platform%2Fupstream%2Fgst-plugins-base.git 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 --- 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