Merged revisions 377384 via svnmerge from
authorAutomerge script <automerge@asterisk.org>
Fri, 7 Dec 2012 22:20:16 +0000 (22:20 +0000)
committerAutomerge script <automerge@asterisk.org>
Fri, 7 Dec 2012 22:20:16 +0000 (22:20 +0000)
file:///srv/subversion/repos/asterisk/trunk

................
  r377384 | kmoore | 2012-12-07 16:08:48 -0600 (Fri, 07 Dec 2012) | 23 lines

  codec_dahdi: Fix output of "transcoder show" CLI command.

  In r306010 "Asterisk media architecture conversion - no more format
  bitfields", the logic for incrementing encoders and decoders when
  opening transcoder channels was changed without making the corresponding
  change when decrementing encoder / decoder channels.  The result being
  that when a channel was destroyed, codec_dahdi couldn't properly tell if
  it was an encoder or decoder, and the default case is to assume it was a
  decoder.

  This could result in negative numbers for decoders in use like in:
    VOIP6*CLI> transcoder show
    2/-2 encoders/decoders of 92 channels are in use.

  (closes issue ASTERISK-19921)
  Patch-by: Shaun Ruffell
  ........

  Merged revisions 377382 from http://svn.asterisk.org/svn/asterisk/branches/10
  ........

  Merged revisions 377383 from http://svn.asterisk.org/svn/asterisk/branches/11
................

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@377390 65c4cc65-6c06-0410-ace0-fbb531ad65f3

codecs/codec_dahdi.c

index c4aa32f..caaf99c 100644 (file)
@@ -394,7 +394,7 @@ static void dahdi_destroy(struct ast_trans_pvt *pvt)
 {
        struct codec_dahdi_pvt *dahdip = pvt->pvt;
 
 {
        struct codec_dahdi_pvt *dahdip = pvt->pvt;
 
-       switch (dahdip->fmts.dstfmt) {
+       switch (ast_format_id_from_old_bitfield(dahdip->fmts.dstfmt)) {
        case AST_FORMAT_G729A:
        case AST_FORMAT_G723_1:
                ast_atomic_fetchadd_int(&channels.encoders, -1);
        case AST_FORMAT_G729A:
        case AST_FORMAT_G723_1:
                ast_atomic_fetchadd_int(&channels.encoders, -1);