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 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel