aboutsummaryrefslogtreecommitdiffstats
path: root/translate.c
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2003-01-09 23:11:05 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2003-01-09 23:11:05 +0000
commit85b12813204767a23c85850cba4aeffd4474a9f2 (patch)
treec9aefb67ec39706e8ad42af064c60d656a906b87 /translate.c
parentff7d1c94d0404433d21c13852eb07beebb2ed941 (diff)
Version 0.3.0 from FTP
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@582 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'translate.c')
-rwxr-xr-xtranslate.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/translate.c b/translate.c
index 0c5b1ddbf..2d1ab42f3 100755
--- a/translate.c
+++ b/translate.c
@@ -227,7 +227,7 @@ static void calc_cost(struct ast_translator *t)
}
gettimeofday(&start, NULL);
/* Call the encoder until we've processed one second of time */
- while(sofar < 1000) {
+ while(sofar < 8000) {
f = t->sample();
if (!f) {
ast_log(LOG_WARNING, "Translator '%s' failed to produce a sample frame.\n", t->name);
@@ -238,7 +238,7 @@ static void calc_cost(struct ast_translator *t)
t->framein(pvt, f);
ast_frfree(f);
while((out = t->frameout(pvt))) {
- sofar += out->timelen;
+ sofar += out->samples;
ast_frfree(out);
}
}
@@ -246,6 +246,8 @@ static void calc_cost(struct ast_translator *t)
t->destroy(pvt);
cost = (finish.tv_sec - start.tv_sec) * 1000 + (finish.tv_usec - start.tv_usec) / 1000;
t->cost = cost;
+ if (!t->cost)
+ t->cost = 1;
}
static int show_translation(int fd, int argc, char *argv[])