Rosen Penev
b9db8ddee6
[clang-tidy] remove misplaced const
...
The rhs evaluates to void *const, not const void*.
Found with misc-misplaced-const
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-04 15:27:14 -08:00
Rosen Penev
9cf1385765
[clang-tidy] remove static in namespace
...
Found with readability-static-definition-in-anonymous-namespace
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-04 15:25:31 -08:00
Rosen Penev
a3963de668
[clang-tidy] change integer prefixes to uppercase
...
Found with readability-uppercase-literal-suffix
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-04 15:20:50 -08:00
Rosen Penev
7d2c4ec775
[clang-tidy] remove unneeded return
...
Found with readability-redundant-control-flow
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-04 15:19:52 -08:00
Rosen Penev
1de5bd64d8
[clang-tidy] remove const in declaration
...
Found with readability-avoid-const-params-in-decls
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-04 15:17:10 -08:00
Rosen Penev
1923cf3844
remove redundant const qualification
...
Found with readability-const-return-type
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-04 15:16:28 -08:00
Max Kellermann
8e4cb3217e
lib/xiph/OggSyncState: fix offset counter by using the actual page size
2020-02-04 21:38:08 +01:00
Max Kellermann
7bcccbedad
Merge remote-tracking branches 'neheb/bind', 'neheb/move' and 'neheb/str'
2020-02-04 17:03:49 +01:00
Max Kellermann
7c62887df7
tag/ApeTag: don't take reference of IterableSplitString() elements
...
This doesn't work because IterableSplitString() returns its elements
by value.
Fixes clang warning:
loop variable 'i' is always a copy because the range of type 'IterableSplitString' (aka 'BasicIterableSplitString<char>') does not return a reference [-Werror,-Wrange-loop-analysis]
2020-02-04 16:53:45 +01:00
Max Kellermann
3fc859c42d
Merge branch 'v0.21.x'
2020-02-04 16:49:18 +01:00
Max Kellermann
50003f6ad2
decoder/ffmpeg: add two more missing commas
2020-02-04 16:30:05 +01:00
Rosen Penev
0914644d2b
add missing comma
...
Found with bugprone-suspicious-missing-comma
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-04 16:29:23 +01:00
Rosen Penev
7e41c4de58
[clang-tidy] use == instead of compare for strings
...
Found with readability-string-compare
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-02 20:11:25 -08:00
Rosen Penev
452c41b71f
[clang-tidy] convert several functions to const &
...
Found with performance-unnecessary-value-param
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-02 13:21:27 -08:00
Max Kellermann
4b0444e760
Merge remote-tracking branches 'neheb/uniq', 'neheb/bool', 'neheb/loop', 'neheb/bool2', 'neheb/perf', 'neheb/void' and 'neheb/value'
2020-02-02 16:22:19 +01:00
Rosen Penev
ecad6d936a
[clang-tidy] pass by value where appropriate
...
Found with modernize-pass-by-value
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-01 19:53:44 -08:00
Rosen Penev
568deefd68
[clang-tidy] remove pointless void arg
...
Found with modernize-redundant-void-arg
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-01 19:52:38 -08:00
Rosen Penev
40d0420648
[clang-tidy] convert several loops to const auto&
...
Found with performance-for-range-copy
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-01 19:49:17 -08:00
Rosen Penev
afb29942b0
[clang-tidy] simplify boolean expressions
...
Found with readability-simplify-boolean-expr
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-01 19:47:47 -08:00
Rosen Penev
15fa780c99
[clang-tidy] convert several loops to range based ones
...
Found with modernize-loop-convert
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-01 19:46:50 -08:00
Rosen Penev
9db3809c7b
[clang-tidy] use bool literals where appropriate
...
Found with modernize-use-bool-literals
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-01 19:45:33 -08:00
Rosen Penev
dfed9546aa
[clang-tidy] replace std::bind with lambdas
...
Found with modernize-avoid-bind
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-01 19:43:01 -08:00
Rosen Penev
469cd9582f
[clang-tidy] use make_unique
...
Found with modernize-make-unique
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-01 19:40:39 -08:00
Max Kellermann
bc6eca2115
*: add explicit
2020-02-01 14:02:43 +01:00
Max Kellermann
72ec641f0d
*: use auto
2020-02-01 14:02:43 +01:00
Max Kellermann
4f22f4d357
*: use nullptr instead of NULL
2020-02-01 14:02:43 +01:00
Max Kellermann
4c52001a35
*: use defaulted destructors
2020-02-01 13:47:16 +01:00
Max Kellermann
302eff0a59
decoder/{vorbis,mpcdec}: use using
instead of typedef
2020-02-01 13:38:43 +01:00
Max Kellermann
bcc4e97c60
pcm/PcmFormat: use using
instead of typedef
2020-02-01 13:38:19 +01:00
Max Kellermann
4968dd4faa
pcm/Dither: use using
instead of typedef
2020-02-01 13:38:00 +01:00
Max Kellermann
0896f44455
util/Domain: add noexcept
2020-02-01 13:25:57 +01:00
Max Kellermann
620872390b
util/Exception: move the forwarded std::exception_ptr
2020-02-01 13:13:08 +01:00
Max Kellermann
f7c326dbeb
net/StaticSocketAddress: make the cast operators constexpr
2020-02-01 11:49:55 +01:00
Max Kellermann
50de3a7886
net/AddressInfo: add MakeAddrInfo()
2020-02-01 11:48:15 +01:00
Max Kellermann
36cad54ccd
util/TemplateString: remove stray semicolon
2020-02-01 11:46:06 +01:00
Max Kellermann
5ad6e7fec5
decoder/{audio,snd}file: handle MIME type "audio/wav"
2020-02-01 11:26:57 +01:00
Rosen Penev
0bb943ba3e
FfmpegDecoderPlugin: add WAV support
2020-02-01 11:24:51 +01:00
Rosen Penev
b64fdae938
[clang-tidy] use override instead of virtual
...
Found with modernize-use-override
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-01-31 21:27:26 -08:00
Rosen Penev
80a0cf694f
MadDecoderPlugin: fix bad printf format
...
max_frames is size_t, not unsigned long. Fixes GCC warning.
2020-01-31 21:21:39 +01:00
Max Kellermann
0b2444450f
decoder/ogg: improve seeking accuracy using binary search
...
On some VBR files, the single-step interpolation was very inaccurate
and inacceptable.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/720
2020-01-31 19:35:35 +01:00
Max Kellermann
faf149d08e
lib/xiph/OggVisitor: add method ReadGranulepos()
2020-01-31 19:32:38 +01:00
Max Kellermann
e01bbad7bb
lib/xiph/OggVisitor: update the OggStreamState offset
2020-01-31 19:24:41 +01:00
Max Kellermann
7e3eaa5921
lib/xiph/OggSyncState: keep track of the Reader offset
2020-01-31 19:24:34 +01:00
Max Kellermann
6fe4068c8e
decoder/ogg: move code to SeekByte()
2020-01-31 19:24:26 +01:00
Max Kellermann
8472135859
decoder/ogg: remove unimplemented Seek() declaration
2020-01-31 19:20:52 +01:00
Max Kellermann
943a67c805
decoder/ogg: need to sync small files while looking for EOS
...
When calling OggSeekFindEOS() from inside a OggVisitor callback, then
the #InputStream may be in the middle of an Ogg packet, and the newly
initialized #ogg_sync_state will not be able to load it without the
help of ogg_sync_pageseek(). By passing "synced=false" to
OggSeekFindEOS(), we force the use of ogg_sync_pageseek() even when
not actually seeking.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/719
2020-01-25 20:07:11 +01:00
Max Kellermann
881d91f86b
lib/xiph/OggFind: add parameter "synced"
2020-01-25 20:07:10 +01:00
Max Kellermann
1e07d15428
output/Control: add missing nullptr check to LockRelease()
2020-01-20 17:34:38 +01:00
Max Kellermann
cc7f66822e
command/partition: add command "delpartition"
2020-01-20 14:56:31 +01:00
Max Kellermann
9cbfa66886
command/partition: don't create null output in new partitions
...
No output at all is fine. If the partition needs an output, it must
be moved there, but having just a null output isn't helpful.
2020-01-20 14:55:10 +01:00
Max Kellermann
4df98466df
output/multiple: add "client" field, replacing the "client" parameter
...
By eliminating GetAnyClient(), we can have instances with no outputs
at all.
2020-01-20 14:51:08 +01:00
Max Kellermann
49309b419f
Partition: add a local idle_monitor
...
Make idle events per-partition, but leave Instance::EmitIdle() and its
underlying idle_monitor which broadcasts idle events to all
partitions.
2020-01-20 13:33:01 +01:00
Max Kellermann
879bafb837
Instance: move OnIdle() to Instance.cxx
2020-01-20 13:32:43 +01:00
Max Kellermann
6fcea2d484
Instance: move code to OnStateModified()
2020-01-20 13:28:00 +01:00
Max Kellermann
5d597a3646
Instance: manage StateFile with std::unique_ptr
2020-01-20 13:25:19 +01:00
Max Kellermann
56eaf000a4
Partition: add client list
...
For efficient traversal within one partition, e.g. for distributing
partition-local idle events.
2020-01-20 13:16:13 +01:00
Max Kellermann
77271ebc1f
Partition,Instance: add EmitIdle() documentation
2020-01-20 12:50:48 +01:00
Max Kellermann
fd2b2cf0bc
command/message: make messages/subscriptions local to the current partition
2020-01-20 12:47:57 +01:00
Max Kellermann
438a6d7595
client/Client: make several getter methods const
2020-01-20 12:47:57 +01:00
Max Kellermann
00ed836aa9
Instance: remove partitions loop from {Found,Lost}Neighbor()
...
These are global events.
2020-01-20 12:18:43 +01:00
Max Kellermann
5afec8256a
Main: move code to Partition::BeginShutdown()
2020-01-20 09:22:28 +01:00
Max Kellermann
f249a755e2
command/player: show partition name in "status" response
2020-01-18 23:31:39 +01:00
Max Kellermann
4029a79dc2
command/player: add local Partition reference variable
2020-01-18 23:30:45 +01:00
Max Kellermann
c16233fa74
add "moveoutput" command
2020-01-18 22:21:27 +01:00
Max Kellermann
ac126ede22
client/Client: emit idle flags in SetPartition()
2020-01-18 22:21:27 +01:00
Max Kellermann
7732db0aee
output/Control: move code to method StopThread()
2020-01-18 21:46:18 +01:00
Max Kellermann
37f984ba74
output/Control: avoid sending KILL twice
2020-01-18 21:43:17 +01:00
Max Kellermann
cd612c4eef
AudioFormat: move to pcm/
2020-01-18 20:24:59 +01:00
Max Kellermann
914ad261ed
pcm/meson.build: split libpcm into two
...
One basic library without dependencies, and one with heavy
dependencies like libsamplerate.
2020-01-18 20:08:23 +01:00
Max Kellermann
7551867249
meson.build: move Log.cxx and LogBackend.cxx into a static library
...
Prevents compiling those sources many times, once for each debug
program using it.
2020-01-18 19:56:16 +01:00
Max Kellermann
bdd3167495
tag/ApeLoader: remove exception handler, let caller catch
2020-01-18 19:51:46 +01:00
Max Kellermann
526c778162
tag/Id3Scan: remove exception handler, let caller catch
...
There's just one caller, i.e. ScanGenericTags(), which is documented
to throw exceptions.
2020-01-18 19:50:02 +01:00
Max Kellermann
e01bddbd86
output/MultipleOutputs: update API documentation
2020-01-18 19:23:49 +01:00
Max Kellermann
2817bf9e95
copyright year 2020
2020-01-18 19:23:49 +01:00
Max Kellermann
a37d22de8a
pcm/Convert: choose pcm2dsd float/integer according to dest_format
2020-01-17 19:15:44 +01:00
Max Kellermann
452e1c1a6f
pcm/Convert: throw if !ENABLE_DSD
2020-01-17 19:15:28 +01:00
Max Kellermann
8db86e2820
Revert "pcm/Convert: add option to enable the integer-only dsd2pcm implementation"
...
This reverts commit c84bae739a
. A
configuration option is not necessary, because the PcmConvert
constructor knows already whether integer or floating point is needed.
2020-01-17 19:11:10 +01:00
Max Kellermann
c84bae739a
pcm/Convert: add option to enable the integer-only dsd2pcm implementation
2020-01-17 16:37:09 +01:00
Max Kellermann
925b5954c3
pcm/Dsd2Pcm: add integer-only implementation
2020-01-17 16:17:32 +01:00
Max Kellermann
dca79938d5
release v0.21.19
...
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAl4hyV4QHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEndhD/0SFrzS6I8+9Tsz4f3tAhKH9qaHCepZLJ6o
kpv/qYbbVsIWLtYJtteNi9JTa17MI0s8GgR3/OeEUwmfTdy/HFKrRjT5ptGy2lmk
OBH34vgQsOPIRsdba6UqWHgLFYBwGm3CoCnwKwxGD2ZhCQt7UC7GWxVh70AX6ncj
sWlYtXbabfS1V+vGhiS4o0yNFHLsyxXPAGvaf5gHkP5OT+kJDYgv3YlIHzEKmoiO
xf2pQtvq62YLPXyBR2FEklBN/H6l13e7HZYeTLli6fPUFJIgslI6wgCh4mlvPyx7
7/PXuQjYOfoMtZRsFKo+V84KzIsHQvnhuusFb1iXZnWIYfSzYR09MlTirGEyGEqd
rEZxw9J00TDSWqOnAFOR1ThsgmtAabGT2On1N1ultvvbOLsyiW/N1Vrp7MuNzWK1
Fe9ICwucJztWHcnR2GR0vlnzXvN3bQBadQMRH0Gh3DZGTso3VEOlvkzlcyQNrzZ5
JeIOUtp83mAOnBe2CzP12KMbWF2OYTuX9IjHQpRftpzSnv1IPgvgIBJ9hUD71l3n
Io4LJfkrLtnMU9Y0l8nB4ri9wq9yOkWiKsdpDzWWWqCaRkKcB93CGXyPA53gYbTS
vD/HaYC4qHkUg5SeBHiH/FDjbLAaM+1G1btctVNMIuSBtBsIjpa8yerppTx7pCfZ
UDjOGZeqCg==
=hNuk
-----END PGP SIGNATURE-----
Merge tag 'v0.21.19'
release v0.21.19
2020-01-17 15:58:11 +01:00
Max Kellermann
4f11fa0d41
config/File: allow overriding top-level settings in includes
...
Remove the error message and instead erase the old setting if the
"repeatable" flag is not set.
https://github.com/MusicPlayerDaemon/MPD/issues/684
2020-01-17 14:58:40 +01:00
Max Kellermann
235b6980b8
pcm/Dsd2Pcm: add optimized stereo version
...
This code path is 2% faster.
2020-01-14 23:38:46 +01:00
Max Kellermann
ee46150329
pcm/Dsd2Pcm: add class MultiDsd2Pcm
2020-01-14 23:29:03 +01:00
Max Kellermann
79c585bf03
pcm/PcmDsd: use size_t
2020-01-14 23:28:34 +01:00
Max Kellermann
becd81f771
pcm/PcmDsd: manage Dsd2Pcm instances, not pointers
2020-01-14 23:26:34 +01:00
Max Kellermann
2073a2c1b0
pcm/Dsd2Pcm: remove unused "lsbf" flag
2020-01-14 23:20:45 +01:00
Max Kellermann
3f3104348e
pcm/Dsd2Pcm: add "restrict" attribute
2020-01-14 23:20:36 +01:00
Max Kellermann
7e80c62c7c
util/GenerateArray: use double curly braces for compatibility
2020-01-14 23:16:46 +01:00
Max Kellermann
4038d8527f
pcm/Dsd2Pcm: eliminate "& 0xff"
2020-01-14 22:56:28 +01:00
Max Kellermann
3565f0c8ce
pcm/Dsd2Pcm: move code to TranslateSample()
...
10% speedup. Strange, huh?
2020-01-14 22:51:20 +01:00
Max Kellermann
9647b2cb01
pcm/Dsd2Pcm: move code to ApplySample()
...
For some reason, this speeds up the library by 2%.
2020-01-14 22:43:11 +01:00
Max Kellermann
2d5bf53240
pcm/Dsd2Pcm: use sizet_t
instead of int
2020-01-14 22:40:54 +01:00
Max Kellermann
a65f7b1006
pcm/Dsd2Pcm: use std::fill_n()
2020-01-14 22:39:54 +01:00
Max Kellermann
bc5b647053
pcm/Dsd2Pcm: use sizet_t
instead of unsigned
2020-01-14 22:37:30 +01:00
Max Kellermann
1708ae3e3c
pcm/Dsd2Pcm: use uint8_t
instead of unsigned char
2020-01-14 22:36:50 +01:00
Max Kellermann
6bfbc5d320
pcm/Dsd2Pcm: move code to CalcOutputSample()
2020-01-14 22:25:54 +01:00
Max Kellermann
e7483bc5bc
pcm/Dsd2Pcm: make variables more local
2020-01-14 22:21:32 +01:00
Max Kellermann
b911ec1a29
pcm/Dsd2Pcm: convert to class
2020-01-14 22:16:02 +01:00
Max Kellermann
ca2633bf26
pcm/Dsd2Pcm: remove unused function dsd2pcm_clone()
2020-01-14 22:15:05 +01:00
Max Kellermann
566ac171f5
pcm/Dsd2Pcm: generate ctables
at compile time
2020-01-14 22:11:12 +01:00