diff options
Diffstat (limited to 'src/audio.h')
-rw-r--r-- | src/audio.h | 40 |
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_ */ |