aboutsummaryrefslogtreecommitdiffstats
path: root/src/input_stream.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* input_lastfm: new input plugin for last.fm radioMax Kellermann2009-03-021-0/+5
| | | | | | | The lastfm input plugin enables MPD to play lastfm:// URLs. This plugin is not complete yet: it plays only the first song in the last.fm playlist, and the playlist parser isn't even implemented properly.
* input: pass config_param to input_plugin.init()Max Kellermann2009-03-021-5/+39
| | | | | Allow input plugins to configure with an "input" block in mpd.conf. Also allow the user to disable a plugin completely.
* input_plugin: added methods init(), finish()Max Kellermann2009-03-021-6/+9
| | | | | | Instead of hard-coding the plugin global initialization in input_stream_global_init(), make it walk the plugin list and initialize all plugins.
* input: moved plugins to ./src/input/Max Kellermann2009-03-021-4/+4
| | | | Create a sub directory for input plugins.
* input_stream: moved struct input_plugin to input_plugin.hMax Kellermann2009-03-021-1/+1
| | | | Start to separate private from public input_stream API.
* input_stream: make seek(), buffer() optionalMax Kellermann2009-01-301-0/+7
| | | | | | Make those two methods optional to implement, and let input_stream.c provide fallbacks. The buffer() method will be removed one day, and there is now only one implementation left (input_curl.c).
* input_stream: let the implementation assign is->pluginMax Kellermann2009-01-301-1/+7
| | | | This way, plugins can manipulate the plugin pointer during open().
* added support for the MMS protocolMax Kellermann2009-01-291-0/+7
| | | | | | | This patch implements the MMS protocol, by using libmms. It is quite experimental: it does not support seeking yet, and it is currently using synchronous I/O, which causes MPD to hang while waiting for the server.
* input_stream: added tag() methodMax Kellermann2009-01-031-4/+10
| | | | | The tag() method reads a tag from the stream. This replaces the meta_name and meta_title attributes.
* disable archive API without pluginsMax Kellermann2008-12-271-0/+5
| | | | | When there are no archive plugins, we do not need the archive API at all. Drop all its overhead.
* new archive api, input_archive streamViliam Mateicka2008-12-161-0/+2
|
* input_stream: size==-1 means unknown sizeMax Kellermann2008-11-161-1/+1
| | | | | | Define the special value "-1" as "unknown size". Previously, there was no indicator for streams with unknown size, which might confuse some decoders.
* decoder: check length==0 in decoder_read()Max Kellermann2008-11-151-0/+4
| | | | | When the caller passes length==0, decoder_read() entered an endless loop. Check that condition before entering the "while" loop.
* input_stream: pass const url to input_stream_open()Max Kellermann2008-10-311-1/+1
|
* input_stream: convert offset and size to the off_t data typeMax Kellermann2008-10-281-1/+1
| | | | | | size_t and long aren't 64 bit safe (i.e. files larger than 2 GB on a 32 bit OS). Use off_t instead, which is a 64 bit integer if compiled with large file support.
* input_stream: use g_free() in input_stream_close()Max Kellermann2008-10-261-8/+5
| | | | g_free() allows passing the NULL pointer.
* input_stream: use "bool" instead of "int"Max Kellermann2008-10-261-7/+9
| | | | | For boolean values and success flags, use bool instead of integer (1/0 for true/false, 0/-1 for success/failure).
* input_stream: input_stream_close() returns voidMax Kellermann2008-10-261-2/+2
| | | | close() shouldn't fail with read-only streams.
* input_stream: added struct input_pluginMax Kellermann2008-10-261-11/+22
| | | | | | | Instead of managing a set of method pointers in each input_stream struct, move these into the new input_plugin struct. Each input_stream has only a pointer to the plugin struct. Pointers to all implementations are kept in the array "input_plugins".
* input_stream: no CamelCaseMax Kellermann2008-10-261-31/+31
| | | | Renamed all functions and variables.
* input_file: removed global constructorMax Kellermann2008-10-261-1/+0
| | | | The global constructor is empty, and can be removed.
* input_stream: renamed sources, no CamelCaseMax Kellermann2008-10-261-0/+98
Renamed inputStream.c and inputStream_file.c.