Commit Graph

46 Commits

Author SHA1 Message Date
Max Kellermann
cc0def15c4 Copyright year 2022 2022-07-14 17:59:35 +02:00
Max Kellermann
f66315d2de MusicChunk: use std::span 2022-05-20 11:15:45 +02:00
Max Kellermann
2240327286 ReplayGainInfo: move to tag/ 2021-12-06 09:28:36 +01:00
Max Kellermann
f510564d9d more [[gnu::...]] attributes 2021-10-13 12:07:05 +02:00
Max Kellermann
5348f8c9c8 copyright year 2021 2021-01-01 19:54:28 +01:00
Rosen Penev
a2f5a63bbc
replace stdint.h with cstdint
The former is deprecated by C++14. The standard says they are the same:

The header defines all types and macros the same as the C standard library
header<stdint.h>.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-12 19:04:39 -07:00
Rosen Penev
2db8bcc353
replace stddef.h with cstddef
The former is deprecated with C++14. The standard says both are the same:

The contents and meaning of the header<cstddef>are the same as the C
standard library header<stddef.h>,except that it does not declare the type
wchar_t, that it also declares the type byte and its associated
operations (21.2.5), and as noted in 21.2.3 and 21.2.4.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-12 19:04:38 -07: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
f97a9ce765 Revert "MusicChunk: pad MusicChunkInfo to a multiple of 8 bytes"
This reverts commit 2c3eeb7194.  This
workaround has been obsoleted by commits
bf26adf555 and
32380d1db0
2019-06-18 11:49:52 +02:00
Max Kellermann
33f5e03e80 Merge branch 'v0.21.x' 2019-06-17 22:06:54 +02:00
Max Kellermann
2c3eeb7194 MusicChunk: pad MusicChunkInfo to a multiple of 8 bytes
Workaround for a regression caused by commit
a06bf388d9, revealing a problem with
discarding odd numer of frames in the DSD_U32 and DoP converters,
causing distortions with DSD_U32 and DoP on 32 bit CPUs.

Closes https://github.com/MusicPlayerDaemon/MPD/issues/469
2019-06-17 21:24:32 +02:00
Max Kellermann
a139279575 Copyright year 2019 2019-06-17 11:17:30 +02:00
Max Kellermann
f5c9071494 *: copyright year 2018 2018-10-31 17:54:59 +01:00
Max Kellermann
076be809c2 Music{Pipe,Chunk}: use MusicChunkPtr for the list links 2018-06-23 17:58:42 +02:00
Max Kellermann
54d295c247 MusicChunkPtr: managed MusicChunk pointer
Make all uses of MusicChunk safe.
2018-06-22 23:11:52 +02:00
Max Kellermann
98a7c62d7a player/Thread: don't send silence if decoder is slow
The output plugin shall decide whether to insert silence or do nothing
at all.  The ALSA output plugin has already implemented this.
Inserting silence is not necessary or helpful for some plugins, and
may even hurt them (e.g. "recorder").
2018-01-03 17:36:41 +01:00
Max Kellermann
78c73fb9e7 MusicChunk: reorder attributes to reduce padding 2017-12-30 17:52:07 +01:00
Max Kellermann
a06bf388d9 MusicChunk: make the struct size exactly 4096 2017-12-30 17:50:25 +01:00
Max Kellermann
de0c3e717e MusicChunk: split struct MusicChunkInfo from struct MusicChunk 2017-12-30 17:47:16 +01:00
Max Kellermann
25fa3ccade MusicChunk, player/Thread: use std::unique_ptr<Tag> 2017-12-20 15:02:14 +01:00
Max Kellermann
de90d401d2 MusicChunk: add magic value IGNORE_REPLAY_GAIN
This fixes spurious replay gain logs when the player inserts silence
chunks, because those silence chunks had no replay gain attached,
resetting the ReplayGainFilter state, flipping it forth and back.
2017-12-03 11:39:12 +01:00
Max Kellermann
396defaea9 MusicChunk: initialize replay_gain_serial on demand 2017-12-03 11:39:07 +01:00
Max Kellermann
71f0ed8b74 *: add "noexcept" to many, many function prototypes
This eliminates some overhead, because the compiler doesn't need to
consider these functions throwing.
2017-05-08 14:44:49 +02:00
Max Kellermann
5900253b85 update copyright year 2017-01-03 20:48:59 +01:00
Max Kellermann
4de5c216ff MusicChunk: disallow copying 2016-11-23 17:57:29 +01:00
Max Kellermann
ad2c7304ea MusicChunk: use C++11 initializers 2016-11-23 17:56:36 +01:00
Max Kellermann
1d67aa7bf2 update copyright year to 2016 2016-02-26 17:54:05 +01:00
Max Kellermann
b31d171ae8 *: doxygen fixups 2015-03-17 11:21:43 +01:00
Max Kellermann
712ed555e6 Copyright year 2015 2015-01-01 19:48:13 +01:00
Max Kellermann
9d3a85d434 MusicChunk: use SignedSongTime for the time stamp 2014-08-29 13:20:58 +02:00
Max Kellermann
c94b4466d5 MusicChunk: rename struct to MusicChunk 2014-08-12 15:56:41 +02:00
Max Kellermann
61f9e79ec9 MusicChunk: update API documentation 2014-08-12 15:56:11 +02:00
Max Kellermann
4f83c60296 copyright year 2014 2014-01-13 22:31:55 +01:00
Max Kellermann
de1261ba28 MusicChunk: return WritableBuffer 2013-10-28 17:10:12 +01:00
Max Kellermann
5ee5a89a7f MusicChunk: use uint8_t instead of char 2013-10-28 17:08:14 +01:00
Max Kellermann
6d475c40de ReplayGainInfo: use CamelCase for struct name 2013-10-25 19:12:38 +02:00
Max Kellermann
59f8144c50 *: use nullptr instead of NULL 2013-10-19 18:19:03 +02:00
Max Kellermann
17c6db6c33 replay_gain_*.h: rename to *.hxx 2013-10-02 12:22:12 +02:00
Max Kellermann
f3fc76e3c8 MusicChunk: remove obsolete prototypes 2013-09-26 22:34:43 +02:00
Max Kellermann
ce1d897575 MusicPipe: expose the C++ API 2013-09-26 21:51:45 +02:00
Max Kellermann
17e108a10a MusicChunk: use constexpr for CHUNK_SIZE 2013-09-26 21:49:26 +02:00
Max Kellermann
d1e7b4e381 audio_format: convert to C++ 2013-08-03 21:37:56 +02:00
Max Kellermann
06f898cc12 tag: convert to C++ 2013-07-30 20:19:53 +02:00
Max Kellermann
e9b71a0d28 MusicChunk: move functions to methods 2013-01-04 21:38:46 +01:00
Max Kellermann
22f0a1547c buffer, pipe: convert to C++ 2013-01-04 10:16:16 +01:00