diff options
author | Ognyan Tonchev <ognyan@axis.com> | 2014-09-17 17:17:10 +0200 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2014-09-17 17:39:10 +0100 |
commit | cf04dc0486ea29f25993a59fbde7c8ba98a417f3 (patch) | |
tree | 0cef75a5ebb2a2390cca215d371565677e545daa | |
parent | a528dadb9800fd3b21b60c4b3cd707e4616aed41 (diff) |
typefindelement: do not leak sticky events in flush_stop
https://bugzilla.gnome.org/show_bug.cgi?id=736813
-rw-r--r-- | plugins/elements/gsttypefindelement.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/plugins/elements/gsttypefindelement.c b/plugins/elements/gsttypefindelement.c index e05a0424af..e8977fd9da 100644 --- a/plugins/elements/gsttypefindelement.c +++ b/plugins/elements/gsttypefindelement.c @@ -649,13 +649,12 @@ gst_type_find_element_sink_event (GstPad * pad, GstObject * parent, GST_OBJECT_LOCK (typefind); for (l = typefind->cached_events; l; l = l->next) { - if (!GST_EVENT_IS_STICKY (l->data) || - GST_EVENT_TYPE (l->data) == GST_EVENT_SEGMENT || - GST_EVENT_TYPE (l->data) == GST_EVENT_EOS) { - gst_event_unref (l->data); - } else { + if (GST_EVENT_IS_STICKY (l->data) && + GST_EVENT_TYPE (l->data) != GST_EVENT_SEGMENT && + GST_EVENT_TYPE (l->data) != GST_EVENT_EOS) { gst_pad_store_sticky_event (typefind->src, l->data); } + gst_event_unref (l->data); } g_list_free (typefind->cached_events); |