mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-05 20:20:07 +00:00
correct array index calculation (thanks mtaht3!)
update header file comments to reflect new usage of structure field git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@21207 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -65,8 +65,10 @@ struct ast_trans_pvt; /* declared below */
|
|||||||
*/
|
*/
|
||||||
struct ast_translator {
|
struct ast_translator {
|
||||||
const char name[80]; /*! Name of translator */
|
const char name[80]; /*! Name of translator */
|
||||||
int srcfmt; /*! Source format (note: bit position) */
|
int srcfmt; /*! Source format (note: bit position,
|
||||||
int dstfmt; /*! Destination format (note: bit position) */
|
converted to index during registration) */
|
||||||
|
int dstfmt; /*! Destination format (note: bit position,
|
||||||
|
converted to index during registration) */
|
||||||
|
|
||||||
/*! initialize private data associated with the translator */
|
/*! initialize private data associated with the translator */
|
||||||
void *(*newpvt)(struct ast_trans_pvt *);
|
void *(*newpvt)(struct ast_trans_pvt *);
|
||||||
|
@@ -400,6 +400,7 @@ static void rebuild_matrix(int samples)
|
|||||||
ast_log(LOG_DEBUG, "Resetting translation matrix\n");
|
ast_log(LOG_DEBUG, "Resetting translation matrix\n");
|
||||||
|
|
||||||
bzero(tr_matrix, sizeof(tr_matrix));
|
bzero(tr_matrix, sizeof(tr_matrix));
|
||||||
|
|
||||||
/* first, compute all direct costs */
|
/* first, compute all direct costs */
|
||||||
AST_LIST_TRAVERSE(&translators, t, list) {
|
AST_LIST_TRAVERSE(&translators, t, list) {
|
||||||
x = t->srcfmt;
|
x = t->srcfmt;
|
||||||
@@ -413,6 +414,7 @@ static void rebuild_matrix(int samples)
|
|||||||
tr_matrix[x][z].cost = t->cost;
|
tr_matrix[x][z].cost = t->cost;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* For each triple x, y, z of distinct formats, check if there is
|
* For each triple x, y, z of distinct formats, check if there is
|
||||||
* a path from x to z through y which is cheaper than what is
|
* a path from x to z through y which is cheaper than what is
|
||||||
@@ -656,6 +658,9 @@ int ast_translator_best_choice(int *dst, int *srcs)
|
|||||||
|
|
||||||
unsigned int ast_translate_path_steps(unsigned int dest, unsigned int src)
|
unsigned int ast_translate_path_steps(unsigned int dest, unsigned int src)
|
||||||
{
|
{
|
||||||
|
/* convert bitwise format numbers into array indices */
|
||||||
|
src = powerof(src);
|
||||||
|
dest = powerof(dest);
|
||||||
if (!tr_matrix[src][dest].step)
|
if (!tr_matrix[src][dest].step)
|
||||||
return -1;
|
return -1;
|
||||||
else
|
else
|
||||||
|
Reference in New Issue
Block a user