Commit Graph

15973 Commits

Author SHA1 Message Date
Max Kellermann ab53c414bc util/StringView: add method SplitLast() 2020-11-30 22:29:38 +01:00
Max Kellermann d547ace749 io/FileDescriptor: use std::size_t 2020-11-30 22:27:16 +01:00
Max Kellermann b47e0cffdd util/TemplateString: rename CharAsString() to FromChar() 2020-11-30 22:23:28 +01:00
Max Kellermann 3af35aee9e util/TemplateString: add cast operators 2020-11-30 22:22:24 +01:00
Max Kellermann 02314ac7dd util/TemplateString: rewrite as constexpr functions
Hooray C++17!
2020-11-30 22:19:57 +01:00
Max Kellermann e7c4e87ac4 util/TemplateString: remove unnecessary implementation for static variable
This is obsolete since C++17.
2020-11-30 22:13:13 +01:00
Max Kellermann de58bfbb7f util/TemplateString: use std::size_t 2020-11-30 22:13:08 +01:00
Max Kellermann 0dda4c06b1 util/TemplateString: no indent after `namespace` 2020-11-30 22:13:04 +01:00
Max Kellermann 79fd6143ec lib/dbus/Values: use T::Traits, not T
This template was never instantiated, so the problem never occurred.
2020-11-30 22:11:18 +01:00
Max Kellermann 8f89e3f7f4 lib/dbus/Values: use `using` instead of `typedef` 2020-11-30 22:11:14 +01:00
Max Kellermann fc01d11b8d odbus/Types: use `using` instead of `typedef` 2020-11-30 22:08:37 +01:00
Max Kellermann 0c28d8dcbe time/ISO8601: support YYYY-MM (without day of month) 2020-11-30 21:55:12 +01:00
Max Kellermann 764eaadd25 time/Math: new library 2020-11-30 21:55:05 +01:00
Max Kellermann 273771ffec net/SocketAddress: add CastTo() 2020-11-30 21:51:07 +01:00
Max Kellermann 32ce9ce919 net/IPv[46]Address: pass SocketAddress by value to Cast() 2020-11-30 21:49:07 +01:00
Max Kellermann 34a070f5a6 net/IPv[46]Address: add Cast(const sockaddr_in&) 2020-11-30 21:49:02 +01:00
Danilo Spinella 92bfdffa42 lib/ffmpeg/Filter: Add define required for avutil 2020-11-30 20:06:21 +01:00
Max Kellermann ac4975cd7a util/MimeType: relicense to BSD-2 2020-11-18 15:28:21 +01:00
Max Kellermann fbbbfb9668 Merge branch 'v0.22.x' 2020-11-16 09:41:20 +01:00
Max Kellermann 38b41fc3fd filter/ffmpeg: detect the output sample format
Some FFmpeg filters change the sample format, and since MPD assumes
this never happens, this results in loud noise instead of music.  This
commit finally implements the TODO comment by sending one frame of
silence to the filter and checking the output frame's format.

Closes https://github.com/MusicPlayerDaemon/MPD/issues/1009
2020-11-16 09:39:34 +01:00
Max Kellermann 394f69bee1 output/Control: allow copy elision (fix -Wpessimizing-move) 2020-11-15 19:55:11 +01:00
Stapper ba5531f9dd Fixes #994 - moveoutput: new AudioOutputControl created from copyMoving an output to a partition is now done via MultipleOutputs::AddCopy(),using a new AudioOutputControl constructor. Tags and always_on settings willpersist when moving outputs between partitions. 2020-11-15 19:47:53 +01:00
Max Kellermann eb9f5339b6 Merge branch 'v0.22.x' into master 2020-11-11 12:43:50 +01:00
Max Kellermann 60d19b2380 doc/plugins.rst: add missing list-table declaration 2020-11-11 12:28:15 +01:00
Max Kellermann a9714e73c8 Merge branch 'bind' of git://github.com/neheb/MPD into master 2020-11-10 16:02:34 +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 a99bc91eb0 release v0.22.3
-----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAl+lZ/cQHG1heEBtdXNp
 Y3BkLm9yZwAKCRAjbopYxttFEpfmD/wPsQl/bLHuU1su2OqOAtFfPEhkJAetllE5
 vpkXUqATEiBFKTDj2tpherZsioGpExoNmypgehVp0oDSuWvF+wbYf+SNpsqW4Ck0
 +RoOg1Nr5tKtjc7dCQA8AricguR4nU9ecfXPKU/Q62AJbdlUhi5Ly4QcFyT3NZUK
 SK0yp4i83osWMEAEhn1k7ducqljSyjIBt1dvK3FK9JY3lYXXARVG5THDnlbbXhxP
 Hn9Jygd7bJ3J3g0I45q4Nfop7BiPBowmiqDxe6scL/owW+5MXlC+nkX1OIYRA37E
 Byud/kV5/gi5YyK4Z6hNI5p1By4ggJ8N5O7h2CiktMvkd4KQMUm4SfMH3ah3o2JG
 CiC90WgwdWeTbRaZvSKWSPo3V2htbzObeglvyUjnmV2HTNN0vRWzS5vrbvWK81+R
 XMqICrJNwlQduCNbl1UcnCdIN+0tS1Ecg8xEDkbe6VVHAoxwIsWASYgKr3fxXnuQ
 N2vWkqLXHrgJWtpVU8aP2ufnkbHDWA1T1vgPsgNUKv/vEQAaRP0XkMIc+VW3u8H8
 AWj87r+qxjjWCfAbg9nxdGzen+KHZnq0/hiPLq1C2skm4JP+LsWuI4mjB/oGfJ6y
 aZsXHxCV/aKakDucpmkMfC/oYnXD+dvBXTgIr68teEuLnmLauZa3oXocdRqQdCUW
 qKh9rVD7vg==
 =FEmy
 -----END PGP SIGNATURE-----

Merge tag 'v0.22.3' into master

release v0.22.3
2020-11-06 16:14:46 +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
Rosen Penev 071d3c71d8
clang-tidy: replace std::bind with lambdas
Found with modernize-avoid-bind

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-11-05 18:09:30 -08:00
Max Kellermann afbcac9fb1 util/MimeType: use IterableSplitString() in ParseMimeTypeParameters() 2020-11-04 21:29:42 +01:00
Max Kellermann 51e5b56b3a playlist/registry: remove duplicate function ExtractMimeTypeMainPart()
This is the same as GetMimeTypeBase(), which has already been applied.
2020-11-04 21:20:43 +01:00
Max Kellermann bb07fd42ce util/MimeType: migrate GetMimeTypeBase() to std::string_view 2020-11-04 21:20:03 +01:00
Max Kellermann bab626c325 util/UriExtract: remove the query string at the beginning of uri_get_suffix() 2020-11-04 21:15:41 +01:00
Max Kellermann 2a9131498f util/UriExtract: pass std::string_view to uri_get_suffix() 2020-11-04 21:13:57 +01:00
Max Kellermann 35a232105e util/UriExtract: uri_get_suffix() returns std::string_view
No need to copy it to a buffer.
2020-11-04 21:08:26 +01:00
Max Kellermann 19dd1a25d7 {decoder,archive,playlist}/plugin: pass std::string_view to SupportsMimeType() 2020-11-04 21:00:49 +01:00
Max Kellermann 53396c0e50 Merge branch 'v0.22.x' into master 2020-11-04 20:37:25 +01:00
Max Kellermann 0b8208fe7f Merge branch 'clng11' of git://github.com/neheb/MPD into master 2020-11-04 20:34:55 +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