[FFmpeg-devel] [PATCH 2/2] id3v2: strip trailing spaces from APIC tag
wm4
nfxjfg at googlemail.com
Thu May 7 23:56:37 CEST 2015
The APIC description must be unique, and some ID3v2 tag writers add
spaces to write several APIC entries with the same description. The
trailing spaces simply serve as a way to disambiguate the description.
Do this so that API users do not have to special-case mp3 to fix this
cosmetic issue.
---
Also questionable.
---
libavformat/id3v2.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/libavformat/id3v2.c b/libavformat/id3v2.c
index 1c57dd9..4c0e710 100644
--- a/libavformat/id3v2.c
+++ b/libavformat/id3v2.c
@@ -535,6 +535,13 @@ static void free_apic(void *obj)
av_freep(&apic);
}
+static void rstrip_spaces(char *buf)
+{
+ size_t len = strlen(buf);
+ while (len > 0 && buf[len - 1] == ' ')
+ buf[--len] = 0;
+}
+
static void read_apic(AVFormatContext *s, AVIOContext *pb, int taglen,
const char *tag, ID3v2ExtraMeta **extra_meta,
int isv34)
@@ -608,6 +615,10 @@ static void read_apic(AVFormatContext *s, AVIOContext *pb, int taglen,
new_extra->next = *extra_meta;
*extra_meta = new_extra;
+ // The description must be unique, and some ID3v2 tag writers add spaces
+ // to write several APIC entries with the same description.
+ rstrip_spaces(apic->description);
+
return;
fail:
--
2.1.4
More information about the ffmpeg-devel
mailing list