Max Kellermann
60d19b2380
doc/plugins.rst: add missing list-table declaration
2020-11-11 12:28:15 +01:00
kaliko
004d6a3b66
doc/mpd.1.rst: Update config file documentation.
...
Have similar information about config file in both mpd.1 ans mpd.conf.5
2020-11-10 15:58:34 +01:00
kaliko
3e79e62c17
doc/mpd.conf.5.rst: Update mpd.conf manual
...
Update description with content from user manual [0].
Remove obsolete information regarding "required parameters" and log_level
[0] https://www.musicpd.org/doc/html/user.html#the-configuration-file
2020-11-10 15:58:30 +01:00
kaliko
27b69330f4
doc/mpdconf.example: add database exemples
2020-11-10 15:58:10 +01:00
kaliko
6b50b67339
doc/mpdconf.example: add available log levels
2020-11-10 15:58:03 +01:00
kaliko
51ca775a1c
doc/mpdconf.example: Strip trailing space, fixed typo.
2020-11-10 15:57:54 +01:00
Max Kellermann
1092882f38
decoder/dsdiff: apply padding to odd-sized chunks
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1001
2020-11-10 15:55:33 +01:00
Max Kellermann
8a7986c3bf
doc/plugins.rst: add DSD spec links
2020-11-10 15:53:35 +01:00
Max Kellermann
c7bd8c663d
increment version number to 0.22.4
2020-11-06 16:14:23 +01:00
Max Kellermann
f6c65cba58
release v0.22.3
2020-11-06 16:12:54 +01:00
Max Kellermann
f849b07766
storage/curl: fix nullptr dereference
...
Pass a std::string to PathTraitsUTF8::Relative(), implicitly casting
it to std::string_view. This selects the right overload which returns
std::string_view instead of `const char *`; the latter could return
`nullptr` which would cause the implicit conversion of the return
value to std::string_view to crash.
Regression caused by commits ead208987d
and a98d627c0b
.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/995
2020-11-06 15:35:47 +01:00
Max Kellermann
2da3cff1e8
filter/LoadChain: use the AutoConvertFilter
...
This adds support for input samples other than 16 bit to the FFmpeg
filter plugin.
2020-11-04 20:15:19 +01:00
Max Kellermann
0c965d0573
filter/AutoConvert: move the Filter class to TwoFilters.cxx
2020-11-04 20:15:19 +01:00
Max Kellermann
77c14692c9
filter/AutoConvert: eliminate AutoConvertFilter if possible
...
If no conversion is necessary, return the child Filter as-is. This
allows removing all nullptr checks from AutoConvertFilter.
2020-11-04 20:15:19 +01:00
Max Kellermann
226eb26300
filter/ffmpeg: interleave the output AVFrame
...
If the FFmpeg filter outputs planar data, interleave it, just like the
FFmpeg decoder plugin does.
2020-11-04 20:15:19 +01:00
Max Kellermann
2d606fa989
decoder/ffmpeg: move code to lib/ffmpeg/Interleave.cxx
...
To be reused by the FFmpeg filter plugin.
2020-11-04 20:15:19 +01:00
Max Kellermann
7a0342c8bb
decoder/ffmpeg: use AVFrame fields instead of AVCodecContext fields
2020-11-04 20:06:45 +01:00
Max Kellermann
42c9d765cf
lib/ffmpeg/Buffer: add missing include
2020-11-04 20:06:41 +01:00
Max Kellermann
a8a80ee689
lib/ffmpeg/Buffer: disallow copying
2020-11-04 19:51:21 +01:00
Max Kellermann
f9bdb4b0b8
lib/ffmpeg/Buffer: add `noexcept`
2020-11-04 19:50:38 +01:00
Max Kellermann
9332527872
lib/ffmpeg/{Buffer,Time}: remove obsolete "#undef SampleFormat"
...
This compatibility macro has been removed from FFmpeg long ago.
2020-11-04 19:50:33 +01:00
Max Kellermann
84f772357e
filter/convert: convert_filter_new() returns std::unique_ptr
2020-11-04 16:47:11 +01:00
Max Kellermann
f2b9785a67
filter/chain: pass std::string_view to filter_chain_append()
2020-11-04 16:37:53 +01:00
Max Kellermann
eeaec99c59
filter/LoadChain: use IterableSplitString()
2020-11-04 16:36:11 +01:00
Max Kellermann
b0002e3b73
filter/chain: copy the child name
...
filter_chain_parse() passes a temporary string pointer which results
in a use-after-free in the PreparedChainFilter::Child::Open() error
message.
2020-11-04 16:34:38 +01:00
Max Kellermann
27c589da97
filter/chain: remove unused field ChainFilter::Child::name
2020-11-04 16:26:50 +01:00
Max Kellermann
6484af472b
increment version number to 0.22.3
2020-11-04 16:14:40 +01:00
Max Kellermann
92a218b7a9
playlist/registry: add option "as_directory"
...
This allows users to disable the "CUE files as directories" feature
without having to disable the CUE playlist plugin completely. This
feature has been annoying some users.
2020-11-04 16:13:12 +01:00
Max Kellermann
d69a1f98af
doc/plugins.rst: more markup
2020-11-04 16:11:26 +01:00
Max Kellermann
23a6f62ea3
doc/user.rst: fix typo
2020-11-04 15:59:40 +01:00
Max Kellermann
e0d3ca71b3
meson.build: switch to C11
...
It's been 9 years already, and there's no point in insisting on the 21
year old C standard. MPD doesn't have a lot of C code left, but why
not compile it with the latest language revision.
2020-11-04 14:38:58 +01:00
Max Kellermann
4f40b9f7cf
meson.build: disable ld.so lazy binding and enable relro
...
Since MPD is a long-running daemon, it doesn't make sense to use
dynamic binding. That allows the relocations to be read-only
("relro"), which a hardening feature.
2020-11-04 13:43:21 +01:00
Max Kellermann
bb009daf66
playlist/registry: simplify ExtractMimeTypeMainPart()
2020-11-04 13:34:04 +01:00
Max Kellermann
dc432f3ffa
release v0.22.2
2020-10-28 17:25:33 +01:00
Max Kellermann
37710195ca
meson_options.txt: disable the "smbclient" plugin by default
...
The bug https://bugzilla.samba.org/show_bug.cgi?id=11413 makes MPD
crash after at most a minute of using the plugin. Since this bug is
five years old already and it doesn't look like it will ever be fixed,
all libsmbclient code in MPD is scheduled for removal. For now, the
plugin is disabled by default so people are less likely to hit the
crash bug.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/991
2020-10-28 17:21:27 +01:00
Max Kellermann
7b9295ff99
lib/yajl/Handle: strip newlines from error messages
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/981
2020-10-28 16:06:52 +01:00
Max Kellermann
5f61d440eb
lib/yajl/Handle: un-inline the throwing code
...
Reduces header dependencies.
2020-10-28 16:02:14 +01:00
Max Kellermann
6bc73a9ebe
util/FormatString: update API documentation
2020-10-28 15:48:42 +01:00
Max Kellermann
1195eb266e
protocol/Ack: remove unused variable `ack_domain`
2020-10-28 15:47:05 +01:00
Max Kellermann
3562a3e51e
Main: save the state_file on shutdown
...
This got lost in commit 5d597a3646
(v0.21.19), but it was never
noticed because the state_file_interval was way too short due to
commit 3413d1bf23
, fixed recently by commit 27cc7b352d
2020-10-28 15:29:47 +01:00
Max Kellermann
bbfa6fe632
db/simple: purge songs for unavailable decoder plugins on update
2020-10-28 14:36:20 +01:00
Max Kellermann
bf97d13d0b
fs/Traits: add GetPathSuffix()
2020-10-28 14:29:46 +01:00
Max Kellermann
b5673b6333
db/simple/Directory: add `pure` attribute
2020-10-28 14:24:58 +01:00
Max Kellermann
ee802867df
db/update/Walk: add code comments
2020-10-28 14:23:39 +01:00
Max Kellermann
ecaa51e322
db/simple: purge special directories for unavailable plugins on update
2020-10-27 19:14:31 +01:00
Max Kellermann
0779333064
db/update/Walk: adjust lamba indent
2020-10-27 19:14:31 +01:00
Max Kellermann
6f1a4a73b7
fs/Traits: add GetFilenameSuffix()
2020-10-27 19:14:31 +01:00
Max Kellermann
945ed2610a
increment version number to 0.22.2
2020-10-27 18:34:39 +01:00
Max Kellermann
d7fcaf33b9
release v0.22.1
2020-10-17 13:56:12 +02:00
Max Kellermann
6a65b4c305
lib/nfs/patches: disable the snprintf->sprintf_s alias
...
snprintf() is available on mingw, and the libnfs kludge broke the
build with mingw, because sprintf_s() was now both an inline function
and a "dllimport" function (because the macro renamed the inline
function snprintf() to sprintf_s() in mingw's stdio.h).
2020-10-17 13:56:02 +02:00