aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* util/ConstBuffer: add FromVoid(), ToVoid() to "void" specializationMax Kellermann2014-03-181-0/+8
| | | | Provide the full API.
* input/mms: move blocking I/O to threadMax Kellermann2014-03-162-60/+51
|
* input/BufferedInputStream: new wrapper for moving plugin to threadMax Kellermann2014-03-163-0/+386
|
* thread/Thread: make the destructor non-virtualMax Kellermann2014-03-161-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 Kellermann2014-03-161-2/+0
| | | | These are the default values already.
* test/run_decoder: use InputStream::OpenReady() instead of InputStream::Open()Max Kellermann2014-03-161-1/+1
|
* test/{run_decoder,dump_playlist}: fix accidental search/replace hiccupsMax Kellermann2014-03-162-2/+2
|
* pcm/Neon: make neon_x4_b() variadicMax Kellermann2014-03-161-6/+5
|
* pcm/Neon: apply bit shift during float->int conversionMax Kellermann2014-03-161-7/+2
| | | | Avoid multiplication. This is a speedup of 20%.
* input/curl: use CircularBufferMax Kellermann2014-03-161-133/+75
| | | | Replaces its own weird buffering code.
* util/CircularBuffer: add method GetSpace()Max Kellermann2014-03-162-0/+22
|
* util/CircularBuffer: add method GetSize()Max Kellermann2014-03-162-0/+19
|
* util/CircularBuffer: rename GetSize() to GetCapacity()Max Kellermann2014-03-152-22/+24
|
* input/curl: add method CurlInputStream::Open()Max Kellermann2014-03-151-12/+17
|
* input/curl: move _seek() into the CurlInputStream classMax Kellermann2014-03-151-38/+44
|
* input/curl: move _easy_init() into the CurlInputStream classMax Kellermann2014-03-151-30/+30
|
* input/curl: pass std::string&& to HeaderReceived()Max Kellermann2014-03-151-25/+8
| | | | Code simplification.
* input/curl: move code to CurlInputStream methodsMax Kellermann2014-03-151-178/+231
|
* input/curl: rename "error" to "error_buffer"Max Kellermann2014-03-151-3/+3
|
* input/curl: rename struct input_curl to CurlInputStreamMax Kellermann2014-03-151-32/+32
|
* system/fd_util: export fd_set_cloexec()Max Kellermann2014-03-152-1/+4
|
* util/CircularBuffer: new buffer classMax Kellermann2014-03-154-0/+310
|
* m4/ucred.m4: don't define _GNU_SOURCEMax Kellermann2014-03-151-15/+1
| | | | | Not necessary anymore, because we enable this flag unconditionally now.
* configure.ac: always define _GNU_SOURCE on LinuxMax Kellermann2014-03-154-13/+3
| | | | Make sure glibc gives us all features.
* pcm/PcmFormat: ARM NEON optimizations for float->s16Max Kellermann2014-03-154-1/+137
| | | | This is nearly 4 times faster than the "portable" algorithm.
* test/test_pcm: replace 256 with prime numberMax Kellermann2014-03-156-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 clampingMax Kellermann2014-03-151-0/+20
|
* test/test_pcm_all: move CPPUNIT_TEST_SUITE_REGISTRATION() to test_pcm_main.cxxMax Kellermann2014-03-152-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 WritableBufferMax Kellermann2014-03-141-28/+20
| | | | The previous commit eliminated the need for that.
* pcm/PcmFormat: instantiate FloatToInteger<S32>Max Kellermann2014-03-141-6/+1
| | | | | .. instead of reusing FloatToInteger<S24> and converting from S24 to S32 in-place.
* pcm/PcmFormat: eliminate more duplicate code with templatesMax Kellermann2014-03-144-122/+235
| | | | | Refactor the conversion functions to classes and pass an instance to the new function AllocateConvert().
* pcm/PcmFormat: eliminate local variable "bits"Max Kellermann2014-03-141-3/+1
|
* pcm/PcmFormat: remove obsolete AllocateFromFloat() overloadMax Kellermann2014-03-141-15/+0
|
* MultipleOutputs: ensure input_audio_format is zero-initialisedPete Beardmore2014-03-141-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 WIN32Max Kellermann2014-03-142-0/+22
|
* db/proxy: check connect error before initializing SocketMonitorMax Kellermann2014-03-061-7/+7
| | | | | Fixes crash bug because mpd_connection_get_async() was called without a connection.
* PulseOutputPlugin: avoid locking mainloop object from within mainloop threadPete Beardmore2014-03-051-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 namePete Beardmore2014-03-041-0/+1
|
* Merge tag 'release-0.18.9'Max Kellermann2014-03-023-35/+29
|\
| * release v0.18.9Max Kellermann2014-03-021-1/+1
| |
| * output/alsa: remove the obsolete Raspberry Pi workaroundMax Kellermann2014-03-021-36/+0
| | | | | | | | Has been superseded by the previous commit.
| * output/alsa: call snd_pcm_prepare() after snd_pcm_drop()Max Kellermann2014-03-022-0/+27
| | | | | | | | | | | | | | Don't wait for an optimistic write to fail. This is an improved workaround for the infamous Raspberry Pi bug (see commit af991765). It works much better and comes without the negative side effects. The old workaround is now obsolete.
| * event/SignalMonitor: fix build failure due to missing signal.h includeMax Kellermann2014-03-022-0/+3
| |
| * AllCommands: "findadd" requires the "add" permissionMax Kellermann2014-02-272-1/+3
| |
| * output/pulse: remove bogus g_free() callMax Kellermann2014-02-241-2/+0
| |
* | android build 3Max Kellermann2014-03-021-2/+2
| |
* | Main: auto-configure state file on AndroidMax Kellermann2014-03-021-2/+15
| |
* | Main: use getExternalStorageDirectory() for locating mpd.confMax Kellermann2014-03-021-2/+11
| |
* | android/build.py: enable ffmpegMax Kellermann2014-03-021-0/+58
| |
* | InputPlugin: allow init() to soft-failMax Kellermann2014-03-026-16/+65
| | | | | | | | | | Add enum InputResult which is a tri-state. Input plugins may now fail and just become unavailable.