aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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-143-122/+233
| | | | | 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-022-34/+23
|\
| * 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-021-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.
| * event/SignalMonitor: fix build failure due to missing signal.h includeMax Kellermann2014-03-021-0/+2
| |
| * AllCommands: "findadd" requires the "add" permissionMax Kellermann2014-02-271-1/+1
| |
| * output/pulse: remove bogus g_free() callMax Kellermann2014-02-241-2/+0
| |
* | Main: auto-configure state file on AndroidMax Kellermann2014-03-021-2/+15
| |
* | Main: use getExternalStorageDirectory() for locating mpd.confMax Kellermann2014-03-021-2/+11
| |
* | 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.
* | thread/Name: fall back to prctl()Max Kellermann2014-03-011-0/+4
| |
* | output/sles: support stereoMax Kellermann2014-03-011-5/+7
| |
* | fs/StandardDirectory: add GetUserCacheDir()Max Kellermann2014-03-013-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.
* | db/Configured: store database file in cache directoryMax Kellermann2014-03-015-2/+117
| | | | | | | | | | Add class Context which wraps the Android/Java Context class and add a JNI wrapper for method Context.getCacheDir().
* | java/File: add method ToAbsolutePath() returning AllocatedPathMax Kellermann2014-03-015-60/+67
| |
* | android/Environment: fix copyright headerMax Kellermann2014-03-012-42/+34
| | | | | | | | Stole my own code from another project :-)
* | TagId3: disable charset conversion without GLibMax Kellermann2014-03-011-0/+9
| |
* | Main: inline mpd_main() on AndroidMax Kellermann2014-03-012-0/+7
| |
* | Android: obtain music directory from ↵Max Kellermann2014-03-014-1/+178
| | | | | | | | Environment.getExternalStoragePublicDirectory()
* | java: new helper library for the Android portMax Kellermann2014-03-0114-1/+723
| |
* | Main: load mpd.conf from /sdcard/ on AndroidMax Kellermann2014-03-011-0/+3
| | | | | | | | Hard-coded path. Will be replaced soon.
* | storage/Configured: fix fallback music directoryMax Kellermann2014-03-011-4/+1
| | | | | | | | This was accidently disabled when storage plugins were introduced.
* | db/update/ExcludeList: make no-op if GLib is disabledMax Kellermann2014-03-012-0/+22
| | | | | | | | Quick hack to allow using the database without GLib (for Android).
* | util/{Const,Writable}Buffer: add operator[]Max Kellermann2014-03-014-4/+26
| |
* | util/{Const,Writable}Buffer: add template specialization for "void"Max Kellermann2014-03-012-0/+68
| | | | | | | | Omit a few methods that are not applicable.
* | util/ConstBuffer: remove cast operator ConstBuffer<void>Max Kellermann2014-03-011-4/+0
| | | | | | | | This was bugged, because it did not scale the "size".
* | command: add command "listfiles"Max Kellermann2014-03-0113-53/+310
| | | | | | | | Lists files and directories. Supports storage plugins.
* | DatabasePrint: move code to PrintDirectoryURI()Max Kellermann2014-02-281-2/+8
| |
* | DatabasePrint: add API documentationMax Kellermann2014-02-281-0/+3
| |
* | {Other,Database}Commands: contract declaration and assignmentMax Kellermann2014-02-282-12/+6
| |
* | db/simple: mount pointsMax Kellermann2014-02-2718-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.
* | CompositeStorage: add method GetMount()Max Kellermann2014-02-272-0/+24
| |
* | db/update/Queue: use std::list instead of std::queueMax Kellermann2014-02-272-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.
* | db/simple: GetRoot() returns referenceMax Kellermann2014-02-272-3/+3
| |
* | db/update/Service: allocate UpdateWalk dynamicallyMax Kellermann2014-02-275-19/+28
| |
* | Playlist: use the Error library to return errorsMax Kellermann2014-02-279-82/+83
| |
* | Playlist*: move to queue/Max Kellermann2014-02-2716-8/+8
| |
* | db/update: cancel the update on shutdownMax Kellermann2014-02-276-1/+58
| |
* | db/UpdateGlue: rename to Service.cxxMax Kellermann2014-02-272-161/+140
| |
* | db/simple/Directory: eliminate method LookupSong()Max Kellermann2014-02-263-30/+19
| | | | | | | | Move to SimpleDatabase::GetSong() to give that method more control.
* | db/simple/Directory: LookupDirectory() return remaining URIMax Kellermann2014-02-263-41/+62
| | | | | | | | Code can now be reused in LookupSong().