#include <sys/time.h>
#include <sys/resource.h>
#include <math.h>
+#include <stdlib.h>
#include "asterisk/lock.h"
#include "asterisk/channel.h"
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;
+ }
}
}
}