Commit Graph

906 Commits

Author SHA1 Message Date
Max Kellermann
d097babe73 lib/chromaprint: use std::span instead of ConstBuffer 2022-07-04 18:37:35 +02:00
Max Kellermann
8fa212f04d lib/cdio: use std::span instead of ConstBuffer 2022-07-04 18:37:35 +02:00
Max Kellermann
9675cc77e2 decoder/*: use std::span instead of ConstBuffer 2022-07-04 18:11:21 +02:00
Max Kellermann
4ce1dae673 pcm/*: use std::span instead of ConstBuffer 2022-07-04 18:11:21 +02:00
Max Kellermann
cfd255a014 lib/xiph: use std::string_view instead of StringView 2022-07-04 15:04:31 +02:00
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