aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * player_control: don't emit IDLE_PLAYER before audio format is knownMax Kellermann2013-04-083-2/+5
| | | | | | | | | | Eliminates one IDLE_PLAYER call in playlist_control, and add two new ones to player_thread. Fixes Mantis bug 3636.
| * command: don't print undefined audio_formatMax Kellermann2013-04-081-6/+9
| | | | | | | | Check audio_format_defined().
| * ffmpeg decoder plugin: do not allocate an AVFrame on stack.Anton Khirnov2013-04-052-3/+17
| | | | | | | | AVFrame must be allocated with avcodec_alloc_frame().
* | ffmpeg decoder plugin: do not allocate an AVFrame on stack.Anton Khirnov2013-04-051-5/+24
| | | | | | | | AVFrame must be allocated with avcodec_alloc_frame().
* | GlobalEvents: use g_idle_add() instead of WakeFD()Max Kellermann2013-02-271-28/+5
| | | | | | | | | | Use the GMainLoop specific function to wake up the main loop. This is simpler and comes with very little overhead.
* | GlobalEvents: wake up only if the flags were emptyMax Kellermann2013-02-271-1/+1
| | | | | | | | | | Don't bother checking for the parameter mask. This doesn't matter. The only thing that matters is if a wake-up is already pending.
* | Idle, GlobalEvents: use std::atomic::exchange()Max Kellermann2013-02-272-2/+2
| | | | | | | | Less overhead than fetch_and() for what we do.
* | IcyMetaDataServer: increment iteratorOddegamra2013-02-271-1/+1
| | | | | | | | Fixes segmentation fault.
* | Merge branch 'v0.17.x'Max Kellermann2013-02-275-16/+22
|\|
| * fix typos in upstream's mpd.conf.5Florian Schlichting2013-02-272-12/+12
| |
| * Add some comments to keep track of timer units.Hagen Fritsch2013-02-271-3/+5
| |
| * clock: fix usec-to-usec factorHagen Fritsch2013-02-271-1/+1
| |
| * clock: add missing includeHagen Fritsch2013-02-272-0/+4
| |
* | mixer_plugin: convert to C++Max Kellermann2013-02-2228-74/+59
| |
* | {output,mixer}/winmm: convert to C++Max Kellermann2013-02-225-57/+68
| |
* | Merge branch 'v0.17.x'Max Kellermann2013-02-193-2/+14
|\|
| * command: allow to omit END in ranges (START:END)Jörg Thalheim2013-02-192-1/+3
| | | | | | | | | | If END is omitted, mpd should use the highest possible value instead of raising an error. This partially reverts 52e9cab1c1743f64a7
| * player_thread: implement missing "idle" events on output errorsMax Kellermann2013-02-042-1/+11
| | | | | | | | | | | | When all outputs fail, MPD automatically pauses playback, but did not emit the IDLE_PLAYER event. Thus, clients were not woken up. (Mantis 3665)
* | output/alsa: workaround for noise after manual song changeMax Kellermann2013-02-042-0/+21
| | | | | | | | | | Workaround for driver bug observed on the Raspberry Pi, see code comment for details.
* | output/alsa: pre-allocate the silence bufferMax Kellermann2013-02-041-14/+15
| |
* | output/alsa: move code to alsa_write_silence()Max Kellermann2013-02-041-14/+23
| |
* | SocketUtil: add separators to g_prefix_error() callMax Kellermann2013-02-041-3/+3
| |
* | output/alsa: default "device" is an empty stringMax Kellermann2013-02-041-1/+1
| | | | | | | | | | | | Fixes nullptr dereference in std::string::operator=(). Also fixes a memory leak by using config_get_block_string() instead of config_dup_block_string().
* | event/ServerSocket: close only sockets that have been openedMax Kellermann2013-02-041-1/+3
| | | | | | | | Fixes assertion failure.
* | decoder/Opus: replace non-static data member initializersMax Kellermann2013-02-041-6/+9
| | | | | | | | Would require gcc 4.7, and MPD attempts to be compatible with gcc 4.6.
* | ServerSocket: Initialize length variableUli Schlachter2013-02-041-1/+1
| |
* | StateFile: use file system API, log in UTF-8Denis Krjuchkov2013-02-023-11/+16
| |
* | SimpleDatabasePlugin: use file system API, log in UTF-8Denis Krjuchkov2013-02-022-25/+24
| |
* | UpdateIO.cxx: use file system API, log in UTF-8Denis Krjuchkov2013-02-021-12/+17
| |
* | UpdateWalk.cxx: use FileExistsDenis Krjuchkov2013-02-021-3/+2
| |
* | TextFile.hxx: use file system APIDenis Krjuchkov2013-02-021-3/+2
| |
* | SongUpdate.cxx: use StatFileDenis Krjuchkov2013-02-021-1/+2
| |
* | PlaylistSave.cxx: use FOpenDenis Krjuchkov2013-02-021-1/+1
| |
* | PlaylistFile.cxx: use file system APIDenis Krjuchkov2013-02-021-6/+5
| |
* | ExcludeList.cxx: use FOpenDenis Krjuchkov2013-02-021-2/+2
| |
* | ConfigFile.cxx: use FOpenModeDenis Krjuchkov2013-02-021-1/+1
| |
* | Path.hxx: add GetDirectoryName() methodDenis Krjuchkov2013-02-021-0/+9
| |
* | FileSystem.hxx: add FOpen modes for appending filesDenis Krjuchkov2013-02-021-0/+10
| |
* | FilterInternal: convert struct filter to a OO interfaceMax Kellermann2013-02-0225-802/+529
| |
* | output/null: convert to C++Max Kellermann2013-02-024-24/+31
| |
* | filter/*: don't use GLib macrosMax Kellermann2013-02-026-26/+20
| |
* | filter/Chain: use std::forward_list instead of GSListMax Kellermann2013-02-011-41/+20
| |
* | filter: convert to C++Max Kellermann2013-02-0124-137/+121
| |
* | PcmMix: merge duplicate code with templatesMax Kellermann2013-02-011-110/+44
| |
* | test/test_pcm: add unit test for pcm_mix()Max Kellermann2013-02-015-0/+119
| |
* | PcmUtils: remove pcm_range(), use PcmClamp() insteadMax Kellermann2013-02-013-36/+12
| |
* | PcmUtils: make PcmClamp() 64-bit-safe, add missing castMax Kellermann2013-02-011-2/+2
| |
* | PcmUtils: remove unused clamp functionsMax Kellermann2013-02-011-14/+0
| |
* | PcmFormat: merge duplicate code with a templateMax Kellermann2013-02-012-89/+95
| |
* | PcmChannels: merge duplicate code with a templateMax Kellermann2013-02-011-38/+9
| |