mpd/src/decoder
Max Kellermann 0aa0ffb67b decoder/sndfile: allow partial reads at end of file
While libsndfile doesn't like partial reads in the middle of a file
(see commit 95ac6071b9), it allows partial reads at the end of a file.
It doesn't pay attention to the file size when issuing a read.

Commit ecb67a1ed1 (MPD 0.18.12) was a regression: previously,
partial reads at the end of a file were possible, but switching to
decoder_read_full() made this an error condition.  This way, a portion
at the end of each file was lost, leading to corruption with gapless
playback (https://github.com/MusicPlayerDaemon/MPD/issues/936).

This fix switches to the newly introduced function
decoder_read_much(), which does the same as the code before commit
ecb67a1ed1.

Closes https://github.com/MusicPlayerDaemon/MPD/issues/936
2020-09-04 13:35:00 +02:00
..
plugins decoder/sndfile: allow partial reads at end of file 2020-09-04 13:35:00 +02:00
Bridge.cxx decoder/Bridge: add flag to make initial seek errors fatal 2020-06-10 17:49:10 +02:00
Bridge.hxx decoder/Bridge: add flag to make initial seek errors fatal 2020-06-10 17:49:10 +02:00
Client.hxx check.h: remove obsolete header 2018-11-19 16:33:49 +01:00
Command.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
Control.cxx decoder/Bridge: add flag to make initial seek errors fatal 2020-06-10 17:49:10 +02:00
Control.hxx decoder/Bridge: add flag to make initial seek errors fatal 2020-06-10 17:49:10 +02:00
DecoderAPI.cxx decoder/API: add decoder_read_much() 2020-09-04 13:35:00 +02:00
DecoderAPI.hxx decoder/API: add decoder_read_much() 2020-09-04 13:35:00 +02:00
DecoderBuffer.cxx check.h: remove obsolete header 2018-11-19 16:33:49 +01:00
DecoderBuffer.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
DecoderList.cxx decoder/List: handle exception PluginUnavailable 2019-06-26 22:02:54 +02:00
DecoderList.hxx decoder/List: add RAII class 2019-02-05 22:12:22 +01:00
DecoderPlugin.cxx check.h: remove obsolete header 2018-11-19 16:33:49 +01:00
DecoderPlugin.hxx decoder/Plugin: allow scan_{file,stream}() to throw 2020-07-06 14:13:34 +02:00
DecoderPrint.cxx check.h: remove obsolete header 2018-11-19 16:33:49 +01:00
DecoderPrint.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
Domain.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
Domain.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
meson.build build with Meson instead of autotools 2018-10-14 23:41:38 +02:00
Reader.cxx check.h: remove obsolete header 2018-11-19 16:33:49 +01:00
Reader.hxx check.h: remove obsolete header 2018-11-19 16:33:49 +01:00
Thread.cxx decoder/Bridge: add flag to make initial seek errors fatal 2020-06-10 17:49:10 +02:00