[gstreamer-bugs] [Bug 395554] New: gst_tag_setter_merge_tags works at most once
GStreamer (bugzilla.gnome.org)
bugzilla-daemon at bugzilla.gnome.org
Thu Jan 11 12:25:49 PST 2007
Do not reply to this via email (we are currently unable to handle email
responses and they get discarded). You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=395554
GStreamer | gstreamer (core) | Ver: HEAD CVS
Summary: gst_tag_setter_merge_tags works at most once
Product: GStreamer
Version: HEAD CVS
Platform: Other
OS/Version: All
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gstreamer (core)
AssignedTo: gstreamer-bugs at lists.sourceforge.net
ReportedBy: mail at renestadler.de
QAContact: gstreamer-bugs at lists.sourceforge.net
GNOME version: Unspecified
GNOME milestone: Unspecified
Fun question: What's wrong with this code from gst/gsttagsetter.c:
void
gst_tag_setter_merge_tags (GstTagSetter * setter, const GstTagList * list,
GstTagMergeMode mode)
{
GstTagData *data;
g_return_if_fail (GST_IS_TAG_SETTER (setter));
g_return_if_fail (GST_TAG_MODE_IS_VALID (mode));
data = gst_tag_setter_get_data (setter);
if (!data->list) {
data->list = gst_tag_list_copy (list);
} else {
gst_tag_list_merge (data->list, list, mode);
}
}
Answer: gst_tag_list_merge merges the two lists that are passed to it and
_returns_ the result as a new list. Note how the return value is ignored here.
The solution is to use gst_tag_list_insert instead. Attaching trivial patch.
--
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email
More information about the Gstreamer-bugs
mailing list