]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
codec_dahdi: DAHDI still advertises formats using the old bitfields.
authorShaun Ruffell <sruffell@digium.com>
Wed, 20 Apr 2011 19:56:07 +0000 (19:56 +0000)
committerShaun Ruffell <sruffell@digium.com>
Wed, 20 Apr 2011 19:56:07 +0000 (19:56 +0000)
Previously, the DAHDI format bit fields matched up with the Asterisk
bitfields. Since the Asterisk codec bit fields were replaced in r306010,
codec_dahdi needs to contain the formats itself. In the future, the DAHDI
formats should either change to something other than bitfields, or the
bitfields need to move from include/dahdi/kernel.h to
include/dahdi/user.h.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@314471 65c4cc65-6c06-0410-ace0-fbb531ad65f3

codecs/codec_dahdi.c

index 960a594f7884ba08075865137dc3d118b30399e1..9e15d409532ae4112061d974fb3289a2335bbcb9 100644 (file)
@@ -56,6 +56,20 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #define G723_SAMPLES 240
 #define G729_SAMPLES 160
 
+#ifndef DAHDI_FORMAT_MAX_AUDIO
+#define DAHDI_FORMAT_G723_1    (1 << 0)
+#define DAHDI_FORMAT_GSM       (1 << 1)
+#define DAHDI_FORMAT_ULAW      (1 << 2)
+#define DAHDI_FORMAT_ALAW      (1 << 3)
+#define DAHDI_FORMAT_G726      (1 << 4)
+#define DAHDI_FORMAT_ADPCM     (1 << 5)
+#define DAHDI_FORMAT_SLINEAR   (1 << 6)
+#define DAHDI_FORMAT_LPC10     (1 << 7)
+#define DAHDI_FORMAT_G729A     (1 << 8)
+#define DAHDI_FORMAT_SPEEX     (1 << 9)
+#define DAHDI_FORMAT_ILBC      (1 << 10)
+#endif
+
 static struct channel_usage {
        int total;
        int encoders;
@@ -598,13 +612,13 @@ static int find_transcoders(void)
                 * module. Also, do not allow direct ulaw/alaw to complex
                 * codec translation, since that will prevent the generic PLC
                 * functions from working. */
-               if (info.dstfmts & (AST_FORMAT_ULAW | AST_FORMAT_ALAW)) {
-                       info.dstfmts |= AST_FORMAT_SLINEAR;
-                       info.dstfmts &= ~(AST_FORMAT_ULAW | AST_FORMAT_ALAW);
+               if (info.dstfmts & (DAHDI_FORMAT_ULAW | DAHDI_FORMAT_ALAW)) {
+                       info.dstfmts |= DAHDI_FORMAT_SLINEAR;
+                       info.dstfmts &= ~(DAHDI_FORMAT_ULAW | DAHDI_FORMAT_ALAW);
                }
-               if (info.srcfmts & (AST_FORMAT_ULAW | AST_FORMAT_ALAW)) {
-                       info.srcfmts |= AST_FORMAT_SLINEAR;
-                       info.srcfmts &= ~(AST_FORMAT_ULAW | AST_FORMAT_ALAW);
+               if (info.srcfmts & (DAHDI_FORMAT_ULAW | DAHDI_FORMAT_ALAW)) {
+                       info.srcfmts |= DAHDI_FORMAT_SLINEAR;
+                       info.srcfmts &= ~(DAHDI_FORMAT_ULAW | DAHDI_FORMAT_ALAW);
                }
 
                build_translators(&map, info.dstfmts, info.srcfmts);