aboutsummaryrefslogtreecommitdiffstats
path: root/src/audioOutput.h
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2008-09-07 22:41:17 +0200
committerMax Kellermann <max@duempel.org>2008-09-07 22:41:17 +0200
commitbed2a49fe97b8f070ace2dd37909bb06540c66bd (patch)
treeaa5700adc8317362f121fea88596471ca2c7ba48 /src/audioOutput.h
parentdc7c6bd14d0737f4c7c09c315a6806a901cf9976 (diff)
downloadmpd-bed2a49fe97b8f070ace2dd37909bb06540c66bd.tar.gz
mpd-bed2a49fe97b8f070ace2dd37909bb06540c66bd.tar.xz
mpd-bed2a49fe97b8f070ace2dd37909bb06540c66bd.zip
output: added output_api.h
Just like decoder_api.h, output_api.h provides the audio output API which is used by the plugins.
Diffstat (limited to 'src/audioOutput.h')
-rw-r--r--src/audioOutput.h67
1 files changed, 3 insertions, 64 deletions
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);