summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-09-25release v0.21.15v0.21.15Max Kellermann
2019-09-13decoder/mpcdec: fix bogus ReplayGain valuesMax Kellermann
Apparently, libmpcdec sets gain/peak variables to zero if they are not present. This clashes with our formula and results in bogus values which cause noise during playback. Closes https://github.com/MusicPlayerDaemon/MPD/issues/640
2019-09-13ReplayGainInfo: move more code to a functionMax Kellermann
2019-09-13decoder/mpcdec: merge duplicate codeMax Kellermann
2019-09-13ReplayGainInfo: add static method Undefined()Max Kellermann
2019-09-08NEWS: add missing line for 818b7e0641f25fMax Kellermann
2019-09-08decoder/{dsf,dsdiff}: precalculate bit rateMax Kellermann
2019-09-08decoder/{dsf,dsdiff}: fix displayed bit rateMax Kellermann
The formula did not consider the channel count. Closes https://github.com/MusicPlayerDaemon/MPD/issues/639
2019-09-01python/build/libs: update Boost to 1.71.0Max Kellermann
2019-09-01python/build/libs: update expat to 2.2.7Max Kellermann
2019-09-01python/build/libs: update CURL to 7.65.3Max Kellermann
2019-09-01python/build/libs: update FFmpeg to 4.2Max Kellermann
2019-09-01python/build/libs: update Opus to 1.3.1Max Kellermann
2019-09-01python/build/libs: update libogg to 1.3.4Max Kellermann
2019-08-22output/solaris: include sys/stropts.h only on SolarisMax Kellermann
This header had been available for a long time on Linux, but was removed in glibc 2.30. This commit moves the `#include` line inside the `#ifdef __sun` block and adds a fake declaration of `I_FLUSH` for the Linux build. Closes https://github.com/MusicPlayerDaemon/MPD/issues/630
2019-08-22increment version number to 0.21.15Max Kellermann
2019-08-21release v0.21.14v0.21.14Max Kellermann
2019-08-21output/Thread: add missing `return` in exception handlerMax Kellermann
2019-08-20command/all: don't create new Response instance in exception handlerMax Kellermann
The new Response instance in the `catch` block didn't have the `command` attribute set, so the error response didn't indicate which command had failed, which however is required in the MPD protocol. Closes https://github.com/MusicPlayerDaemon/MPD/issues/628
2019-08-20client/Process, command/all: add `noexcept`Max Kellermann
Clarify that those can't throw, preparing for the next commit.
2019-08-20command/all: remove obsolete prototypeMax Kellermann
2019-08-20command/all: simplify `return` from command_process()Max Kellermann
2019-08-20command/all: catch all exceptionsMax Kellermann
2019-08-20decoder/Thread: on late SEEK, start decoder at seek positionMax Kellermann
Previously, a bogus value (whatever happened to be still in `start_time`) was used.
2019-08-20decoder/Control: work around crash after SEEK was too lateMax Kellermann
See code comment. Closes https://github.com/MusicPlayerDaemon/MPD/issues/629
2019-08-13output/Thread: fix typo in commentMax Kellermann
2019-08-12doc/protocol.rst: add missing newline to "albumart" exampleMax Kellermann
This was missing in commit 0f488dcecfb0c43134f15cfb2e6368845dcf3d8d
2019-08-10decoder/sidplay: Fix date field to have year but not company or authorFredrik Noring
Field 2 is called <released>, formerly used as <copyright>[1][2]. It is formatted <year><space><company or author or group>, where <year> may be <YYYY>, <YYY?>, <YY??> or <YYYY-YY>, for example "1987", "199?", "19??" or "1985-87". The <company or author or group> may be for example Rob Hubbard. A full field may be for example "1987 Rob Hubbard". This change splits the <released> field at the first <space>, to retain the <year> part. The 51823 SID files in High Voltage SID Collection (HVSC) version 71 have the following distribution of dates: 333 19?? 11 1990-92 6 1995-99 2 2006-08 827 198? 88 1990-93 2140 1996 530 2007 32 1982 69 1990-94 9 1996-97 15 2007-08 1 1982-83 49 1990-95 2 1996-98 2 2007-09 255 1983 3467 1991 5 1996-99 1 2007-10 677 1984 75 1991-92 1840 1997 430 2008 775 1985 65 1991-93 4 1997-98 23 2008-09 3 1985-86 10 1991-94 1276 1998 1 2008-12 10 1985-87 35 1991-97 4 1998-99 631 2009 943 1986 3320 1992 865 1999 1 2009-10 12 1986-87 26 1992-93 24 200? 645 2010 5 1986-89 59 1992-94 590 2000 1 2010-12 2083 1987 1 1992-96 4 2000-01 538 2011 31 1987-88 2996 1993 727 2001 1 2011-12 44 1987-89 42 1993-94 875 2002 651 2012 2510 1988 12 1993-95 2 2002-04 811 2013 129 1988-89 2 1993-97 844 2003 790 2014 91 1988-90 2737 1994 3 2003-05 740 2015 58 1988-91 16 1994-95 842 2004 792 2016 3466 1989 20 1994-96 2 2004-05 775 2017 95 1989-90 17 1994-97 707 2005 638 2018 150 1989-91 2271 1995 1 2005-06 284 2019 1077 199? 2 1995-96 2 2005-07 2834 1990 4 1995-97 785 2006 119 1990-91 2 1995-98 6 2006-07 References: [1] https://www.hvsc.c64.org/download/C64Music/DOCUMENTS/SID_file_format.txt [2] https://hvsc.c64.org/info
2019-08-10decoder/sidplay: Fix windows-1252 to utf-8 string conversionFredrik Noring
High Voltage SID Collection (HVSC) metadata fields are encoded in windows-1252, as described in DOCUMENTS/SID_file_format.txt: https://www.hvsc.c64.org/download/C64Music/DOCUMENTS/SID_file_format.txt If utf-8 transcoding fails, or the ICU library is unavailable, fall back to plain ASCII and replace other characters with '?'.
2019-08-09decoder/sidplay: Fix song length initialisation during container scanFredrik Noring
The song length was previously undetermined.
2019-08-09increment version number to 0.21.14Max Kellermann
2019-08-06release v0.21.13v0.21.13Max Kellermann
2019-08-06output/jack: use jack_free() for Windows compatibilityMax Kellermann
2019-08-06output/jack: use std::atomic_bool for "shutdown" and "pause"Max Kellermann
Without this, the compiler may optimize accesses away.
2019-08-06output/jack: use SIZE_MAX instead of (size_t)-1Max Kellermann
2019-08-06input/cdio_paranoia: drop support for libcdio-paranoia older than 10.2+0.93+1Max Kellermann
Version 10.2+0.93+1 was released five years ago in 2014 and is the first version to feature cdio_cddap_free_messages(). There is no way to check the libcdio-paranoia version at compile time, so let's just remove support for older versions instead of attempting to fix the cdio_cddap_free_messages() check at build time. Closes https://github.com/MusicPlayerDaemon/MPD/issues/613
2019-08-05Revert "decoder/mad: use MAD_F_MIN and MAD_F_MAX"Max Kellermann
This reverts commit f7ed7446ae4be9226de554d6d75a14a9fb71dd7c. It was a bad idea, because MAD_F_MIN and MAD_F_MAX do not represent the clamping limits, but the theoretical minimum and maximum values of the mad_fixed_t data type. Closes https://github.com/MusicPlayerDaemon/MPD/issues/617
2019-08-05increment version number to 0.21.13Max Kellermann
2019-08-03release v0.21.12v0.21.12Max Kellermann
2019-08-03player/Thread: don't restart unseekable song after failed seek attemptMax Kellermann
The check IsSeekableCurrentSong() was added by commit 44b200240f1f4b8394dd2e58fec72da3d3ec448f in version 0.20.19, but it caused a regression: by doing the branch only if the current song is seekable, the player would restart the current song if it was not seekable, and later the initial seek would fail; but we already know it's not seekable, and so we should fail early.
2019-08-03decoder/mad: pass const reference to RecoverFrameError()Max Kellermann
2019-08-03decoder/mad: change integers to size_tMax Kellermann
2019-08-03decoder/mad: return from SynthAndSubmit() earlyMax Kellermann
2019-08-03decoder/mad: pass mad_pcm to mad_fixed_to_24_buffer()Max Kellermann
2019-08-03decoder/mad: eliminate the loop in SubmitPCM()Max Kellermann
libmad has a hard-coded maximum PCM buffer size; if we make our output_buffer just as large, we can avoid the loop, because any possible size will fit.
2019-08-03decoder/mad: rename a few misnamed methodsMax Kellermann
2019-08-03decoder/mad: move code to LoadNextFrame()Max Kellermann
2019-08-03decoder/mad: move code to HandleCurrentFrame()Max Kellermann
2019-08-03decoder/mad: remove unnecessary initializersMax Kellermann
These will not be used until they are initialized in SyncAndSend().
2019-08-03decoder/mad: subtract libmad decoder delay from LAME encoder paddingMax Kellermann
Apparently, libmad not only inserts 529 samples of silence at the beginning of the file, but also removes them at the end. This solves the last piece of https://github.com/MusicPlayerDaemon/MPD/issues/601 Closes https://github.com/MusicPlayerDaemon/MPD/issues/601