]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 233046 via svnmerge from
authorMatthias Nick <mnick@digium.com>
Fri, 4 Dec 2009 15:51:48 +0000 (15:51 +0000)
committerMatthias Nick <mnick@digium.com>
Fri, 4 Dec 2009 15:51:48 +0000 (15:51 +0000)
https://origsvn.digium.com/svn/asterisk/trunk

................
  r233046 | mnick | 2009-12-04 09:38:33 -0600 (Fri, 04 Dec 2009) | 17 lines

  Merged revisions 233014 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.4

  ........
    r233014 | mnick | 2009-12-04 09:17:03 -0600 (Fri, 04 Dec 2009) | 11 lines

    Warning message gets displayed only once

    Added additional field 'int display_inband_dtmf_warning', which when set to '1' displays the warning ('Inband DTMF is not supported on codec %s. Use RFC2833'), and when set to '0' doesn't display the warning. Otherwise you would get hundreds of warnings every second.

    (closes issue #15769)
    Reported by: falves11
    Patches:
     patch_15769_14.txt uploaded by mnick (license 874)
    Tested by: mnick, falves11
  ........
................

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@233048 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/dsp.c

index b3523828057f4bfe9a050a66a6ea2742048e52a6..eaa5c66c3383e27a2d4f911ec6422cbe91f888d6 100644 (file)
@@ -389,6 +389,7 @@ struct ast_dsp {
        int digitmode;
        int faxmode;
        int dtmf_began;
+       int display_inband_dtmf_warning;
        float genergy;
        int mute_fragments;
        fragment_t mute_data[5];
@@ -1300,7 +1301,10 @@ struct ast_frame *ast_dsp_process(struct ast_channel *chan, struct ast_dsp *dsp,
                        shortdata[x] = AST_ALAW(odata[x]);
                break;
        default:
-               ast_log(LOG_WARNING, "Inband DTMF is not supported on codec %s. Use RFC2833\n", ast_getformatname(af->subclass));
+               /*Display warning only once. Otherwise you would get hundreds of warnings every second */
+               if (dsp->display_inband_dtmf_warning)
+                       ast_log(LOG_WARNING, "Inband DTMF is not supported on codec %s. Use RFC2833\n", ast_getformatname(af->subclass));
+               dsp->display_inband_dtmf_warning = 0;
                return af;
        }
 
@@ -1465,6 +1469,7 @@ struct ast_dsp *ast_dsp_new(void)
                dsp->faxmode = DSP_FAXMODE_DETECT_CNG;
                /* Initialize digit detector */
                ast_digit_detect_init(&dsp->digit_state, dsp->digitmode & DSP_DIGITMODE_MF);
+               dsp->display_inband_dtmf_warning = 1;
                /* Initialize initial DSP progress detect parameters */
                ast_dsp_prog_reset(dsp);
                /* Initialize fax detector */