From: Arun Raghavan Date: Wed, 22 Sep 2010 10:37:24 +0000 (+0530) Subject: baseparse: Allow chaining of subclass event handlers X-Git-Tag: 1.19.3~507^2~16392 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2978216db1288253937a25aecededf5d4ba1f238;p=platform%2Fupstream%2Fgstreamer.git baseparse: Allow chaining of subclass event handlers This allows the child class to chain its event handler with GstBaseParse, so that subclasses don't have to duplicate all the default event handling logic. https://bugzilla.gnome.org/show_bug.cgi?id=622276 --- diff --git a/gst/audioparsers/gstbaseparse.c b/gst/audioparsers/gstbaseparse.c index 8c7a722..3bea83b 100644 --- a/gst/audioparsers/gstbaseparse.c +++ b/gst/audioparsers/gstbaseparse.c @@ -361,7 +361,6 @@ gst_base_parse_class_init (GstBaseParseClass * klass) /* Default handlers */ klass->check_valid_frame = gst_base_parse_check_frame; klass->parse_frame = gst_base_parse_parse_frame; - klass->event = gst_base_parse_sink_eventfunc; klass->src_event = gst_base_parse_src_eventfunc; klass->is_seekable = gst_base_parse_is_seekable; klass->convert = gst_base_parse_convert; @@ -549,6 +548,9 @@ gst_base_parse_sink_event (GstPad * pad, GstEvent * event) handled = bclass->event (parse, event); if (!handled) + handled = gst_base_parse_sink_eventfunc (parse, event); + + if (!handled) ret = gst_pad_event_default (pad, event); }