Rosen Penev
220d2bf026
clang-tidy: add explicit deleted constructors
...
Found with cppcoreguidelines-special-member-functions
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2021-05-30 22:47:20 -07:00
Max Kellermann
5348f8c9c8
copyright year 2021
2021-01-01 19:54:28 +01:00
Max Kellermann
c3cfb5fe16
Merge branch 'v0.21.x'
2020-07-06 20:56:52 +02:00
Max Kellermann
bfdf13dca3
decoder/Plugin: allow scan_{file,stream}() to throw
...
Bug #915 is about an I/O exception thrown where none was allowed,
leading to crash via std::terminate(). However, instead of catching
and logging the error inside the decoder plugin, it should be able to
propagate the I/O error to the MPD core, so MPD can avoid trying other
decoder plugins.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/915
2020-07-06 14:13:34 +02:00
Max Kellermann
8f178401e4
*/plugins/meson.build: define feature macros in Features.h
...
This makes ccache more efficient when recompiling with different
plugins.
2020-05-05 15:06:50 +02:00
Rosen Penev
97425d56e7
remove gcc_unused
...
[[maybe_unused]] (introduced in C++17) is standard C++.
https://clang.llvm.org/docs/AttributeReference.html#maybe-unused-unused
says that this is equivalent to the GNU unused attribute.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2020-03-16 00:08:21 -07:00
Rosen Penev
f00f8b002a
[clang-tidy] use nodiscard
...
Introduced in C++17. It replaces gcc's warn_unused_result.
Found with modernize-use-nodiscard.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2020-03-12 12:59:16 -07:00
Max Kellermann
72ec641f0d
*: use auto
2020-02-01 14:02:43 +01:00
Max Kellermann
302eff0a59
decoder/{vorbis,mpcdec}: use using
instead of typedef
2020-02-01 13:38:43 +01:00
Max Kellermann
cd612c4eef
AudioFormat: move to pcm/
2020-01-18 20:24:59 +01:00
Max Kellermann
2817bf9e95
copyright year 2020
2020-01-18 19:23:49 +01:00
Max Kellermann
2c2efaa91f
lib/xiph/VorbisComments: pass struct vorbis_comment instead of char**
...
Use the "comments" attribute instead of relying on the nullptr
terminator.
2019-08-14 12:28:52 +02:00
Max Kellermann
cde6c46d2f
util/Macros: replace with std::size() (C++17)
2019-08-03 13:10:49 +02:00
Max Kellermann
a139279575
Copyright year 2019
2019-06-17 11:17:30 +02:00
Max Kellermann
527642a90b
decoder/Plugin: simplify compile-time initialization
...
Add a `constexpr` constructor and several `constexpr` methods to
construct a DecoderPlugin at compile time, in a way which allows
adding new methods later without having to edit each plugin.
2019-06-15 14:44:37 +02:00
Max Kellermann
f5c9071494
*: copyright year 2018
2018-10-31 17:54:59 +01:00
Max Kellermann
90f4e97751
decoder/Client: use std::chrono::duration<double> instead of raw double
2018-09-21 20:42:34 +02:00
Max Kellermann
86a02871fc
decoder/vorbis: call TagHandler::OnAudioFormat()
2018-07-06 12:44:58 +02:00
Max Kellermann
3d3a1232b1
tag/Handler: convert to class with virtual methods
2018-07-05 19:07:05 +02:00
Max Kellermann
7d789a984a
decoder/Plugin: add "noexcept"
2018-01-21 11:47:17 +01:00
Max Kellermann
43d2fd73ab
lib/xiph/VorbisComments: return std::unique_ptr<Tag>
2017-12-20 15:10:59 +01:00
Max Kellermann
914df18bf9
Main, ...: catch any exception, not just std::runtime_error
2017-12-19 10:56:23 +01:00
Max Kellermann
523051132d
Merge branch 'v0.20.x'
2017-11-05 17:48:41 +01:00
Marcin Jurkowski
3b23cf0258
decoder/vorbis: scale and clip tremor-decoded samples to 15 bits
...
Tremor decoder is unusable since commit 2ee43c4
. Sound is distorted to
the point where it's nothing but noise.
The data from vorbis_synthesis_pcmout() needs to be scaled and
clipped for 16 bit sample size. For reference see
http://lists.xiph.org/pipermail/tremor/2010-April/001642.html and
http://lists.xiph.org/pipermail/vorbis/2006-October/026513.html .
Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com >
2017-11-03 19:45:41 +01:00
Max Kellermann
03a97d87ea
tag/Tag*: rename several source files
2017-02-08 08:49:42 +01:00
Max Kellermann
5900253b85
update copyright year
2017-01-03 20:48:59 +01:00
Max Kellermann
a88040e4d5
decoder/Client: add Submit methods
...
Replaces decoder_data() and others.
2016-11-18 09:05:04 +01:00
Max Kellermann
47a0f46ce8
decoder/Client: add DecoderCommand/seek virtual methods
2016-11-18 09:03:42 +01:00
Max Kellermann
66fb352cca
decoder/Client: add virtual method Ready()
...
Replaces decoder_initialized().
2016-11-18 09:03:41 +01:00
Max Kellermann
fd77acc217
decoder/Client: new interface which wraps struct Decoder
...
Prepare for a Decoder API redesign based on an abstract class with
virtual methods.
2016-11-18 09:03:39 +01:00
Max Kellermann
cfd51db229
CheckAudioFormat: migrate from class Error to C++ exceptions
2016-11-10 12:55:08 +01:00
Max Kellermann
8c744efd56
input/InputStream: migrate from class Error to C++ exceptions
2016-09-16 17:43:36 +02:00
Max Kellermann
2ee43c403c
decoder/vorbis: reimplement using class OggDecoder
...
Use libvorbis instead of libvorbisfile, which gives us more control
over the decoding process.
2016-05-14 12:31:12 +02:00
Max Kellermann
e958900380
decoder/vorbis: reimplement _scan_stream() with plain libvorbis
2016-05-14 10:52:52 +02:00
Max Kellermann
ed6c6296eb
{de,en}coder/{vorbis,flac,opus}: move several libraries to lib/xiph/
2016-05-03 23:40:29 +02:00
Max Kellermann
1d67aa7bf2
update copyright year to 2016
2016-02-26 17:54:05 +01:00
Max Kellermann
73307bf2e7
tag/TagHandler: pass by reference
2016-02-23 10:10:13 +01:00
Max Kellermann
a5f8fd774d
tag/handler: use CamelCase
2016-02-22 17:38:06 +01:00
Max Kellermann
69476b4f21
pcm/Interleave: add optimization for 32 bit samples
...
Move code from the "vorbis" decoder.
2015-06-22 16:32:06 +02:00
Max Kellermann
e38e8eb636
decoder/vorbis: check STOP before entering the loop
2015-06-22 14:40:51 +02:00
Max Kellermann
4fa5538e2b
config/Param: split block-specific attributes to new struct ConfigBlock
...
The old struct config_param remains only for top-level string options.
2015-01-21 23:56:33 +01:00
Max Kellermann
712ed555e6
Copyright year 2015
2015-01-01 19:48:13 +01:00
Max Kellermann
3158955198
TagHandler: pass SongTime to duration()
2014-08-29 22:52:04 +02:00
Max Kellermann
d9d97bd17b
DecoderAPI: pass SignedSongTime to decoder_initialized()
2014-08-29 21:40:15 +02:00
Max Kellermann
2052a029ee
decoder/vorbis: use integer seek times
2014-08-26 11:38:39 +02:00
Max Kellermann
bb472206de
InputStream: move typedef offset_type to Offset.hxx
...
Reduce header dependencies.
2014-08-19 22:29:52 +02:00
Max Kellermann
07b93dcf80
InputStream: make Seek() always absolute
...
Remove the "whence" parameter that is not actually necessary, and only
complicates the InputStream implementations.
2014-05-22 13:52:00 +02:00
Max Kellermann
374c6a27db
decoder/vorbis: make VorbisInputStream::input_stream a reference
2014-05-22 13:52:00 +02:00
Max Kellermann
36c9e95969
decoder/vorbis: add VorbisInputStream constructor
2014-05-22 13:52:00 +02:00
Max Kellermann
a3142ee4e6
decoder/vorbis: rename struct vorbis_input_stream to VorbisInputStream
2014-05-22 13:52:00 +02:00