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
Max Kellermann
a20a83eb76
decoder/mpg123: move code to GetAudioFormat()
2024-04-03 22:37:29 +02:00
Max Kellermann
65e5a43e46
decoder/List: prefer "mpg123" over "mad"
...
libmad hasn't been maintained for many many years, while libmpg123 is
still maintained.
Our "mad" plugin can't do streams, but MPD will automatically fall
back to "mad" (or "ffmpeg") for streams.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1954
2024-04-03 22:25:34 +02:00
Max Kellermann
b6afdf1201
util/UriUtil: disable path segment stripping
...
This bug introduced by commit 49ed9dae34
and activated by commit acc1bd6297
caused leading spaces to disappear from the beginning of all file
names.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1961
2024-04-03 22:00:36 +02:00
Max Kellermann
08a00ee21b
config/PartitionConfig: clip the max_playlist_length setting
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1932
2024-04-03 21:43:39 +02:00
Max Kellermann
41a1e98cb9
subprojects: update sqlite3 to 3.45.2-1
2024-04-03 21:34:40 +02:00
Max Kellermann
99da022775
util/IntrusiveSortedList: remove unused class
2024-04-03 21:31:08 +02:00
Max Kellermann
1ee25b4234
event/TimerList: remove option NO_BOOST
...
Always use the new IntrusiveTreeSet class.
2024-04-03 21:30:59 +02:00
Max Kellermann
c5e607a310
event/TimerList: use IntrusiveTreeSet instead of boost::intrusive::multiset
2024-04-03 21:30:31 +02:00
Max Kellermann
5a0bad3b2f
util/IntrusiveTreeSet: new class
2024-04-03 21:29:34 +02:00
Max Kellermann
6a99f20828
util/IntrusiveHashSet: add concept checks to *Operators
...
This requires adding another template argument and reordering the others.
2024-04-03 21:27:37 +02:00
Max Kellermann
91ca502e10
output/httpd/Client: pass std::string_view to HandleLine()
2024-04-03 21:06:11 +02:00
Max Kellermann
1e5c37ee78
util/SpanCast: add ToStringView() with non-const std::byte
...
Without this, we would get std::string_view<std::byte> which makes no
sense.
2024-04-03 20:58:03 +02:00
Max Kellermann
ef2cdc0c6a
output/httpd/Client: remove duplicate API docs
2024-04-03 20:50:31 +02:00
Max Kellermann
c94c08c6b4
event/BufferedSocket: pass std::span to OnSocketInput()
2024-04-03 20:43:40 +02:00
Max Kellermann
5de8edced6
output/httpd/HttpdClient: convert `metaint` to a compile-time constant
...
After all these years, we had this as a field but there was never a
way to change the value. So let's just hard-code it until we actually
have a reason to make it variable at runtime.
2024-04-03 20:30:53 +02:00
Max Kellermann
8906ce07de
output/httpd/IcyMetaDataServer: pass metaint as std::size_t
2024-04-03 20:29:47 +02:00
Max Kellermann
9d66fc491c
output/httpd/Client: fix API doc syntax
2024-04-03 20:21:18 +02:00
Max Kellermann
f8a838db5d
output/httpd/Client: convert variable to std::string_view
...
In all cases, we already know the length, and casting the C string to
std::string_view has to call strlen() again.
2024-04-03 20:20:33 +02:00
Max Kellermann
e4ba736d03
input/{async,rewind}, decoder/dsdiff: use std::cmp_*() for safer integer comparisons
2024-03-15 18:45:46 +01:00
Max Kellermann
cc291e8c98
Merge branch 'extend-robustness-of-cdda-playback' of https://github.com/lazypingu/MPD
2024-03-15 18:39:45 +01:00
lazypingu
c00d217a53
Skip track if returned LSNs are negative which indicates track errors or if track is not an audio track
2024-03-12 20:39:51 +01:00
lazypingu
9d853897cd
Use track and disc functions from libcdio-paranoia to enable playback of hidden tracks and audio tracks on multisession CDs
2024-03-12 20:37:50 +01:00
lazypingu
88c77f9c8a
Add debug logging if setting speed failed
2024-03-12 20:37:50 +01:00
lazypingu
1a7278f1d3
Move cddap_speed_set below cddap_open to make sure that the drive was initialized and opened before attemting to set the speed
2024-03-12 20:36:28 +01:00
Max Kellermann
9916d455f9
python/build/libs: fix libnfs 5.0.3 path
2024-03-11 15:55:25 +01:00
Max Kellermann
541707f9a8
lib/curl/Easy: add SetRequestBody() overload with std::span
2024-03-11 15:32:24 +01:00
Max Kellermann
00cf036d58
lib/avahi/Client: relax assertion after COLLISION/REGISTERING
...
Turns out that `AVAHI_CLIENT_S_COLLISION` can occur after
`AVAHI_CLIENT_S_RUNNING`, and `connected==true`. Relaxing this fixes
a bogus assertion failure.
2024-03-11 15:32:24 +01:00
Max Kellermann
9c68f24cfc
net/SocketError: fix typo
...
Whoops. This function has never been used.
2024-03-11 15:32:24 +01:00
Max Kellermann
02c4512b00
util/CharUtil: add IsLowerHexDigit()
2024-03-11 15:32:24 +01:00
Max Kellermann
be84b189dc
util, io, net, ...: use "#pragma once"
2024-03-11 15:32:24 +01:00
Max Kellermann
313f2a1894
python/build/libs: update libnfs to 5.0.3
2024-03-11 15:32:24 +01:00