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
This commit is contained in:
Vineeth T M 2015-07-07 19:45:43 +09:00 committed by Luis de Bethencourt
parent db86c73f4d
commit 51019c16e1

View file

@ -1528,6 +1528,7 @@ gst_x_image_sink_navigation_send_event (GstNavigation * navigation,
GstEvent *event = NULL; GstEvent *event = NULL;
gint x_offset, y_offset; gint x_offset, y_offset;
gdouble x, y; gdouble x, y;
gboolean handled = FALSE;
/* We are not converting the pointer coordinates as there's no hardware /* We are not converting the pointer coordinates as there's no hardware
scaling done here. The only possible scaling is done by videoscale and 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); event = gst_event_new_navigation (structure);
if (event) if (event) {
gst_pad_push_event (GST_VIDEO_SINK_PAD (ximagesink), 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 static void