aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-04-08InputStream: use gcc.h attributesMax Kellermann1-6/+6
2013-04-08event/TimeoutMonitor: eliminate support for periodic eventsMax Kellermann8-27/+17
No caller needs this. Fixes use-after-free after returning from Client::OnTimeout().
2013-04-08StateFile: schedule timer only after a changeMax Kellermann3-17/+14
Save the state file 2 minutes after the last change. This reduces the disruptions by an idle MPD, and MPD can be paged out permanently until it is used.
2013-04-08StateFile: move code to RememberVersions(), IsModified()Max Kellermann2-12/+33
2013-04-08StateFile: make AutoWrite() privateMax Kellermann1-1/+3
2013-04-08Idle: fix typo in API documentationMax Kellermann1-1/+1
2013-04-08decoder/ffmpeg: suppress warning about unused variableMax Kellermann1-0/+2
Only relevant for old ffmpeg versions.
2013-04-08command: don't check audio_format if not playingMax Kellermann1-7/+8
Fixes valgrind warning.
2013-04-08player_control: don't emit IDLE_PLAYER before audio format is knownMax Kellermann2-2/+4
Eliminates one IDLE_PLAYER call in playlist_control, and add two new ones to player_thread. Fixes Mantis bug 3636.
2013-04-08command: don't print undefined audio_formatMax Kellermann1-6/+9
Check audio_format_defined().
2013-04-05ffmpeg decoder plugin: do not allocate an AVFrame on stack.Anton Khirnov1-5/+24
AVFrame must be allocated with avcodec_alloc_frame().
2013-04-05ffmpeg decoder plugin: do not allocate an AVFrame on stack.Anton Khirnov1-3/+16
AVFrame must be allocated with avcodec_alloc_frame().
2013-02-27GlobalEvents: use g_idle_add() instead of WakeFD()Max Kellermann1-28/+5
Use the GMainLoop specific function to wake up the main loop. This is simpler and comes with very little overhead.
2013-02-27GlobalEvents: wake up only if the flags were emptyMax Kellermann1-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.
2013-02-27Idle, GlobalEvents: use std::atomic::exchange()Max Kellermann2-2/+2
Less overhead than fetch_and() for what we do.
2013-02-27IcyMetaDataServer: increment iteratorOddegamra1-1/+1
Fixes segmentation fault.
2013-02-27Add some comments to keep track of timer units.Hagen Fritsch1-3/+5
2013-02-27clock: fix usec-to-usec factorHagen Fritsch1-1/+1
2013-02-27clock: add missing includeHagen Fritsch1-0/+3
2013-02-22mixer_plugin: convert to C++Max Kellermann25-56/+47
2013-02-22{output,mixer}/winmm: convert to C++Max Kellermann4-55/+66
2013-02-19command: allow to omit END in ranges (START:END)Jörg Thalheim1-1/+1
If END is omitted, mpd should use the highest possible value instead of raising an error. This partially reverts 52e9cab1c1743f64a7
2013-02-04output/alsa: workaround for noise after manual song changeMax Kellermann1-0/+20
Workaround for driver bug observed on the Raspberry Pi, see code comment for details.
2013-02-04output/alsa: pre-allocate the silence bufferMax Kellermann1-14/+15
2013-02-04output/alsa: move code to alsa_write_silence()Max Kellermann1-14/+23
2013-02-04SocketUtil: add separators to g_prefix_error() callMax Kellermann1-3/+3
2013-02-04output/alsa: default "device" is an empty stringMax Kellermann1-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().
2013-02-04event/ServerSocket: close only sockets that have been openedMax Kellermann1-1/+3
Fixes assertion failure.
2013-02-04decoder/Opus: replace non-static data member initializersMax Kellermann1-6/+9
Would require gcc 4.7, and MPD attempts to be compatible with gcc 4.6.
2013-02-04player_thread: implement missing "idle" events on output errorsMax Kellermann1-1/+9
When all outputs fail, MPD automatically pauses playback, but did not emit the IDLE_PLAYER event. Thus, clients were not woken up. (Mantis 3665)
2013-02-04ServerSocket: Initialize length variableUli Schlachter1-1/+1
2013-02-02StateFile: use file system API, log in UTF-8Denis Krjuchkov3-11/+16
2013-02-02SimpleDatabasePlugin: use file system API, log in UTF-8Denis Krjuchkov2-25/+24
2013-02-02UpdateIO.cxx: use file system API, log in UTF-8Denis Krjuchkov1-12/+17
2013-02-02UpdateWalk.cxx: use FileExistsDenis Krjuchkov1-3/+2
2013-02-02TextFile.hxx: use file system APIDenis Krjuchkov1-3/+2
2013-02-02SongUpdate.cxx: use StatFileDenis Krjuchkov1-1/+2
2013-02-02PlaylistSave.cxx: use FOpenDenis Krjuchkov1-1/+1
2013-02-02PlaylistFile.cxx: use file system APIDenis Krjuchkov1-6/+5
2013-02-02ExcludeList.cxx: use FOpenDenis Krjuchkov1-2/+2
2013-02-02ConfigFile.cxx: use FOpenModeDenis Krjuchkov1-1/+1
2013-02-02Path.hxx: add GetDirectoryName() methodDenis Krjuchkov1-0/+9
2013-02-02FileSystem.hxx: add FOpen modes for appending filesDenis Krjuchkov1-0/+10
2013-02-02FilterInternal: convert struct filter to a OO interfaceMax Kellermann24-787/+515
2013-02-02output/null: convert to C++Max Kellermann3-22/+29
2013-02-02filter/*: don't use GLib macrosMax Kellermann6-26/+20
2013-02-01filter/Chain: use std::forward_list instead of GSListMax Kellermann1-41/+20
2013-02-01filter: convert to C++Max Kellermann20-121/+108
2013-02-01PcmMix: merge duplicate code with templatesMax Kellermann1-110/+44
2013-02-01PcmUtils: remove pcm_range(), use PcmClamp() insteadMax Kellermann3-36/+12