diff --git a/NEWS b/NEWS index 4d1d146da..133edf2e0 100644 --- a/NEWS +++ b/NEWS @@ -47,6 +47,12 @@ ver 0.20 (not yet released) * update - apply .mpdignore matches to subdirectories +ver 0.19.13 (not yet released) +* tags + - aiff, riff: fix ID3 chunk padding +* decoder + - ffmpeg: support the TAK codec + ver 0.19.12 (2015/12/15) * fix assertion failure on malformed UTF-8 tag * fix build failure on non-Linux systems diff --git a/src/tag/Aiff.cxx b/src/tag/Aiff.cxx index 7235b76a8..645320ae2 100644 --- a/src/tag/Aiff.cxx +++ b/src/tag/Aiff.cxx @@ -84,14 +84,14 @@ aiff_seek_id3(FILE *file) underflow when casting to off_t */ return 0; - if (size % 2 != 0) - /* pad byte */ - ++size; - if (memcmp(chunk.id, "ID3 ", 4) == 0) /* found it! */ return size; + if (size % 2 != 0) + /* pad byte */ + ++size; + if (fseek(file, size, SEEK_CUR) != 0) return 0; } diff --git a/src/tag/Riff.cxx b/src/tag/Riff.cxx index 741225813..9d79bb564 100644 --- a/src/tag/Riff.cxx +++ b/src/tag/Riff.cxx @@ -82,15 +82,15 @@ riff_seek_id3(FILE *file) underflow when casting to off_t */ return 0; - if (size % 2 != 0) - /* pad byte */ - ++size; - if (memcmp(chunk.id, "id3 ", 4) == 0 || memcmp(chunk.id, "ID3 ", 4) == 0) /* found it! */ return size; + if (size % 2 != 0) + /* pad byte */ + ++size; + if (fseek(file, size, SEEK_CUR) != 0) return 0; }