mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-06 04:30:28 +00:00
Merge "translate: Show sample rate for silk, speex, and slin in translation table."
This commit is contained in:
@@ -945,7 +945,8 @@ static void handle_cli_recalc(struct ast_cli_args *a)
|
|||||||
static char *handle_show_translation_table(struct ast_cli_args *a)
|
static char *handle_show_translation_table(struct ast_cli_args *a)
|
||||||
{
|
{
|
||||||
int x, y, i, k;
|
int x, y, i, k;
|
||||||
int longest = 0, num_codecs = 0, curlen = 0;
|
int longest = 7; /* slin192 */
|
||||||
|
int num_codecs = 0, curlen = 0;
|
||||||
struct ast_str *out = ast_str_create(1024);
|
struct ast_str *out = ast_str_create(1024);
|
||||||
struct ast_codec *codec;
|
struct ast_codec *codec;
|
||||||
|
|
||||||
@@ -982,6 +983,7 @@ static char *handle_show_translation_table(struct ast_cli_args *a)
|
|||||||
|
|
||||||
ast_str_set(&out, 0, " ");
|
ast_str_set(&out, 0, " ");
|
||||||
for (k = 0; k < num_codecs; k++) {
|
for (k = 0; k < num_codecs; k++) {
|
||||||
|
int adjust = 0;
|
||||||
struct ast_codec *col = k ? ast_codec_get_by_id(k) : NULL;
|
struct ast_codec *col = k ? ast_codec_get_by_id(k) : NULL;
|
||||||
|
|
||||||
y = -1;
|
y = -1;
|
||||||
@@ -997,6 +999,12 @@ static char *handle_show_translation_table(struct ast_cli_args *a)
|
|||||||
|
|
||||||
if (k > 0) {
|
if (k > 0) {
|
||||||
curlen = strlen(col->name);
|
curlen = strlen(col->name);
|
||||||
|
if (!strcmp(col->name, "slin") ||
|
||||||
|
!strcmp(col->name, "speex") ||
|
||||||
|
!strcmp(col->name, "silk")) {
|
||||||
|
adjust = log10(col->sample_rate / 1000) + 1;
|
||||||
|
curlen = curlen + adjust;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (curlen < 5) {
|
if (curlen < 5) {
|
||||||
@@ -1008,10 +1016,25 @@ static char *handle_show_translation_table(struct ast_cli_args *a)
|
|||||||
ast_str_append(&out, 0, "%*u", curlen + 1, (matrix_get(x, y)->table_cost/100));
|
ast_str_append(&out, 0, "%*u", curlen + 1, (matrix_get(x, y)->table_cost/100));
|
||||||
} else if (i == 0 && k > 0) {
|
} else if (i == 0 && k > 0) {
|
||||||
/* Top row - use a dynamic size */
|
/* Top row - use a dynamic size */
|
||||||
ast_str_append(&out, 0, "%*s", curlen + 1, col->name);
|
if (!strcmp(col->name, "slin") ||
|
||||||
|
!strcmp(col->name, "speex") ||
|
||||||
|
!strcmp(col->name, "silk")) {
|
||||||
|
ast_str_append(&out, 0, "%*s%u", curlen - adjust + 1,
|
||||||
|
col->name, col->sample_rate / 1000);
|
||||||
|
} else {
|
||||||
|
ast_str_append(&out, 0, "%*s", curlen + 1, col->name);
|
||||||
|
}
|
||||||
} else if (k == 0 && i > 0) {
|
} else if (k == 0 && i > 0) {
|
||||||
/* Left column - use a static size. */
|
/* Left column - use a static size. */
|
||||||
ast_str_append(&out, 0, "%*s", longest, row->name);
|
if (!strcmp(row->name, "slin") ||
|
||||||
|
!strcmp(row->name, "speex") ||
|
||||||
|
!strcmp(row->name, "silk")) {
|
||||||
|
int adjust_row = log10(row->sample_rate / 1000) + 1;
|
||||||
|
ast_str_append(&out, 0, "%*s%u", longest - adjust_row,
|
||||||
|
row->name, row->sample_rate / 1000);
|
||||||
|
} else {
|
||||||
|
ast_str_append(&out, 0, "%*s", longest, row->name);
|
||||||
|
}
|
||||||
} else if (x >= 0 && y >= 0) {
|
} else if (x >= 0 && y >= 0) {
|
||||||
/* Codec not supported */
|
/* Codec not supported */
|
||||||
ast_str_append(&out, 0, "%*s", curlen + 1, "-");
|
ast_str_append(&out, 0, "%*s", curlen + 1, "-");
|
||||||
|
Reference in New Issue
Block a user