openwrt-packages/sound/mpd/patches/220-handle_slow_server_stre...

17 lines
523 B
Diff

--- a/src/decoder/plugins/FfmpegDecoderPlugin.cxx
+++ b/src/decoder/plugins/FfmpegDecoderPlugin.cxx
@@ -465,6 +465,13 @@ ffmpeg_probe(Decoder *decoder, InputStre
unsigned char buffer[BUFFER_SIZE];
size_t nbytes = decoder_read(decoder, is, buffer, BUFFER_SIZE);
+
+ if ((nbytes > 0) && (nbytes < 1024))
+ {
+ // Gobble some more data if header is small
+ nbytes += decoder_read(decoder, is, buffer + nbytes, BUFFER_SIZE - nbytes);
+ }
+
if (nbytes <= PADDING || !is.LockRewind(IgnoreError()))
return nullptr;