Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | TagBuilder: add method AddEmptyItem() | Max Kellermann | 2014-04-24 | 2 | -0/+17 |
| | |||||
* | DatabaseCommands: simplify the handle_list() argument parser | Max Kellermann | 2014-04-24 | 1 | -9/+12 |
| | |||||
* | db/Helpers: "list" on album artist falls back to the artist tag | Max Kellermann | 2014-04-24 | 1 | -1/+4 |
| | |||||
* | db/Helpers: move code to CheckUniqueTag() | Max Kellermann | 2014-04-24 | 1 | -6/+12 |
| | |||||
* | db/Helpers: use reference instead of pointer | Max Kellermann | 2014-04-24 | 1 | -4/+6 |
| | |||||
* | SongFilter: convert argv to ConstBuffer | Max Kellermann | 2014-04-24 | 4 | -13/+27 |
| | |||||
* | util/{Const,Writable}Buffer: add front(), back(), pop_{front,back}(), shift() | Max Kellermann | 2014-04-24 | 2 | -0/+118 |
| | |||||
* | util/{Const,Writable}Buffer: add typedef reference_type | Max Kellermann | 2014-04-24 | 2 | -4/+8 |
| | |||||
* | DatabaseCommands: fix crash on "list base" | Max Kellermann | 2014-04-24 | 2 | -7/+4 |
| | | | | | | The string "base" is understood by locate_parse_type(), but not by listAllUniqueTags(). The special tag type LOCATE_TAG_BASE_TYPE causes a crash in PrintUniqueTag(). | ||||
* | DatabasePrint: convert "type" to unsigned | Max Kellermann | 2014-04-24 | 2 | -2/+2 |
| | |||||
* | DatabaseCommands: clarify compatibility comment | Max Kellermann | 2014-04-24 | 1 | -1/+1 |
| | |||||
* | input/nfs: add missing string.h include | Max Kellermann | 2014-04-23 | 1 | -0/+1 |
| | | | | For strrchr(). Fixes build failure. | ||||
* | Merge tag 'release-0.18.10' | Max Kellermann | 2014-04-10 | 4 | -19/+55 |
|\ | |||||
| * | decoder/sndfile: work around libsndfile bug on partial read | Marcello Desantis | 2014-04-09 | 1 | -6/+20 |
| | | |||||
| * | PlaylistEdit: don't interrupt playback when current song gets deleted | Weng Xuetian | 2014-04-09 | 1 | -10/+8 |
| | | |||||
| * | decoder/ffmpeg: handle unknown stream start time | Max Kellermann | 2014-03-18 | 1 | -2/+25 |
| | | |||||
| * | decoder/ffmpeg: pass AVSEEK_FLAG_ANY to av_seek_frame() | Max Kellermann | 2014-03-18 | 1 | -1/+1 |
| | | | | | | | | | | | | This corrects a major mistake from commit 724a59aa - there was one small thing that commit was supposed to do, and it failed. AV_TIME_BASE is not a seek flag. | ||||
| * | decoder/gme: fix memory leak in container_scan() | Max Kellermann | 2014-03-06 | 1 | -0/+1 |
| | | |||||
* | | icu/Collate: fix memory leak in IcuCaseFold() | Max Kellermann | 2014-04-09 | 1 | -0/+1 |
| | | |||||
* | | IOThread: make io_thread_get() "const" | Max Kellermann | 2014-04-05 | 1 | -1/+1 |
| | | |||||
* | | pcm/Neon: explicit rounding | Max Kellermann | 2014-03-19 | 1 | -3/+5 |
| | | | | | | | | Convert to 31 bit first, then right-shift with rounding to 16 bit. | ||||
* | | util/ConstBuffer: add FromVoid(), ToVoid() to "void" specialization | Max Kellermann | 2014-03-18 | 1 | -0/+8 |
| | | | | | | | | Provide the full API. | ||||
* | | input/mms: move blocking I/O to thread | Max Kellermann | 2014-03-16 | 1 | -60/+50 |
| | | |||||
* | | input/BufferedInputStream: new wrapper for moving plugin to thread | Max Kellermann | 2014-03-16 | 2 | -0/+385 |
| | | |||||
* | | thread/Thread: make the destructor non-virtual | Max Kellermann | 2014-03-16 | 1 | -1/+1 |
| | | | | | | | | | | The class does not have any virtual methods, and thus the (debug-only) destructor does not need to be virtual. | ||||
* | | input/alsa: don't initialize "seekable=false", "size=-1" | Max Kellermann | 2014-03-16 | 1 | -2/+0 |
| | | | | | | | | These are the default values already. | ||||
* | | pcm/Neon: make neon_x4_b() variadic | Max Kellermann | 2014-03-16 | 1 | -6/+5 |
| | | |||||
* | | pcm/Neon: apply bit shift during float->int conversion | Max Kellermann | 2014-03-16 | 1 | -7/+2 |
| | | | | | | | | Avoid multiplication. This is a speedup of 20%. | ||||
* | | input/curl: use CircularBuffer | Max Kellermann | 2014-03-16 | 1 | -133/+75 |
| | | | | | | | | Replaces its own weird buffering code. | ||||
* | | util/CircularBuffer: add method GetSpace() | Max Kellermann | 2014-03-16 | 1 | -0/+12 |
| | | |||||
* | | util/CircularBuffer: add method GetSize() | Max Kellermann | 2014-03-16 | 1 | -0/+9 |
| | | |||||
* | | util/CircularBuffer: rename GetSize() to GetCapacity() | Max Kellermann | 2014-03-15 | 1 | -22/+22 |
| | | |||||
* | | input/curl: add method CurlInputStream::Open() | Max Kellermann | 2014-03-15 | 1 | -12/+17 |
| | | |||||
* | | input/curl: move _seek() into the CurlInputStream class | Max Kellermann | 2014-03-15 | 1 | -38/+44 |
| | | |||||
* | | input/curl: move _easy_init() into the CurlInputStream class | Max Kellermann | 2014-03-15 | 1 | -30/+30 |
| | | |||||
* | | input/curl: pass std::string&& to HeaderReceived() | Max Kellermann | 2014-03-15 | 1 | -25/+8 |
| | | | | | | | | Code simplification. | ||||
* | | input/curl: move code to CurlInputStream methods | Max Kellermann | 2014-03-15 | 1 | -178/+231 |
| | | |||||
* | | input/curl: rename "error" to "error_buffer" | Max Kellermann | 2014-03-15 | 1 | -3/+3 |
| | | |||||
* | | input/curl: rename struct input_curl to CurlInputStream | Max Kellermann | 2014-03-15 | 1 | -32/+32 |
| | | |||||
* | | system/fd_util: export fd_set_cloexec() | Max Kellermann | 2014-03-15 | 2 | -1/+4 |
| | | |||||
* | | util/CircularBuffer: new buffer class | Max Kellermann | 2014-03-15 | 1 | -0/+165 |
| | | |||||
* | | configure.ac: always define _GNU_SOURCE on Linux | Max Kellermann | 2014-03-15 | 3 | -13/+0 |
| | | | | | | | | Make sure glibc gives us all features. | ||||
* | | pcm/PcmFormat: ARM NEON optimizations for float->s16 | Max Kellermann | 2014-03-15 | 2 | -1/+135 |
| | | | | | | | | This is nearly 4 times faster than the "portable" algorithm. | ||||
* | | pcm/PcmFormat: don't use WritableBuffer | Max Kellermann | 2014-03-14 | 1 | -28/+20 |
| | | | | | | | | The previous commit eliminated the need for that. | ||||
* | | pcm/PcmFormat: instantiate FloatToInteger<S32> | Max Kellermann | 2014-03-14 | 1 | -6/+1 |
| | | | | | | | | | | .. instead of reusing FloatToInteger<S24> and converting from S24 to S32 in-place. | ||||
* | | pcm/PcmFormat: eliminate more duplicate code with templates | Max Kellermann | 2014-03-14 | 3 | -122/+233 |
| | | | | | | | | | | Refactor the conversion functions to classes and pass an instance to the new function AllocateConvert(). | ||||
* | | pcm/PcmFormat: eliminate local variable "bits" | Max Kellermann | 2014-03-14 | 1 | -3/+1 |
| | | |||||
* | | pcm/PcmFormat: remove obsolete AllocateFromFloat() overload | Max Kellermann | 2014-03-14 | 1 | -15/+0 |
| | | |||||
* | | MultipleOutputs: ensure input_audio_format is zero-initialised | Pete Beardmore | 2014-03-14 | 1 | -0/+1 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -fixes SIGABRT when mpd is started from a previously paused state -regression introduced by commit: f5a923b9d16e4c63942a033d1bdb2ab150aae342: 'OutputAll: convert to class, move instance to class Partition' -input_audio_format was previously declared using the static modifier ensuring it was zero-initialised by default -the current default-initialised input_audio_format contains garbage at runtime which allows the AudioFormat.IsDefined() 'fail fast' test in MultipleOutputs::Update to pass and the SIGABRT follows in AudioOutput::Open when passed the invalid input_audio_format struct -switching AudioFormat.IsDefined() for AudioFormat.IsValid() is an alternative workaround | ||||
* | | command/{storage,file}: suppress bogus format warnings on WIN32 | Max Kellermann | 2014-03-14 | 2 | -0/+22 |
| | |