From 81e783371156043d81098583087622a9ad0dd022 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 19 Feb 2016 17:30:01 +0100 Subject: [PATCH 1/3] configure.ac: prepare for 0.19.13 --- NEWS | 2 ++ configure.ac | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 4da2a8518..c988ac320 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,5 @@ +ver 0.19.13 (not yet released) + 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/configure.ac b/configure.ac index 107b45a03..10e77ca79 100644 --- a/configure.ac +++ b/configure.ac @@ -1,10 +1,10 @@ AC_PREREQ(2.60) -AC_INIT(mpd, 0.19.12, musicpd-dev-team@lists.sourceforge.net) +AC_INIT(mpd, 0.19.13, musicpd-dev-team@lists.sourceforge.net) VERSION_MAJOR=0 VERSION_MINOR=19 -VERSION_REVISION=12 +VERSION_REVISION=13 VERSION_EXTRA=0 AC_CONFIG_SRCDIR([src/Main.cxx]) From 4abcb08cc9227095717d33e5466eda5f243b22aa Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 19 Feb 2016 17:31:20 +0100 Subject: [PATCH 2/3] tag/{aiff,riff}: fix ID3 chunk padding Apply padding only to the fseek(), not to the chunk size. This fixes bogus "failed to read riff chunk" messages when the last chunk has an odd size. See http://bugs.musicpd.org/view.php?id=4486 --- NEWS | 2 ++ src/tag/Aiff.cxx | 8 ++++---- src/tag/Riff.cxx | 8 ++++---- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/NEWS b/NEWS index c988ac320..26ecdc4e9 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,6 @@ ver 0.19.13 (not yet released) +* tags + - aiff, riff: fix ID3 chunk padding ver 0.19.12 (2015/12/15) * fix assertion failure on malformed UTF-8 tag diff --git a/src/tag/Aiff.cxx b/src/tag/Aiff.cxx index c2498c9e9..3c0d138d7 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 c630f082d..19bc3b817 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; } From 1e0ad1f6bfd13f3dbf7dc6fa3b8c9d8f03b5be2e Mon Sep 17 00:00:00 2001 From: Chris Spiegel Date: Fri, 12 Feb 2016 18:49:10 -0800 Subject: [PATCH 3/3] Add TAK as a supported FFmpeg format. --- NEWS | 2 ++ src/decoder/plugins/FfmpegDecoderPlugin.cxx | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 26ecdc4e9..c1cd6cb25 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,8 @@ 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 diff --git a/src/decoder/plugins/FfmpegDecoderPlugin.cxx b/src/decoder/plugins/FfmpegDecoderPlugin.cxx index 689089107..95525b626 100644 --- a/src/decoder/plugins/FfmpegDecoderPlugin.cxx +++ b/src/decoder/plugins/FfmpegDecoderPlugin.cxx @@ -738,7 +738,7 @@ static const char *const ffmpeg_suffixes[] = { "mve", "mvi", "mxf", "nc", "nsv", "nut", "nuv", "oga", "ogm", "ogv", "ogx", "oma", "ogg", "omg", "opus", "psp", "pva", "qcp", "qt", "r3d", "ra", "ram", "rl2", "rm", "rmvb", "roq", "rpl", "rvc", "shn", "smk", "snd", - "sol", "son", "spx", "str", "swf", "tgi", "tgq", "tgv", "thp", "ts", + "sol", "son", "spx", "str", "swf", "tak", "tgi", "tgq", "tgv", "thp", "ts", "tsp", "tta", "xa", "xvid", "uv", "uv2", "vb", "vid", "vob", "voc", "vp6", "vmd", "wav", "webm", "wma", "wmv", "wsaud", "wsvga", "wv", "wve",