From: Philippe Normand Date: Mon, 6 Dec 2021 16:47:14 +0000 (+0000) Subject: wpevideosrc: Use basesrc event vfunc X-Git-Tag: 1.20.0~207 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=86719e25a4abf180a7036881219f139a8e608dda;p=platform%2Fupstream%2Fgstreamer.git wpevideosrc: Use basesrc event vfunc Allows for basic default handling from the base class. Part-of: --- diff --git a/subprojects/gst-plugins-bad/ext/wpe/gstwpevideosrc.cpp b/subprojects/gst-plugins-bad/ext/wpe/gstwpevideosrc.cpp index 819da96..e513d96 100644 --- a/subprojects/gst-plugins-bad/ext/wpe/gstwpevideosrc.cpp +++ b/subprojects/gst-plugins-bad/ext/wpe/gstwpevideosrc.cpp @@ -551,20 +551,17 @@ gst_wpe_video_src_get_property (GObject * object, guint prop_id, GValue * value, } static gboolean -gst_wpe_video_src_event (GstPad * pad, GstObject * parent, GstEvent * event) +gst_wpe_video_src_event (GstBaseSrc * base_src, GstEvent * event) { gboolean ret = FALSE; - GstWpeVideoSrc *src = GST_WPE_VIDEO_SRC (parent); + GstWpeVideoSrc *src = GST_WPE_VIDEO_SRC (base_src); - if (GST_EVENT_TYPE (event) == GST_EVENT_NAVIGATION) { + if (src->view && GST_EVENT_TYPE (event) == GST_EVENT_NAVIGATION) { const gchar *key; gint button; gdouble x, y, delta_x, delta_y; GST_DEBUG_OBJECT (src, "Processing event %" GST_PTR_FORMAT, event); - if (!src->view) { - return FALSE; - } switch (gst_navigation_event_get_type (event)) { case GST_NAVIGATION_EVENT_KEY_PRESS: case GST_NAVIGATION_EVENT_KEY_RELEASE: @@ -647,9 +644,9 @@ gst_wpe_video_src_event (GstPad * pad, GstObject * parent, GstEvent * event) } if (!ret) { - ret = gst_pad_event_default (pad, parent, event); - } else { - gst_event_unref (event); + ret = + GST_CALL_PARENT_WITH_DEFAULT (GST_BASE_SRC_CLASS, event, (base_src, + event), FALSE); } return ret; } @@ -657,11 +654,6 @@ gst_wpe_video_src_event (GstPad * pad, GstObject * parent, GstEvent * event) static void gst_wpe_video_src_init (GstWpeVideoSrc * src) { - GstPad *pad = gst_element_get_static_pad (GST_ELEMENT_CAST (src), "src"); - - gst_pad_set_event_function (pad, gst_wpe_video_src_event); - gst_object_unref (pad); - src->draw_background = DEFAULT_DRAW_BACKGROUND; gst_base_src_set_live (GST_BASE_SRC_CAST (src), TRUE); @@ -717,6 +709,7 @@ gst_wpe_video_src_class_init (GstWpeVideoSrcClass * klass) base_src_class->decide_allocation = GST_DEBUG_FUNCPTR (gst_wpe_video_src_decide_allocation); base_src_class->stop = GST_DEBUG_FUNCPTR (gst_wpe_video_src_stop); + base_src_class->event = GST_DEBUG_FUNCPTR (gst_wpe_video_src_event); gl_base_src_class->supported_gl_api = static_cast < GstGLAPI >