diff --git a/NEWS b/NEWS index cf9eff0d5..e54ddf398 100644 --- a/NEWS +++ b/NEWS @@ -19,6 +19,14 @@ ver 0.22 (not yet released) * switch to C++17 - GCC 7 or clang 4 (or newer) recommended +ver 0.21.13 (2019/08/06) +* input + - cdio_paranoia: require libcdio-paranoia 10.2+0.93+1 +* decoder + - mad: fix crackling sound (0.21.12 regression) +* output + - jack: improved Windows compatibility + ver 0.21.12 (2019/08/03) * decoder - mad: update bit rate after seeking diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml index 84455850c..9dc417f71 100644 --- a/android/AndroidManifest.xml +++ b/android/AndroidManifest.xml @@ -2,8 +2,8 @@ + android:versionCode="36" + android:versionName="0.21.13"> diff --git a/src/decoder/plugins/MadDecoderPlugin.cxx b/src/decoder/plugins/MadDecoderPlugin.cxx index 0e7e26a1e..13ec770af 100644 --- a/src/decoder/plugins/MadDecoderPlugin.cxx +++ b/src/decoder/plugins/MadDecoderPlugin.cxx @@ -79,12 +79,14 @@ static inline int32_t mad_fixed_to_24_sample(mad_fixed_t sample) noexcept { static constexpr unsigned bits = 24; + static constexpr mad_fixed_t MIN = -MAD_F_ONE; + static constexpr mad_fixed_t MAX = MAD_F_ONE - 1; /* round */ sample = sample + (1L << (MAD_F_FRACBITS - bits)); /* quantize */ - return Clamp(sample, MAD_F_MIN, MAD_F_MAX) + return Clamp(sample, MIN, MAX) >> (MAD_F_FRACBITS + 1 - bits); } diff --git a/src/input/plugins/CdioParanoiaInputPlugin.cxx b/src/input/plugins/CdioParanoiaInputPlugin.cxx index f7b3687ef..ba6e2021b 100644 --- a/src/input/plugins/CdioParanoiaInputPlugin.cxx +++ b/src/input/plugins/CdioParanoiaInputPlugin.cxx @@ -299,11 +299,7 @@ CdioParanoiaInputStream::Read(std::unique_lock &, if (s_err) { FormatError(cdio_domain, "paranoia_read: %s", s_err); -#if LIBCDIO_VERSION_NUM >= 90 cdio_cddap_free_messages(s_err); -#else - free(s_err); -#endif } throw; diff --git a/src/input/plugins/meson.build b/src/input/plugins/meson.build index 5fc2f122b..cf866a0ee 100644 --- a/src/input/plugins/meson.build +++ b/src/input/plugins/meson.build @@ -6,7 +6,7 @@ if alsa_dep.found() input_plugins_sources += 'AlsaInputPlugin.cxx' endif -libcdio_paranoia_dep = dependency('libcdio_paranoia', version: '>= 0.4', required: get_option('cdio_paranoia')) +libcdio_paranoia_dep = dependency('libcdio_paranoia', version: '>= 10.2+0.93+1', required: get_option('cdio_paranoia')) conf.set('ENABLE_CDIO_PARANOIA', libcdio_paranoia_dep.found()) if libcdio_paranoia_dep.found() input_plugins_sources += 'CdioParanoiaInputPlugin.cxx' diff --git a/src/lib/cdio/Paranoia.hxx b/src/lib/cdio/Paranoia.hxx index 19b4c4483..596d23666 100644 --- a/src/lib/cdio/Paranoia.hxx +++ b/src/lib/cdio/Paranoia.hxx @@ -34,11 +34,7 @@ #include "util/Compiler.h" #include -#if LIBCDIO_VERSION_NUM >= 90 #include -#else -#include -#endif #include #include