Max Kellermann
963ff1997d
lib/curl/Easy: add methods SetXferInfoFunction(), SetMimePost()
2023-03-05 08:47:40 +01:00
Max Kellermann
5c2a576546
io/BufferedReader: add missing include
2023-03-05 08:43:41 +01:00
Max Kellermann
452400b7ef
net/SocketAddress: remove __cpp_lib_span checks
2023-03-05 08:41:33 +01:00
Moviuro
20a5276560
doc/mpd.1.rst: add documentation for --systemd
...
This switch was introduced in ce77b148d9
2023-03-01 09:55:27 +01:00
Max Kellermann
c94eee6199
Merge branch 'master' of https://github.com/lerenwe/MPD-Windows-With-Libsample
2023-02-23 14:44:06 +01:00
Sweet Blue
2a75222fe2
Added libsamplerate to win32 build script
2023-02-23 14:26:32 +01:00
Sweet Blue
7d9d173c9f
Updated libs.py to integrate libsamplerate 0.2.2
2023-02-23 14:25:11 +01:00
Dave Hocker
f248fe2dec
Resolve deprecation warnings by replacing use of sprintf with FmtBuffer
2023-02-06 11:56:49 +01:00
Brad Smith
e0df0b6d74
oss: Remove use of the soundcard.h header, OpenBSD no longer uses OSS
2023-02-03 18:38:20 -05:00
Sean DuBois
a41414e0e0
Decoder/FluidSynth: Allow gain to be adjusted
2023-02-01 12:00:19 -05:00
Max Kellermann
f1cea1f152
util/IntrusiveHashSet: add unlink(), is_linked()
2023-01-31 13:07:26 +01:00
Max Kellermann
02f5698868
event/Loop: remove unnecessary include
...
Not used since a3b32819b1
2023-01-31 13:04:25 +01:00
Bryan Waite
e25816fc05
Provide alternative ways to check for
...
https://superuser.com/questions/287371/obtain-kernel-config-from-currently-running-linux-system/287372#287372
2023-01-31 08:21:39 +00:00
Max Kellermann
5b07c8fc6c
util/CharUtil: add IsLowerAlphaNumericASCII()
2023-01-29 09:39:40 +01:00
Max Kellermann
b45afd1cab
util/StringBuffer: add constexpr
2023-01-29 09:38:40 +01:00
Max Kellermann
8b73257a86
storage/meson.build: move MemoryDirectoryReader.cxx to storage_api.a
...
This library is required by the plugins, so this fixes a dependency issue.
2023-01-29 08:21:58 +01:00
Max Kellermann
def6fffcf1
event/Loop: fixup for NO_FINE_TIMER_EVENT
2023-01-29 08:07:03 +01:00
Max Kellermann
78b13577ef
test/net/TestIPv[46]Address: add more tests
2023-01-28 08:15:41 +01:00
Max Kellermann
1f5d50ccce
lib/curl/Setup: include cleanup
2023-01-28 08:06:10 +01:00
Max Kellermann
ebf65572dd
util/ByteOrder: remove unnecessary operator=
...
The compiler can just use the uint32_t constructor instead. This was
redundant code.
2023-01-28 07:48:03 +01:00
Max Kellermann
c30c293d6f
input/async: check for errors in Seek()
...
Fixes a busy loop in BufferingInputStream::RunThreadLocked() because
the method never learns that seeking is ignored, even though the HTTP
stream is already broken and can never be read; nobody cared to check
for errors.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1727
2023-01-28 07:44:59 +01:00
Max Kellermann
9ee1be6fba
command/database: add missing include for UINT_MAX
2023-01-23 15:50:49 +01:00
Max Kellermann
76177dbc79
win32/HResult: use [[gnu::const]]
2023-01-23 15:35:36 +01:00
Max Kellermann
6cc532c9a0
win32/HResult: remove unused function FormatHResultError()
2023-01-23 15:35:36 +01:00
Max Kellermann
3cc770a00b
remove obsolete Boost dependency
...
Boost makes building a piece of software much more difficult than
necessary. It's a huge library, and just uncompressing it takes a
considerable amount of time. MPD only used a tiny fraction of it, yet
its header bloat made the MPD build very slow. Locating Boost was
difficult due to its arcane build system and its resistance to use
pkg-config; it's always a special case. MPD could never use features
of newer Boost versions because Linux distributions always shipped old
Boost versions. Boost made everything complicated and slow.
So, finally, after getting rid of GLib (commit ccdb94b06c
), switching
to C++ and using Boost (commit 0801b3f495
), we've finally get rid of
it 8 years later.
Unfortunately, I had to reimplement parts of it along the way
(e.g. IntrusiveList). Kind of NIH, but on the other hand, compiling
MPD has become much easier for users.
2023-01-23 15:06:58 +01:00
Max Kellermann
7ef0bfbdf1
event/meson.build: disable Boost
2023-01-23 14:58:38 +01:00
Max Kellermann
bafde1900b
lib/nfs/Manager: use IntrusiveList instead of boost::intrusive::set
...
MPD usually has only one NFS connection, maybe two, so managing them
in a tree seems like overkill, and since we want to get rid of Boost
anyway...
2023-01-23 14:58:09 +01:00
Max Kellermann
5844242cfb
input/cache/Manager: use IntrusiveHashSet instead of boost::intrusive::set
2023-01-23 14:19:22 +01:00
Max Kellermann
7e7cdf73b9
input/InputStream: add method GetUriView()
2023-01-23 14:15:18 +01:00
Max Kellermann
5ca74acd8d
input/InputStream: allow emplacing the URI
2023-01-23 14:15:18 +01:00
Max Kellermann
cd2aaac0c2
output/osx: fix typo
2023-01-23 14:15:18 +01:00
Max Kellermann
ff8a7225fc
output/osx: change type to std::size_t to fix -Wc++11-narrowing
2023-01-23 14:06:56 +01:00
Max Kellermann
c6eac285ea
test/util/TestRingBuffer: add "U" literal suffix to work around -Wsign-compare
2023-01-23 14:05:55 +01:00
Max Kellermann
d0be122fc6
output/osx: use class RingBuffer instead of boost::lockfree::spsc_queue
2023-01-23 13:55:50 +01:00
Max Kellermann
01e5a7b1b5
output/wasapi: use class RingBuffer instead of boost::lockfree::spsc_queue
2023-01-23 13:44:54 +01:00
Max Kellermann
0b42018377
output/PipeWire: use class RingBuffer instead of boost::lockfree::spsc_queue
2023-01-23 13:44:54 +01:00
Max Kellermann
7cb6c70bc2
output/alsa: use class RingBuffer instead of boost::lockfree::spsc_queue
2023-01-23 13:44:54 +01:00
Max Kellermann
f31ae7c556
util/RingBuffer: replacement for boost::lockfree::spsc_queue
2023-01-23 13:44:54 +01:00
Max Kellermann
5728c514d1
output/wasapi: use std::hardware_destructive_interference_size
2023-01-23 13:44:53 +01:00
Max Kellermann
debac0dfd4
win32/ComWorker: use std::queue/Mutex/Cond instead of boost::lockfree::spsc_queue/WinEvent
2023-01-23 13:25:07 +01:00
Max Kellermann
80b1f49af7
lib/dbus/AppendIter: add missing include
2023-01-22 12:29:54 +01:00
Max Kellermann
868958e159
util/IntrusiveHashSet: fix find_if() concept
2023-01-22 12:25:55 +01:00
Max Kellermann
52af03a5a6
util/IntrusiveHashSet: implement remove_and_dispose_if() with constant_time_size
2023-01-22 12:24:50 +01:00
Max Kellermann
7475e971bc
util/IntrusiveList: remove_and_dispose_if() returns the number of removed items
2023-01-22 12:24:43 +01:00
Max Kellermann
c65b1fee8d
util/IntrusiveHashSet: check key equivalence in remove_and_dispose_if()
2023-01-22 12:24:41 +01:00
Max Kellermann
e2abade6aa
util/IntrusiveList: add postfix operator++
2023-01-22 12:24:33 +01:00
Max Kellermann
57673136d8
util/IntrusiveHashSet: add method expire_find_if()
2023-01-22 12:24:30 +01:00
Max Kellermann
49e122a81d
util/IntrusiveHashSet: add method remove_and_dispose_if(key)
2023-01-22 12:24:23 +01:00
Max Kellermann
74976d3199
event: make FineTimerEvent optional
...
Several applications don't need it, so let's eliminate the code from
the executable.
2023-01-22 12:21:46 +01:00
Max Kellermann
a750e4afa7
event/Loop: move code to GetEarlierTimeout()
2023-01-22 12:19:07 +01:00