aboutsummaryrefslogtreecommitdiff
path: root/net/asterisk-devel/files/patch-formats::format_g729.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/asterisk-devel/files/patch-formats::format_g729.c')
-rw-r--r--net/asterisk-devel/files/patch-formats::format_g729.c63
1 files changed, 63 insertions, 0 deletions
diff --git a/net/asterisk-devel/files/patch-formats::format_g729.c b/net/asterisk-devel/files/patch-formats::format_g729.c
new file mode 100644
index 000000000000..a255fc351e71
--- /dev/null
+++ b/net/asterisk-devel/files/patch-formats::format_g729.c
@@ -0,0 +1,63 @@
+
+$FreeBSD$
+
+--- formats/format_g729.c.orig Mon Sep 8 19:48:07 2003
++++ formats/format_g729.c Fri Jan 30 01:47:34 2004
+@@ -45,7 +45,7 @@
+ struct ast_frame fr; /* Frame information */
+ char waste[AST_FRIENDLY_OFFSET]; /* Buffer for sending frames, etc */
+ char empty; /* Empty character */
+- unsigned char g729[20]; /* Two Real G729 Frames */
++ unsigned char g729[10]; /* One Real G729 Frame */
+ };
+
+
+@@ -126,11 +126,11 @@
+ s->fr.frametype = AST_FRAME_VOICE;
+ s->fr.subclass = AST_FORMAT_G729A;
+ s->fr.offset = AST_FRIENDLY_OFFSET;
+- s->fr.samples = 160;
+- s->fr.datalen = 20;
++ s->fr.samples = 80;
++ s->fr.datalen = 10;
+ s->fr.mallocd = 0;
+ s->fr.data = s->g729;
+- if ((res = read(s->fd, s->g729, 20)) != 20) {
++ if ((res = read(s->fd, s->g729, 10)) != 10) {
+ if (res)
+ ast_log(LOG_WARNING, "Short read (%d) (%s)!\n", res, strerror(errno));
+ return NULL;
+@@ -150,12 +150,12 @@
+ ast_log(LOG_WARNING, "Asked to write non-G729 frame (%d)!\n", f->subclass);
+ return -1;
+ }
+- if (f->datalen % 20) {
+- ast_log(LOG_WARNING, "Invalid data length, %d, should be multiple of 20\n", f->datalen);
++ if (f->datalen % 10) {
++ ast_log(LOG_WARNING, "Invalid data length, %d, should be multiple of 10\n", f->datalen);
+ return -1;
+ }
+ if ((res = write(fs->fd, f->data, f->datalen)) != f->datalen) {
+- ast_log(LOG_WARNING, "Bad write (%d/20): %s\n", res, strerror(errno));
++ ast_log(LOG_WARNING, "Bad write (%d/10): %s\n", res, strerror(errno));
+ return -1;
+ }
+ return 0;
+@@ -174,7 +174,7 @@
+ cur = lseek(fs->fd, 0, SEEK_CUR);
+ max = lseek(fs->fd, 0, SEEK_END);
+
+- bytes = 20 * (sample_offset / 160);
++ bytes = 10 * (sample_offset / 80);
+ if (whence == SEEK_SET)
+ offset = bytes;
+ else if (whence == SEEK_CUR || whence == SEEK_FORCECUR)
+@@ -202,7 +202,7 @@
+ {
+ off_t offset;
+ offset = lseek(fs->fd, 0, SEEK_CUR);
+- return (offset/20)*160;
++ return (offset/10)*80;
+ }
+
+ int load_module()