aboutsummaryrefslogtreecommitdiffstats
path: root/src/output_api.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* output: convert to C++Max Kellermann2013-04-171-2/+2
|
* output_plugin: the plugin allocates the audio_output objectMax Kellermann2011-09-191-0/+1
| | | | | | Pass audio_output objects around instead of void pointers. This will give some more control to the plugin, and prepares for non-blocking audio outputs.
* copyright year 2011Max Kellermann2011-01-291-1/+1
|
* Update copyright notices.Avuton Olrich2009-12-311-1/+1
|
* all: Update copyright header.Avuton Olrich2009-03-131-7/+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.
* output_api: removed audio_output_get_name()Max Kellermann2009-02-251-4/+0
| | | | Use config_get_block_string("name") instead of audio_output_get_name().
* output_api: don't include config.hMax Kellermann2009-02-161-1/+0
| | | | If an output plugin requires config.h, it should include it directly.
* mixer_api: replaced method "control()" with "{get,set}_volume()"Max Kellermann2009-02-161-7/+0
| | | | | The method control() is too complicated, and overengineered. Replace it with two trivial functions: get_volume() and set_volume().
* output_api: moved "struct audio_output_plugin" to output_plugin.hMax Kellermann2009-02-161-87/+1
| | | | | If we move the plugin struct to a separate header, we don't have to include the big fat output_api.h everywhere.
* output_api: moved "enum output_command" to output_internal.hMax Kellermann2009-02-161-11/+0
| | | | | Now that the output_command enum isn't exposed to output plugins anymore, we can hide its definition within output_internal.h.
* output_api: include "config.h" without "../"Max Kellermann2009-02-091-1/+1
| | | | Including "../config.h" breaks on some systems.
* output_api: moved the command check out of method pause()Max Kellermann2009-01-301-6/+4
| | | | | | Move the "while" loop which checks for commands to the caller ao_pause(). This simplifies the pause() method, and lets us remove audio_output_is_pending().
* output_api: removed DISABLED_AUDIO_OUTPUT_PLUGINMax Kellermann2009-01-301-2/+0
| | | | The macro is unused.
* output_api: removed audio_output_closed()Max Kellermann2009-01-301-2/+0
| | | | | The function is only used by the MVP output plugin, and this one call is wrong.
* mixer: removed mixer_configure_legacy(), AC_MIXER_CONFIGUREMax Kellermann2009-01-251-1/+0
| | | | Those have been superseded by the new legacy configuration code.
* conf: const pointers in block get functionsMax Kellermann2009-01-251-1/+1
| | | | | All config_get_block_*() functions should accept constant config_param pointers.
* conf: no CamelCase, part IMax Kellermann2009-01-171-1/+1
| | | | Renamed functions, types, variables.
* Moving mixers to audio outputsViliam Mateicka2008-12-311-0/+12
|
* output: use GLib instead of log.h/util.hMax Kellermann2008-11-251-1/+0
|
* added prefix to header macrosMax Kellermann2008-10-311-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.
* output: use bool for return values and flagsMax Kellermann2008-10-291-3/+3
| | | | | Don't return 0/-1 on success/error, but true/false. Instead of int, use bool for storing flags.
* don't include os_compat.hMax Kellermann2008-10-081-1/+0
| | | | | When there are standardized headers, use these instead of the bloated os_compat.h.
* audio_output: added method pause()Max Kellermann2008-09-291-0/+11
| | | | | | | | | | | | pause() puts the audio output into pause mode: if supported, it may perform a special action, which keeps the device open, but does not play anything. Output plugins like "shout" might want to play silence during pause, so their clients won't be disconnected. Plugins which do not support pausing will simply be closed, and have to be reopened when unpaused. This pach includes an implementation for the shout plugin, which sends silence chunks.
* audio_output: added function audio_output_is_pending()Max Kellermann2008-09-291-0/+7
| | | | | | The function audio_output_is_pending() returns whether there is a pending command. This is useful for output plugins as a break condition for longer loops.
* output: document the audio_output_plugin methodsMax Kellermann2008-09-241-0/+44
|
* output: make "struct audio_output" opaque for output pluginsMax Kellermann2008-09-241-44/+10
| | | | | | | | | | | We have eliminated direct accesses to the audio_output struct from the all output plugins. Make it opaque for them, and move its real declaration to output_internal.h, similar to decoder_internal.h. Pass the opaque structure to plugin.init() only, which will return the plugin's data pointer on success, and NULL on failure. This data pointer will be passed to all other methods instead of the audio_output struct.
* output: added audio_output_closed()Max Kellermann2008-09-241-0/+2
| | | | | | The JACK output plugin needs to reset its "opened" flag when the JACK server fails. To prevent it from accessing the audio_output struct directly introduce the API function audio_output_closed().
* output: added audio_output_get_name()Max Kellermann2008-09-241-0/+2
| | | | | | Reduce direct accesses to the audio_output struct from the plugins: this time, eliminate all accesses to audio_output.name. The name is required by some plugins for log messages.
* output: pass audio_format to plugin.init() and plugin.open()Max Kellermann2008-09-241-2/+5
| | | | | | | Pass the globally configured audio_format as a const pointer to plugin.init(). plugin.open() gets a writable pointer which contains the audio_format requested by the plugin. Its initial value is either the configured audio_format or the input file's audio_format.
* output: one thread per audio outputMax Kellermann2008-09-241-0/+26
| | | | | | To keep I/O nastiness and latencies away from the core, move the audio output code to a separate thread, one per output. The thread is created on demand, and currently runs until mpd exits.
* output: removed audio_output.sameInAndOutFormatsMax Kellermann2008-09-111-1/+0
| | | | | Eliminate sameInAndOutFormats and check with audio_format_equals() each time it this information is needed. Another 4 bytes saved.
* output: removed audio_output.convertAudioFormatMax Kellermann2008-09-111-1/+0
| | | | | Instead of checking convertAudioFormat, we can simply check if reqAudioFormat is defined. This saves 4 bytes in the struct.
* output: renamed method namesMax Kellermann2008-09-091-22/+12
| | | | No CamelCase. Also don't declare typedefs for the methods.
* output: const plugin structuresMax Kellermann2008-09-081-1/+1
| | | | | Since the plugin struct is never modified, we should store it in constant locations.
* output: replace audio_output.*Func with audio_output.pluginMax Kellermann2008-09-071-7/+1
| | | | | Instead of copying all that stuff from the audio output plugin to the audio output structure, store a pointer to the plugin.
* output: renamed typedef AudioOutput to struct audio_outputMax Kellermann2008-09-071-12/+12
| | | | | Also rename AudioOutputPlugin to struct audio_output_plugin, and use forward declarations to reduce include dependencies.
* output: added output_api.hMax Kellermann2008-09-071-0/+91
Just like decoder_api.h, output_api.h provides the audio output API which is used by the plugins.