aboutsummaryrefslogtreecommitdiffstats
path: root/src/output_all.h
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2009-02-10 18:51:49 +0100
committerMax Kellermann <max@duempel.org>2009-02-10 18:51:49 +0100
commita3a6eefcfe6f8b8129ac36a70243ca90e651a7fc (patch)
tree8f30130c658f5f819da2ec4f659159654b741aba /src/output_all.h
parente7505381eb4fa708afa7de6fd50f29736ccf3d5e (diff)
downloadmpd-a3a6eefcfe6f8b8129ac36a70243ca90e651a7fc.tar.gz
mpd-a3a6eefcfe6f8b8129ac36a70243ca90e651a7fc.tar.xz
mpd-a3a6eefcfe6f8b8129ac36a70243ca90e651a7fc.zip
audio: moved code to output_all.c
Moved code which deals with all audio outputs at once into a separate library.
Diffstat (limited to 'src/output_all.h')
-rw-r--r--src/output_all.h69
1 files changed, 69 insertions, 0 deletions
diff --git a/src/output_all.h b/src/output_all.h
new file mode 100644
index 000000000..15a1dce7d
--- /dev/null
+++ b/src/output_all.h
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2003-2009 The Music Player Daemon Project
+ * http://www.musicpd.org
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+/*
+ * Functions for dealing with all configured (enabled) audion outputs
+ * at once.
+ *
+ */
+
+#ifndef OUTPUT_ALL_H
+#define OUTPUT_ALL_H
+
+#include <stdbool.h>
+#include <stddef.h>
+
+struct audio_format;
+struct tag;
+
+/**
+ * Returns the total number of audio output devices, including those
+ * who are disabled right now.
+ */
+unsigned int audio_output_count(void);
+
+/**
+ * Returns the "i"th audio output device.
+ */
+struct audio_output *
+audio_output_get(unsigned i);
+
+/**
+ * Returns the audio output device with the specified name. Returns
+ * NULL if the name does not exist.
+ */
+struct audio_output *
+audio_output_find(const char *name);
+
+void initAudioDriver(void);
+
+void finishAudioDriver(void);
+
+bool openAudioDevice(const struct audio_format *audioFormat);
+
+bool playAudio(const char *playChunk, size_t size);
+
+void audio_output_pause_all(void);
+
+void dropBufferedAudio(void);
+
+void closeAudioDevice(void);
+
+void sendMetadataToAudioDevice(const struct tag *tag);
+
+#endif