skidoo23
f80ebf68b0
decoder/wavpack: fix warning 'unused variable is_dsd' when compiled with --enable-dsd=no
2018-10-12 01:02:34 +02:00
Max Kellermann
1245b4a49f
decoder/wavpack: merge duplicate code into Scan()
2018-07-07 13:54:02 +02:00
Max Kellermann
d4ce6049c9
decoder/wavpack: call TagHandler::OnAudioFormat()
2018-07-07 13:52:58 +02:00
Max Kellermann
c236a85c13
decoder/wavpack: add CheckAudioFormat(WavpackContext)
2018-07-07 13:48:49 +02:00
Max Kellermann
3d3a1232b1
tag/Handler: convert to class with virtual methods
2018-07-05 19:07:05 +02:00
Max Kellermann
fd0a5a1116
decoder/{dsdiff,dsf,mpg123,wavpack}: avoid exceptions in scan methods
...
The scan methods must be "noexcept".
2018-01-25 13:01:39 +01:00
Max Kellermann
7d789a984a
decoder/Plugin: add "noexcept"
2018-01-21 11:47:17 +01:00
Max Kellermann
914df18bf9
Main, ...: catch any exception, not just std::runtime_error
2017-12-19 10:56:23 +01:00
Max Kellermann
4faef28cc5
Merge tag 'v0.20.7'
...
release v0.20.7
2017-05-15 23:01:49 +02: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
e26d49efb7
Merge tag 'v0.20.6'
...
release v0.20.6
2017-03-10 17:02:32 +01:00
Thomas Zander
d50b30a498
Add missing include for cstdlib, otherwise free() is undefined
2017-03-07 20:02:36 +01:00
Max Kellermann
03a97d87ea
tag/Tag*: rename several source files
2017-02-08 08:49:42 +01:00
Max Kellermann
c82b03a74c
decoder/wavpack: fix crash bug
2017-01-08 14:54:12 +01:00
Max Kellermann
5900253b85
update copyright year
2017-01-03 20:48:59 +01:00
Max Kellermann
57dd344f3b
decoder/wavpack: implement WavpackStreamReader64 if available
2016-12-10 00:24:54 +01:00
Max Kellermann
f7f59df8aa
decoder/wavpack: move code to WavpackInput methods
2016-12-10 00:17:46 +01:00
Max Kellermann
0525a6f90f
decoder/wavpack: use WavpackSeekSample64() if available
2016-12-10 00:12:47 +01:00
Max Kellermann
7b4305d81b
decoder/wavpack: seek errors are fatal
...
The libWavPack documentation says:
"After a FALSE return the file should not be accessed again (other
than to close it); this is a fatal error."
2016-12-10 00:11:29 +01:00
Max Kellermann
30bd190b41
decoder/wavpack: implement scan_stream()
2016-12-09 23:23:35 +01:00
Max Kellermann
cf93cd9307
decoder/wavpack: convert WavpackInput::client to pointer
2016-12-09 23:23:02 +01:00
Max Kellermann
f40816e063
decoder/wavpack: add WavpackOpen() wrappers which throw exception
2016-12-09 23:15:40 +01:00
Max Kellermann
3759f29852
decoder/wavpack: move wavpack_scan_file() down
2016-12-09 23:15:06 +01:00
Max Kellermann
bc5555933f
decoder/wavpack: support native DSD
2016-12-09 23:08:54 +01:00
Max Kellermann
ead7ae8504
decoder/wavpack: use template for format_sample_X()
2016-12-09 22:53:01 +01:00
Max Kellermann
ad5abba8c6
decoder/wavpack: move 8 and 16 bit conversion to separate functions
2016-12-09 22:49:07 +01:00
Max Kellermann
61296cedd2
decoder/wavpack: rename format_samples_float() to format_samples_nop()
2016-12-09 22:47:32 +01:00
Max Kellermann
d9c29a2c4f
decoder/wavpack: use std::copy_n()
2016-12-09 22:23:19 +01:00
Max Kellermann
f5172e6b84
decoder/wavpack: use int16_t instead of uint16_t
...
Technically, these samples are signed. There was no practical
difference, only the declaration was formally wrong.
2016-12-09 22:21:31 +01:00
Max Kellermann
544bcbe903
decoder/wavpack: use WavpackGetNumSamples64() if available
2016-12-09 22:09:32 +01:00
Max Kellermann
f35dab1b56
decoder/wavpack: check WavpackGetNumSamples()==-1
2016-12-09 21:46:29 +01:00
Max Kellermann
caee420087
decoder/wavpack: move code to GetDuration()
2016-12-09 21:45:22 +01:00
Max Kellermann
e8c374113e
decoder/wavpack: make is_float const
2016-12-09 21:30:31 +01:00
Max Kellermann
98a241a730
decoder/wavpack: use WavpackGetReducedChannels()
...
Since we don't use OPEN_2CH_MAX, this should be equal to
WavpackGetNumChannels() - but who knows, maybe a future libWavPack
version breaks this assumption.
2016-12-09 21:23:38 +01:00
Max Kellermann
be8297d6f6
decoder/wavpack: basic DSD support (WavPack 5)
...
Enable OPEN_DSD_AS_PCM if available. No OPEN_DSD_NATIVE yet.
https://bugs.musicpd.org/view.php?id=4606
2016-12-09 21:03:47 +01:00
Max Kellermann
df4ecf63a8
decoder/wavpack: disable OPEN_TAGS
...
Use MPD's internal APE tag code, which works just as well. This
removes some duplicate code for reading tags and ReplayGain.
2016-12-09 20:53:54 +01:00
Max Kellermann
b4d1937857
decoder/wavpack: change norm_offset to 0
...
MPD uses a floating point range from -1 to +1 internally - why ask
libwavpack to use -32768..+32768 only to reduce it back to -1..+1
afterwards?
2016-12-09 20:53:45 +01:00
Max Kellermann
0be5fbdc35
decoder/wavpack: use AtScopeExit()
2016-12-09 20:53:04 +01:00
Max Kellermann
25e58df5e0
ReplayGainInfo: don't use array in struct ReplayGainInfo
...
Declare two named elements. An enum should not be used as an array
index, as this is error prone.
2016-11-24 17:34:57 +01:00
Max Kellermann
723e54f74e
decoder/Client: add OpenUri(), replacing decoder_open_uri()
2016-11-18 12:34:04 +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
fc7d3f64c0
input/Plugin: migrate open() from class Error to C++ exceptions
2016-09-09 18:15:01 +02:00
Max Kellermann
38d587aaeb
decoder/wavpack: wavpack_open_wvc() returns InputStreamPtr
...
Let std::unique_ptr manage both the InputStream and the WavpackInput.
2016-09-09 16:04:57 +02:00
Max Kellermann
fe9bafa741
decoder/wavpack: use AtScopeExit() for exception-safety
2016-09-09 15:55:58 +02:00
Max Kellermann
1d67aa7bf2
update copyright year to 2016
2016-02-26 17:54:05 +01:00