From ff6f1655f0441f2fa8a1947bf242ea2cce6ba7a7 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 10 Nov 2014 08:45:19 +0100 Subject: [PATCH] input/curl: ignore ResponseBoundary() while seeking While seeking, metadata must not be updated. ResponseBoundary() was added in MPD 0.19.1, but I forgot to add the IsSeeking() check there. This caused the "seekable" flag to reset. --- NEWS | 2 ++ src/input/plugins/CurlInputPlugin.cxx | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/NEWS b/NEWS index f18e9ff0f..3d28b44c8 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,8 @@ ver 0.19.3 (not yet released) - fix "(null)" result string to "list" when AlbumArtist is disabled * database - upnp: fix breakage due to malformed URIs +* input + - curl: another fix for redirected streams * decoder - audiofile: fix crash while playing streams - ffmpeg: support opus diff --git a/src/input/plugins/CurlInputPlugin.cxx b/src/input/plugins/CurlInputPlugin.cxx index 1e1a46108..abb7e312c 100644 --- a/src/input/plugins/CurlInputPlugin.cxx +++ b/src/input/plugins/CurlInputPlugin.cxx @@ -610,6 +610,10 @@ CurlInputStream::ResponseBoundary() /* undo all effects of HeaderReceived() because the previous response was not applicable for this stream */ + if (IsSeekPending()) + /* don't update metadata while seeking */ + return; + seekable = false; size = UNKNOWN_SIZE; ClearMimeType();