aboutsummaryrefslogtreecommitdiffstats
path: root/NEWS (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
| * configure.ac: prepare for 0.18.16Max Kellermann2014-09-261-0/+2
| |
| * release v0.18.15Max Kellermann2014-09-261-1/+1
| |
* | decoder/mpg123: support ID3v2, ReplayGain and MixRampMax Kellermann2014-09-241-0/+1
| |
* | Merge branch 'v0.18.x'Max Kellermann2014-09-241-0/+6
|\|
| * OutputThread: retain negative mix ratioMax Kellermann2014-09-181-0/+1
| | | | | | | | Fixes MixRamp breakage.
| * command/list: reset used size after the list has been processedAndrzej Rybczak2014-09-181-0/+2
| |
| * thread/Posix{Cond,Mutex}: don't ues PTHREAD_*_INITIALIZER on NetBSDMax Kellermann2014-09-131-0/+1
| | | | | | | | | | | | | | | | | | | | On NetBSD, PTHREAD_MUTEX_INITIALIZER and PTHREAD_COND_INITIALIZER are not compatible with C++11 "constexpr" (see Mantis ticket 0004110). As a workaround, don't ues "constexpr", and use the functions pthread_mutex_init(), pthread_mutex_destroy(), pthread_cond_init() and pthread_cond_destroy() instead. This adds some runtime overhead, but is portable to POSIX implementations that have awkward initializer macros.
| * configure.ac: prepare for 0.18.15Max Kellermann2014-09-131-0/+2
| |
* | decoder/sndfile: support float and 16 bit samplesMax Kellermann2014-09-191-0/+2
| | | | | | | | | | Support these PCM formats natively, instead of letting libsndfile convert everything to 32 bit.
* | Merge tag 'v0.18.14'Max Kellermann2014-09-111-0/+8
|\|
| * release v0.18.14Max Kellermann2014-09-111-1/+1
| |
| * decoder/ffmpeg: pass MIME type to ffmpeg/libav version 11Max Kellermann2014-09-071-0/+1
| | | | | | | | | | | | | | That attribute was uninitialized before, which could crash libavformat. See Debian bug 760669
| * DecoderThread: clear the pipe when handling late SEEKMax Kellermann2014-09-071-0/+1
| | | | | | | | | | See code comment. Fixes assertion failure in decoder_command_finished().
| * decoder/audiofile: fix crash after seekingMax Kellermann2014-09-061-0/+2
| | | | | | | | | | | | Log call was added to the wrong branch. Fixes regression by commit ca1a1149
| * protocol/ArgParser: fix integer overflow in parse_range()Max Kellermann2014-09-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Casting std::numeric_limits<unsigned>::max() to "long" leads to an overflow if sizeof(unsigned)==sizeof(long), and the result will be -1. This happens on some 32 bit architectures, for example ARM and WIN32. Workaround: use std::numeric_limits<int>::max(), which is the largest signed integer. Since sizeof(long)>=sizeof(int), this will never overflow. Fixes Mantis ticket 0004080.
| * configure.ac: prepare for 0.18.14Max Kellermann2014-09-031-0/+2
| |
* | output/alsa, pcm: rename "DSD over USB" to "DoP"Max Kellermann2014-08-311-0/+1
| | | | | | | | | | The standard has been renamed since the early draft that was implemented in MPD.
* | Merge tag 'v0.18.13'Max Kellermann2014-08-311-1/+7
|\|
| * release v0.18.13Max Kellermann2014-08-311-1/+1
| |
| * PlaylistControl: use SeekSongOrder(current) to keep current songMax Kellermann2014-08-311-0/+2
| | | | | | | | | | | | The "current" attribute is a "song order", not a "song position". This is usually the same - except in random mode. Fixes Mantis ticket 0004073.
| * output/alsa: fix endless loop at end of file in dsd_usb modeMax Kellermann2014-08-311-0/+2
| |
| * decoder/gme: fix song durationMax Kellermann2014-08-291-0/+1
| | | | | | | | The unit of gme_info_t::length is milliseconds, not centiseconds.
* | ArgParser: allow fractional seconds in ParseCommandArg(SongTime)Max Kellermann2014-08-291-0/+1
| |
* | output/alsa: support native DSD playbackMax Kellermann2014-08-261-0/+2
| | | | | | | | | | Translate SampleFormat::DSD to SND_PCM_FORMAT_DSD_U8, which was added to alsa-lib 1.0.27.1.
* | Merge branch 'v0.18.x'Max Kellermann2014-08-241-0/+2
|\|
| * event/TimeoutMonitor: reset "active" flag before invoking OnTimeout()Max Kellermann2014-08-241-0/+1
| | | | | | | | | | | | The IsActive() method returned true even if the timer was not active, after it completed once. This broke the state file timer, and the state file was not saved periodically.
| * system/ByteOrder: <endian.h> is a non-standard header that only Linux provides.Thomas Klausner2014-08-231-0/+1
| |
* | decoder/dsdiff: implement seekingMax Kellermann2014-08-231-1/+1
| |
* | decoder/dsf: implement seekingMax Kellermann2014-08-231-0/+1
| |
* | decoder/dsf: fix big-endian bugsMax Kellermann2014-08-231-0/+1
| |
* | decoder/dsf: fix multi-channel filesMax Kellermann2014-08-221-0/+1
| | | | | | | | The plugin was horribly bugged for files that were not stereo.
* | decoder/dsf: fix noise at end of malformed fileMax Kellermann2014-08-211-0/+1
| | | | | | | | | | | | Read one block at a time. This discards the last partial block, which cannot be interleaved anyway. Previously, uninitialised memory was used to interleave the last block, which generated some noise.
* | Merge branch 'v0.18.x'Max Kellermann2014-08-211-0/+1
|\|
| * decoer/dsdiff: fix endless loop on malformed fileMax Kellermann2014-08-211-1/+1
| | | | | | | | Same bug as in the previous commit.
| * decoer/dsf: fix endless loop on malformed fileMax Kellermann2014-08-211-0/+1
| | | | | | | | | | | | | | When the data chunk size is not a multiple of the frame size, the last partial frame lead to an endless loop. We fix this by checking chunk_sze>=frame instead of chunk_sze>0. This way, the partial frame is simply skipped.
* | input/ffmpeg: use av_strerror()Max Kellermann2014-08-181-0/+1
| | | | | | | | Generate more detailed error messages.
* | input/ffmpeg: update offset after seekingMax Kellermann2014-08-181-0/+1
| |
* | decoder/dsf: Allow up to DSD512. Enable DSD rates based on Fs=48kHzJurgen Kramer2014-08-161-0/+1
| |
* | Report bitrate for DSF and DSDIFF DSD decodersJurgen Kramer2014-08-161-0/+1
| |
* | Merge branch 'v0.18.x'Max Kellermann2014-08-161-0/+2
|\|
| * decoder/ffmpeg: use avcodec_descriptor_get() to determine codec nameMax Kellermann2014-08-131-0/+2
| | | | | | | | | | | | In version 11, both ffmpeg and libav deprecate AVCodecContext::codec_name. The function avcodec_descriptor_get() has been introduced long ago.
* | Merge branch 'v0.18.x'Max Kellermann2014-08-121-0/+2
|\|
| * configure.ac: prepare for 0.18.13Max Kellermann2014-08-021-0/+2
| |
* | AllCommands: close connection after syntax errorMax Kellermann2014-08-121-0/+1
| | | | | | | | Stop HTTP clients from exploiting MPD via forged POST requests.
* | SongFilter: new filter "modified-since"Max Kellermann2014-08-111-0/+1
| |
* | db/simple: compress the database file using gzipMax Kellermann2014-08-111-0/+1
| |
* | decoder/Mp4v2: add MP4v2 decoder pluginAndrée Ekroth2014-08-071-0/+1
| | | | | | | | | | This plugin uses the MP4v2 library to play mp4/m4a files. It is limited to file_decode.
* | Merge tag 'v0.18.12'Max Kellermann2014-07-301-1/+1
|\|
| * release v0.18.12Max Kellermann2014-07-301-1/+1
| |
* | db/proxy: implement Update()Max Kellermann2014-07-291-0/+1
| |