summaryrefslogtreecommitdiffstats
path: root/sound/mpd/patches/220-handle_slow_server_stream_startup.patch
blob: 62a4e59f73ea8d9eeab09b5c9ec0d2d3864a33c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
--- a/src/decoder/plugins/FfmpegDecoderPlugin.cxx
+++ b/src/decoder/plugins/FfmpegDecoderPlugin.cxx
@@ -467,6 +467,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;