aboutsummaryrefslogtreecommitdiffstats
path: root/src/input/LocalOpen.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2015-01-01Copyright year 2015Max Kellermann1-1/+1
2014-10-02input/Open: use OpenLocalInputStream()Max Kellermann1-2/+13
Make the "open" method of plugins "file" and "archive" dummy methods that always fail. Instead, let InputStream::Open() hard-code access to these two plugins by using OpenLocalInputStream(). This allows simplifyin the algorithm for falling back to probing archive plugins.
2014-10-02input/LocalOpen: new library for opening local filesMax Kellermann1-11/+19
Combines the "file" and the "archive" input plugins.
2014-02-08ArchivePlugin: pass Path to open()Max Kellermann1-2/+3
2014-02-08ArchivePlugin: rename struct archive_plugin to ArchivePluginMax Kellermann1-1/+1
2014-01-24archive/*: move to archive/plugins/Max Kellermann1-0/+0
2014-01-13copyright year 2014Max Kellermann1-1/+1
2013-10-19*: use nullptr instead of NULLMax Kellermann1-3/+3
2013-09-04util/Error: new error passing libraryMax Kellermann1-9/+5
Replaces GLib's GError.
2013-01-30ArchivePlugin: move instance methods to class ArchiveFileMax Kellermann1-33/+0
2013-01-29ArchiveFile: convert to a classMax Kellermann1-21/+15
2013-01-29ArchivePlugin: replace scan_reset(), scan_next() with visit()Max Kellermann1-16/+4
Add the interface ArchiveVisitor.
2013-01-29ArchivePlugin: scan_next() returns const stringMax Kellermann1-1/+1
2013-01-27DecoderControl, InputStream: use Mutex/Cond instead of GMutex/GCondMax Kellermann1-1/+1
2013-01-24archive/*: convert to C++Max Kellermann1-3/+3
2011-09-16input_stream: non-blocking I/OMax Kellermann1-3/+5
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-01-29copyright year 2011Max Kellermann1-1/+1
2010-01-01input_stream: return allocated input_stream objectsMax Kellermann1-3/+3
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-16archive_plugin: use GError in the open() methodMax Kellermann1-2/+7
2009-12-16archive_plugin: wrap method callsMax Kellermann1-0/+87
Make archive_file a "real" struct, extended by all plugins. Add the plugin pointer to it. Wrap all method calls in functions.