Commit Graph

2051 Commits

Author SHA1 Message Date
Max Kellermann
4086190c80 decoder/OpusTags: use ParseInteger() 2024-01-04 21:06:38 +01:00
Max Kellermann
393d57b387 util/NumberParser: rename to CNumberParser
A new NumberParser library based on std::from_chars() will be added.
2024-01-04 21:02:45 +01:00
Rosen Penev
a859de6806 sndfile: fix compilation with clang's libc++
error: non-constant-expression cannot be narrowed from type 'sf_count_t'
(aka 'long long') to 'size_type' (aka 'unsigned int') in initializer list
 [-Wc++11-narrowing]
  215 |                      std::span{buffer, num_frames * frame_size},
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~
note: insert an explicit cast to silence this issue
  215 |                      std::span{buffer, num_frames * frame_size},
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~
      |                                        static_cast<size_type>()

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2024-01-03 12:18:52 -08:00
Max Kellermann
23b4688c44 util/ByteOrder: move Packed* classes to separate headers 2023-12-22 18:20:46 +01:00
Max Kellermann
a888b3a707 decoder/plugins/meson.build: add missing dependency to libid3tag 2023-12-22 18:03:47 +01:00
Max Kellermann
5ab2c31500 Merge branch 'v0.23.x' 2023-11-21 20:37:46 +01:00
skidoo23
50c1e3738a decoder/ffmpeg: Fix build error with ffmpeg 6.1
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1898
2023-11-21 20:36:37 +01:00
Max Kellermann
7ccc4ddf0d io/Reader: use std::span 2023-10-07 08:44:42 +02:00
Max Kellermann
dc31aa6a61 decoder/Plugin: remove unused and broken wrapper method ContainerScan() 2023-09-26 10:13:42 +02:00
Max Kellermann
9c19368fc7 Merge branch 'v0.23.x' 2023-06-02 14:36:02 +02:00
Shen-Ta Hsieh
fef6b9df80 flac: Try InputStream interface if flac failed to read through a wchar_t path 2023-06-02 14:28:22 +02:00
Max Kellermann
18d3a5c12b decoder/flac: add noexcept and inline 2023-06-02 14:22:11 +02:00
Simon Arlott
6ee3d0102b decoder/mad: Fix decode of LAME peak value
6d91b5c7b2 ("fix double promotions") changed
how LAME peak values are decoded, producing large incorrect values that
cause some MP3 files to play silently.

Restore the original decode from MAD fixed-point format to double and
document what it's doing.

Fixes #1823
2023-06-02 14:15:48 +02:00
latex
381934985a reorder ffmpeg to be lower priority than gme
This should prevent ffmpeg from taking priority over the gme plugin.
The ffmpeg plugin is more buggy than gme.
One of the prominent bugs of preferring ffmpeg over gme is that ffmpeg
cannot seek SAP files while gme can. This should prevent that from
happening.
2023-05-21 20:58:53 +02:00
Max Kellermann
0206a46d39 decoder/gme: require GME 0.6 or later
This allows dropping a few compile-time version checks and we can use
pkg-config to detect the library.
2023-05-21 20:50:03 +02:00
latex
4e9f463bb6 reorder ffmpeg to be lower priority than gme
This should prevent ffmpeg from taking priority over the gme plugin.
The ffmpeg plugin is more buggy than gme.
One of the prominent bugs of preferring ffmpeg over gme is that ffmpeg
cannot seek SAP files while gme can. This should prevent that from
happening.
2023-05-12 00:28:56 +02:00
Max Kellermann
90c3fe22f5 decoder/openmpt: check libopenmpt version at compile time, not at configure time 2023-04-21 17:29:20 +02:00
Simon Arlott
ad8117e7c8 decoder/openmpt: Fix build error with libopenmpt < 0.5
openmpt_at_end is a string, not an integer

Fixes build error:

 src/decoder/plugins/OpenmptDecoderPlugin.cxx: In function 'void mod_decode(DecoderClient&, InputStream&)':
 src/decoder/plugins/OpenmptDecoderPlugin.cxx:85:44: error: invalid cast from type 'std::string_view' {aka 'std::basic_string_view<char>'} to type 'unsigned in '
   85 |  mod.ctl_set("play.at_end", std::to_string((unsigned)openmpt_at_end));
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~
2023-04-21 17:24:42 +02:00
Max Kellermann
68c36c0d3f decoder/dsf: use PackedLE64 instead of DsdUint64 2023-03-12 20:27:05 +01:00
Max Kellermann
c472046cbb decoder/dsdiff: use PackedBE64 instead of DffDsdUint64 2023-03-12 20:22:50 +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
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
7e2538e07a decoder/sidplay: require libsidplayfp (drop support for the original sidplay)
The original sidplay project has been mostly unmaintained for nearly
12 years, and the most recent release was in 2016, while the
libsidplayfp project has been actively maintained all the time.
2023-03-09 18:27:05 +01:00
Max Kellermann
851fcf4823 decoder/gme: require GME 0.6 or later
This allows dropping a few compile-time version checks and we can use
pkg-config to detect the library.
2023-03-09 18:27:05 +01:00
Max Kellermann
598894211f decoder/ffmpeg: require FFmpeg 4.0 or later 2023-03-08 20:32:35 +01:00
Max Kellermann
815b248990 */Registry: use constinit 2023-03-07 12:04:16 +01:00
Max Kellermann
415de497d3 use more libfmt instead of sprintf() 2023-03-06 19:50:53 +01:00
Max Kellermann
941f2ca60d pcm/{Traits,Dsd*}: use std::byte 2023-03-06 18:44:20 +01:00
Max Kellermann
42f6a0441c use [[gnu::...]] attributes 2023-03-06 16:14:15 +01:00
Max Kellermann
7a46c57ef3 tag/Type: require C++ 2023-03-06 15:28:44 +01:00
Max Kellermann
a302d34f6d tag/Names: convert to C++ 2023-03-06 15:16:33 +01:00
Max Kellermann
148aca23be use SPDX IDs, replacing the long copyright headers 2023-03-06 14:59:48 +01:00
Sean DuBois
a41414e0e0 Decoder/FluidSynth: Allow gain to be adjusted 2023-02-01 12:00:19 -05:00
Max Kellermann
b1422fbda4 release v0.23.12
-----BEGIN PGP SIGNATURE-----
 
 iQJBBAABCgArFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAmPG4OcNHG1heEBibGFy
 Zy5kZQAKCRAjbopYxttFElGQD/4lXFixr2fJuAWFYyFT4ebr2w7sPyhXwjlt5uCL
 HTaMxTgQbhMmkHbGEO96UbF7gROGfq+dyvYTEmjWcVPTr/US3M8/mjT9T/DCLj6+
 kF7rZM5ft6npqVxqikg/TQcUgoiSsgfI7dEK/vcXELPyx78bCaq0M0sd2GZvwiiM
 vK9cxxDJ/RkF2dtfXRfGTJlihgQxaiuBZx8Bi3wJjbjvi/Lg85cu3iot9zFy5iDN
 gNzC39dnPYv261lAT/LLNpzLYQzIFE5ul+8ucRNPo+mMS/odSPRdL9XYFDtarsqP
 3Va83DChg7S6/GWfDeW81mQYPDuZ+1rPqbV5zEGimPsDWP9RugzPpZiFJlZrh8w7
 MJp66RYxUWQpracRZIW4zMRiSzGSI3OXbvhx6qBmsn1CuQ19TkovWuRleD4lpfFv
 dFzKHrdatJivM3xvq6CSg8ws+Q6f/j5sw1gzfvOofPlpybtvIrCvlvw78sKLW5n1
 Ecwc+xN38bIVL3E2Ae6zeYQwArpB4+gKT3Wb+r3bjXz7YQYpETI3IbX0vixbl8pP
 9O4ZKot/khOCaQBiZ5hHmiDmF5kxofLnJE4qgGX/c87ZaMUsu7hoKzksy9v7Z9wj
 PNTshhWk1WrSwM1JnVjD5Ahz+Oe43UsKsGZ8Kturbuu+61uTX4QcmYpbaNilGnwk
 J0cLyw==
 =MW7q
 -----END PGP SIGNATURE-----

Merge tag 'v0.23.12'

release v0.23.12
2023-01-17 18:58:04 +01:00
Max Kellermann
b3897df682 decoder/mad: add assert() 2023-01-17 18:53:18 +01:00
Max Kellermann
15a1973e28 decoder/mad: fix integer underflow with very small files
When drop_start_samples and drop_end_samples overlap and are greater
than the actual number of samples, the `num_samples` calculation in
SubmitPCM() could underflow.

Closes https://github.com/MusicPlayerDaemon/MPD/issues/1712
2023-01-17 17:41:37 +01:00
latex
7774e78864 openmpt: add at_end option 2023-01-06 03:18:36 +01:00
Max Kellermann
fa58db798b lib/fmt/RuntimeError: new library
Replacing FormatRuntimeError().
2022-11-29 14:10:34 +01:00
Max Kellermann
b0d6c0e7cb Merge branch 'v0.23.x' 2022-09-28 13:08:34 +02:00
Max Kellermann
76efea3aa7 decoder/ffmpeg: add libfmt formatter for AVSampleFormat
Fixes compiler warning because formatting unscoped enums is deprecated
since libfmt 9.
2022-09-28 11:34:33 +02:00
Max Kellermann
4c08c0b8b1 Merge branch 'v0.23.x' 2022-07-27 11:06:47 +02:00
Max Kellermann
57d5df8118 decoder/ffmpeg: fix FFmpeg 5.1 deprecation warnings 2022-07-27 11:04:09 +02:00
Max Kellermann
59792cb0b8 decoder/ffmpeg: wrap FFmpeg include in "extern C"
Commit ebae25d175 added that #include, but forgot to wrap it in
"extern C", so the linker tried to look up C++ symbols, causing linker
failure.

Closes https://github.com/MusicPlayerDaemon/MPD/issues/1582
2022-07-27 11:04:03 +02:00
Sonico
3ef83cc34e Add titleSort tag 2022-07-20 23:05:10 -03:00
Max Kellermann
254ee00c37 fs/Path: rename GetSuffix() to GetExtension()
The "extension" is the name after the dot, but the "suffix" is the
string including the dot.
2022-07-14 18:12:00 +02:00