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
|
c6e1ca1c22
|
system/Error: use std::generic_category() for errno on Windows
It's wrong to use std::system_category() for both GetLastError() and
errno on Windows. Apparently, everybody uses std::generic_category()
for errno values, which appears to be a safe choice.
Some discussion on this confusing topic can be found here:
https://stackoverflow.com/questions/28746372/system-error-categories-and-standard-system-error-codes
|
2016-12-04 20:07:11 +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
|
b677e891b4
|
decoder/{mikmod,modplug}: throw exception instead of calling FatalError()
|
2016-11-24 14:09:58 +01:00 |
|
Max Kellermann
|
95e2bec215
|
decoder/DecoderPlugin: container_scan() returns forward_list<DetachedSong>
Speed up container_scan() again, by eliminating the need to call
scan_file() for each item.
|
2016-11-22 16:49:31 +01:00 |
|
Max Kellermann
|
72c96052b4
|
decoder/gme: move gme_container_scan() down
|
2016-11-22 16:49:30 +01:00 |
|
Max Kellermann
|
bf78b7f815
|
decoder/sidplay: use template to eliminate duplicate code
|
2016-11-22 13:17:31 +01:00 |
|
Max Kellermann
|
ffb9874d84
|
decoder/sidplay: move code to ScanSidTuneInfo()
|
2016-11-22 12:37:25 +01:00 |
|
Max Kellermann
|
228cdbe6af
|
decoder/gme: provide the TRACK tag
|
2016-11-22 12:20:31 +01:00 |
|
Max Kellermann
|
a303639c9e
|
decoder/{gme,sidplay}: fix off-by-one bug in container_scan()
Broken by commit 0abee77e62
|
2016-11-22 12:20:31 +01:00 |
|
Max Kellermann
|
c5133f6088
|
db/update/Container: catch C++ exceptions
|
2016-11-22 12:16:14 +01:00 |
|
Max Kellermann
|
27d368d48d
|
decoder/gme: use AtScopeExit()
|
2016-11-22 12:16:14 +01:00 |
|
Max Kellermann
|
085b599f84
|
decoder/gme: remove redundant extern declaration
|
2016-11-22 12:16:14 +01:00 |
|
Max Kellermann
|
3b84eb3b70
|
decoder/gme: add missing SUBTUNE_PREFIX
Got lost in 0abee77e62
|
2016-11-22 12:16:14 +01:00 |
|
Max Kellermann
|
0abee77e62
|
decoder/DecoderPlugin: container_scan() returns forward_list<string>
|
2016-11-22 09:33:52 +01:00 |
|
Max Kellermann
|
723e54f74e
|
decoder/Client: add OpenUri(), replacing decoder_open_uri()
|
2016-11-18 12:34:04 +01:00 |
|
Max Kellermann
|
1a8c96a3f0
|
decoder/mpcdec: use AtScopeExit()
|
2016-11-18 12:22:41 +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
|
35a2a48c47
|
Merge branch 'v0.19.x'
|
2016-11-17 22:20:24 +01:00 |
|
Max Kellermann
|
7019f6bea4
|
decoder/pcm: round buffer size down to nearest frame size
https://bugs.musicpd.org/view.php?id=4599
|
2016-11-17 21:58:27 +01:00 |
|
Max Kellermann
|
4e16ea0f0a
|
decoder/flac: migrate from class Error to C++ exceptions
|
2016-11-10 12:55:08 +01:00 |
|
Max Kellermann
|
42a696873b
|
decoder/faad: migrate from class Error to C++ exceptions
|
2016-11-10 12:55:08 +01:00 |
|
Max Kellermann
|
cfd51db229
|
CheckAudioFormat: migrate from class Error to C++ exceptions
|
2016-11-10 12:55:08 +01:00 |
|
Max Kellermann
|
12f11c97ae
|
decoder/faad: use AtScopeExit()
|
2016-11-10 12:55:08 +01:00 |
|
Max Kellermann
|
6a78d11127
|
decoder/gme: use AtScopeExit()
|
2016-11-10 12:55:08 +01:00 |
|
Max Kellermann
|
256ee7a8c7
|
decoder/audiofile: use AtScopeExit()
|
2016-11-10 12:55:08 +01:00 |
|
Max Kellermann
|
ecb8f7362b
|
decoder/ffmpeg: copy_interleave_frame() throws exception on error
|
2016-10-31 13:03:02 +01:00 |
|
Max Kellermann
|
e17805f208
|
config/Block: GetPath() throws exception on error
|
2016-10-28 23:08:42 +02:00 |
|
Max Kellermann
|
d8bcdca55a
|
config/Block: rename GetBlockPath() to GetPath()
|
2016-10-28 23:07:26 +02:00 |
|
Max Kellermann
|
debc855806
|
Merge branch 'v0.19.x'
|
2016-10-27 21:01:27 +02:00 |
|
Max Kellermann
|
49c04ccfc7
|
decoder/sidplay: fix playback speed with libsidplayfp
https://bugs.musicpd.org/view.php?id=4577
|
2016-10-27 20:25:19 +02:00 |
|
Max Kellermann
|
11ba44870b
|
decoder/sidplay: simplify seek loop
|
2016-10-27 20:25:12 +02:00 |
|
Max Kellermann
|
77a9940461
|
decoder/ffmpeg: ignore empty packets
An empty packet would be a command for avcodec_send_packet() to
finalize the codec.
Fixes https://bugs.musicpd.org/view.php?id=4588
|
2016-10-26 18:29:07 +02:00 |
|
Max Kellermann
|
f62546ec79
|
decoder/mad: use C++11 initializers
|
2016-10-25 18:52:54 +02:00 |
|
Max Kellermann
|
2a2ac35b98
|
decoder/ffmpeg: FfmpegOpenInput() throws exception on error
|
2016-09-16 18:49:22 +02: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
|
d0dae177cf
|
Merge tag 'v0.19.19'
release v0.19.19
|
2016-08-23 10:27:39 +02:00 |
|
Max Kellermann
|
4204d4928b
|
decoder/ffmpeg: no avcodec_parameters_to_context() with FFmpeg 3.0
This function exists since FFmpeg 3.1. Fix a build failure with
FFmpeg 3.0.
|
2016-08-23 10:15:54 +02:00 |
|
Max Kellermann
|
05de0ecec3
|
decoder/ffmpeg: call avcodec_parameters_to_context()
These bug reports describe problems with some FFmpeg codecs:
https://bugs.musicpd.org/view.php?id=4564
https://bugs.musicpd.org/view.php?id=4568
https://bugs.musicpd.org/view.php?id=4572
According to the FFmpeg bug tracker, a call to
avcodec_parameters_to_context() is required after
avcodec_alloc_context3():
https://trac.ffmpeg.org/ticket/5781
This requirement was previously undocumented.
|
2016-08-23 09:59:25 +02:00 |
|
Max Kellermann
|
743fa73a01
|
Merge branch 'v0.19.x'
|
2016-08-15 12:33:07 +02:00 |
|
Max Kellermann
|
a546bfe7d9
|
decoder/wildmidi: support libWildMidi 0.4
|
2016-08-15 10:08:35 +02:00 |
|
Max Kellermann
|
25deae6cc7
|
decoder/wildmidi: move code to wildmidi_output()
|
2016-08-15 10:07:08 +02:00 |
|