aboutsummaryrefslogtreecommitdiffstats
path: root/src/input/plugins/RewindInputPlugin.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2015-01-01Copyright year 2015Max Kellermann1-1/+1
2014-05-22InputStream: make Seek() always absoluteMax Kellermann1-5/+4
Remove the "whence" parameter that is not actually necessary, and only complicates the InputStream implementations.
2014-05-21input/rewind: move code to class ProxyInputStreamMax Kellermann1-59/+14
2014-05-21input/rewind: include cleanupMax Kellermann1-4/+2
2014-05-21input/rewind: work around assertion failureMax Kellermann1-1/+1
Caused by commit 0b4fa41a
2014-05-12InputStream: "protect" attributesMax Kellermann1-7/+7
2014-05-11InputStream: remove attribute "plugin"Max Kellermann1-8/+1
2014-05-11InputStream: make various methods abstractMax Kellermann1-86/+19
Replace InputPlugin attributes.
2014-05-11InputStream: add virtual destructorMax Kellermann1-10/+1
Replaces the method Close().
2014-05-11input/plugins: make InputStream the base classMax Kellermann1-37/+29
Prepare for adding virtual methods.
2014-05-11input/rewind: convert to classMax Kellermann1-46/+89
2014-05-11InputStream: convert to classMax Kellermann1-10/+11
2014-01-24Input*: move to input/Max Kellermann1-2/+2
2014-01-13copyright year 2014Max Kellermann1-1/+1
2013-11-28include cleanup using iwyuMax Kellermann1-1/+0
2013-10-28*: use nullptr instead of NULLMax Kellermann1-1/+1
2013-10-23input_stream: rename struct to InputStreamMax Kellermann1-15/+15
2013-10-23InputInternal: remove obsolete libraryMax Kellermann1-1/+0
2013-10-17InputStream: use int64_t instead of goffsetMax Kellermann1-3/+5
Decouple some more from GLib.
2013-10-17input_plugin: rename struct to "InputPlugin"Max Kellermann1-2/+2
2013-10-02Log: new logging library APIMax Kellermann1-3/+0
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend.
2013-09-05Tag, ...: move to libtag.aMax Kellermann1-1/+1
2013-09-05InputLegacy: move functions to the input_stream classMax Kellermann1-8/+7
2013-09-04util/Error: new error passing libraryMax Kellermann1-8/+6
Replaces GLib's GError.
2013-07-30tag: convert to C++Max Kellermann1-2/+3
2013-01-30input/Rewind: remove bogus assertionMax Kellermann1-1/+0
2013-01-28InputStream: use std::stringMax Kellermann1-6/+4
2013-01-28InputStream: store references instead of pointersMax Kellermann1-1/+1
2013-01-28InputStream: add constructor/destructorMax Kellermann1-5/+3
Eliminate input_stream_init() and input_stream_deinit().
2013-01-27DecoderControl, InputStream: use Mutex/Cond instead of GMutex/GCondMax Kellermann1-1/+1
2013-01-26input_stream: forward-declare the structMax Kellermann1-0/+1
Hide the definition from C code, to prepare the transition to C++.
2013-01-25input_{internal,plugin}: convert to C++Max Kellermann1-2/+2
2013-01-21input/rewind: convert to C++Max Kellermann1-72/+76
2011-09-16input_stream: non-blocking I/OMax Kellermann1-9/+6
Add GMutex, GCond attributes which will be used by callers to conditionally wait on the stream. Remove the (now-useless) plugin method buffer(), wait on GCond instead. Lock the input_stream before each method call. Do the same with the playlist plugins.
2011-09-16input_plugin: add method check()Max Kellermann1-0/+9
To check for errors without reading. The decoder thread wants to do that, before it passes the input stream to the plugin.
2011-09-15input/rewind: copy the MIME type only onceMax Kellermann1-1/+3
Reduce heap usage by reducing the number of malloc() / free() calls.
2011-09-14input_plugin: add method update()Max Kellermann1-0/+10
Update the struct attributes, important for facades like the "rewind" plugin. To replace buffer().
2011-09-14input_stream: move input_stream_init(), _deinit() to _internal.cMax Kellermann1-0/+1
2011-08-24input/curl: remove obsolete function input_curl_reinit()Max Kellermann1-1/+0
2011-01-29copyright year 2011Max Kellermann1-1/+1
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).