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).
This commit is contained in:
+4
-1
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user