summaryrefslogtreecommitdiff
path: root/src/audio.h
diff options
context:
space:
mode:
authorBenjamin Franzke <benjaminfranzke@googlemail.com>2011-09-23 13:21:57 +0200
committerBenjamin Franzke <benjaminfranzke@googlemail.com>2011-09-23 13:21:57 +0200
commit432cbe7f0a803e0b653e651872862c8ca4152af2 (patch)
treef760d2bb2b6dfdd174f6429c2120734f86e32140 /src/audio.h
parent5a231d7abed7a316c645469696b683f9567a2678 (diff)
downloadcmumble-432cbe7f0a803e0b653e651872862c8ca4152af2.tar.gz
cmumble-432cbe7f0a803e0b653e651872862c8ca4152af2.tar.bz2
cmumble-432cbe7f0a803e0b653e651872862c8ca4152af2.zip
Move audio-related stuff into audio.c
Diffstat (limited to 'src/audio.h')
-rw-r--r--src/audio.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/audio.h b/src/audio.h
new file mode 100644
index 0000000..b31c77f
--- /dev/null
+++ b/src/audio.h
@@ -0,0 +1,40 @@
+#ifndef _AUDIO_H_
+#define _AUDIO_H_
+
+#include <glib.h>
+
+#include <gst/gst.h>
+#include <gst/app/gstappsrc.h>
+#include <gst/app/gstappsink.h>
+#include <gst/app/gstappbuffer.h>
+
+#include <celt/celt.h>
+#include <celt/celt_header.h>
+
+struct cmumble_audio {
+ GstElement *record_pipeline;
+ GstAppSink *sink;
+
+ uint8_t celt_header_packet[sizeof(CELTHeader)];
+ CELTHeader celt_header;
+ CELTMode *celt_mode;
+};
+
+struct context;
+struct user;
+
+int
+cmumble_audio_init(struct context *ctx);
+
+int
+cmumble_audio_fini(struct context *ctx);
+
+int
+cmumble_audio_create_playback_pipeline(struct context *ctx,
+ struct user *user);
+
+void
+cmumble_audio_push(struct context *ctx, struct user *user,
+ const uint8_t *data, gsize size);
+
+#endif /* _AUDIO_H_ */