summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Sauer <ensonic@users.sf.net>2017-10-03 12:08:42 +0200
committerTim-Philipp Müller <tim@centricular.com>2017-12-02 15:10:27 +0000
commita82e6bc650dac35c1cce6021eb555e5151a6a496 (patch)
tree5b486aebcec230e924bd9712010e80b1cf616bb3
parent70d0945b3592d0fbcf6345cd9055cbebee619661 (diff)
aggregator: simplify src_event
Avoid extra ref/unref, we have a ref and do_seek unrefs. Just return the result as we have. This lets us remove the local var plus the label.
-rw-r--r--libs/gst/base/gstaggregator.c22
1 files changed, 4 insertions, 18 deletions
diff --git a/libs/gst/base/gstaggregator.c b/libs/gst/base/gstaggregator.c
index 2bad1a10f..289268a2c 100644
--- a/libs/gst/base/gstaggregator.c
+++ b/libs/gst/base/gstaggregator.c
@@ -2034,28 +2034,17 @@ static gboolean
gst_aggregator_default_src_event (GstAggregator * self, GstEvent * event)
{
EventData evdata;
- gboolean res = TRUE;
switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_SEEK:
- {
- gst_event_ref (event);
- res = gst_aggregator_do_seek (self, event);
- gst_event_unref (event);
- event = NULL;
- goto done;
- }
+ /* _do_seek() unrefs the event. */
+ return gst_aggregator_do_seek (self, event);
case GST_EVENT_NAVIGATION:
- {
/* navigation is rather pointless. */
- res = FALSE;
gst_event_unref (event);
- goto done;
- }
+ return FALSE;
default:
- {
break;
- }
}
/* Don't forward QOS events to pads that had no active buffer yet. Otherwise
@@ -2064,10 +2053,7 @@ gst_aggregator_default_src_event (GstAggregator * self, GstEvent * event)
evdata =
gst_aggregator_forward_event_to_all_sinkpads (self, event, FALSE,
GST_EVENT_TYPE (event) == GST_EVENT_QOS);
- res = evdata.result;
-
-done:
- return res;
+ return evdata.result;
}
static gboolean