Max Kellermann
|
b4d0b23369
|
LogBackend: use fmt::print()
|
2023-03-14 20:24:14 +01:00 |
Max Kellermann
|
119a949bb5
|
ls: use fmt::print()
|
2023-03-14 20:20:46 +01:00 |
Max Kellermann
|
f5b22bf2c3
|
input/Offset: remove unused macro `PRIoffset`
|
2023-03-14 20:20:10 +01:00 |
Max Kellermann
|
5b7a89d714
|
mixer/plugins/volume_mapping: convert to C++
|
2023-03-14 20:18:41 +01:00 |
Max Kellermann
|
5b41857a22
|
mixer/plugins/volume_mapping: add SPDX header
|
2023-03-14 20:08:43 +01:00 |
Max Kellermann
|
688d9ff114
|
util/UriExtract: add uri_get_path_query_fragment()
Rename uri_get_path() to uri_get_path_query_fragment() and add a new
uri_get_path() function.
|
2023-03-14 20:03:17 +01:00 |
Max Kellermann
|
c2d202e9b0
|
meson_options.txt: add option "libfuzzer"
This option allows disabling libFuzzer, which is required to run the
fuzzers with Honggfuzz.
|
2023-03-14 19:47:22 +01:00 |
Max Kellermann
|
bc51bc2933
|
pcm/Normalizer: add method Reset()
|
2023-03-13 13:54:12 +01:00 |
Max Kellermann
|
f547a56b1d
|
pcm/Normalizer: use Traits::long_type
|
2023-03-13 13:51:27 +01:00 |
Max Kellermann
|
1f6637d49a
|
pcm/Normalizer: add constant `SHIFT`
|
2023-03-13 13:49:25 +01:00 |
Max Kellermann
|
de155a740c
|
pcm/Normalizer: convert peakPos to std::size_t
|
2023-03-13 13:47:04 +01:00 |
Max Kellermann
|
f323fc48d7
|
pcm/Normalizer: eliminate the local variable `slot`
|
2023-03-13 13:45:28 +01:00 |
Max Kellermann
|
2ea634c302
|
pcm/Normalizer: replace the `gain` array with a simple `prev_gain` variable
|
2023-03-13 13:44:45 +01:00 |
Max Kellermann
|
c0d38d941a
|
pcm/Normalizer: split the normalization loop
Performance improvement because the ramp code is now moved out of the
hot code path, allowing the compiler to vectorize.
|
2023-03-13 13:38:19 +01:00 |
Max Kellermann
|
d7f2d90fd3
|
pcm/Normalizer: no in-place editing, separate src/dest parameters
This eliminates the memcpy() call from NormalizeFilter::FilterPCM().
|
2023-03-13 13:37:49 +01:00 |
Max Kellermann
|
8ea9b89321
|
pcm/Normalizer: use std::span
|
2023-03-13 13:16:44 +01:00 |
Max Kellermann
|
738254b2fc
|
pcm/Normalizer: use SampleTraits
|
2023-03-13 12:42:37 +01:00 |
Max Kellermann
|
fcc9a98cad
|
pcm/Normalizer: use PcmClamp()
|
2023-03-13 12:42:36 +01:00 |
Max Kellermann
|
dcf0a3e475
|
pcm/Normalizer: remove `clipped` (only written to, never read)
|
2023-03-13 12:42:34 +01:00 |
Max Kellermann
|
e990d6eecc
|
pcm/Normalizer: make variables more local
|
2023-03-13 12:42:31 +01:00 |
Max Kellermann
|
941636b87b
|
pcm/Normalizer: eliminate local variable `ap`
|
2023-03-13 12:31:16 +01:00 |
Max Kellermann
|
1298a82f4f
|
pcm/Normalizer: use std::size_t
|
2023-03-13 12:31:16 +01:00 |
Max Kellermann
|
e6fedcbd10
|
pcm/Normalizer: expose the class, convert functions to methods
|
2023-03-13 12:25:09 +01:00 |
Max Kellermann
|
48c8c7daf5
|
pcm/Normalizer: move code to ctor/dtor
|
2023-03-13 12:25:09 +01:00 |
Max Kellermann
|
6e5d9d4490
|
pcm/Normalizer: hard-code the preferences
|
2023-03-13 12:25:09 +01:00 |
Max Kellermann
|
d2f2dde2e1
|
pcm/Normalizer: eliminate struct CompressorConfig
|
2023-03-13 12:25:09 +01:00 |
Max Kellermann
|
d0dd035075
|
pcm/Normalizer: use new/delete instead of malloc()/free()
|
2023-03-13 12:25:09 +01:00 |
Max Kellermann
|
7702643e1b
|
pcm/Normalizer: remove Compressor_setHistory(), no resize possible
This feature was never used.
|
2023-03-13 12:25:09 +01:00 |
Max Kellermann
|
984c9c317a
|
pcm/Normalizer: add `noexcept`
|
2023-03-13 12:25:09 +01:00 |
Max Kellermann
|
2d7068a09d
|
pcm/AudioCompress: convert to C++
|
2023-03-13 12:25:01 +01:00 |
Max Kellermann
|
d712c3b408
|
pcm/AudioCompress: fold config.h into compress.c
|
2023-03-13 11:55:44 +01:00 |
Max Kellermann
|
0a623122dc
|
pcm/AudioCompress: add SPDX header
|
2023-03-13 11:40:46 +01:00 |
Max Kellermann
|
68c36c0d3f
|
decoder/dsf: use PackedLE64 instead of DsdUint64
|
2023-03-12 20:27:05 +01:00 |
Max Kellermann
|
f3ebaf8bdd
|
util/ByteOrder: add class PackedLE64
|
2023-03-12 20:25:49 +01:00 |
Max Kellermann
|
c472046cbb
|
decoder/dsdiff: use PackedBE64 instead of DffDsdUint64
|
2023-03-12 20:22:50 +01:00 |
Max Kellermann
|
02296adbba
|
io/FileDescriptor: include cleanup
|
2023-03-12 20:18:13 +01:00 |
Max Kellermann
|
a375f0f160
|
io/BufferedReader: add method ReadFullT()
|
2023-03-12 20:15:41 +01:00 |
Max Kellermann
|
fb961e89da
|
util/StringCompare: add `constexpr`
|
2023-03-12 20:14:23 +01:00 |
Max Kellermann
|
3e2bff296f
|
event/SocketEvent: add method GetReadyFlags()
|
2023-03-12 20:12:15 +01:00 |
Max Kellermann
|
cf01db4d08
|
event/Chrono, ...: relicense to BSD-2
|
2023-03-12 20:02:54 +01:00 |
Max Kellermann
|
08dbb4a69a
|
event/BackendEvents: relicense to BSD-2
These headers contain only trivial integer constants and these are
probably not even copyrightable.
|
2023-03-12 19:53:03 +01:00 |
Max Kellermann
|
b5eff3cecd
|
decoder/plugin: kludge for Android NDK r25c
|
2023-03-12 19:53:03 +01:00 |
Max Kellermann
|
89d66b6100
|
decoder/ffmpeg: check for DST codec
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1756
|
2023-03-12 19:39:49 +01:00 |
Max Kellermann
|
c53ee41855
|
decoder/ffmpeg: check for DSD codec
DSD uses a generic demuxer, therefore it does not appear in the
demuxer list.
|
2023-03-12 19:37:09 +01:00 |
Max Kellermann
|
3c798b4907
|
decoder/ffmpeg: query supported demuxers at runtime
|
2023-03-12 19:37:09 +01:00 |
Max Kellermann
|
78a9c17bc6
|
decoder/plugin: add "suffixes" function
For decoder plugins like FFmpeg where the supported codecs cannot be
determined at compile time.
|
2023-03-12 09:17:38 +01:00 |
Max Kellermann
|
8b77da545d
|
*: use transparent comparison for std::{map,set} with std::string keys
This avoids many std::string temporaries for lookups.
|
2023-03-12 09:12:02 +01:00 |
Max Kellermann
|
27d3dcf14c
|
CommandLine: use libfmt
|
2023-03-12 09:02:21 +01:00 |
Max Kellermann
|
5388759bd5
|
db/proxy: require libmpdclient 2.15 or later
|
2023-03-10 13:45:37 +01:00 |
Max Kellermann
|
e927655774
|
db/proxy: require MPD 0.21 or later
|
2023-03-10 13:43:49 +01:00 |