summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-05-18command/PlaylistCommands: pass real_uri to LookupRemoteTag()Max Kellermann
For querying tags, the real song URI should be used, because if the (display) URI is different, requesting it will not produce a usable response. This is a theoretical problem because none of the existing playlist plugins sets the real_uri. This requires changing the URI comparison in playlist::TagModified(). Closes https://github.com/MusicPlayerDaemon/MPD/issues/1154
2021-05-18command/file: cache the last "albumart" fileMax Kellermann
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1156
2021-05-18input/LastInputStream: new classMax Kellermann
2021-05-17{input,storage}/curl: set CURLOPT_HTTPAUTH=CURLAUTH_BASICMax Kellermann
With the default value CURLAUTH_ANY, libcurl needs to probe for authentication methods first, and only the second request will have an Authorization header. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1155
2021-05-17python/build/libs.py: update OpenSSL to 3.0.0-alpha16Max Kellermann
2021-05-17python/build/libs.py: update FFmpeg to 4.4Max Kellermann
2021-05-17python/build/libs.py: update CURL to 7.76.1Max Kellermann
2021-05-17doc/meson.build: remove "upload" targetMax Kellermann
Since we migrated to readthedocs.io, we don't need this target anymore. And Meson 0.58.0 apparently has a change breaking this target. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1161
2021-05-11python/build: update Boost URL and versionskidoo23
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().