Commit Graph

18609 Commits

Author SHA1 Message Date
Max Kellermann 90dfa437e0 lib/alsa/NonBlock: use a persistent pollfd array
This implements the semantic API change introduced by commit
cd04da2bcf
2024-07-11 21:47:15 +02:00
Max Kellermann 4486b2eded lib/alsa/NonBlock: add common base class 2024-07-11 21:38:45 +02:00
Max Kellermann 3db8a4f41b lib/alsa/NonBlock: embed in "namespace Alsa" 2024-07-11 21:33:03 +02:00
Max Kellermann 9704cf3dcb lib/alsa/NonBlock: fix lambda indent 2024-07-11 21:12:18 +02:00
Max Kellermann 9aa6b03ba8 event/MultiSocketMonitor: pass std::span to ReplaceSocketList() 2024-07-11 21:09:27 +02:00
Max Kellermann 45f92f0ef0 event/MultiSocketMonitor: fix lambda indent 2024-07-11 21:06:33 +02:00
Max Kellermann 23a3278b4e event/MultiSocketMonitor: make ctor protected and explicit 2024-07-11 21:05:11 +02:00
Max Kellermann 951f916440 mixer/alsa: add `noexcept` 2024-07-11 21:03:41 +02:00
Max Kellermann fb87e19bae input/Registry: replace the input_plugins_for_each macros with a container class 2024-07-11 20:52:44 +02:00
Max Kellermann 49edb16de0 decoder/Thread: add enum DecodeResult, log better diagnostics
Closes https://github.com/MusicPlayerDaemon/MPD/issues/2076
2024-07-11 16:47:43 +02:00
Max Kellermann 8671896e4c decoder/Thread: throw StopDecoder if command==STOP in decoder_run_stream()
Everybody else is doing that, so let's do the same and not pretend
playback was successful.
2024-07-11 16:28:57 +02:00
Max Kellermann c2470ebd9c decoder/List: eliminate decoder_plugins_try()
Migrate callers to GetEnabledDecoderPlugins().  By not using lambdas,
we can switch to enums as return value for better diagnostics.
2024-07-11 16:15:38 +02:00
Max Kellermann a27fb71c4c decoder/List: add iterable container for decoder plugins 2024-07-11 15:30:31 +02:00
Max Kellermann f6a687dc2b util/FilteredContainer: new class 2024-07-11 15:30:30 +02:00
Max Kellermann 9210705598 util/TerminatedArray: new class 2024-07-11 15:30:30 +02:00
Max Kellermann 3d995bba5f util/DereferenceIterator: add class DereferenceContainerAdapter 2024-07-11 14:55:35 +02:00
Max Kellermann c77f5095d6 util/DereferenceIterator: allow comparing with sentinel end iterators 2024-07-11 14:55:35 +02:00
Max Kellermann 3701378449 util/DereferenceIterator: fix operator- and operator+ return types 2024-07-11 14:29:10 +02:00
Max Kellermann cb9f3c1a5b util/DereferenceIterator: optimize and simplify increment/decrement operators 2024-07-11 14:27:23 +02:00
Max Kellermann fe66cde616 util/DereferenceIterator: add `constexpr` 2024-07-10 20:13:24 +02:00
Max Kellermann 0cc9ef0aee util/DereferenceIterator: remove unnecessary operator!=()
The compiler must generate this implicitly from operator==().
2024-07-10 20:13:19 +02:00
Max Kellermann 68a424d9e1 util/DereferenceIterator: add missing `const` 2024-07-10 20:11:55 +02:00
Max Kellermann 13576b8a2e lib/curl/Easy: use pass std::chrono::duration to SetTimeout() 2024-07-10 16:58:16 +02:00
Max Kellermann 7c21d57953 config/Block: add method GetDuration() 2024-07-10 16:58:16 +02:00
Max Kellermann 1e9e182a32 config/Data: merge the two duration parser methods, pass minimum value 2024-07-10 16:49:18 +02:00
Max Kellermann 3733bc57b7 config/{Block,Data,Param}: add concept checks to With() 2024-07-10 16:38:08 +02:00
Max Kellermann a196d1ddf2 decoder/Thread, ...: quote log strings 2024-07-10 15:40:04 +02:00
Max Kellermann 8861279add Merge branch 'explicit_case_sensitivity' of https://github.com/geneticdrift/MPD 2024-07-10 15:33:47 +02:00
Max Kellermann f2f6dc5897 subprojects: update fmt to 11.0.1 2024-07-10 09:32:11 +02:00
Max Kellermann 00c4abfd2e Merge branch 'opus' of https://github.com/neheb/MPD 2024-07-10 09:27:16 +02:00
Rosen Penev 2d1feb78b5 subprojects: opus: update to 1.5.2
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2024-07-09 15:04:43 -07:00
Rosen Penev 266deaaef1 subprojects: libnpupnp: update to 6.1.3
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2024-07-09 14:48:37 -07:00
gd d2382e8de9 ParseStringFilter: when failed to parse the operator, indicate the unknown operator in the error message 2024-07-09 17:25:45 +03:00
gd c39d8e5813 Added explicitly case sensitive/insensitive filter operators.
The default case sensitivity is hard coded for each command.
These operators allow to override the this default case sensitivity.
2024-07-09 17:25:45 +03:00
Max Kellermann bd59c889f3 util/StringVerify: new library 2024-07-08 16:02:40 +02:00
Max Kellermann 553c2e9e2b output/Command: trigger IDLE_OUTPUT only for the current partition
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1622
2024-07-08 15:54:14 +02:00
Max Kellermann bdc5602244 meson.build: update the required GCC/clang versions 2024-07-08 15:44:45 +02:00
Max Kellermann 3229da48e3 tag/Mask: pass 64 bit integer to constructor, prevent truncation
Commit f49d4ef4ad changed the bit mask size to 64 bit, but I forgot
to change the constructor as well.

Closes https://github.com/MusicPlayerDaemon/MPD/issues/2057
2024-07-08 15:34:27 +02:00
Max Kellermann e380ae90eb Log: add missing include for std::back_inserter()
Closes https://github.com/MusicPlayerDaemon/MPD/issues/2071
2024-07-07 10:10:27 +02:00
Max Kellermann 8d15e0fed3 Merge branch 'meson' of https://github.com/leigh123linux/MPD 2024-07-06 13:43:28 +02:00
Leigh Scott b459fd3910
Fix bin install location on linux.
For Linux, Meson's default value for bindir is 'bin' [1].
This commit restores mpd's previous functionality of installation in ${prefix}/bin.

[1] https://mesonbuild.com/Builtin-options.html

Fixes https://github.com/MusicPlayerDaemon/MPD/issues/2043
2024-07-06 09:43:01 +01:00
Max Kellermann 8790f2469c lib/fmt/SocketAddressFormatter: switch to the new net/FormatAddress library 2024-07-05 18:39:10 +02:00
Max Kellermann d3ef4ab234 net/FormatAddress: new library to replace ToString.cxx
This library writes to a caller-specified buffer instead of
allocating a std::string which can be faster by avoiding heap
allocations.
2024-07-05 18:38:17 +02:00
Max Kellermann fcddab84c6 subprojects: add libnpupnp/GCC14 fix 2024-07-05 18:26:51 +02:00
Max Kellermann 28c030c0f0 lib/fmt/SocketAddressFormatter: add `const` for fmt 11 support
See d70729215f
2024-07-05 18:21:38 +02:00
Max Kellermann 175103e8d4 lib/fmt/ExceptionFormatter: un-inline to reduce header dependencies 2024-07-05 18:20:31 +02:00
Max Kellermann 3f638eeed6 lib/fmt/SocketAddressFormatter: un-inline to reduce header dependencies 2024-07-05 18:20:31 +02:00
Max Kellermann df2be0a75f Log: add missing include for GetFullMessage() 2024-07-05 18:20:31 +02:00
Max Kellermann 608c2a8c93 .github/workflows/build.yml: add clang build
Due to linker failures, we need to build our own libfmt and
googletest.
2024-07-05 18:05:56 +02:00
Max Kellermann 2d918bf2c9 .github/workflows/build.yml: add matrix.packages 2024-07-05 17:50:46 +02:00