[gstreamer-bugs] [Bug 339918] New: GstTagSetter merge-mode description unclear, and implementations inconsistent

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Thu Apr 27 05:48:52 PDT 2006


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=339918
 GStreamer | gst-plugins-base | Ver: HEAD CVS

           Summary: GstTagSetter merge-mode description unclear, and
                    implementations inconsistent
           Product: GStreamer
           Version: HEAD CVS
          Platform: Other
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: major
          Priority: Normal
         Component: gst-plugins-base
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: doclivingston at gmail.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
     GNOME version: Unspecified
   GNOME milestone: Unspecified


Currently the documentation on gst_tag_setter_set_tag_merge_mode() is missing a
number of words, and so makes it unclear what the merge mode should mean. This
is particularly bad since different plugins make it mean different things.

    "The default is GST_TAG_MERGE_KEEP, which keeps the tags by this interface
and discards tags from events."


Consider when a tag "artist = Foo" comes doen the pipeline as an event, and
another tag "artist = Bar" is set on the tag-setter interface. What do KEEP and
REPLACE mean?

id3mux and the taglib id3 muxer currently make KEEP mean "keep event tags and
discard interface tags" and REPLACE mean "replace event tags with interface
tags"

vorbisenc, flacenc and speexenc currently make it mean the opposite: KEEP="keep
interface tags and discard event tags" and REPLACE="replace interface tags with
event tags".


The default mode is KEEP, and so having that discard interface tags would mean
that the default mode is to make the tag-setter interface do nothing. Having it
use the tags you have it (by default) probably makes more sense.

Changing either of the groups interpretations could potentially break
applications that rely on the broken behaviour. All released versions of
Rhythmbox that support ID3 tag editing set the mode to REPLACE (because that's
what worked with id3mux), and there may be apps that depend on vorbisenc et
al's interpretation being correct. Leaving it as-is would require apps to
special-case elements to set the right mode, which would also be bad.


-- 
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.




More information about the Gstreamer-bugs mailing list