From: Stefan Kost Date: Wed, 16 Feb 2011 09:57:31 +0000 (+0200) Subject: discoverer: don't leak parent tags X-Git-Tag: 1.19.3~511^2~6555^2~1156 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7e06d3525072d5eab79053bb032dd5b810a2ab3f;p=platform%2Fupstream%2Fgstreamer.git discoverer: don't leak parent tags --- diff --git a/gst-libs/gst/pbutils/gstdiscoverer.c b/gst-libs/gst/pbutils/gstdiscoverer.c index 2a019c0..dede0b3 100644 --- a/gst-libs/gst/pbutils/gstdiscoverer.c +++ b/gst-libs/gst/pbutils/gstdiscoverer.c @@ -846,15 +846,20 @@ parse_stream_topology (GstDiscoverer * dc, const GstStructure * topology, res = (GstDiscovererStreamInfo *) cont; if (gst_structure_id_has_field (topology, _TAGS_QUARK)) { + GstTagList *tmp; + gst_structure_id_get (topology, _TAGS_QUARK, GST_TYPE_STRUCTURE, &tags, NULL); GST_DEBUG ("Merge tags %" GST_PTR_FORMAT, tags); - cont->parent.tags = + tmp = gst_tag_list_merge (cont->parent.tags, (GstTagList *) tags, GST_TAG_MERGE_APPEND); gst_tag_list_free (tags); + if (cont->parent.tags) + gst_tag_list_free (cont->parent.tags); + cont->parent.tags = tmp; GST_DEBUG ("Container info tags %" GST_PTR_FORMAT, tmp); }