Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-04-28 | .travis.yml: switch the OSX build to xcode11.6 | Max Kellermann | |
The clang/libc++ version in xcode10.3 does not support C++17 properly and cannot build MPD. | |||
2021-04-28 | test/test_mixramp: workaround for -Wdouble-promotion | Max Kellermann | |
2021-04-27 | .travis.yml: install standard Homebrew GTest formula | Max Kellermann | |
2021-04-27 | .travis.yml: switch from Ubuntu Bionic to Ubuntu Focal (20.04) | Max Kellermann | |
2021-04-27 | .travis.yml: switch to ppa:ricotz/toolchain for ninja 1.8 on Ubuntu Trusty | Max Kellermann | |
The old "ppa:mstipicevic/ninja-build-1-7-2" just provides ninja 1.7 which is too old and breaks the build. | |||
2021-04-27 | .travis.yml: remove obsolete comment | Max Kellermann | |
2021-04-26 | test/test_pcm_format: another workaround for -Wdouble-promotion | Max Kellermann | |
2021-04-26 | test/test_pcm_format: work around -Wdouble-promotion | Max Kellermann | |
2021-04-26 | output/jack: enable on Windows | Max Kellermann | |
This enables the JACK output plugin on Windows, but doesn't link against libjack64.dll, instead loads the DLL at runtime with LoadLibrary(). This kludge avoids the extremely fragile JACK shared memory protocol by using the system's libjack64.dll, without requiring the same DLL at build time. | |||
2021-04-26 | output/control: add missing nullptr checks | Max Kellermann | |
Fixes crash when pausing the default partition after an output was moved to another partition. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1147 | |||
2021-04-15 | Revert "tag/Pool: use strncmp() without strlen() to compare strings" | Max Kellermann | |
This reverts commit 1532983fb5755305a86fc37d2f35a7757d2bd66f. This optimization was bad because now all strings match if they are a prefix of another string, and this caused collisions in the tag string pool, corrupting the database. | |||
2021-04-07 | python/build/boost.py: touch boost/version.hpp to avoid reinstalling all the ↵ | Max Kellermann | |
time | |||
2021-03-13 | gme: add support for rsn files | John Regan | |
Upcoming release of game-music-emu will support it, details here: https://bitbucket.org/mpyne/game-music-emu/pull-requests/23/rsn-support | |||
2021-03-13 | output/wasapi: use calculated new buffer instead old one | Shen-Ta Hsieh | |
2021-03-10 | Added cross-origin header to http headers of the http output. | bitkeeper | |
The current http output doesn't provide a header for cross-origin support. This prevents to use the mpd http stream directly from an other webapplication due the origin from the webpage differs from then the audio stream. The fix is to add the following header to the http response: Access-Control-Allow-Origin: * | |||
2021-03-10 | output/wasapi: implement Drain() | Max Kellermann | |
2021-03-10 | output/wasapi: move the "is_started" flag to class WasapiOutputThread | Max Kellermann | |
2021-03-10 | output/wasapi: eliminate `friend` declaration | Max Kellermann | |
2021-03-10 | output/wasapi: implement Cancel() properly | Max Kellermann | |
Calling consume_all() is illegal in the producer thread. | |||
2021-03-10 | output/wasapi: add field `paused` | Max Kellermann | |
Fixes bogus Delay() results at the start of playback, because Delay() thinks the output is paused. | |||
2021-03-10 | output/wasapi: initialize is_started in Open() | Max Kellermann | |
2021-03-10 | output/wasapi: move the thread->Play() call right before the consumed_size check | Max Kellermann | |
Fixes a bogus assertion failure (which can now be removed). | |||
2021-03-10 | output/wasapi: make device_config `const` | Max Kellermann | |
2021-03-10 | output/wasapi: move runtime fields below configuration fields | Max Kellermann | |
2021-03-10 | output/wasapi: make configuration fields `const` | Max Kellermann | |
2021-03-10 | output/wasapi: stop the IAudioClient while paused | Max Kellermann | |
Instead of generating silence, do nothing, don't waste CPU time. | |||
2021-03-10 | output/wasapi: combine two `if` statements to one `switch` | Max Kellermann | |
2021-03-10 | output/wasapi: add method WasapiOutputThread::InterruptWaiter() | Max Kellermann | |
2021-03-10 | output/wasapi: remove the broken Delay() calculation code | Max Kellermann | |
This code is complicated - and broken: the producer thread is not allowed to call consumer methods. Also the code is not necessary because this plugin implements Interrupt(). | |||
2021-03-10 | output/wasapi: rename OpenDevice() to ChooseDevice() | Max Kellermann | |
OpenDevice was a confusing name because it does not actually open a device. | |||
2021-03-10 | output/wasapi: make `enumerator` a local variable | Max Kellermann | |
2021-03-08 | output/wasapi: start after the buffer has been filled | Max Kellermann | |
Postpone the Start() call until there is something to be played. | |||
2021-03-08 | output/wasapi: move Start()/Stop() calls to WasapiOutputThread::Work() | Max Kellermann | |
2021-03-08 | win32/HResult: support AUDCLNT_E_NOT_{INITIALIZED,STOPPED} | Max Kellermann | |
2021-03-08 | win32/HResult: try to use FormatMessage() | Max Kellermann | |
2021-03-08 | output/wasapi: check for exceptions after Wait() | Max Kellermann | |
This finishes problems which occur early in the WasapiOutputThread; previously, the error was ignored and the output blocked forever without doing anything (and without reporting the error). | |||
2021-03-08 | output/wasapi: rename method WaitDataPoped() to Wait() | Max Kellermann | |
2021-03-08 | output/wasapi: make the Thread a field, not a base class | Max Kellermann | |
2021-03-08 | output/wasapi: start the WasapiOutputThread in its constructor | Max Kellermann | |
2021-03-08 | output/wasapi: Finish() calls Join() | Max Kellermann | |
2021-03-08 | output/wasapi: remove the thread management code from DoDisable() | Max Kellermann | |
This is duplicate; this has already been done in Close(). | |||
2021-03-08 | test/run_output: call AudioOutput::Drain() | Max Kellermann | |
2021-03-08 | output/wasapi: don't clear the exception in CheckException() | Max Kellermann | |
This is pointless; the method cannot be called again anyway. | |||
2021-03-08 | output/wasapi: remove the "thrown" field | Max Kellermann | |
It is pointless to let WasapiOutputThread wait for the CheckException() call. | |||
2021-03-08 | output/wasapi: move catch block to the Work() function level | Max Kellermann | |
If an exception has been caught, the method cannot continue playback, therefore it doesn't make sense to have the "catch" block inside the "while" block (and not break the loop after catching an exception). | |||
2021-03-08 | output/wasapi: make WasapiOutputThread::is_exclusive const | Max Kellermann | |
2021-03-08 | output/wasapi: catch all exception | Max Kellermann | |
2021-03-08 | output/wasapi: remove broken Drain() implementation | Max Kellermann | |
The current Drain() implementation does what Cancel() should do; it does not wait for completion, but instead discards the buffer. | |||
2021-03-08 | output/wasapi: implement Cancel() | Max Kellermann | |
2021-03-08 | output/wasapi: add `inline` | Max Kellermann | |