Commit Graph

17942 Commits

Author SHA1 Message Date
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
Max Kellermann 3be8375e4f subprojects/sqlite3.wrap: update to 3.41.0-1 2023-03-10 13:35:01 +01:00
Max Kellermann 27ba8c181f pcm/SoxrResampler: require libsoxr 0.1.2 or later 2023-03-10 12:49:57 +01:00
Max Kellermann 1410bcbce9 lib/alsa: require alsa-lib 1.1 or later 2023-03-10 12:49:40 +01:00
Max Kellermann 43b26ee612 {de,en}coder/flac: remove obsolete FLAC_API_VERSION_CURRENT checks
We check the libFLAC version via pkg-config at configure time, no need
to do it again.
2023-03-10 12:43:19 +01:00
Max Kellermann 2c47357991 python/build/libs.py: update WildMidi to 0.4.5 2023-03-09 18:33:21 +01:00