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
Thomas Guillem
4260e78861
android: add gdb.sh
...
This script setup a dummy android native app folder and call ndk-gdb from it.
It needs a modification in ANDROID_NDK since ndk-gdb may attach to the wrong
pid, cf. comments in the script.
2022-04-26 17:47:54 +02:00
Thomas Guillem
7342ae2e33
android: set application debuggable
...
This debuggable flag should not be set with release builds. Generally, graddle
is taking care of that.
2022-04-26 17:46:51 +02:00