Max Kellermann
138738075b
libfmt 9 support
...
libfmt version 9 broke the API by removing fmt::make_args_checked().
Fixes https://bugs.debian.org/1014543
2022-07-08 10:06:53 +02:00
Max Kellermann
2ee57f9b0d
output/PipeWire: add nullptr check, fixing crash with PipeWire 0.3.53
...
Since PipeWire 0.3.53, control names can apparently be nulled, leading
to crashes in applications assertion that the string cannot be
nullptr.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1558
2022-07-04 19:20:08 +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
Naglis Jonaitis
fd9114e7e2
doc/user.rst: fix neighbor plugin config block name
2022-06-08 12:57:27 +02:00
Max Kellermann
a3fba2f8f7
python/build/libs.py: update CURL to 7.83.1
2022-05-24 10:56:29 +02:00
Max Kellermann
e2b671f1b2
python/build/libs.py: add --disable-vulkan to FFmpeg configuration
...
Fixes Android build failure with NDK r25 beta4 because "vulkan_beta.h"
was not found.
2022-05-24 10:55:55 +02:00
Max Kellermann
2a35fbe29e
python/build/libs.py: fix the OpenSSL SHA256
2022-05-24 10:55:55 +02:00
Max Kellermann
81cde72fd0
meson.build: suppress -Wstringop-overflow due to bogus libfmt warnings
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1536
2022-05-24 10:39:30 +02:00
Naglis Jonaitis
bf9ffba4f7
doc/user.rst: fix playlist plugin name option
...
`playlist_plugin` blocks use `name` to identify the plugins.
2022-05-24 10:22:45 +02:00
Dave Hocker
c975d8b943
Fix deprecation warnings caused by name changes in OSX audio inerfaces
2022-05-24 10:20:47 +02:00
Max Kellermann
2730f91872
.github/workflows/build.yml: build everything, not just unit tests (Linux)
2022-05-23 21:32:42 +02:00
Max Kellermann
97ca85e155
.github/workflows/build.yml: verbose build (Linux)
2022-05-23 21:32:02 +02:00
Max Kellermann
39bb4c5871
.github/workflows/build.yml: build everything, not just unit tests
2022-05-23 21:28:28 +02:00
Max Kellermann
bdceb90c59
.github/workflows/build.yml: verbose build
2022-05-23 21:25:28 +02:00
Max Kellermann
8bd1b5228c
lib/upnp/Compat: suppress -Wunused-but-set-parameter
2022-05-19 20:10:41 +02:00
Max Kellermann
a009e95afd
.github/ISSUE_TEMPLATE/bug_report.md: add "Configuration" section
2022-05-19 09:26:21 +02:00
Max Kellermann
32aafb3572
.github/ISSUE_TEMPLATE/question.md: remove, we have GitHub discussions now
2022-05-19 09:25:00 +02:00
Max Kellermann
b577783cf0
.github/FUNDING.yml: remove, no funding
...
This was an experiment, but I decided I don't need that.
2022-05-19 09:24:22 +02:00
Max Kellermann
aa7b872a14
.github/workflows/build.yml: run "apt-get update"
...
The build has been failing for a week or two because the package lists
in the image are outdated.
2022-05-19 09:23:08 +02:00
Caleb Xu
c6f7f57776
apple/Throw: add missing <cstring> header
...
strlen() and strcpy() are provided by the <string.h> and <cstring>
headers (as functions in global and std namespaces, respectively).
Compilers MAY provide an implementation for either of the functions
without including the extra header but the existence of a declaration
without the header is not assured.
2022-05-19 09:08:44 +02:00
Max Kellermann
106ad08cd2
increment version number to 0.23.8
2022-05-09 23:12:17 +02:00
Max Kellermann
0341ca1b6a
release v0.23.7
2022-05-09 23:04:30 +02:00
Max Kellermann
7581ea55db
python/build/libs.py: update CURL to 7.83.0
2022-05-09 23:03:14 +02:00
Max Kellermann
fc9cee38d8
python/build/libs.py: update OpenSSL to 3.0.3
2022-05-09 23:03:14 +02:00
Max Kellermann
b175e4128d
encoder/meson.build: always generate encoder/Features.h
...
Fixes regression from commit 85f9863e0a
2022-05-09 22:52:59 +02:00
Max Kellermann
97b07798b0
doc/protocol.rst: clarify repeat/single/random side effects
2022-05-09 22:50:57 +02:00
Max Kellermann
112fcd206d
Merge branch 'fix-hls-seeking' of https://github.com/burrocargado/MPD into v0.23.x
2022-05-09 22:44:53 +02:00
BurroCargado
11d1f56062
Fix seeking HLS on-demand streaming not working
...
This issue occurs when playing HLS streaming delivered
from a server that does not support partial requests.
The issue is reproduced as follows(using Ubuntu 20.04 PC):
1. Prepare HLS example content.
$ mkdir test
$ ffmpeg -i example.flac -vn -c:a aac -b:a 128000 -f hls -hls_list_size 0 test/output.m3u8
(ffmpeg 4.2.4 is used)
2. Prepare web server without partial requests support.
(Docker version 20.10.12 and NGINX official Docker image is used)
$ docker run --name tmp-nginx-container -d nginx
$ docker cp tmp-nginx-container:/etc/nginx/conf.d/default.conf .
$ docker rm -f tmp-nginx-container
Edit default.conf and add "max_ranges 0;" to "location / {...}".
This disables partial requests support,
removes 'Accept-Ranges: bytes' header from the server response.
Then, run the server:
$ docker run --name test-nginx -v $PWD/test:/usr/share/nginx/html:ro -v $PWD/default.conf:/etc/nginx/conf.d/default.conf -d -p 8080:80 nginx
3. Setup MPD to Play the next URL.
http://address-of-the-server:8080/output.m3u8
Seeking this stream results in "exception: Not seekable".
2022-05-07 12:18:56 +09:00
BurroCargado
bd840d4638
decoder/plugins/FFmpegDecoder: fix IsSeekable()
...
AVFMTCTX_UNSEEKABLE signals the stream is not seekable
according to FFmpeg source code description:
8e98dfc57f/libavformat/avformat.h (L1181)
2022-05-07 09:48:04 +09:00
Max Kellermann
c3d393f214
tag/Id3Picture: fix unaligned access
2022-04-26 21:03:48 +02:00
Max Kellermann
f88fc0ca1a
util/ByteOrder: add class PackedBE32
2022-04-26 21:03:05 +02:00
Max Kellermann
fb8d8242ab
tag/ApeLoader: fix unaligned access
...
Fixes part 4 of https://github.com/MusicPlayerDaemon/MPD/issues/1490
2022-04-26 21:00:41 +02:00
Max Kellermann
f2a3dfd700
decoder/ffmpeg: add missing nullptr checks
...
Fixes part 1 of https://github.com/MusicPlayerDaemon/MPD/issues/1490
2022-04-26 20:51:57 +02:00
Max Kellermann
85f9863e0a
meson.build: always enable Wave encoder for Snapcast
...
Even if the "wave_encoder" option is disabled (and no other encoder
plugins are enabled), forcefully enable the Wave encoder (if Snapcast
is enabled).
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1500
2022-04-26 20:13:43 +02:00
Max Kellermann
83572701f4
python/build/libs.py: update Boost to 1.79.0
2022-04-26 18:27:51 +02:00
Max Kellermann
fa7d7e9187
python/build/libs.py: update OpenSSL to 3.0.2
2022-04-26 18:27:51 +02:00
Max Kellermann
f818cde32c
python/build/libs.py: update FFmpeg to 5.0.1
2022-04-26 18:27:51 +02:00
Max Kellermann
9da93cd887
python/build/libs.py: update zlib to 1.2.12
2022-04-26 18:27:51 +02:00
Rosen Penev
026e7ea32a
update all subprojecs
...
Done with meson wrap update
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-26 18:01:53 +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