aboutsummaryrefslogtreecommitdiffstats
path: root/codecs/G726
diff options
context:
space:
mode:
authorMichal Labedzki <michal.labedzki@tieto.com>2012-09-14 15:08:17 +0200
committerEvan Huus <eapache@gmail.com>2014-02-12 01:36:02 +0000
commit10084c344c89fdadc915e47bcece84a2ac511dc5 (patch)
treecf48eed191bfd99bd2087f2d7cb3a13fa3049047 /codecs/G726
parentab3348eeb412d45acd89ffb7d0b39189b36399ce (diff)
RTP: Add support for SBC codec in RTP Player
Add optional dependancy to libsbc to play Bluetooth SBC in A2DP payload. Also simplify RTP Player and extent codec interface. Change-Id: I52e1fce9c82e2885736354fe73c6c37168a4fda3 Reviewed-on: https://code.wireshark.org/review/19 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Evan Huus <eapache@gmail.com>
Diffstat (limited to 'codecs/G726')
-rw-r--r--codecs/G726/G726decode.c41
-rw-r--r--codecs/G726/G726decode.h24
2 files changed, 57 insertions, 8 deletions
diff --git a/codecs/G726/G726decode.c b/codecs/G726/G726decode.c
index bcc2cd1fdc..7961364d41 100644
--- a/codecs/G726/G726decode.c
+++ b/codecs/G726/G726decode.c
@@ -37,21 +37,56 @@
static g726_state_t state;
/* Currently, only G.726-32, linear encoding, left packed is supported */
-void initG726_32(void)
+void *
+codec_g726_init(void)
{
memset (&state, 0, sizeof (state));
g726_init(&state, 32000, 0, 1);
+
+ return NULL;
+}
+
+void
+codec_g726_release(void *ctx _U_)
+{
+
+}
+
+int
+codec_g726_get_channels(void *ctx _U_)
+{
+ return 1;
+}
+
+int
+codec_g726_get_frequency(void *ctx _U_)
+{
+ return 32000;
}
/* Packing should be user defined (via the decode dialog) since due to historical reasons two diverging
* de facto standards are in use today (see RFC3551).
*/
int
-decodeG726_32(void *input, int inputSizeBytes,
- void *output, int *outputSizeBytes)
+codec_g726_decode(void *ctx _U_, const void *input, int inputSizeBytes, void *output,
+ int *outputSizeBytes)
{
*outputSizeBytes = 2 * g726_decode(&state, output, (void*) input, inputSizeBytes);
return 0;
}
#endif
+
+/*
+ * Editor modelines - http://www.wireshark.org/tools/modelines.html
+ *
+ * Local variables:
+ * c-basic-offset: 4
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * vi: set shiftwidth=4 tabstop=8 expandtab:
+ * :indentSize=4:tabSize=8:noTabs=true:
+ */
+
diff --git a/codecs/G726/G726decode.h b/codecs/G726/G726decode.h
index 3858ae33b1..a61ec9b237 100644
--- a/codecs/G726/G726decode.h
+++ b/codecs/G726/G726decode.h
@@ -25,10 +25,24 @@
#ifndef __CODECS_G726DECODE_H__
#define __CODECS_G726DECODE_H__
-void
-initG726_32(void);
-
-int
-decodeG726_32(void *input, int inputSizeBytes, void *output, int *outputSizeBytes);
+void *codec_g726_init(void);
+void codec_g726_release(void *ctx);
+int codec_g726_get_channels(void *ctx);
+int codec_g726_get_frequency(void *ctx);
+int codec_g726_decode(void *ctx, const void *input, int inputSizeBytes, void *output,
+ int *outputSizeBytes);
#endif /* G726decode.h */
+
+/*
+ * Editor modelines - http://www.wireshark.org/tools/modelines.html
+ *
+ * Local variables:
+ * c-basic-offset: 4
+ * tab-width: 8
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * vi: set shiftwidth=4 tabstop=8 expandtab:
+ * :indentSize=4:tabSize=8:noTabs=true:
+ */