aboutsummaryrefslogtreecommitdiffstats
path: root/src/input/archive_input_plugin.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2011-09-16input_stream: non-blocking I/OMax Kellermann1-2/+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-10/+9
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-31archive: use reference counting for archive+inputMax Kellermann1-4/+1
Make the input_stream implementation hold a reference on the archive_file object. Allow the caller to "close" the archive_file object immediately, no matter if the open_stream() method has succeeded or not.
2009-12-31input/archive: don't initialize input_stream.readyMax Kellermann1-2/+0
The archive plugin should decide this.
2009-12-16archive_plugin: use GError in the open() methodMax Kellermann1-1/+1
2009-12-16input/archive: check for archive_file_open() errorsMax Kellermann1-0/+2
This fixes a NULL pointer dereference in case of archive plugin failure.
2009-12-16archive_plugin: wrap method callsMax Kellermann1-3/+3
Make archive_file a "real" struct, extended by all plugins. Add the plugin pointer to it. Wrap all method calls in functions.
2009-12-15input_stream: return errors with GErrorMax Kellermann1-4/+5
2009-12-15input/archive: use g_path_is_absolute()Max Kellermann1-1/+1
.. instead of manually checking pathname[0]=='/'. g_path_is_absolute() is portable.
2009-12-15input/archive: close the archive file on errorMax Kellermann1-0/+1
Fixed memory leak in error handler.
2009-11-12include config.h in all sourcesMax Kellermann1-0/+1
After we've been hit by Large File Support problems several times in the past week (which only occur on 32 bit platforms, which I don't have), this is yet another attempt to fix the issue.
2009-03-13all: Update copyright header.Avuton Olrich1-6/+7
This updates the copyright header to all be the same, which is pretty much an update of where to mail request for a copy of the GPL and the years of the MPD project. This also puts all committers under 'The Music Player Project' umbrella. These entries should go individually in the AUTHORS file, for consistancy.
2009-03-02input: pass config_param to input_plugin.init()Max Kellermann1-0/+1
Allow input plugins to configure with an "input" block in mpd.conf. Also allow the user to disable a plugin completely.
2009-03-02input: moved plugins to ./src/input/Max Kellermann1-1/+1
Create a sub directory for input plugins.
2009-03-02input_stream: moved struct input_plugin to input_plugin.hMax Kellermann1-1/+1
Start to separate private from public input_stream API.
2009-01-30archive: replaced setup_stream() with open_stream()Max Kellermann1-81/+4
The open_stream() method opens the input_stream. This allows the archive plugin to do its own initialization, and it also allows it to use input_stream.data. We can remove input_stream.archive now, which was unnatural to have in the first place.
2009-01-30input_stream: let the implementation assign is->pluginMax Kellermann1-0/+1
This way, plugins can manipulate the plugin pointer during open().
2009-01-03don't include utils.h when it isn't usedMax Kellermann1-1/+0
2008-12-16new archive api, input_archive streamViliam Mateicka1-0/+154