aboutsummaryrefslogtreecommitdiffstats
path: root/src/input/Init.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-03-02InputPlugin: allow init() to soft-failMax Kellermann1-2/+20
Add enum InputResult which is a tri-state. Input plugins may now fail and just become unavailable.
2014-01-24ConfigGlobal: add config_find_block()Max Kellermann1-34/+1
Merge duplicate code.
2014-01-24Input*: move to input/Max Kellermann1-2/+2
2014-01-24Config*: move to config/Max Kellermann1-3/+3
2014-01-13copyright year 2014Max Kellermann1-1/+1
2013-10-19*: use nullptr instead of NULLMax Kellermann1-11/+11
2013-10-17input_plugin: rename struct to "InputPlugin"Max Kellermann1-1/+1
2013-09-05conf.h: remove obsolete headerMax Kellermann1-1/+3
Use only ConfigData.hxx in plugin sources to reduce header dependencies.
2013-09-04util/Error: new error passing libraryMax Kellermann1-20/+13
Replaces GLib's GError.
2013-08-04InputPlugin: pass config_param referenceMax Kellermann1-8/+11
2013-01-25input_{internal,plugin}: convert to C++Max Kellermann1-1/+1
2013-01-10input_stream: convert to C++ (internally)Max Kellermann1-3/+3
2012-07-10require GLib 2.16Max Kellermann1-1/+0
GLib 2.16 was released more than 4 years ago. Let's remove some cruft from the glib_compat.h header, and avoid new cruft to it.
2012-06-12input_registry: add _for_each() macrosMax Kellermann1-4/+3
2011-01-29copyright year 2011Max Kellermann1-1/+1
2011-01-08input_init: add assertions on completeness of pluginsMax Kellermann1-0/+6
2009-12-31Update copyright notices.Avuton Olrich1-1/+1
2009-12-14input_plugin: method init() returns errors with GErrorMax Kellermann1-7/+32
Not used by any plugin currently, but this eliminates the g_error() call in input_plugin_config(), so it's worth it.
2009-12-14input_stream: moved input_stream_global_init() to input_init.cMax Kellermann1-79/+2
2009-12-14input_stream: moved plugin list to input_registry.cMax Kellermann1-30/+2
2009-12-14input_stream: make input_plugins NULL terminatedMax Kellermann1-7/+5
This is easier to traverse.
2009-11-12include config.h in all sourcesMax Kellermann1-1/+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-10-13input/lastfm: removed obsolete last.fm input pluginMax Kellermann1-5/+0
This has been replaced by the last.fm playlist plugin. The input plugin has never worked well, and was just a playground to experiment with the last.fm radio protocol.
2009-10-11input_stream: use "goffset" instead of "off_t"Max Kellermann1-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.
2009-09-24configure.ac: rename HAVE_CURL to ENABLE_CURLMax Kellermann1-2/+2
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_lastfm: new input plugin for last.fm radioMax Kellermann1-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.
2009-03-02input: pass config_param to input_plugin.init()Max Kellermann1-5/+39
Allow input plugins to configure with an "input" block in mpd.conf. Also allow the user to disable a plugin completely.
2009-03-02input_plugin: added methods init(), finish()Max Kellermann1-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.
2009-03-02input: moved plugins to ./src/input/Max Kellermann1-4/+4
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-30input_stream: make seek(), buffer() optionalMax Kellermann1-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).
2009-01-30input_stream: let the implementation assign is->pluginMax Kellermann1-1/+7
This way, plugins can manipulate the plugin pointer during open().
2009-01-29added support for the MMS protocolMax Kellermann1-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.
2009-01-03input_stream: added tag() methodMax Kellermann1-4/+10
The tag() method reads a tag from the stream. This replaces the meta_name and meta_title attributes.
2008-12-27disable archive API without pluginsMax Kellermann1-0/+5
When there are no archive plugins, we do not need the archive API at all. Drop all its overhead.
2008-12-16new archive api, input_archive streamViliam Mateicka1-0/+2
2008-11-16input_stream: size==-1 means unknown sizeMax Kellermann1-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.
2008-11-15decoder: check length==0 in decoder_read()Max Kellermann1-0/+4
When the caller passes length==0, decoder_read() entered an endless loop. Check that condition before entering the "while" loop.
2008-10-31input_stream: pass const url to input_stream_open()Max Kellermann1-1/+1
2008-10-28input_stream: convert offset and size to the off_t data typeMax Kellermann1-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.
2008-10-26input_stream: use g_free() in input_stream_close()Max Kellermann1-8/+5
g_free() allows passing the NULL pointer.
2008-10-26input_stream: use "bool" instead of "int"Max Kellermann1-7/+9
For boolean values and success flags, use bool instead of integer (1/0 for true/false, 0/-1 for success/failure).
2008-10-26input_stream: input_stream_close() returns voidMax Kellermann1-2/+2
close() shouldn't fail with read-only streams.
2008-10-26input_stream: added struct input_pluginMax Kellermann1-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".
2008-10-26input_stream: no CamelCaseMax Kellermann1-31/+31
Renamed all functions and variables.
2008-10-26input_file: removed global constructorMax Kellermann1-1/+0
The global constructor is empty, and can be removed.
2008-10-26input_stream: renamed sources, no CamelCaseMax Kellermann1-2/+2
Renamed inputStream.c and inputStream_file.c.
2008-10-26http: use libcurlMax Kellermann1-3/+15
MPD's HTTP client code has always been broken, no matter how effort was put into fixing it. Replace it with libcurl, which is known to be quite stable. This adds a fat library dependency, but only for people who need streaming.
2008-10-26input_stream: added input_stream_global_finish()Max Kellermann1-0/+4
The hook input_stream_global_finish() deinitializes global structures of all input stream implementations.