summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-04-28.travis.yml: switch the OSX build to xcode11.6Max Kellermann
The clang/libc++ version in xcode10.3 does not support C++17 properly and cannot build MPD.
2021-04-28test/test_mixramp: workaround for -Wdouble-promotionMax Kellermann
2021-04-27.travis.yml: install standard Homebrew GTest formulaMax 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 TrustyMax 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 commentMax Kellermann
2021-04-26test/test_pcm_format: another workaround for -Wdouble-promotionMax Kellermann
2021-04-26test/test_pcm_format: work around -Wdouble-promotionMax Kellermann
2021-04-26output/jack: enable on WindowsMax 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-26output/control: add missing nullptr checksMax 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-15Revert "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-07python/build/boost.py: touch boost/version.hpp to avoid reinstalling all the ↵Max Kellermann
time
2021-03-13gme: add support for rsn filesJohn 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-13output/wasapi: use calculated new buffer instead old oneShen-Ta Hsieh
2021-03-10Added 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-10output/wasapi: implement Drain()Max Kellermann
2021-03-10output/wasapi: move the "is_started" flag to class WasapiOutputThreadMax Kellermann
2021-03-10output/wasapi: eliminate `friend` declarationMax Kellermann
2021-03-10output/wasapi: implement Cancel() properlyMax Kellermann
Calling consume_all() is illegal in the producer thread.
2021-03-10output/wasapi: add field `paused`Max Kellermann
Fixes bogus Delay() results at the start of playback, because Delay() thinks the output is paused.
2021-03-10output/wasapi: initialize is_started in Open()Max Kellermann
2021-03-10output/wasapi: move the thread->Play() call right before the consumed_size checkMax Kellermann
Fixes a bogus assertion failure (which can now be removed).
2021-03-10output/wasapi: make device_config `const`Max Kellermann
2021-03-10output/wasapi: move runtime fields below configuration fieldsMax Kellermann
2021-03-10output/wasapi: make configuration fields `const`Max Kellermann
2021-03-10output/wasapi: stop the IAudioClient while pausedMax Kellermann
Instead of generating silence, do nothing, don't waste CPU time.
2021-03-10output/wasapi: combine two `if` statements to one `switch`Max Kellermann
2021-03-10output/wasapi: add method WasapiOutputThread::InterruptWaiter()Max Kellermann
2021-03-10output/wasapi: remove the broken Delay() calculation codeMax 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-10output/wasapi: rename OpenDevice() to ChooseDevice()Max Kellermann
OpenDevice was a confusing name because it does not actually open a device.
2021-03-10output/wasapi: make `enumerator` a local variableMax Kellermann
2021-03-08output/wasapi: start after the buffer has been filledMax Kellermann
Postpone the Start() call until there is something to be played.
2021-03-08output/wasapi: move Start()/Stop() calls to WasapiOutputThread::Work()Max Kellermann
2021-03-08win32/HResult: support AUDCLNT_E_NOT_{INITIALIZED,STOPPED}Max Kellermann
2021-03-08win32/HResult: try to use FormatMessage()Max Kellermann
2021-03-08output/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-08output/wasapi: rename method WaitDataPoped() to Wait()Max Kellermann
2021-03-08output/wasapi: make the Thread a field, not a base classMax Kellermann
2021-03-08output/wasapi: start the WasapiOutputThread in its constructorMax Kellermann
2021-03-08output/wasapi: Finish() calls Join()Max Kellermann
2021-03-08output/wasapi: remove the thread management code from DoDisable()Max Kellermann
This is duplicate; this has already been done in Close().
2021-03-08test/run_output: call AudioOutput::Drain()Max Kellermann
2021-03-08output/wasapi: don't clear the exception in CheckException()Max Kellermann
This is pointless; the method cannot be called again anyway.
2021-03-08output/wasapi: remove the "thrown" fieldMax Kellermann
It is pointless to let WasapiOutputThread wait for the CheckException() call.
2021-03-08output/wasapi: move catch block to the Work() function levelMax 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-08output/wasapi: make WasapiOutputThread::is_exclusive constMax Kellermann
2021-03-08output/wasapi: catch all exceptionMax Kellermann
2021-03-08output/wasapi: remove broken Drain() implementationMax Kellermann
The current Drain() implementation does what Cancel() should do; it does not wait for completion, but instead discards the buffer.
2021-03-08output/wasapi: implement Cancel()Max Kellermann
2021-03-08output/wasapi: add `inline`Max Kellermann