From bed2a49fe97b8f070ace2dd37909bb06540c66bd Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sun, 7 Sep 2008 22:41:17 +0200 Subject: output: added output_api.h Just like decoder_api.h, output_api.h provides the audio output API which is used by the plugins. --- src/audioOutput.h | 67 +++---------------------------------------------------- 1 file changed, 3 insertions(+), 64 deletions(-) (limited to 'src/audioOutput.h') diff --git a/src/audioOutput.h b/src/audioOutput.h index d706b602e..82767343b 100644 --- a/src/audioOutput.h +++ b/src/audioOutput.h @@ -19,75 +19,14 @@ #ifndef AUDIO_OUTPUT_H #define AUDIO_OUTPUT_H +#include "output_api.h" #include "../config.h" -#include "pcm_utils.h" -#include "mpd_types.h" -#include "audio_format.h" -#include "tag.h" #include "conf.h" -#include "utils.h" #include "os_compat.h" -#define DISABLED_AUDIO_OUTPUT_PLUGIN(plugin) AudioOutputPlugin plugin; - -typedef struct _AudioOutput AudioOutput; - -typedef int (*AudioOutputTestDefaultDeviceFunc) (void); - -typedef int (*AudioOutputInitDriverFunc) (AudioOutput * audioOutput, - ConfigParam * param); - -typedef void (*AudioOutputFinishDriverFunc) (AudioOutput * audioOutput); - -typedef int (*AudioOutputOpenDeviceFunc) (AudioOutput * audioOutput); - -typedef int (*AudioOutputPlayFunc) (AudioOutput * audioOutput, - const char *playChunk, size_t size); - -typedef void (*AudioOutputDropBufferedAudioFunc) (AudioOutput * audioOutput); - -typedef void (*AudioOutputCloseDeviceFunc) (AudioOutput * audioOutput); - -typedef void (*AudioOutputSendMetadataFunc) (AudioOutput * audioOutput, - const struct tag *tag); - -struct _AudioOutput { - int open; - const char *name; - const char *type; - - AudioOutputFinishDriverFunc finishDriverFunc; - AudioOutputOpenDeviceFunc openDeviceFunc; - AudioOutputPlayFunc playFunc; - AudioOutputDropBufferedAudioFunc dropBufferedAudioFunc; - AudioOutputCloseDeviceFunc closeDeviceFunc; - AudioOutputSendMetadataFunc sendMetdataFunc; - - int convertAudioFormat; - struct audio_format inAudioFormat; - struct audio_format outAudioFormat; - struct audio_format reqAudioFormat; - ConvState convState; - char *convBuffer; - size_t convBufferLen; - int sameInAndOutFormats; - - void *data; -}; - -typedef struct _AudioOutputPlugin { - const char *name; - - AudioOutputTestDefaultDeviceFunc testDefaultDeviceFunc; - AudioOutputInitDriverFunc initDriverFunc; - AudioOutputFinishDriverFunc finishDriverFunc; - AudioOutputOpenDeviceFunc openDeviceFunc; - AudioOutputPlayFunc playFunc; - AudioOutputDropBufferedAudioFunc dropBufferedAudioFunc; - AudioOutputCloseDeviceFunc closeDeviceFunc; - AudioOutputSendMetadataFunc sendMetdataFunc; -} AudioOutputPlugin; +struct audio_format; +struct tag; void initAudioOutputPlugins(void); void finishAudioOutputPlugins(void); -- cgit v1.2.3