aboutsummaryrefslogtreecommitdiff
path: root/src/output_internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/output_internal.h')
-rw-r--r--src/output_internal.h29
1 files changed, 25 insertions, 4 deletions
diff --git a/src/output_internal.h b/src/output_internal.h
index 9d975d78..201962a7 100644
--- a/src/output_internal.h
+++ b/src/output_internal.h
@@ -27,6 +27,12 @@
#include <time.h>
+#ifdef __cplusplus
+class Filter;
+#else
+typedef void *Filter;
+#endif
+
struct config_param;
enum audio_output_command {
@@ -73,6 +79,13 @@ struct audio_output {
struct mixer *mixer;
/**
+ * Will this output receive tags from the decoder? The
+ * default is true, but it may be configured to false to
+ * suppress sending tags to the output.
+ */
+ bool tags;
+
+ /**
* Shall this output always play something (i.e. silence),
* even when playback is stopped?
*/
@@ -149,13 +162,13 @@ struct audio_output {
* The filter object of this audio output. This is an
* instance of chain_filter_plugin.
*/
- struct filter *filter;
+ Filter *filter;
/**
* The replay_gain_filter_plugin instance of this audio
* output.
*/
- struct filter *replay_gain_filter;
+ Filter *replay_gain_filter;
/**
* The serial number of the last replay gain info. 0 means no
@@ -168,7 +181,7 @@ struct audio_output {
* output, to be applied to the second chunk during
* cross-fading.
*/
- struct filter *other_replay_gain_filter;
+ Filter *other_replay_gain_filter;
/**
* The serial number of the last replay gain info by the
@@ -182,7 +195,7 @@ struct audio_output {
* for converting the input data into the appropriate format
* for this audio output.
*/
- struct filter *convert_filter;
+ Filter *convert_filter;
/**
* The thread handle, or NULL if the output thread isn't
@@ -250,6 +263,10 @@ audio_output_command_is_finished(const struct audio_output *ao)
return ao->command == AO_COMMAND_NONE;
}
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct audio_output *
audio_output_new(const struct config_param *param,
struct player_control *pc,
@@ -266,4 +283,8 @@ ao_base_finish(struct audio_output *ao);
void
audio_output_free(struct audio_output *ao);
+#ifdef __cplusplus
+}
+#endif
+
#endif