summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2005-01-24 02:59:17 +0000
committerMark Spencer <markster@digium.com>2005-01-24 02:59:17 +0000
commit3bafe1a8a5f8714f744ca20a6694778c6620fe08 (patch)
treee4787b7f4a7d90f14b9cf1fd3b5bcb58921c1cf7
parent91805d8f8e850d25cecbc79ca5affbca72b4fe4a (diff)
Fix chan_modem_i4l (bug #3410)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4885 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rwxr-xr-xchannels/chan_modem_i4l.c4
-rwxr-xr-xinclude/asterisk/alaw.h2
2 files changed, 3 insertions, 3 deletions
diff --git a/channels/chan_modem_i4l.c b/channels/chan_modem_i4l.c
index 2e97ee478..d236ce75d 100755
--- a/channels/chan_modem_i4l.c
+++ b/channels/chan_modem_i4l.c
@@ -420,7 +420,7 @@ static struct ast_frame *i4l_read(struct ast_modem_pvt *p)
if (!f)
return NULL;
} else {
- *(b++) = AST_A2LIN(result[x]);
+ *(b++) = AST_ALAW(result[x]);
p->obuflen += 2;
}
}
@@ -480,7 +480,7 @@ static int i4l_write(struct ast_modem_pvt *p, struct ast_frame *f)
return -1;
}
for (x=0;x<f->datalen/2;x++) {
- b = AST_ALAW(((short *)f->data)[x]);
+ b = AST_LIN2A(((short *)f->data)[x]);
result[bpos++] = b;
if (b == CHAR_DLE)
result[bpos++]=b;
diff --git a/include/asterisk/alaw.h b/include/asterisk/alaw.h
index ed05e46b2..9a0664d0e 100755
--- a/include/asterisk/alaw.h
+++ b/include/asterisk/alaw.h
@@ -29,6 +29,6 @@ extern unsigned char __ast_lin2a[8192];
extern short __ast_alaw[256];
#define AST_LIN2A(a) (__ast_lin2a[((unsigned short)(a)) >> 3])
-#define AST_ALAW(a) (__ast_alaw[(a)])
+#define AST_ALAW(a) (__ast_alaw[(int)(a)])
#endif