From 966f848edb70a6d6b7d172b842a8ceb600e4d747 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tim-Philipp=20M=C3=BCller?= Date: Mon, 2 Sep 2013 23:00:29 +0100 Subject: [PATCH] replaygain: fix taglist leak in rganalysis And add some FIXMEs. --- gst/replaygain/gstrganalysis.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gst/replaygain/gstrganalysis.c b/gst/replaygain/gstrganalysis.c index e38d4d6..3e87953 100644 --- a/gst/replaygain/gstrganalysis.c +++ b/gst/replaygain/gstrganalysis.c @@ -532,6 +532,7 @@ gst_rg_analysis_stop (GstBaseTransform * base) return TRUE; } +/* FIXME: handle global vs. stream-tags? */ static void gst_rg_analysis_handle_tags (GstRgAnalysis * filter, const GstTagList * tag_list) @@ -632,9 +633,10 @@ gst_rg_analysis_handle_eos (GstRgAnalysis * filter) GST_LOG_OBJECT (filter, "posting tag list with results"); gst_tag_list_add (tag_list, GST_TAG_MERGE_APPEND, GST_TAG_REFERENCE_LEVEL, filter->reference_level, NULL); - /* This steals our reference to the list: */ - gst_pad_push_event (GST_BASE_TRANSFORM_SRC_PAD (GST_BASE_TRANSFORM - (filter)), gst_event_new_tag (gst_tag_list_ref (tag_list))); + /* This takes ownership of our reference to the list */ + gst_pad_push_event (GST_BASE_TRANSFORM_SRC_PAD (filter), + gst_event_new_tag (tag_list)); + tag_list = NULL; } } @@ -653,6 +655,7 @@ gst_rg_analysis_handle_eos (GstRgAnalysis * filter) g_object_notify (G_OBJECT (filter), "num-tracks"); } +/* FIXME: return tag list (lists?) based on input tags.. */ static gboolean gst_rg_analysis_track_result (GstRgAnalysis * filter, GstTagList ** tag_list) { -- 2.7.4