aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-11-25Volume, Output: use new class PeriodClock instead of GTimerMax Kellermann10-58/+172
2013-11-25ClientNew: fix nullptr dereference after g_get_prgname() failureMax Kellermann1-1/+3
Hard-code the program name to "mpd" instead of using g_get_prgname(). The latter has become useless since this GLib variable doesn't get initialized anymore.
2013-11-24archive/iso9660: remove pointless formulaMax Kellermann1-2/+0
2013-11-24archive/iso9660: use reference instead of pointerMax Kellermann1-6/+6
2013-11-24archive/iso9660: convert structs to classesMax Kellermann1-18/+35
2013-11-24DatabaseGlue: make GetDatabase() "gcc_const"Max Kellermann1-1/+1
This variable is initialized once on startup. It will never change.
2013-11-24Stats: use monotonic clock instead of GTimerMax Kellermann5-15/+36
Reduce GLib usage.
2013-11-24Stats: use GetProcessTimes() on WIN32 to determine MPD uptimeMax Kellermann3-2/+51
Don't use GTimer if the operating system is able to tell us the uptime.
2013-11-24event: add API documentationMax Kellermann5-1/+38
2013-11-24event/SocketMonitor: add missing spaceMax Kellermann2-4/+4
2013-11-24CommandLine: new command line parserDenis Krjuchkov5-87/+353
This implementation behaves mostly identical to old parser. Few observable differences: - There are no option groups (single group is used for all options) - Option --stdout is hidden (it has been obsolete for a long time) - MPD executable name (mpd) is hardcoded for simplicity
2013-11-23archive/iso9660: simplify _read()Max Kellermann1-14/+15
2013-11-23decoder/{dsf,dsdiff}: eliminate useless assignmentsMax Kellermann2-5/+4
2013-11-23archive/iso9660: eliminate useless assignmentsMax Kellermann1-4/+2
2013-11-23input/curl: work around stream resume bug (fixed in libcurl 7.32.0)Max Kellermann1-0/+17
2013-11-23input/curl: add global variable "curl_version"Max Kellermann1-0/+7
2013-11-23input/curl: dump version numberMax Kellermann1-0/+8
2013-11-22PcmResampleLibsamplerate: clip 24 bit dataMax Kellermann3-2/+47
Using pcm_resample_lsr_32() for 24 bit samples works, but may cause 24 bit overflows. This commit makes 24 bit a special case with explicit clipping.
2013-11-22PcmResample: un-inline Resample24()Max Kellermann2-7/+13
2013-11-22PcmUtils: add function PcmClampN()Max Kellermann1-0/+12
2013-11-22db/proxy: implement method GetUpdateStamp()Max Kellermann1-2/+7
2013-11-22DatabasePlugin: add method GetUpdateStamp()Max Kellermann6-26/+26
Refactor SimpleDatabase::GetLastModified() to be generic for all plugins. Remove the SimpleDatabase assumption from db_stats_print(), allowing it to be implemented by all database plugins.
2013-11-22Stats: print db statistics only if db is availableMax Kellermann1-6/+19
Fixes crash on "stats" in certain configurations.
2013-11-22Stats: print more unsigned integersMax Kellermann1-6/+6
2013-11-22Stats: auto-reload statistics with proxy pluginMax Kellermann1-0/+7
2013-11-22Stats: use struct DatabaseStatsMax Kellermann2-25/+4
Eliminate redundant declaration.
2013-11-22Stats: move the GTimer variable out of struct statsMax Kellermann2-6/+4
2013-11-22Stats: don't export the global variable "stats"Max Kellermann2-3/+1
Unused outside of Stats.cxx.
2013-11-22Stats: print db_update as unsigned integerMax Kellermann1-2/+2
2013-11-22Mapper: _get_music_directory_utf8() may return nullptrMax Kellermann2-2/+5
If no music_directory is configured, return nullptr instead of an empty string. This fixes a crash when db_file is configured without music_directory.
2013-11-21system/ByteOrder: testing for endianness in a more general wayFlorian Schlichting1-1/+11
Fixes build tests on ia64 and mipsel by testing for endianness in a more general / portable way.
2013-11-21util/ByteOrder: add commentsMax Kellermann1-0/+2
2013-11-21util/ByteOrder: indent the preprocessor directivesMax Kellermann1-4/+4
Improve readability.
2013-11-18system/fd_util.h: avoid symbol conflict with statically linked libmpdclientDenis Krjuchkov1-0/+5
2013-11-18decoder/OggFind.cxx: include stdio.h for SEEK_END definitionDenis Krjuchkov1-0/+2
2013-11-13PcmConvert: add methods Open(), Close()Max Kellermann8-72/+141
Replaces Reset() and eliminates the AudioFormat parameters from the Convert() method.
2013-11-13DecoderAPI: stop decoder on MPD errorMax Kellermann3-1/+17
This commit adds the basic infrastructure for reporting bugs from DecoderAPI.cxx via DecoderThread.cxx to DecoderControl.
2013-11-13DecoderInternal: allocate PcmConvert dynamicallyMax Kellermann3-14/+30
Reduce header dependencies and allow it to be nullptr to disable it.
2013-11-13DecoderInternal: move functions into the classMax Kellermann4-44/+37
2013-11-13PcmResampleFallback: use PcmBuffer instead of PcmResamplerMax Kellermann3-9/+9
Lighter API.
2013-11-11util/RefCount: no "constexpr" with libc++Max Kellermann1-1/+6
Not supported by libc++.
2013-11-11util/LazyRandomEngine: make min()/max() static+constexprMax Kellermann1-4/+4
Required for building with libc++.
2013-11-11output/httpd: don't use incomplete template argument with libc++Max Kellermann1-0/+5
2013-11-11filter/route, ...: add missing stdlib.h includesMax Kellermann3-0/+3
2013-11-11DespotifyUtils: add missing stdio.h includeMax Kellermann1-0/+2
2013-11-11DecoderAPI: add missing math.h includeMax Kellermann1-0/+1
2013-11-10decoder/dsdiff: fix byte order bugJurgen Kramer2-2/+13
2013-11-09DecoderThread: add missing <functional> includeMax Kellermann1-0/+2
2013-11-08DecoderAPI: log without holding mutexMax Kellermann1-2/+2
2013-11-08PlayerThread: fix stuck MPD after song change (0.18.2 regression)Max Kellermann1-4/+8
Commit 77c63511 caused MPD to become stuck right after a song change. The problem was that at some point, the MusicBuffer became full, and the DecoderThread working on the next song waits for the PlayerThread. However, the PlayerThread was stuck in a loop of g_usleep() calls, and never bothered to tell the DecoderThread that the MusicBuffer is not full anymore. This bug is very old, but its chance to occur went from nearly 0% to nearly 100%. The fix is to wake up the DecoderThread before waiting for it. As a side effect, I replaced the g_usleep() call with a Cond::Wait() call.