Merged revisions 282047 via svnmerge from
authorDavid Vossel <dvossel@digium.com>
Thu, 12 Aug 2010 20:17:17 +0000 (20:17 +0000)
committerDavid Vossel <dvossel@digium.com>
Thu, 12 Aug 2010 20:17:17 +0000 (20:17 +0000)
commitbbb32fe33eb9a0acc1fdacada7cf7f8eafe072f2
tree30f1421ea8c3e45cb1063acd31e9d4d0af63f05d
parent2c75d020665a5398ce155eb7feb0130e6def4cfd
Merged revisions 282047 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r282047 | dvossel | 2010-08-12 15:15:41 -0500 (Thu, 12 Aug 2010) | 35 lines

  improved translation paths for wideband codecs

  The problem I'm addressing is that Asterisk's current
  method of building the least cost translation paths
  between codecs does not take into account sample rate.
  For instance, it was possible for siren14 (a 32khz codec),
  to contain the a translation path to siren7 (a 16khz
  audio codec) that goes through slin at 8khz.  In this
  case Asterisk takes a 32khz codec, down samples it to
  8khz and then up samples it to 16khz which is terrible
  regardless if it is computationally less expensive.  This
  patch now builds translation paths that give priority to
  maintaining the best possible sample rate before taking
  into consideration computational cost.  This patch also
  adds cli commands to expose what translation paths are
  actually being used.

  Changes:
  1. Translation paths will never contain a step that changes
  the sample rate unless absolutely necessary.
  2. When choosing the best codec to make two channels compatible.
  Shared codecs with the highest sample rate are given priority.
  3. A new cli command to show all translation paths available
  for a specific codec 'core show translation paths [codec name]'
  has been added.
  4. 'core show translation' which displays the translation
  matrix now includes the new higher bit audio codecs in the table.
  5. 'core show channel [channel name]'  now displays the
  translation paths if translation is used.

  (closes issue #16841)
  Reported by: dvossel

  Review: https://reviewboard.asterisk.org/r/842/
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@282048 65c4cc65-6c06-0410-ace0-fbb531ad65f3
CHANGES
include/asterisk/translate.h
main/cli.c
main/translate.c