decoder/sndfile: allow partial reads at end of file
While libsndfile doesn't like partial reads in the middle of a file (see commit95ac6071b9
), it allows partial reads at the end of a file. It doesn't pay attention to the file size when issuing a read. Commitecb67a1ed1
(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 commitecb67a1ed1
. Closes https://github.com/MusicPlayerDaemon/MPD/issues/936
This commit is contained in:
Reference in New Issue
Block a user