aboutsummaryrefslogtreecommitdiffstats
path: root/src/output_internal.h
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2009-07-06 10:01:47 +0200
committerMax Kellermann <max@duempel.org>2009-07-06 10:01:47 +0200
commite47bdfe8e6f7da67c9714db7e650fa6a925f7847 (patch)
tree67f466706685a053da1549a9702ef0b0caa52715 /src/output_internal.h
parentcd9c0a6b3e0a113d873483d214e1be1c37301b06 (diff)
downloadmpd-e47bdfe8e6f7da67c9714db7e650fa6a925f7847.tar.gz
mpd-e47bdfe8e6f7da67c9714db7e650fa6a925f7847.tar.xz
mpd-e47bdfe8e6f7da67c9714db7e650fa6a925f7847.zip
output: attach a filter chain to each audio_output
This patch adds initial filter support for audio outputs. Each audio output gets a "filter" attribute, which is used by ao_play_chunk(). The PCM conversion is now performed by convert_filter_plugin. audio_output.convert_state has been removed.
Diffstat (limited to '')
-rw-r--r--src/output_internal.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/output_internal.h b/src/output_internal.h
index 5f7a24060..6ca179287 100644
--- a/src/output_internal.h
+++ b/src/output_internal.h
@@ -21,7 +21,6 @@
#define MPD_OUTPUT_INTERNAL_H
#include "audio_format.h"
-#include "pcm_convert.h"
#include "notify.h"
#include <time.h>
@@ -108,7 +107,19 @@ struct audio_output {
*/
struct audio_format out_audio_format;
- struct pcm_convert_state convert_state;
+ /**
+ * The filter object of this audio output. This is an
+ * instance of chain_filter_plugin.
+ */
+ struct filter *filter;
+
+ /**
+ * The convert_filter_plugin instance of this audio output.
+ * It is the last item in the filter chain, and is responsible
+ * for converting the input data into the appropriate format
+ * for this audio output.
+ */
+ struct filter *convert_filter;
/**
* The thread handle, or NULL if the output thread isn't