Commit Graph

16966 Commits

Author SHA1 Message Date
1260a0147a lib/crypto/Base64: use std::span 2022-05-20 11:21:44 +02:00
ef54b7d9de archive/iso9660: use std::span 2022-05-20 11:15:45 +02:00
f66315d2de MusicChunk: use std::span 2022-05-20 11:15:45 +02:00
b50173ae8b util/CircularBuffer: use std::span 2022-05-20 11:15:45 +02:00
b37c031fd1 util/{HugeAllocator,SparseBuffer}: use std::span 2022-05-20 11:15:45 +02:00
84e5da4bf0 pcm/Silence: use std::span 2022-05-20 11:15:45 +02:00
3bb7693200 decoder/HybridDsd: remove
This is a proprietary extension which nobody appears to use.
2022-05-20 10:08:17 +02:00
b22c00d0cd Merge branch 'v0.23.x' 2022-05-20 10:04:19 +02:00
7006b075c3 util/AllocatedArray: fix -Wunused-parameter 2022-05-20 09:48:49 +02:00
774024a41b net/SocketAddress: add std::span cast operator 2022-05-19 20:52:48 +02:00
5fb97b81d1 util/AllocatedArray: migrate from {Const,Writable}Buffer to std::span 2022-05-19 20:52:48 +02:00
8bd1b5228c lib/upnp/Compat: suppress -Wunused-but-set-parameter 2022-05-19 20:10:41 +02:00
23dd613ff9 system/VmaName: suppress -Wunused-parameter 2022-05-19 14:01:57 +02:00
bb7be9a4cd util/*FifoBuffer: migrate from WritableBuffer to std::span 2022-05-19 14:01:57 +02:00
570755f05a io/BufferedReader: migrate from WritableBuffer to std::span 2022-05-19 13:25:19 +02:00
957d3e51e0 util/{Const,Writable}Buffer: add std::span cast operators 2022-05-19 13:25:02 +02:00
fc6c274c97 pcm/{Dop,Dsd*}: explicitly capture "this"
Implicit capturing is deprecated in C++20.
2022-05-19 13:25:02 +02:00
313b092ba8 system/meson.build: depend on libfmt, not our log.a
Fixes linker error.
2022-05-19 13:25:02 +02:00
0e9e213324 meson.build: switch to C++20 2022-05-19 09:46:59 +02:00
86e6f4fcc0 Merge branch 'v0.23.x' 2022-05-19 09:27:06 +02:00
a009e95afd .github/ISSUE_TEMPLATE/bug_report.md: add "Configuration" section 2022-05-19 09:26:21 +02:00
32aafb3572 .github/ISSUE_TEMPLATE/question.md: remove, we have GitHub discussions now 2022-05-19 09:25:00 +02:00
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
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
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
122db76781 Merge tag 'v0.23.7'
release v0.23.7
2022-05-09 23:14:07 +02:00
106ad08cd2 increment version number to 0.23.8 2022-05-09 23:12:17 +02:00
0341ca1b6a release v0.23.7 v0.23.7 2022-05-09 23:04:30 +02:00
7581ea55db python/build/libs.py: update CURL to 7.83.0 2022-05-09 23:03:14 +02:00
fc9cee38d8 python/build/libs.py: update OpenSSL to 3.0.3 2022-05-09 23:03:14 +02:00
b175e4128d encoder/meson.build: always generate encoder/Features.h
Fixes regression from commit 85f9863e0a
2022-05-09 22:52:59 +02:00
97b07798b0 doc/protocol.rst: clarify repeat/single/random side effects 2022-05-09 22:50:57 +02:00
112fcd206d Merge branch 'fix-hls-seeking' of https://github.com/burrocargado/MPD into v0.23.x 2022-05-09 22:44:53 +02:00
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
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
601e5e6abc net/AddressInfo: add noexcept 2022-04-26 21:17:01 +02:00
6bacb23002 decoder/ffmpeg: add "noexcept" 2022-04-26 21:07:25 +02:00
5c300a9f1a tag/ReplayGainParser: add "noexcept" 2022-04-26 21:06:26 +02:00
6e1500c251 Merge branch 'v0.23.x' 2022-04-26 21:05:39 +02:00
c3d393f214 tag/Id3Picture: fix unaligned access 2022-04-26 21:03:48 +02:00
f88fc0ca1a util/ByteOrder: add class PackedBE32 2022-04-26 21:03:05 +02:00
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
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
9e1b24f3a1 input/{Async,Buffering,Thread}InputStream: set VMA name 2022-04-26 20:45:49 +02:00
58a345d346 MusicBuffer: set VMA name
Shows the name in /proc/PID/maps, e.g.:

 7fa57b000000-7fa57c000000 rw-p 00000000 00:00 0                          [anon:MusicBuffer]
2022-04-26 20:44:36 +02:00
7ed67d216b util/HugeAllocator: add SetName() 2022-04-26 20:44:36 +02:00
3ae660ca90 system/VmaName: new library 2022-04-26 20:31:56 +02:00
a742e1fc71 util/PeakBuffer, ...: use [[gnu::]] attributes 2022-04-26 20:31:56 +02:00
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
ce88dee14d Merge branch 'v0.23.x' 2022-04-26 18:30:34 +02:00