Commit Graph

18434 Commits

Author SHA1 Message Date
Colin Edwards cb6f61cf37 android: Update to NDK 27 2024-04-22 22:34:34 -05:00
kaliko 964e18ab49 doc: debian build, add libpipewire 2024-04-16 19:51:46 +02:00
kaliko 709acd8920 doc: debian build, add libsystemd 2024-04-16 19:18:57 +02:00
kaliko 6f0aecbfb3 doc: debian build, fixed libexpat-dev 2024-04-16 19:05:23 +02:00
Max Kellermann 7ebe56fdd9 util/SpanCast: allow ToStringView() only with integral char types
This avoids std::string_view specialization that make no sense.
2024-04-16 12:37:08 +02:00
Max Kellermann fae235197f util/SpanCast: allow ReferenceAsBytes() only with trivially-copyable
Addd the std::has_unique_object_representations_v constraint so we
cast stuff to std::byte only if this would make sense.
2024-04-16 12:33:36 +02:00
Max Kellermann 141f518bdd .github/workflows/build.yml: add missing backslashes 2024-04-16 12:10:32 +02:00
Max Kellermann d9fefbbc5a .github/workflows/build.yml: run Meson manually without BSFishy/meson-build
This eliminates the options duplication in the "build" and "tests" steps.
2024-04-16 12:07:50 +02:00
Max Kellermann 122d71a05d .github/workflows/build.yml: build only on Ubuntu 22.04 2024-04-16 12:03:24 +02:00
Max Kellermann 3b4825dd29 .github/workflows/build.yml: do not install outdated libfmt-dev 2024-04-16 11:51:19 +02:00
Max Kellermann 0c1ecc96a8 *: let libfmt quote strings 2024-04-16 11:50:18 +02:00
Max Kellermann 39c9e92f42 lib/fmt: require libfmt 9
Version 9 added the "debug format" which I'd like to use.
2024-04-16 11:50:18 +02:00
Max Kellermann 08810991c2 .github/workflows/build.yml: install ccache manually
This eliminates the additionoal "apt-get install" call by
ccache-action.
2024-04-16 11:39:40 +02:00
Max Kellermann f8581c4d6a doc/user.rst: switch to Debian Bookworm 2024-04-16 11:33:00 +02:00
Max Kellermann 0d8498f1d1 lib/fmt/SocketAddressFormatter: simpler template syntax 2024-04-16 11:02:36 +02:00
Max Kellermann 7198db758d lib/fmt/PathFormatter: eliminate AllocatedPath specialization with std::convertible_to<Path> 2024-04-16 11:00:21 +02:00
Max Kellermann 7a4743d00e config/File: add missing include 2024-04-16 11:00:21 +02:00
Max Kellermann ae85c2a979 db/Configured: log debug message when there is no cache directory
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1525
2024-04-16 10:57:28 +02:00
Max Kellermann de4bdfcd1f python/build/libs.py: disable the FFmpeg "LEAD MCMP" decoder
This decoder causes linker failures and MPD has no use for it anyway.
2024-04-15 22:28:03 +02:00
Max Kellermann 9c7b930f8f Merge branch 'alsa-drain-recovery' of https://github.com/borine/MPD 2024-04-15 22:21:53 +02:00
Max Kellermann 9e8bca4879 python/build/libs.py: update FFmpeg to 7.0 2024-04-15 22:05:08 +02:00
Max Kellermann 5bd3934c00 python/build/libs.py: update WildMidi to 0.4.6 2024-04-15 22:05:08 +02:00
Max Kellermann 57212d5a35 player/Thread: remove unnecessary StartDecoder() call
Let Run() do this in the next loop iteration.
2024-04-15 21:49:11 +02:00
Max Kellermann 7236f83999 player/Thread: do not start the decoder twice
Upon receiving PlayerCommand::QUEUE, call StartDecoder() only if the
decoder is not already starting.  Checking just
DecoderControl::IsIdle() is not enough because the decoder may already
have finished decoding the song before the player has started playing
it and before it had a chance to call CheckDecoderStartup().

Omitting the StartDecoder() call now means it will be started later in
the Run() main loop, after CheckDecoderStartup() has succeeded (which
effectively switches to the song that has already been decoded by the
current decoder).

This fixes an assertion failure when compiled in debug mode
(`-Db_ndebug=false`) and random noise playback in non-debug mode
(`-Db_ndebug=true`).

Closes https://github.com/MusicPlayerDaemon/MPD/issues/1900
2024-04-15 21:39:53 +02:00
Max Kellermann c8ece786dd player/Thread: add assert() to StartDecoder()
StartDecoder() must not be called when a decoder is still being
started.  This detects the bug
https://github.com/MusicPlayerDaemon/MPD/issues/1900 earlier.
2024-04-15 21:36:11 +02:00
Max Kellermann 60fae87e59 doc/mpdconf.example: move "replaygain_limit" to user.rst 2024-04-15 18:58:53 +02:00
Max Kellermann 3145b10f51 doc/mpdconf.example: remove advanced replay gain settings
Keep the example file short, omit settings that are probably only used
by few users.
2024-04-15 18:55:03 +02:00
Max Kellermann 75047a26f8 doc/mpdconf.example: fix replaygain_limit description
The description (added by commit 43806d524d) was wrong.

Closes https://github.com/MusicPlayerDaemon/MPD/issues/1977
2024-04-15 18:51:27 +02:00
Max Kellermann 1e4bf90c60 io, net, evnet: quote file names in error messages 2024-04-10 13:36:05 +02:00
Max Kellermann b3a31b69ee util/RedBlackTree: fix lost "right" child while swapping with successor
Fixes a tree corruption bug that led to assertion failures.
2024-04-10 13:35:31 +02:00
Max Kellermann 88475f2e2b util/RedBlackTree: swap colors when swapping with successor
Swapping was incomplete without swapping the colors; this led to
assertion failures under certain conditions.
2024-04-10 13:35:28 +02:00
Max Kellermann 3cf0896998 test/util/TestIntrusiveTreeSet: add test with large randomized tree, erasing random elements
Test fails currently due to two bugs in the red-black tree
implementation.
2024-04-10 13:35:24 +02:00
Max Kellermann e0a53d4747 util/IntrusiveTreeSet: add debug method Check()
Only for the unit test.
2024-04-10 13:35:21 +02:00
Max Kellermann 669cbcd25a util/IntrusiveList: allow the last disposer to destroy the IntrusiveList
Fixes a use-after-free bug in Co::MultiAwaitable::SetReady() when the
last callback frees the Co::MultiAwaitable owner.
2024-04-10 13:35:09 +02:00
Max Kellermann 2f7c19f139 util/SpanCast: rewrite ToStringView(std::span<std::byte>) to avoid cast ambiguities 2024-04-10 13:34:51 +02:00
Max Kellermann e131f22642 util/SpanCast: merge two ToStringView() using std::remove_const_t 2024-04-10 13:34:25 +02:00
Max Kellermann a09e33bf8e Merge branch 'RoboSchmied-AGfixT118' of https://github.com/RoboSchmied/MusicPlayerDaemon-MPD 2024-04-08 08:23:48 +02:00
Max Kellermann cd3c34e7b9 Merge branch 'intents' of https://github.com/DDRBoxman/MPD 2024-04-08 08:23:25 +02:00
Max Kellermann b3733ef32a Merge branch 'sticker_filters' of https://github.com/jcorporation/MPD 2024-04-08 08:20:28 +02:00
RoboSchmied f3b9674fed Fix: 1 typo
Co-authored-by: RoAGmer <no-reply@github.com>
Signed-off-by: RoboSchmied <github@roboschmie.de>
2024-04-07 18:59:40 +02:00
Colin Edwards b0cd456753 android: Button to jump to bottom of log view
This adds a button that can jump to the bottom of the log view.
If the user scrolls up we now disable the auto scroll down and show the
down button. When the down button is clicked the auto scroll resumes and
the button is removed.
2024-04-06 20:11:01 -05:00
jcorporation c613d25f29 Add operators contains and starts_with to sticker find 2024-04-06 20:08:59 +02:00
Colin Edwards fff9ceccc2 android: Add intents for service start and stop
org.musicpd.action.StartService
org.musicpd.action.StopService

You can test these actions like:
adb shell am broadcast -a org.musicpd.action.StartService org.musicpd

Calling these from an app like tasker should allow for automation
2024-04-05 23:46:14 -05:00
Colin Edwards 4bcbeae1e0 android: Move service client into it's own file
The service file was getting harder to read so lets pull the client code
into it's own file
2024-04-05 23:27:41 -05:00
Max Kellermann 4c56e87e36 lib/curl/Global: remove empty line 2024-04-04 09:18:34 +02:00
Max Kellermann 011b96ff98 net/UniqueSocketDescriptor: add method MoveToFileDescriptor() 2024-04-04 09:16:44 +02:00
Max Kellermann d563f5fc87 decoder/mpg123: use mpg123_ssize_t only on MPG123_API_VERSION >= 47 2024-04-03 23:21:54 +02:00
Max Kellermann 9c2df5ce19 decoder/mpg123: implement stream_decode 2024-04-03 23:12:26 +02:00
Max Kellermann 1745c485f3 decoder/mpg123: move code to Scan() 2024-04-03 22:52:56 +02:00
Max Kellermann a53db82ae4 decoder/mpg123: move code to Decode() 2024-04-03 22:49:43 +02:00