From 0a0c6ccc5281fa2e93fc124e3576d2cf0a6dab71 Mon Sep 17 00:00:00 2001 From: Shaun Ruffell Date: Thu, 31 May 2012 13:51:42 -0500 Subject: [PATCH] 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) --- codecs/codec_dahdi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codecs/codec_dahdi.c b/codecs/codec_dahdi.c index ccd323a..5fedc25 100644 --- a/codecs/codec_dahdi.c +++ b/codecs/codec_dahdi.c @@ -396,7 +396,7 @@ static void dahdi_destroy(struct ast_trans_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); -- 1.7.10.2