mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 11:45:25 +00:00
make id3v1 tag reading use internal function, which gets the charset conversion done better. And fix an error with un...
Original commit message from CVS: make id3v1 tag reading use internal function, which gets the charset conversion done better. And fix an error with unset GstTagSetter tags when in tagsetting mode
This commit is contained in:
parent
0d6a451d57
commit
6eeca5fecf
1 changed files with 4 additions and 9 deletions
|
@ -577,7 +577,7 @@ gst_id3_tag_get_tag_to_render (GstID3Tag *tag)
|
|||
} else if (tag->parsed_tags) {
|
||||
ret = gst_tag_list_copy (tag->parsed_tags);
|
||||
}
|
||||
if (ret) {
|
||||
if (ret && gst_tag_setter_get_list (GST_TAG_SETTER (tag))) {
|
||||
gst_tag_list_insert (ret, gst_tag_setter_get_list (GST_TAG_SETTER (tag)),
|
||||
gst_tag_setter_get_merge_mode (GST_TAG_SETTER (tag)));
|
||||
} else if (gst_tag_setter_get_list (GST_TAG_SETTER (tag))) {
|
||||
|
@ -830,16 +830,11 @@ gst_id3_tag_chain (GstPad *pad, GstData *data)
|
|||
tag->v1tag_size = id3_tag_query (GST_BUFFER_DATA (tag->buffer),
|
||||
GST_BUFFER_SIZE (tag->buffer));
|
||||
if (tag->v1tag_size == 128) {
|
||||
struct id3_tag *v1tag;
|
||||
GstTagList *newtag;
|
||||
|
||||
v1tag = id3_tag_parse (GST_BUFFER_DATA (tag->buffer),
|
||||
GST_BUFFER_SIZE (tag->buffer));
|
||||
newtag = gst_tag_list_new_from_id3v1 (GST_BUFFER_DATA (tag->buffer));
|
||||
GST_LOG_OBJECT (tag, "have read ID3v1 tag");
|
||||
if (v1tag) {
|
||||
GstTagList *newtag;
|
||||
|
||||
newtag = gst_mad_id3_to_tag_list (v1tag);
|
||||
id3_tag_delete (v1tag);
|
||||
if (newtag) {
|
||||
if (tag->parsed_tags) {
|
||||
/* FIXME: use append/prepend here ? */
|
||||
gst_tag_list_insert (tag->parsed_tags, newtag,
|
||||
|
|
Loading…
Reference in a new issue