Max Kellermann
1c30b3d5a1
lib/dbus/UDisks2: use std::string_view instead of StringView
2022-07-04 15:04:31 +02:00
Max Kellermann
74780131bd
lib/zlib/GzipOutputStream: add SyncFlush()
2022-07-04 10:09:04 +02:00
Max Kellermann
2c092d2613
lib/zlib/GzipOutputStream: add exception API docs
2022-07-04 10:08:55 +02:00
Max Kellermann
171b31ae67
lib/zlib/GzipOutputStream: rename Flush() to Finish()
2022-07-04 10:08:54 +02:00
Max Kellermann
5b3abe2c9c
lib/zlib/GzipOutputStream: grow Write() buffer to 64 kB
2022-07-04 10:08:53 +02:00
Max Kellermann
e7b15a9041
lib/curl/Request: remove obsolete method prototypes
2022-07-02 18:42:08 +02:00
Max Kellermann
853afa1bce
lib/curl/Adapter: add missing StripLeft() call
...
Fixes regression by commit 88a66df9d6
2022-07-02 18:36:15 +02:00
Max Kellermann
627fd755e8
lib/curl/Adapter: remove redundant size check
2022-07-01 16:54:47 +02:00
Max Kellermann
88a66df9d6
lib/curl/Adapter: use std::string_view internally
2022-07-01 16:51:37 +02:00
Max Kellermann
af951dc08a
Merge branch 'v0.23.x'
2022-07-01 12:45:07 +02:00
Max Kellermann
5a5655b790
lib/curl/Adapter: catch and postpone exceptions in WriteFunction()
...
This fixes a std::terminate() crash in the CURL storage plugin when
PropfindOperation::OnHeaders() throws an exception after receiving a
non-207 status.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1559
2022-07-01 12:43:42 +02:00
Max Kellermann
b88d1e6820
lib/curl/Headers: make the comparison type "transparent"
2022-07-01 12:17:41 +02:00
Max Kellermann
19d2864c34
lib/curl/Headers: central type definition for the header map
2022-07-01 12:17:36 +02:00
Max Kellermann
29e3a17f26
lib/curl/Request: move code from SetupEasy() to Setup.cxx
2022-07-01 12:17:26 +02:00
Max Kellermann
252e9f736f
lib/curl/Request: move code to class CurlResponseHandlerAdapter
2022-07-01 12:17:20 +02:00
Max Kellermann
5d08988dda
lib/curl/Handler: fix typo
2022-07-01 12:17:17 +02:00
Max Kellermann
47ca4246aa
lib/curl/Request: add constructor with CurlEasy parameter
2022-07-01 12:17:13 +02:00
Max Kellermann
f8338d4f00
lib/curl/Request: use std::size_t
2022-07-01 12:16:59 +02:00
Max Kellermann
5cf6032c90
lib/curl/Request: move code to SetupEasy()
2022-07-01 12:16:55 +02:00
Max Kellermann
8d8b77412d
lib/curl/Request: add API docs
2022-07-01 12:16:50 +02:00
Max Kellermann
9d50306e2f
lib/xiph/ScanVorbisComment: use std::string_view
2022-07-01 11:30:44 +02:00
Max Kellermann
02fe857755
util/IterableSplitString: return std::string_view
2022-07-01 11:29:11 +02:00
Max Kellermann
e921c0b40b
lib/yajl/Callbacks: use std::string_view
2022-07-01 11:16:42 +02:00
Max Kellermann
ca90c75c61
lib/alsa/AllowedFormat: pass std::string_view to constructor
2022-07-01 10:57:49 +02:00
Max Kellermann
4765726bda
tag/VorbisComment: use std::string_view
2022-06-30 10:57:01 +02:00
Max Kellermann
bc3415ce8b
Copyright year 2022
2022-06-30 09:41:53 +02:00
Max Kellermann
3f1acd3642
lib/avahi/Publisher: fix comment typo
2022-06-30 09:38:44 +02:00
Max Kellermann
4564d251a8
zeroconf/avahi: move generic sources to lib/avahi
2022-06-30 09:37:30 +02:00
Max Kellermann
8783ed1981
lib/curl/Adapter: use std::string_view
2022-06-29 17:38:58 +02:00
Max Kellermann
1da09f5b1b
lib/curl: use std::span
2022-06-29 17:37:12 +02:00
Max Kellermann
062df65b1e
lib/dbus: use std::span
2022-06-29 17:32:58 +02:00
Max Kellermann
27e78c71e0
util/HexFormat: use std::span instead of ConstBuffer
2022-06-01 22:50:54 +02:00
Max Kellermann
759da033fc
lib/curl/Escape: use std::string_view instead of StringView
2022-05-31 13:22:56 +02:00
Max Kellermann
3dd2434149
lib/crypto/Base64: add overload which returns AllocatedArray<std::byte>
2022-05-24 14:29:41 +02:00
Max Kellermann
3699514d18
lib/xiph/VorbisPicture: use std::string_view instead of StringView
2022-05-24 14:24:48 +02:00
Max Kellermann
6d113de1f8
tag/Handler: pass std::span to OnPicture()
2022-05-24 14:18:33 +02:00
Max Kellermann
6633c7fd42
lib/crypto/Base64: use std::string_view
2022-05-20 11:25:04 +02:00
Max Kellermann
1260a0147a
lib/crypto/Base64: use std::span
2022-05-20 11:21:44 +02:00
Max Kellermann
84e5da4bf0
pcm/Silence: use std::span
2022-05-20 11:15:45 +02:00
Max Kellermann
b22c00d0cd
Merge branch 'v0.23.x'
2022-05-20 10:04:19 +02:00
Max Kellermann
5fb97b81d1
util/AllocatedArray: migrate from {Const,Writable}Buffer to std::span
2022-05-19 20:52:48 +02:00
Max Kellermann
8bd1b5228c
lib/upnp/Compat: suppress -Wunused-but-set-parameter
2022-05-19 20:10:41 +02:00
Max Kellermann
bb7be9a4cd
util/*FifoBuffer: migrate from WritableBuffer to std::span
2022-05-19 14:01:57 +02:00
Max Kellermann
ce88dee14d
Merge branch 'v0.23.x'
2022-04-26 18:30:34 +02:00
Max Kellermann
9659d19718
lib/upnp/Init: use if with initalizer
2022-04-26 17:58:33 +02:00
Rosen Penev
50d35c9677
upnp: use UpnpInit2 always
...
libupnp 1.14 removes the non 2 function. Fixes compilation there.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1499
2022-04-26 17:57:48 +02:00
Andreas Ziegler
ee39af3419
fix typo in comment
2022-04-24 04:14:17 +00:00
aeolio
3882a5a263
src/lib/icu: fix iconv() detection when libiconv is installed
2022-04-20 16:10:39 +02:00
Max Kellermann
a360475c7b
Merge branch 'v0.23.x'
2022-03-26 06:49:51 +01:00
Max Kellermann
a757eebfbb
decoder/OggSyncState: allow skipping up to 64 kB after seek
...
This is more of what we did in commit 70bd35abe2
because it turns
out there are Ogg-Opus files with pages larger than 40 kB.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1487
2022-03-16 16:54:50 +01:00
Max Kellermann
407fa2720a
release v0.23.6
...
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAmIvgaMQHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEpzhEACOJOyOjtmeuu7Uc147O4YzL/7g5PEZMKHI
yB/H2QOWnbgAKh+8AFT2YudR89mIXslfuIILRg8/NYkEFgNCrkBQETWsATPyqrCr
rYJxPtjlC2fAlKkl9XM+qL1WMATIhvRVD9SZajZKwa+9H1y5mZGlMBWdzdxaJoUY
bhlu7fYvyRMXsStUncyYfsKsuHyibq3d4Pk/jegZhJeMI9/MOKdjc9GJE6Rzz0cT
dWGqpfBJ/WMZ9aKXB3fh7WVtiIl/hr/5K1QizL10pwmJ5o/LBNKk7eEREbPUvNc6
S5BHBOyVYaqVTGZyaoF9XkMKv7qnKYNoD2g2H+J5cN87rMRI8DzY/MqUxmX0bCGc
jOQinMcQuL7zMvYx0ypKdTiMas2OG/RlKluOgzhNIvzkWYCxh9iCozm7Wl3qsvY5
uJEsaeIb/zgSmUC2637ltBE37lW/8m7RYWpuq82M2CnFx9oL6W3ah8SMm5ToBzYB
jHrN7h+YcKoIrFcZsYVTCbLzGQnQ2kmzsyGecDeCK9aP16gTkALZdpexn0oIzEKv
fNtNSU7MgYXLs0knrcBoQw0nQnH9ICuswqFiyr4jcFfqxbIw9mvHyLRIWnyhL9zj
XiYEr3SqnuVnmuLSgHlYk6g4zpYFLJEHo+/7IlEqTItXeAcsIhjn6B/NDyKVvYQa
Pfb1ORoumQ==
=jMu8
-----END PGP SIGNATURE-----
Merge tag 'v0.23.6'
release v0.23.6
2022-03-14 18:58:47 +01:00
Max Kellermann
71cd6e6248
lib/xiph/meson.build: define FLAC__NO_DLL for static libFLAC build (Windows)
...
In libFLAC 0.3.4 (commit c9530118a4
), the "dllimport" check has been
changed from "_MSC_VER" to "_WIN32", and now the MPD build is affected
by it.
Defining FLAC__NO_DLL disables the use of "dllimport", which allows
linking properly to the static libFLAC build.
2022-03-14 15:08:59 +01:00
Max Kellermann
603bbe0afd
python/build/libs.py: update libnfs to 5.0.1
2022-03-14 14:52:24 +01:00
Max Kellermann
8e99448819
lib/curl/Headers: make the comparison type "transparent"
2022-02-14 18:19:28 +01:00
Max Kellermann
1e548fb6e3
lib/curl/Headers: central type definition for the header map
2022-02-14 18:19:05 +01:00
Max Kellermann
946cf25732
Merge branch 'v0.23.x'
2022-01-26 14:44:37 +01:00
Max Kellermann
aea4d3c4b0
lib/zlib/GunzipReader: use std::size_t
2022-01-10 16:59:13 +01:00
aeolio
3856224df9
lib/alsa/Error: add missing #include
2021-12-15 11:14:38 +01:00
aeolio
6d4bedfc56
lib/alsa/Error: fix typo
2021-12-15 11:14:34 +01:00
Max Kellermann
dda0dfc140
lib/curl/Request: move code from SetupEasy() to Setup.cxx
2021-12-08 20:03:30 +01:00
Max Kellermann
e0f56b9e2d
lib/curl/Request: move code to class CurlResponseHandlerAdapter
2021-12-08 19:51:54 +01:00
Max Kellermann
50a617764a
lib/curl/Handler: fix typo
2021-12-08 19:41:39 +01:00
Max Kellermann
cdcef49eef
lib/curl/Request: add constructor with CurlEasy parameter
2021-12-07 12:01:09 +01:00
Max Kellermann
9e18aafccc
lib/curl/Request: use std::size_t
2021-12-07 12:00:12 +01:00
Max Kellermann
f7346c1d78
lib/curl/Request: move code to SetupEasy()
2021-12-07 11:57:42 +01:00
Max Kellermann
b709401814
lib/curl/Request: add API docs
2021-12-07 11:56:45 +01:00
Max Kellermann
b6ba17a865
Merge branch 'v0.23.x'
2021-12-06 21:32:48 +01:00
Max Kellermann
2240327286
ReplayGainInfo: move to tag/
2021-12-06 09:28:36 +01:00
Rosen Penev
4e276256c0
more braced init list conversion
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-12-06 09:16:04 +01:00
Max Kellermann
a5fa43b526
fs/io: move to io/
2021-12-03 14:35:41 +01:00
Max Kellermann
20bf1d68e6
MixRampInfo: move to tag/
2021-12-01 17:09:02 +01:00
Max Kellermann
9bc4c168fd
tag/MixRamp: rename to MixRampParser.cxx
2021-12-01 17:07:53 +01:00
Max Kellermann
933a1a41e6
lib/upnp/Discovery: use InjectEvent instead of DeferEvent
...
Fixes regression by commit 774b4313f2
2021-11-30 18:03:27 +01:00
Max Kellermann
868f1a4431
net/UniqueSocketDescriptor, ...: include <utility> instead of <algorithm>
...
Since C++11, std::swap() lives in <utility>.
2021-11-26 16:25:29 +01:00
Rosen Penev
f22cf02ed8
fix wrong namespace name
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-11-26 08:08:45 +01:00
Rosen Penev
29ae84e199
manual braced init
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-11-22 23:30:04 -08:00
Rosen Penev
250011f016
return by braced init list
...
shorter
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-11-22 23:28:08 -08:00
Max Kellermann
77df5a8f24
lib/pcre: migrate to PCRE2
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1352
2021-11-22 19:32:45 +01:00
Max Kellermann
f74996c02f
Merge remote-tracking branches 'neheb/1', 'neheb/2', 'neheb/3', 'neheb/4' and 'neheb/5'
2021-11-20 07:55:24 +01:00
Max Kellermann
eea2d35d3a
util/AllocatedString, ...: add missing include for std::exchange()
...
Fixes building with GCC 12.
2021-11-19 16:06:20 +01:00
Rosen Penev
5deca66fdc
add various nodiscard
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-11-11 17:17:26 -08:00
Rosen Penev
4e0e4c00bf
treewide: replace lock_guard with scoped_lock
...
SonarLint reports the latter to be better:
std::scoped_lock basically provides the same feature as std::lock_guard,
but is more generic: It can lock several mutexes at the same time, with a
deadlock prevention mechanism (see {rule:cpp:S5524}). The equivalent code
to perform simultaneous locking with std::lock_guard is significantly more
complex. Therefore, it is simpler to use std::scoped_lock all the time,
even when locking only one mutex (there will be no performance impact).
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-11-11 17:13:03 -08:00
Rosen Penev
31aa6d0c4f
use auto with make_unique
...
C arrays can be used with make_unique in C++17.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-11-11 01:33:03 -08:00
Max Kellermann
5f4ec7de5b
decoder/ffmpeg, lib/ffmpeg: make AVCodec pointers "const"
...
For libavcodec 59 support.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1333
2021-11-09 21:09:14 +01:00
Max Audron
4ed60a5711
upnp: expose interface configuration on UpnpInit2()
...
Adds the Interface Name as an argument to the *Init functions to make it
possible to select which interface is used by upnp to detect servers.
Currently "nullptr" is passed in to let the upnp library select an
interface, as before.
2021-11-08 22:53:01 +01:00
Max Kellermann
356d13e9dd
lib/alsa/HwSetup: add missing include
2021-11-04 17:55:15 +01:00
Max Kellermann
5d0941476a
lib/alsa/Error: a std::system_error category for libasound errors
2021-11-04 14:59:00 +01:00
Max Kellermann
5ff0bbd0f8
lib/fmt/AudioFormatFormatter: add formatter for SampleFormat
2021-11-04 14:55:01 +01:00
Max Kellermann
a9344fafe9
lib/alsa/AllowedFormat: use StringView::RemoveSuffix()
2021-10-23 11:43:31 +02:00
Max Kellermann
b8890726f2
lib/alsa/AllowedFormat: use std::string_view
2021-10-23 11:42:30 +02:00
Max Kellermann
f447b7615e
output/pipewire: check pw_stream_connect() errors
2021-10-20 11:24:51 +02:00
Max Kellermann
5fab107fd3
lib/nfs/FileReader: use the thread-safe InjectEvent
...
.. instead of DeferEvent, which is not thread-safe. This caused
various playback problems, which was initially caused by the
DeferEvent/InjectEvent split in commit 774b4313f2
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1298
2021-10-20 09:38:09 +02:00
Max Kellermann
771c46032f
meson.build: add missing libfmt dependencies
...
Fixes https://github.com/MusicPlayerDaemon/MPD/discussions/1281
The problem occurred when there was libfmt-dev installed, but it was
too old (e.g. on Debian Buster), and Meson used the wrap fallback.
Those internal MPD libraries where the libfmt dependency was not
declared were still using the old system libfmt headers, which are not
ABI-compatible with MPD's own libfmt build.
2021-10-15 14:26:59 +02:00
Max Kellermann
72f6e018e7
Log: remove the obsolete printf-style functions
2021-10-13 17:41:19 +02:00
Max Kellermann
2fbbd540bb
more [[gnu::...]] attributes
2021-10-13 17:38:01 +02:00
Max Kellermann
f510564d9d
more [[gnu::...]] attributes
2021-10-13 12:07:05 +02:00
Max Kellermann
45f3dd8b7a
Revert "python/build/libs.py: remove flac, switch to Meson wrap"
...
This reverts commit 6ed4aff4d3
. The
Meson wrap is broken on non-x86, because it unconditionally includes
<cpuid.h> which is an x86 only header.
2021-10-07 13:28:17 +02:00
Max Kellermann
6ed4aff4d3
python/build/libs.py: remove flac, switch to Meson wrap
2021-09-21 16:44:51 +02:00
Max Kellermann
9ea1578a97
lib/expat/meson.build: propagate the libexpat dependency
...
Fixes the build with libexpat from Meson wrap.
2021-09-21 14:38:00 +02:00
Max Kellermann
520028dcfc
python/build/libs.py: remove libexpat, switch to Meson wrap
2021-09-21 14:08:23 +02:00