From 4a162d56ab68ccc888c45ad7850ec4d33679fef4 Mon Sep 17 00:00:00 2001 From: Stefan Kost Date: Tue, 16 Dec 2008 09:37:53 +0000 Subject: [PATCH] gst/gsttaglist.c: Avoid copy of empty taglist. Original commit message from CVS: * gst/gsttaglist.c: Avoid copy of empty taglist. --- ChangeLog | 5 +++++ gst/gsttaglist.c | 13 +++++-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index a8b9741747..899321a7b2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-12-16 Stefan Kost + + * gst/gsttaglist.c: + Avoid copy of empty taglist. + 2008-12-16 Stefan Kost * gst/gsttaglist.c: diff --git a/gst/gsttaglist.c b/gst/gsttaglist.c index 5ad45817ad..feb425e6ee 100644 --- a/gst/gsttaglist.c +++ b/gst/gsttaglist.c @@ -692,8 +692,8 @@ GstTagList * gst_tag_list_merge (const GstTagList * list1, const GstTagList * list2, GstTagMergeMode mode) { - const GstTagList *list1_cp, *list2_cp; - GstTagList *ret; + GstTagList *list1_cp; + const GstTagList *list2_cp; g_return_val_if_fail (list1 == NULL || GST_IS_TAG_LIST (list1), NULL); g_return_val_if_fail (list2 == NULL || GST_IS_TAG_LIST (list2), NULL); @@ -705,18 +705,15 @@ gst_tag_list_merge (const GstTagList * list1, const GstTagList * list2, } /* create empty list, we need to do this to correctly handling merge modes */ - list1_cp = (list1) ? list1 : gst_tag_list_new (); + list1_cp = (list1) ? gst_tag_list_copy (list1) : gst_tag_list_new (); list2_cp = (list2) ? list2 : gst_tag_list_new (); - ret = gst_tag_list_copy (list1_cp); - gst_tag_list_insert (ret, list2_cp, mode); + gst_tag_list_insert (list1_cp, list2_cp, mode); - if (!list1) - gst_tag_list_free ((GstTagList *) list1_cp); if (!list2) gst_tag_list_free ((GstTagList *) list2_cp); - return ret; + return list1_cp; } /**