Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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(). | ||||
* | | 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 |
| | | |||||
* | | db/proxy: check connect error before initializing SocketMonitor | Max Kellermann | 2014-03-06 | 1 | -7/+7 |
| | | | | | | | | | | Fixes crash bug because mpd_connection_get_async() was called without a connection. | ||||
* | | PulseOutputPlugin: avoid locking mainloop object from within mainloop thread | Pete Beardmore | 2014-03-05 | 1 | -5/+14 |
| | | | | | | | | | | | | | | | | | | | | | | | | -fixes regression introduced by: '8d6fedf8177d0d2ced81e6d93d35c368b2ac69db [PATCH] Mixer: add class MixerListener' -listener.OnMixerVolumeChanged() called GetVolume() which attempted to acquire the lock but as per 'pa_threaded_mainloop_lock()' documentation: This function may not be called inside the event loop thread. Events that are dispatched from the event loop thread are executed with this lock held -this patch seperates the underlying action of GetVolume() into a new GetVolumeInternal() function, to be called only when the lock is already held, as is the case for the listener.OnMixerVolumeChanged() call | ||||
* | | PulseOutputPlugin: set icon name | Pete Beardmore | 2014-03-04 | 1 | -0/+1 |
| | | |||||
* | | Merge tag 'release-0.18.9' | Max Kellermann | 2014-03-02 | 3 | -35/+29 |
|\| |