From c88f95a2ea1d089501bed84c085acd7312f7dc2a Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 29 Dec 2009 23:55:40 +0100 Subject: input/rewind: new input_stream wrapper to allow stream rewinding This replaces the rewinding buffer code from the CURL input plugin. It is more generic, and allows rewinding even when the server sends Icy-Metadata (which would have been too difficult to implement within the CURL plugin). This is a rather complex patch for the stable branch (v0.15.x), but it fixes a serious problem: the "vorbis" decoder plugin was unable to play streams with Icy-Metadata, because it couldn't rewind the stream after detecting the codec (Vorbis vs. FLAC). --- Makefile.am | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'Makefile.am') diff --git a/Makefile.am b/Makefile.am index cd5d406c2..d9b01f111 100644 --- a/Makefile.am +++ b/Makefile.am @@ -75,6 +75,7 @@ mpd_headers = \ src/input_stream.h \ src/input/file_input_plugin.h \ src/input/curl_input_plugin.h \ + src/input/rewind_input_plugin.h \ src/input/lastfm_input_plugin.h \ src/input/mms_input_plugin.h \ src/icy_server.h \ @@ -467,7 +468,9 @@ INPUT_SRC = \ src/input/file_input_plugin.c if HAVE_CURL -INPUT_SRC += src/input/curl_input_plugin.c src/icy_metadata.c +INPUT_SRC += src/input/curl_input_plugin.c \ + src/input/rewind_input_plugin.c \ + src/icy_metadata.c endif if ENABLE_LASTFM -- cgit v1.2.3