Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2015-01-01 | Copyright year 2015 | Max Kellermann | 1 | -1/+1 | |
2014-10-02 | input/Open: use OpenLocalInputStream() | Max Kellermann | 1 | -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-02 | input/LocalOpen: new library for opening local files | Max Kellermann | 1 | -11/+19 | |
Combines the "file" and the "archive" input plugins. | |||||
2014-02-08 | ArchivePlugin: pass Path to open() | Max Kellermann | 1 | -2/+3 | |
2014-02-08 | ArchivePlugin: rename struct archive_plugin to ArchivePlugin | Max Kellermann | 1 | -1/+1 | |
2014-01-24 | archive/*: move to archive/plugins/ | Max Kellermann | 1 | -0/+0 | |
2014-01-13 | copyright year 2014 | Max Kellermann | 1 | -1/+1 | |
2013-10-19 | *: use nullptr instead of NULL | Max Kellermann | 1 | -3/+3 | |
2013-09-04 | util/Error: new error passing library | Max Kellermann | 1 | -9/+5 | |
Replaces GLib's GError. | |||||
2013-01-30 | ArchivePlugin: move instance methods to class ArchiveFile | Max Kellermann | 1 | -33/+0 | |
2013-01-29 | ArchiveFile: convert to a class | Max Kellermann | 1 | -21/+15 | |
2013-01-29 | ArchivePlugin: replace scan_reset(), scan_next() with visit() | Max Kellermann | 1 | -16/+4 | |
Add the interface ArchiveVisitor. | |||||
2013-01-29 | ArchivePlugin: scan_next() returns const string | Max Kellermann | 1 | -1/+1 | |
2013-01-27 | DecoderControl, InputStream: use Mutex/Cond instead of GMutex/GCond | Max Kellermann | 1 | -1/+1 | |
2013-01-24 | archive/*: convert to C++ | Max Kellermann | 1 | -3/+3 | |
2011-09-16 | input_stream: non-blocking I/O | Max Kellermann | 1 | -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-29 | copyright year 2011 | Max Kellermann | 1 | -1/+1 | |
2010-01-01 | input_stream: return allocated input_stream objects | Max Kellermann | 1 | -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-31 | Update copyright notices. | Avuton Olrich | 1 | -1/+1 | |
2009-12-16 | archive_plugin: use GError in the open() method | Max Kellermann | 1 | -2/+7 | |
2009-12-16 | archive_plugin: wrap method calls | Max Kellermann | 1 | -0/+87 | |
Make archive_file a "real" struct, extended by all plugins. Add the plugin pointer to it. Wrap all method calls in functions. |