Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | 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 | |
| | | ||||||
* | | doc/protocol.xml: change "in" to "base" | Max Kellermann | 2014-04-24 | 1 | -1/+1 | |
| | | ||||||
* | | doc/protocol.xml: update and fix command "list" | Max Kellermann | 2014-04-24 | 1 | -5/+10 | |
| | | ||||||
* | | 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 | 5 | -19/+63 | |
|\| | ||||||
| * | release v0.18.10 | Max Kellermann | 2014-04-10 | 1 | -1/+1 | |
| | | ||||||
| * | decoder/sndfile: work around libsndfile bug on partial read | Marcello Desantis | 2014-04-09 | 2 | -6/+21 | |
| | | ||||||
| * | PlaylistEdit: don't interrupt playback when current song gets deleted | Weng Xuetian | 2014-04-09 | 2 | -10/+9 | |
| | | ||||||
| * | decoder/ffmpeg: handle unknown stream start time | Max Kellermann | 2014-03-18 | 2 | -2/+26 | |
| | | ||||||
| * | decoder/ffmpeg: pass AVSEEK_FLAG_ANY to av_seek_frame() | Max Kellermann | 2014-03-18 | 2 | -1/+2 | |
| | | | | | | | | | | | | 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 | 2 | -0/+3 | |
| | | ||||||
| * | configure.ac: prepare for 0.18.10 | Max Kellermann | 2014-03-06 | 2 | -1/+3 | |
| | | ||||||
* | | 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 | 2 | -60/+51 | |
| | | ||||||
* | | input/BufferedInputStream: new wrapper for moving plugin to thread | Max Kellermann | 2014-03-16 | 3 | -0/+386 | |
| | | ||||||
* | | 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. | |||||
* | | test/run_decoder: use InputStream::OpenReady() instead of InputStream::Open() | Max Kellermann | 2014-03-16 | 1 | -1/+1 | |
| | | ||||||
* | | test/{run_decoder,dump_playlist}: fix accidental search/replace hiccups | Max Kellermann | 2014-03-16 | 2 | -2/+2 | |
| | | ||||||
* | | 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 | 2 | -0/+22 | |
| | | ||||||
* | | util/CircularBuffer: add method GetSize() | Max Kellermann | 2014-03-16 | 2 | -0/+19 | |
| | | ||||||
* | | util/CircularBuffer: rename GetSize() to GetCapacity() | Max Kellermann | 2014-03-15 | 2 | -22/+24 | |
| | | ||||||
* | | 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 | 4 | -0/+310 | |
| | | ||||||
* | | m4/ucred.m4: don't define _GNU_SOURCE | Max Kellermann | 2014-03-15 | 1 | -15/+1 | |
| | | | | | | | | | | Not necessary anymore, because we enable this flag unconditionally now. | |||||
* | | configure.ac: always define _GNU_SOURCE on Linux | Max Kellermann | 2014-03-15 | 4 | -13/+3 | |
| | | | | | | | | Make sure glibc gives us all features. | |||||
* | | pcm/PcmFormat: ARM NEON optimizations for float->s16 | Max Kellermann | 2014-03-15 | 4 | -1/+137 | |
| | | | | | | | | This is nearly 4 times faster than the "portable" algorithm. | |||||
* | | test/test_pcm: replace 256 with prime number | Max Kellermann | 2014-03-15 | 6 | -13/+13 | |
| | | | | | | | | | | Use some odd number that will expose problems with remaining samples after optimized vector operations. | |||||
* | | test/test_pcm_format: add unit test for float clamping | Max Kellermann | 2014-03-15 | 1 | -0/+20 | |
| | | ||||||
* | | test/test_pcm_all: move CPPUNIT_TEST_SUITE_REGISTRATION() to test_pcm_main.cxx | Max Kellermann | 2014-03-15 | 2 | -12/+7 | |
| | | | | | | | | | | | | Run each unit test only once. Using CPPUNIT_TEST_SUITE_REGISTRATION from within the header meant that each unit class was registered again for each source file that includes the header. | |||||
* | | 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 | 4 | -122/+235 | |
| | | | | | | | | | | Refactor the conversion functions to classes and pass an instance to the new function AllocateConvert(). |