Merge "translate: Transcode siren14, speex32, silk24, and silk12 via slin16." into 13

This commit is contained in:
Jenkins2
2017-11-30 09:30:55 -06:00
committed by Gerrit Code Review

View File

@@ -34,6 +34,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include <sys/time.h>
#include <sys/resource.h>
#include <math.h>
#include <stdlib.h>
#include "asterisk/lock.h"
#include "asterisk/channel.h"
@@ -1404,6 +1405,20 @@ int ast_translator_best_choice(struct ast_format_cap *dst_cap,
ao2_replace(bestdst, dst);
besttablecost = matrix_get(x, y)->table_cost;
beststeps = matrix_get(x, y)->multistep;
} else if (matrix_get(x, y)->table_cost == besttablecost
&& matrix_get(x, y)->multistep == beststeps) {
int gap_selected = abs(ast_format_get_sample_rate(best)
- ast_format_get_sample_rate(bestdst));
int gap_current = abs(ast_format_get_sample_rate(src)
- ast_format_get_sample_rate(dst));
if (gap_current < gap_selected) {
/* better than what we have so far */
ao2_replace(best, src);
ao2_replace(bestdst, dst);
besttablecost = matrix_get(x, y)->table_cost;
beststeps = matrix_get(x, y)->multistep;
}
}
}
}