summaryrefslogtreecommitdiffstats
path: root/src/audio/audio_encoder.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/audio/audio_encoder.h')
-rw-r--r--src/audio/audio_encoder.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/audio/audio_encoder.h b/src/audio/audio_encoder.h
index e2fb874..b900414 100644
--- a/src/audio/audio_encoder.h
+++ b/src/audio/audio_encoder.h
@@ -35,6 +35,12 @@
#include <speex/speex.h>
#endif
+#ifdef HAVE_BCG729
+extern "C" {
+# include <bcg729/encoder.h>
+}
+#endif
+
#ifdef HAVE_ILBC
#ifndef HAVE_ILBC_CPP
extern "C" {
@@ -179,4 +185,19 @@ public:
uint8 *payload, uint16 payload_size, bool &silence);
};
+#ifdef HAVE_BCG729
+class t_g729a_audio_encoder : public t_audio_encoder
+{
+public:
+ t_g729a_audio_encoder(uint16 payload_id, uint16 ptime, t_user *user_config);
+ virtual ~t_g729a_audio_encoder();
+
+ virtual uint16 encode(int16 *sample_buf, uint16 nsamples,
+ uint8 *payload, uint16 payload_size, bool &silence);
+private:
+ bcg729EncoderChannelContextStruct* _context;
+};
+
+#endif
+
#endif