Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | archive/iso9660: convert structs to classes | Max Kellermann | 2013-11-24 | 1 | -18/+35 |
| | |||||
* | DatabaseGlue: make GetDatabase() "gcc_const" | Max Kellermann | 2013-11-24 | 1 | -1/+1 |
| | | | | This variable is initialized once on startup. It will never change. | ||||
* | Stats: use monotonic clock instead of GTimer | Max Kellermann | 2013-11-24 | 5 | -15/+36 |
| | | | | Reduce GLib usage. | ||||
* | Stats: use GetProcessTimes() on WIN32 to determine MPD uptime | Max Kellermann | 2013-11-24 | 3 | -2/+51 |
| | | | | | Don't use GTimer if the operating system is able to tell us the uptime. | ||||
* | event: add API documentation | Max Kellermann | 2013-11-24 | 5 | -1/+38 |
| | |||||
* | event/SocketMonitor: add missing space | Max Kellermann | 2013-11-24 | 2 | -4/+4 |
| | |||||
* | CommandLine: new command line parser | Denis Krjuchkov | 2013-11-24 | 5 | -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 | ||||
* | archive/iso9660: simplify _read() | Max Kellermann | 2013-11-23 | 1 | -14/+15 |
| | |||||
* | Merge branch 'v0.18.x' | Max Kellermann | 2013-11-23 | 21 | -89/+203 |
|\ | |||||
| * | decoder/{dsf,dsdiff}: eliminate useless assignments | Max Kellermann | 2013-11-23 | 2 | -5/+4 |
| | | |||||
| * | archive/iso9660: eliminate useless assignments | Max Kellermann | 2013-11-23 | 1 | -4/+2 |
| | | |||||
| * | input/curl: work around stream resume bug (fixed in libcurl 7.32.0) | Max Kellermann | 2013-11-23 | 1 | -0/+17 |
| | | |||||
| * | input/curl: add global variable "curl_version" | Max Kellermann | 2013-11-23 | 1 | -0/+7 |
| | | |||||
| * | input/curl: dump version number | Max Kellermann | 2013-11-23 | 1 | -0/+8 |
| | | |||||
| * | PcmResampleLibsamplerate: clip 24 bit data | Max Kellermann | 2013-11-22 | 3 | -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. | ||||
| * | PcmResample: un-inline Resample24() | Max Kellermann | 2013-11-22 | 2 | -7/+13 |
| | | |||||
| * | PcmUtils: add function PcmClampN() | Max Kellermann | 2013-11-22 | 1 | -0/+12 |
| | | |||||
| * | db/proxy: implement method GetUpdateStamp() | Max Kellermann | 2013-11-22 | 1 | -2/+7 |
| | | |||||
| * | DatabasePlugin: add method GetUpdateStamp() | Max Kellermann | 2013-11-22 | 6 | -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. | ||||
| * | Stats: print db statistics only if db is available | Max Kellermann | 2013-11-22 | 1 | -6/+19 |
| | | | | | | | | Fixes crash on "stats" in certain configurations. | ||||
| * | Stats: print more unsigned integers | Max Kellermann | 2013-11-22 | 1 | -6/+6 |
| | | |||||
| * | Stats: auto-reload statistics with proxy plugin | Max Kellermann | 2013-11-22 | 1 | -0/+7 |
| | | |||||
| * | Stats: use struct DatabaseStats | Max Kellermann | 2013-11-22 | 2 | -25/+4 |
| | | | | | | | | Eliminate redundant declaration. | ||||
| * | Stats: move the GTimer variable out of struct stats | Max Kellermann | 2013-11-22 | 2 | -6/+4 |
| | | |||||
| * | Stats: don't export the global variable "stats" | Max Kellermann | 2013-11-22 | 2 | -3/+1 |
| | | | | | | | | Unused outside of Stats.cxx. | ||||
| * | Stats: print db_update as unsigned integer | Max Kellermann | 2013-11-22 | 1 | -2/+2 |
| | | |||||
| * | Mapper: _get_music_directory_utf8() may return nullptr | Max Kellermann | 2013-11-22 | 2 | -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. | ||||
| * | system/ByteOrder: testing for endianness in a more general way | Florian Schlichting | 2013-11-21 | 1 | -1/+11 |
| | | | | | | | | | | Fixes build tests on ia64 and mipsel by testing for endianness in a more general / portable way. | ||||
| * | util/ByteOrder: add comments | Max Kellermann | 2013-11-21 | 1 | -0/+2 |
| | | |||||
| * | util/ByteOrder: indent the preprocessor directives | Max Kellermann | 2013-11-21 | 1 | -4/+4 |
| | | | | | | | | Improve readability. | ||||
| * | system/fd_util.h: avoid symbol conflict with statically linked libmpdclient | Denis Krjuchkov | 2013-11-18 | 1 | -0/+5 |
| | | |||||
| * | decoder/OggFind.cxx: include stdio.h for SEEK_END definition | Denis Krjuchkov | 2013-11-18 | 1 | -0/+2 |
| | | |||||
* | | PcmConvert: add methods Open(), Close() | Max Kellermann | 2013-11-13 | 8 | -72/+141 |
| | | | | | | | | | | Replaces Reset() and eliminates the AudioFormat parameters from the Convert() method. | ||||
* | | DecoderAPI: stop decoder on MPD error | Max Kellermann | 2013-11-13 | 3 | -1/+17 |
| | | | | | | | | | | This commit adds the basic infrastructure for reporting bugs from DecoderAPI.cxx via DecoderThread.cxx to DecoderControl. | ||||
* | | DecoderInternal: allocate PcmConvert dynamically | Max Kellermann | 2013-11-13 | 3 | -14/+30 |
| | | | | | | | | Reduce header dependencies and allow it to be nullptr to disable it. | ||||
* | | DecoderInternal: move functions into the class | Max Kellermann | 2013-11-13 | 4 | -44/+37 |
| | | |||||
* | | PcmResampleFallback: use PcmBuffer instead of PcmResampler | Max Kellermann | 2013-11-13 | 3 | -9/+9 |
|/ | | | | Lighter API. | ||||
* | util/RefCount: no "constexpr" with libc++ | Max Kellermann | 2013-11-11 | 1 | -1/+6 |
| | | | | Not supported by libc++. | ||||
* | util/LazyRandomEngine: make min()/max() static+constexpr | Max Kellermann | 2013-11-11 | 1 | -4/+4 |
| | | | | Required for building with libc++. | ||||
* | output/httpd: don't use incomplete template argument with libc++ | Max Kellermann | 2013-11-11 | 1 | -0/+5 |
| | |||||
* | filter/route, ...: add missing stdlib.h includes | Max Kellermann | 2013-11-11 | 3 | -0/+3 |
| | |||||
* | DespotifyUtils: add missing stdio.h include | Max Kellermann | 2013-11-11 | 1 | -0/+2 |
| | |||||
* | DecoderAPI: add missing math.h include | Max Kellermann | 2013-11-11 | 1 | -0/+1 |
| | |||||
* | decoder/dsdiff: fix byte order bug | Jurgen Kramer | 2013-11-10 | 2 | -2/+13 |
| | |||||
* | DecoderThread: add missing <functional> include | Max Kellermann | 2013-11-09 | 1 | -0/+2 |
| | |||||
* | DecoderAPI: log without holding mutex | Max Kellermann | 2013-11-08 | 1 | -2/+2 |
| | |||||
* | PlayerThread: fix stuck MPD after song change (0.18.2 regression) | Max Kellermann | 2013-11-08 | 1 | -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. | ||||
* | DecoderInternal: simplify need_chunks() | Max Kellermann | 2013-11-08 | 1 | -11/+4 |
| | | | | | Remove the "do_wait" parameter which is always true. Check only command==NONE and merge the "return" statements. | ||||
* | DecoderInternal: don't wake up player in need_chunks | Max Kellermann | 2013-11-08 | 1 | -1/+0 |
| | | | | Nothing of interest happens here. No need to wake up the player. | ||||
* | input/cdio_paranoia: add setting "default_byte_order" | Max Kellermann | 2013-11-07 | 1 | -2/+26 |
| | | | | | | Allows big-endian users to configure the fallback byte order to little-endian. Without this setting, MPD assumes native byte order if the CD drive can't decide. |