[asterisk-commits] russell: trunk r98024 - /trunk/main/translate.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Jan 10 18:12:23 CST 2008
Author: russell
Date: Thu Jan 10 18:12:22 2008
New Revision: 98024
URL: http://svn.digium.com/view/asterisk?view=rev&rev=98024
Log:
Simplify this code with a suggestion from Luigi on the asterisk-dev list.
Instead of using is16kHz(), implement a format_rate() function.
Modified:
trunk/main/translate.c
Modified: trunk/main/translate.c
URL: http://svn.digium.com/view/asterisk/trunk/main/translate.c?view=diff&rev=98024&r1=98023&r2=98024
==============================================================================
--- trunk/main/translate.c (original)
+++ trunk/main/translate.c Thu Jan 10 18:12:22 2008
@@ -287,12 +287,12 @@
return head;
}
-static inline int is16kHz(int format)
+static inline int format_rate(int format)
{
if (format == AST_FORMAT_G722 || format == AST_FORMAT_SLINEAR16)
- return 1;
-
- return 0;
+ return 16000;
+
+ return 8000;
}
/*! \brief do the actual translation */
@@ -313,11 +313,6 @@
/* XXX hmmm... check this below */
if (!ast_tvzero(f->delivery)) {
- int in_rate = 8000;
-
- if (is16kHz(f->subclass))
- in_rate = 16000;
-
if (!ast_tvzero(path->nextin)) {
/* Make sure this is in line with what we were expecting */
if (!ast_tveq(path->nextin, f->delivery)) {
@@ -336,7 +331,7 @@
path->nextout = f->delivery;
}
/* Predict next incoming sample */
- path->nextin = ast_tvadd(path->nextin, ast_samp2tv(f->samples, in_rate));
+ path->nextin = ast_tvadd(path->nextin, ast_samp2tv(f->samples, format_rate(f->subclass)));
}
delivery = f->delivery;
for ( ; out && p ; p = p->next) {
@@ -349,11 +344,6 @@
return NULL;
/* we have a frame, play with times */
if (!ast_tvzero(delivery)) {
- int out_rate = 8000;
-
- if (is16kHz(out->subclass))
- out_rate = 16000;
-
/* Regenerate prediction after a discontinuity */
if (ast_tvzero(path->nextout))
path->nextout = ast_tvnow();
@@ -363,7 +353,7 @@
/* Predict next outgoing timestamp from samples in this
frame. */
- path->nextout = ast_tvadd(path->nextout, ast_samp2tv(out->samples, out_rate));
+ path->nextout = ast_tvadd(path->nextout, ast_samp2tv(out->samples, format_rate(out->subclass)));
} else {
out->delivery = ast_tv(0, 0);
out->has_timing_info = has_timing_info;
@@ -387,10 +377,7 @@
struct rusage start;
struct rusage end;
int cost;
- int out_rate = 8000;
-
- if (is16kHz(t->dstfmt))
- out_rate = 16000;
+ int out_rate = format_rate(t->dstfmt);
if (!seconds)
seconds = 1;
More information about the asterisk-commits
mailing list