Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-07-17 | decoder/List: use struct ConfigData | Max Kellermann | |
2018-07-17 | fs/Path: add operator/(Path,Path) | Max Kellermann | |
Modeled after std::filesystem::operator/() from C++17. | |||
2018-07-16 | config/Config*: rename files, drop "Config" prefix | Max Kellermann | |
2018-07-16 | Main, pcm/SampleFormat, command/Error: remove obsolete GCC version checks | Max Kellermann | |
2018-06-03 | zeroconf/Avahi: move dbus_shutdown() call to the end of Main() | Max Kellermann | |
Calling dbus_shutdown() too early will break the "udisks2" neighbor plugin. | |||
2018-03-05 | Merge branch 'v0.20.x' | Max Kellermann | |
2018-03-04 | Get rid of GCD on macOS which breaks debug builds | Christian Kröner | |
With Grand Central Dispatch used in Main.cxx, debug builds on macOS crash as the IsInside() assertion gets triggered in the event loop. As a simple fix, usage of GCD is removed. Plugging and unplugging headphones or changes of the default output device was tested without issues. Whatever the original commit tried to fix by GCD probably does not need fixing anymore. | |||
2018-02-24 | Merge tag 'v0.20.18' | Max Kellermann | |
release v0.20.18 | |||
2018-02-24 | Main: move WinSock initialization to class ScopeNetInit | Max Kellermann | |
2018-02-16 | output/alsa: use a new I/O thread with real-time scheduling | Max Kellermann | |
The normal I/O event thread can have a large latency, e.g. when libgnutls loads all TLS CA certificates for a https connect. This makes it unreliable for the ALSA I/O notifications, and causes ring buffer xruns. To avoid interfering with high latency events such as CURL's, we move the ALSA I/O events to a separate I/O thread which also obtains real-time scheduling (if possible). Closes #221 | |||
2018-01-29 | Listen: move ClientListener pointer to struct Partition | Max Kellermann | |
2018-01-29 | Main: move part of the shutdown code to Instance methods | Max Kellermann | |
2018-01-29 | Main: cancel the update on shutdown even if inotify is unavailable | Max Kellermann | |
Fixup for commit 681e012fb542ee1bb2ea5312dc673987a7a8ee29 | |||
2018-01-29 | Instance: rename Shutdown() to Break() | Max Kellermann | |
2018-01-17 | CommandLine: convert pointer to reference | Max Kellermann | |
2018-01-02 | storage/Composite: use std::unique_ptr<Storage> | Max Kellermann | |
2018-01-02 | storage/Plugin: return std::unique_ptr<Storage> | Max Kellermann | |
2017-12-19 | Main, ...: catch any exception, not just std::runtime_error | Max Kellermann | |
2017-12-16 | Merge branch 'v0.20.x' | Max Kellermann | |
2017-12-12 | *: check defined(_WIN32) instead of defined(WIN32) | Max Kellermann | |
Only _WIN32 is defined by the compiler, and WIN32 is not standardized and may be missing. Closes #169 | |||
2017-08-24 | db/DatabasePlugin: pass EventThread's EventLoop to create() | Max Kellermann | |
Allows database plugins to use the EventThread, e.g. for CURL integration. | |||
2017-05-16 | Merge branch 'v0.20.x' | Max Kellermann | |
2017-05-16 | Main: omit "constexpr" on MIN_BUFFER_SIZE with GCC 4.x | Max Kellermann | |
2017-05-15 | Merge tag 'v0.20.7' | Max Kellermann | |
release v0.20.7 | |||
2017-05-15 | Main: cap buffer_before_play at 80% to prevent deadlock | Max Kellermann | |
Closes #34 | |||
2017-05-15 | Main: enforce a reasonable minimum audio_buffer_size setting | Max Kellermann | |
2017-05-15 | Main: refactor DEFAULT_BUFFER_SIZE to represent bytes | Max Kellermann | |
2017-05-08 | *: remove "pure" and "const" attributes from throwing functions | Max Kellermann | |
The "pure" and "const" attributes are not so well-defined, and a recent clang version implements an optimization which pushes the definition's boundary beyond what I believed it was. clang now assumes that functions declared "pure" cannot throw exceptions, even if they lack the "noexcept" specification. When compiled with this new clang version, MPD will crash randomly if an exception happens to get thrown by such as "pure" function (https://github.com/MusicPlayerDaemon/MPD/issues/41). This commit removes all such misplaced "pure" and "const" attributes, closing #41. | |||
2017-02-17 | Instance: make "partition" a std::list | Max Kellermann | |
With this commit, multi-player support becomes possible... it's just not wired to the frontend yet. This is based on massive amounts of refactoring work I did over the past 9 years. | |||
2017-02-17 | Partition: add "name" attribute | Max Kellermann | |
2017-02-10 | IOThread: move EventThread instance into struct Instance | Max Kellermann | |
Eliminate global variables. | |||
2017-02-09 | Main: use the IOThread for outputs and mixers | Max Kellermann | |
The main EventLoop can block for a long time while a client's command runs, and is therefore inappropriate for internal engine I/O. This fixes a serious regression for at least the "httpd" output, which used to be hard-coded for the IOThread, but now receives the main EventLoop as an initialization parameter. For the mixers, this doesn't make much of a difference. They are not latency critical. | |||
2017-02-08 | tag/Tag*: rename several source files | Max Kellermann | |
2017-01-26 | input/Plugin: pass EventLoop& to init() | Max Kellermann | |
Eliminate dependency on io_thread_get(). | |||
2017-01-23 | Main, db/Glue: improve error messages | Max Kellermann | |
2017-01-03 | update copyright year | Max Kellermann | |
2017-01-03 | Main: invoke UpdateEffectiveReplayGainMode() after output init | Max Kellermann | |
Forward the configured ReplayGainMode to all outputs and decoders. | |||
2016-12-28 | Stats: initialize start_time automatically | Max Kellermann | |
2016-12-28 | event/Loop: use std::chrono | Max Kellermann | |
2016-12-10 | ReplayGainGlobal: move replay_gain_config into struct Config | Max Kellermann | |
Yet another global variable removed. | |||
2016-12-10 | Main: add struct Config, empty currently | Max Kellermann | |
2016-12-04 | LogInit: convert use_stdout flag to out_fd=STDOUT_FILENO | Max Kellermann | |
2016-12-03 | decoder/Control: add attribute configured_audio_format | Max Kellermann | |
Obsoletes the same variable from AudioConfig.cxx. | |||
2016-12-03 | ReplayGainGlobal: move replay_gain_mode to struct Partition | Max Kellermann | |
2016-12-03 | Partition: pass ReplayGainConfig to constructor | Max Kellermann | |
2016-12-03 | Main: call replay_gain_global_init() before forking | Max Kellermann | |
2016-12-03 | filter/ReplayGain: add ReplayGainConfig copy | Max Kellermann | |
Remove dependency on ReplayGain global variables. | |||
2016-11-25 | ReplayGainConfig: add struct ReplayGainConfig, move globals to ↵ | Max Kellermann | |
ReplayGainGlobal.cxx | |||
2016-11-24 | Partition: add UpdateEffectiveReplayGainMode() | Max Kellermann | |
Move code from replay_gain_get_real_mode(). | |||
2016-11-02 | CommandLine: migrate from class Error to C++ exceptions | Max Kellermann | |