aboutsummaryrefslogtreecommitdiffstats
path: root/src/input/rewind_input_plugin.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2011-09-15input/rewind: copy the MIME type only onceMax Kellermann1-1/+3
Reduce heap usage by reducing the number of malloc() / free() calls.
2010-11-08input/rewind: fix assertion failureMax Kellermann1-1/+1
The assertion added in MPD 0.15.14 was too much, it failed when the MIME type of a stream was NULL.
2010-11-05input/rewind: remove redundant NULL check before g_free() callMax Kellermann1-2/+1
2010-11-05input/rewind: add two assertionsMax Kellermann1-0/+3
2010-11-05input/rewind: fix double free bugMax Kellermann1-0/+1
Duplicate the "mime" attribute of the inner input_stream object, instead of copying the pointer.
2010-09-28input/rewind: enable for MMSThomas Jansen1-2/+10
2010-09-23rewind_input_plugin: Update MIME not only onceThomas Jansen1-3/+4
The assumption that MIME type is set only once is not valid with CURL, as URL redirections may update the MIME type. This fixes bug #3044.
2010-01-18input_stream: added attribute "uri"Max Kellermann1-1/+1
2010-01-18input_stream: added function input_stream_deinit()Max Kellermann1-0/+1
All close() implementations must call this method.
2010-01-04input/rewind: enable the "rewind" wrapper for all non-seekable streamsMax Kellermann1-3/+2
Don't limit the "rewind" input plugin to CURL streams.
2010-01-01input_stream: return allocated input_stream objectsMax Kellermann1-41/+36
Major API redesign: don't let the caller allocate the input_stream object. Let each input plugin allocate its own (derived/extended) input_stream pointer. The "data" attribute can now be removed, and all input plugins simply cast the input_stream pointer to their own structure (with an "struct input_stream base" as the first attribute).
2009-12-31Update copyright notices.Avuton Olrich1-1/+1
2009-12-29input/rewind: new input_stream wrapper to allow stream rewindingMax Kellermann1-0/+238
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).