aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-03-15input/curl: move _easy_init() into the CurlInputStream classMax Kellermann1-30/+30
2014-03-15input/curl: pass std::string&& to HeaderReceived()Max Kellermann1-25/+8
Code simplification.
2014-03-15input/curl: move code to CurlInputStream methodsMax Kellermann1-178/+231
2014-03-15input/curl: rename "error" to "error_buffer"Max Kellermann1-3/+3
2014-03-15input/curl: rename struct input_curl to CurlInputStreamMax Kellermann1-32/+32
2014-03-15system/fd_util: export fd_set_cloexec()Max Kellermann2-1/+4
2014-03-15util/CircularBuffer: new buffer classMax Kellermann1-0/+165
2014-03-15configure.ac: always define _GNU_SOURCE on LinuxMax Kellermann3-13/+0
Make sure glibc gives us all features.
2014-03-15pcm/PcmFormat: ARM NEON optimizations for float->s16Max Kellermann2-1/+135
This is nearly 4 times faster than the "portable" algorithm.
2014-03-14pcm/PcmFormat: don't use WritableBufferMax Kellermann1-28/+20
The previous commit eliminated the need for that.
2014-03-14pcm/PcmFormat: instantiate FloatToInteger<S32>Max Kellermann1-6/+1
.. instead of reusing FloatToInteger<S24> and converting from S24 to S32 in-place.
2014-03-14pcm/PcmFormat: eliminate more duplicate code with templatesMax Kellermann3-122/+233
Refactor the conversion functions to classes and pass an instance to the new function AllocateConvert().
2014-03-14pcm/PcmFormat: eliminate local variable "bits"Max Kellermann1-3/+1
2014-03-14pcm/PcmFormat: remove obsolete AllocateFromFloat() overloadMax Kellermann1-15/+0
2014-03-14MultipleOutputs: ensure input_audio_format is zero-initialisedPete Beardmore1-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
2014-03-14command/{storage,file}: suppress bogus format warnings on WIN32Max Kellermann2-0/+22
2014-03-06db/proxy: check connect error before initializing SocketMonitorMax Kellermann1-7/+7
Fixes crash bug because mpd_connection_get_async() was called without a connection.
2014-03-05PulseOutputPlugin: avoid locking mainloop object from within mainloop threadPete Beardmore1-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
2014-03-04PulseOutputPlugin: set icon namePete Beardmore1-0/+1
2014-03-02output/alsa: remove the obsolete Raspberry Pi workaroundMax Kellermann1-36/+0
Has been superseded by the previous commit.
2014-03-02output/alsa: call snd_pcm_prepare() after snd_pcm_drop()Max Kellermann1-0/+25
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.
2014-03-02event/SignalMonitor: fix build failure due to missing signal.h includeMax Kellermann1-0/+2
2014-03-02Main: auto-configure state file on AndroidMax Kellermann1-2/+15
2014-03-02Main: use getExternalStorageDirectory() for locating mpd.confMax Kellermann1-2/+11
2014-03-02InputPlugin: allow init() to soft-failMax Kellermann6-16/+65
Add enum InputResult which is a tri-state. Input plugins may now fail and just become unavailable.
2014-03-01thread/Name: fall back to prctl()Max Kellermann1-0/+4
2014-03-01output/sles: support stereoMax Kellermann1-5/+7
2014-03-01fs/StandardDirectory: add GetUserCacheDir()Max Kellermann3-15/+25
Move code from CreateConfiguredDatabase() and add XDG support. This implements an automatic Linux fallback for the setting "db_file" if none was specified.
2014-03-01db/Configured: store database file in cache directoryMax Kellermann5-2/+117
Add class Context which wraps the Android/Java Context class and add a JNI wrapper for method Context.getCacheDir().
2014-03-01java/File: add method ToAbsolutePath() returning AllocatedPathMax Kellermann5-60/+67
2014-03-01android/Environment: fix copyright headerMax Kellermann2-42/+34
Stole my own code from another project :-)
2014-03-01TagId3: disable charset conversion without GLibMax Kellermann1-0/+9
2014-03-01Main: inline mpd_main() on AndroidMax Kellermann2-0/+7
2014-03-01Android: obtain music directory from ↵Max Kellermann4-1/+178
Environment.getExternalStoragePublicDirectory()
2014-03-01java: new helper library for the Android portMax Kellermann14-1/+723
2014-03-01Main: load mpd.conf from /sdcard/ on AndroidMax Kellermann1-0/+3
Hard-coded path. Will be replaced soon.
2014-03-01storage/Configured: fix fallback music directoryMax Kellermann1-4/+1
This was accidently disabled when storage plugins were introduced.
2014-03-01db/update/ExcludeList: make no-op if GLib is disabledMax Kellermann2-0/+22
Quick hack to allow using the database without GLib (for Android).
2014-03-01util/{Const,Writable}Buffer: add operator[]Max Kellermann4-4/+26
2014-03-01util/{Const,Writable}Buffer: add template specialization for "void"Max Kellermann2-0/+68
Omit a few methods that are not applicable.
2014-03-01util/ConstBuffer: remove cast operator ConstBuffer<void>Max Kellermann1-4/+0
This was bugged, because it did not scale the "size".
2014-03-01command: add command "listfiles"Max Kellermann13-53/+310
Lists files and directories. Supports storage plugins.
2014-02-28DatabasePrint: move code to PrintDirectoryURI()Max Kellermann1-2/+8
2014-02-28DatabasePrint: add API documentationMax Kellermann1-0/+3
2014-02-28{Other,Database}Commands: contract declaration and assignmentMax Kellermann2-12/+6
2014-02-27AllCommands: "findadd" requires the "add" permissionMax Kellermann1-1/+1
2014-02-27db/simple: mount pointsMax Kellermann18-24/+600
A SimpleDatabase instance can now "mount" other Database instances at certain locations. This is used to use a new SimpleDatabase instance for each storage mount (issued with the "mount" protocol command). Each such instance has its own database file, stored in the directory that is specified with the "cache_directory" option.
2014-02-27CompositeStorage: add method GetMount()Max Kellermann2-0/+24
2014-02-27db/update/Queue: use std::list instead of std::queueMax Kellermann2-5/+4
The problem with std::queue is that it doesn't give us enough control. The method Clear() is a kludge already, but soon, we'll need filtering.
2014-02-27db/simple: GetRoot() returns referenceMax Kellermann2-3/+3