aboutsummaryrefslogtreecommitdiffstats
path: root/src/archive (follow)
Commit message (Collapse)AuthorAgeFilesLines
* InputStream: add constructor/destructorMax Kellermann2013-01-283-12/+6
| | | | Eliminate input_stream_init() and input_stream_deinit().
* input/iso9660: add constructor/destructorMax Kellermann2013-01-281-58/+61
|
* input/iso9660: rename the classesMax Kellermann2013-01-281-18/+18
|
* input/zzip: add constructor/destructorMax Kellermann2013-01-281-22/+31
|
* input/zzip: rename the classesMax Kellermann2013-01-281-15/+14
|
* input/bzip2: add constructor/destructorMax Kellermann2013-01-281-37/+39
|
* archive/bzip2: rename the classesMax Kellermann2013-01-281-16/+16
|
* DatabaseLock, input/bzip2: remove obsolete Glib/gcc workaroundMax Kellermann2013-01-281-5/+0
|
* DecoderControl, InputStream: use Mutex/Cond instead of GMutex/GCondMax Kellermann2013-01-273-7/+6
|
* input_stream: forward-declare the structMax Kellermann2013-01-263-0/+3
| | | | Hide the definition from C code, to prepare the transition to C++.
* input_{internal,plugin}: convert to C++Max Kellermann2013-01-253-6/+6
|
* archive/*: convert to C++Max Kellermann2013-01-246-91/+136
|
* db_lock, archive/bz2, ...: workaround for G_STATIC_MUTEX_INIT warningMax Kellermann2012-04-041-0/+5
|
* input_stream: non-blocking I/OMax Kellermann2011-09-163-8/+20
| | | | | | | | | 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.
* input_stream: move input_stream_init(), _deinit() to _internal.cMax Kellermann2011-09-143-0/+3
|
* copyright year 2011Max Kellermann2011-01-296-6/+6
|
* input_stream: added attribute "uri"Max Kellermann2010-01-183-5/+4
|
* input_stream: added function input_stream_deinit()Max Kellermann2010-01-183-0/+6
| | | | All close() implementations must call this method.
* input_stream: return allocated input_stream objectsMax Kellermann2010-01-013-47/+44
| | | | | | | | 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).
* Update copyright notices.Avuton Olrich2009-12-316-6/+6
|
* archive: use reference counting for archive+inputMax Kellermann2009-12-313-1/+31
| | | | | | | 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.
* input/archive: don't initialize input_stream.readyMax Kellermann2009-12-313-0/+3
| | | | The archive plugin should decide this.
* archive/bz2: allocate buffer staticallyMax Kellermann2009-12-311-7/+3
| | | | Reduce the number of malloc()/free() calls.
* archive/bz2: added struct bz2_input_streamMax Kellermann2009-12-311-21/+32
| | | | Don't use the bz2_archive_file object for the input_stream.
* archive/iso9660: added struct iso9660_input_streamMax Kellermann2009-12-311-20/+32
| | | | Don't use the iso9660_archive_file object for the input_stream.
* archive/iso9660: set input_stream.{size,offset}Max Kellermann2009-12-311-8/+8
|
* archive/zzip: added struct zzip_input_streamMax Kellermann2009-12-311-19/+33
| | | | Don't use the zzip_archive object for the input_stream.
* archive/zzip: set input_stream.{size,offset}Max Kellermann2009-12-311-3/+5
|
* archive_plugin: use GError in the open() methodMax Kellermann2009-12-163-7/+8
|
* archive_plugin: wrap method callsMax Kellermann2009-12-163-3/+14
| | | | | Make archive_file a "real" struct, extended by all plugins. Add the plugin pointer to it. Wrap all method calls in functions.
* archive_plugin: pass const string to method open()Max Kellermann2009-12-163-3/+3
|
* archive: added a C header for each pluginMax Kellermann2009-12-166-0/+78
| | | | | Moved the archive plugin "extern" declarations into each plugin header.
* archive/bz2: removed the bz2_context typedefMax Kellermann2009-12-161-13/+13
| | | | Use the raw struct name instead.
* archive/bz2: renamed archive sources and plugin variablesMax Kellermann2009-12-161-1/+1
|
* archive/iso: renamed plugin to "iso9660"Max Kellermann2009-12-161-34/+44
| | | | Based on libiso9660.
* archive/bz2: use g_path_get_basename()Max Kellermann2009-12-161-10/+1
| | | | | Use g_path_get_basename() instead of manually filtering the path name. Big advantage: g_path_get_basename() cannot fail.
* input_stream: return errors with GErrorMax Kellermann2009-12-153-26/+56
|
* archive/bz2: simplified error handling, short readMax Kellermann2009-12-151-34/+23
| | | | | Don't attempt to fill the whole buffer in the read() method, return whatever libbz2 provides with the first successful BZ2_bzDecompress().
* archive/bz2: no CamelCaseMax Kellermann2009-12-151-11/+10
|
* archive/zzip: removed the "zip_context" typedefMax Kellermann2009-12-151-11/+11
| | | | Use the raw struct name.
* archive/zip: renamed plugin to "zzip"Max Kellermann2009-12-151-28/+28
| | | | This plugin is based on libzzip.
* Merge branch 'v0.15.x'Max Kellermann2009-12-153-4/+11
|\ | | | | | | | | | | | | | | Conflicts: src/archive/bz2_plugin.c src/archive_api.h src/input/file_input_plugin.c test/run_input.c
| * iso, zip: fixed memory leak in destructorMax Kellermann2009-12-152-2/+4
| | | | | | | | Free the "context" pointer in the method archive_plugin.close().
| * archive: close archive when stream is closedMax Kellermann2009-12-153-0/+6
| | | | | | | | | | | | | | | | Fixes a memory leak: the "archive" input plugin opens the archive, but never closes it. This patch moves the responsibility for doing that to archive_plugin.open_stream(). This is an slight internal API change, but it is the simplest and least intrusive fix for the memory leak.
| * archive/bz2: removed NULL check before g_free()Max Kellermann2009-12-151-2/+2
| | | | | | | | g_free(NULL) is allowed.
* | archive/bz2: bz2_fillbuffer() returns boolMax Kellermann2009-12-151-5/+6
| |
* | archive/bz2: fixed indentationMax Kellermann2009-12-151-15/+22
| |
* | archive/bz2: g_malloc() cannot failMax Kellermann2009-12-151-4/+2
| |
* | include config.h in all sourcesMax Kellermann2009-11-123-1/+3
| | | | | | | | | | | | 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.
* | input_stream: use "goffset" instead of "off_t"Max Kellermann2009-10-111-1/+1
|/ | | | | | | | | | | | The "off_t" type may change when you enable or disable large file support on 32 bit platforms. This caused severe ABI problems within MPD when we enabled LFS for the first time: two sources included config.h and sys/types.h in different order, and had different off_t sizes - leading to memory corruption because of ABI incompatibility. This patch attempts to get rid of all public "off_t" uses: it removes "off_t" from the input_stream ABI/API, and switches to GLib's 64 bit "goffset" type. This may hurt 32 bit embedded platforms a tiny bit, but that's not even measurable.