aboutsummaryrefslogtreecommitdiffstats
path: root/src/input/InputPlugin.hxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2015-01-01Copyright year 2015Max Kellermann1-1/+1
2014-08-19InputPlugin: remove typedef offset_typeMax Kellermann1-2/+0
Has been moved to class InputStream long ago.
2014-05-11InputStream: make various methods abstractMax Kellermann1-32/+0
Replace InputPlugin attributes.
2014-05-11InputStream: add virtual destructorMax Kellermann1-1/+0
Replaces the method Close().
2014-05-11InputStream: convert to classMax Kellermann1-1/+1
2014-03-02InputPlugin: allow init() to soft-failMax Kellermann1-1/+30
Add enum InputResult which is a tri-state. Input plugins may now fail and just become unavailable.
2014-01-24Input*: move to input/Max Kellermann1-0/+0
2014-01-13copyright year 2014Max Kellermann1-1/+1
2013-10-23input_stream: rename struct to InputStreamMax Kellermann1-12/+12
2013-10-19*: use nullptr instead of NULLMax Kellermann1-3/+1
2013-10-17InputStream: use int64_t instead of goffsetMax Kellermann1-3/+4
Decouple some more from GLib.
2013-10-17input_plugin: rename struct to "InputPlugin"Max Kellermann1-1/+1
2013-09-05InputLegacy: move functions to the input_stream classMax Kellermann1-1/+5
2013-09-04util/Error: new error passing libraryMax Kellermann1-6/+6
Replaces GLib's GError.
2013-09-03input_stream.h: rename to InputLegacy.hxxMax Kellermann1-1/+1
2013-08-04InputPlugin: pass config_param referenceMax Kellermann1-1/+1
2013-07-30tag: convert to C++Max Kellermann1-1/+1
2013-01-27DecoderControl, InputStream: use Mutex/Cond instead of GMutex/GCondMax Kellermann1-1/+1
2013-01-25input_{internal,plugin}: convert to C++Max Kellermann1-4/+3
2011-09-16input_stream: non-blocking I/OMax Kellermann1-2/+14
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-09-16input_plugin: add method check()Max Kellermann1-0/+8
To check for errors without reading. The decoder thread wants to do that, before it passes the input stream to the plugin.
2011-09-14input_plugin: add method update()Max Kellermann1-0/+6
Update the struct attributes, important for facades like the "rewind" plugin. To replace buffer().
2011-03-31fix common misspellingsJonathan Neuschäfer1-1/+1
These fixes were mostly generated with `codespell' [0] and manually reviewed. [0] http://git.profusion.mobi/cgit.cgi/lucas/codespell/
2011-01-29copyright year 2011Max Kellermann1-1/+1
2010-01-01input_stream: return allocated input_stream objectsMax Kellermann1-2/+1
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-15input_stream: return errors with GErrorMax Kellermann1-4/+7
2009-12-14input_plugin: method init() returns errors with GErrorMax Kellermann1-1/+3
Not used by any plugin currently, but this eliminates the g_error() call in input_plugin_config(), so it's worth it.
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-03-13all: Update copyright header.Avuton Olrich1-3/+4
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-1/+4
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-0/+14
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_stream: moved struct input_plugin to input_plugin.hMax Kellermann1-16/+17
Start to separate private from public input_stream API.
2009-03-02tag_id3: parse ID3 tags in AIFF filesMax Kellermann1-6/+6
Added a small AIFF parser library, code copied from the RIFF parser (big-endian integers). Look for an "ID3" chunk, and let libid3tag parse it.
2009-03-02tag_id3: parse ID3 tags in RIFF/WAV filesMax Kellermann1-11/+14
Added a small RIFF parser library. Look for an "id3" chunk, and let libid3tag parse it.
2009-02-04playlist: moved code to playlist_state.cMax Kellermann1-6/+13
Moved everything related to saving or loading the playlist from/to the state file to playlist_state.c.
2009-01-07pcm: pass void pointers to PCM functionsMax Kellermann1-1/+1
In generic PCM functions allowing all sample formats, pass a void pointer instead of a char pointer.
2009-01-07pcm_utils: moved code to pcm_mix.cMax Kellermann1-10/+9
Moved the software mixing code (used by crossfading) to a separate library.
2009-01-03pcm_utils: use the custom PRNG for volume ditheringMax Kellermann1-11/+9
Don't use libc's rand() function, because it is slow. Our own trivial linear congruential generator is good enough for dithering.
2008-12-30listen: moved redirect_stdin() to daemon.cMax Kellermann1-0/+6
redirect_stdin() is a daemonization function, and disconnecting from the standard input is always a good idea for MPD.
2008-12-30main: moved daemonize() to daemon.cMax Kellermann1-12/+5
2008-12-27cmdline: use gboolean instead of intMax Kellermann1-4/+6
Prepare for the migration to the GLib option parser, which uses gboolean for flags.
2008-12-27moved command line parser to cmdline.cMax Kellermann1-7/+13
2008-10-31added prefix to header macrosMax Kellermann1-2/+2
"LOG_H" is a macro which is also used by ffmpeg/log.h. This is ffmpeg's fault, because short macros should be reserved for applications, but since it's always a good idea to choose prefixed macro names, even for applications, we are going to do that in MPD.
2008-10-08don't include os_compat.hMax Kellermann1-1/+1
When there are standardized headers, use these instead of the bloated os_compat.h.
2008-09-09output: moved code from audioOutput.c to output_control.cMax Kellermann1-19/+0
Similar to decoder_control.c, output_control.c will provide functions for controlling the output thread (which will be implemented later).
2008-09-09output: removed keepAudioOutputAlive() declarationMax Kellermann1-1/+0
This function is declared, but is neither used nor implemented.
2008-09-08output: static audio_output_plugin list as arrayMax Kellermann1-17/+0
Instead of having to register each output plugin, store them statically in an array. This eliminates the need for the List library here, and saves some small allocations during startup.
2008-09-07output: renamed typedef AudioOutput to struct audio_outputMax Kellermann1-21/+22
Also rename AudioOutputPlugin to struct audio_output_plugin, and use forward declarations to reduce include dependencies.
2008-09-07output: added output_api.hMax Kellermann1-64/+3
Just like decoder_api.h, output_api.h provides the audio output API which is used by the plugins.