taglist: Copy the tag scope too when copying tag lists

This commit is contained in:
Sebastian Dröge 2015-04-28 15:50:46 +02:00
parent d1620f1c2e
commit 18b0581009

View file

@ -673,7 +673,7 @@ gst_tag_is_fixed (const gchar * tag)
/* takes ownership of the structure */ /* takes ownership of the structure */
static GstTagList * static GstTagList *
gst_tag_list_new_internal (GstStructure * s) gst_tag_list_new_internal (GstStructure * s, GstTagScope scope)
{ {
GstTagList *tag_list; GstTagList *tag_list;
@ -686,7 +686,7 @@ gst_tag_list_new_internal (GstStructure * s)
(GstMiniObjectFreeFunction) __gst_tag_list_free); (GstMiniObjectFreeFunction) __gst_tag_list_free);
GST_TAG_LIST_STRUCTURE (tag_list) = s; GST_TAG_LIST_STRUCTURE (tag_list) = s;
GST_TAG_LIST_SCOPE (tag_list) = GST_TAG_SCOPE_STREAM; GST_TAG_LIST_SCOPE (tag_list) = scope;
#ifdef DEBUG_REFCOUNT #ifdef DEBUG_REFCOUNT
GST_CAT_TRACE (GST_CAT_TAGS, "created taglist %p", tag_list); GST_CAT_TRACE (GST_CAT_TAGS, "created taglist %p", tag_list);
@ -717,7 +717,8 @@ __gst_tag_list_copy (const GstTagList * list)
g_return_val_if_fail (GST_IS_TAG_LIST (list), NULL); g_return_val_if_fail (GST_IS_TAG_LIST (list), NULL);
s = GST_TAG_LIST_STRUCTURE (list); s = GST_TAG_LIST_STRUCTURE (list);
return gst_tag_list_new_internal (gst_structure_copy (s)); return gst_tag_list_new_internal (gst_structure_copy (s),
GST_TAG_LIST_SCOPE (list));
} }
/** /**
@ -736,7 +737,7 @@ gst_tag_list_new_empty (void)
GstTagList *tag_list; GstTagList *tag_list;
s = gst_structure_new_id_empty (GST_QUARK (TAGLIST)); s = gst_structure_new_id_empty (GST_QUARK (TAGLIST));
tag_list = gst_tag_list_new_internal (s); tag_list = gst_tag_list_new_internal (s, GST_TAG_SCOPE_STREAM);
return tag_list; return tag_list;
} }
@ -878,7 +879,7 @@ gst_tag_list_new_from_string (const gchar * str)
if (s == NULL) if (s == NULL)
return NULL; return NULL;
tag_list = gst_tag_list_new_internal (s); tag_list = gst_tag_list_new_internal (s, GST_TAG_SCOPE_STREAM);
return tag_list; return tag_list;
} }