aboutsummaryrefslogtreecommitdiffstats
path: root/NEWS (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Tag: support "AlbumSort"Max Kellermann2014-09-291-1/+1
| | | | | The new tag is supported by all decoders that use the tag name table, and the ID3v2 tag "TSOA" maps to it.
* Add MusicBrainz' Release Track Id tagWieland Hoffmann2014-09-271-0/+1
| | | | | | | | | | The Release Track Id uniquely identifies a recording on a release - that is, even if a recording appears twice on a release (meaning that the combination of recording and release id are not enough to figure out which one it is), the release track id will allow differentiating the two. The tag names are taken from https://musicbrainz.org/doc/MusicBrainz_Picard/Tags/Mapping
* Merge tag 'v0.18.16'Max Kellermann2014-09-261-1/+4
|\
| * release v0.18.16Max Kellermann2014-09-261-1/+1
| |
| * configure.ac: fix DSD breakage due to typoMax Kellermann2014-09-261-0/+1
| |
| * 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
| |