diff options
Diffstat (limited to 'main/dsp.c')
-rw-r--r-- | main/dsp.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/main/dsp.c b/main/dsp.c index b3c87ddec..ca30dad14 100644 --- a/main/dsp.c +++ b/main/dsp.c @@ -385,6 +385,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]; @@ -1334,7 +1335,10 @@ struct ast_frame *ast_dsp_process(struct ast_channel *chan, struct ast_dsp *dsp, } break; default: - ast_log(LOG_WARNING, "Inband DTMF is not supported on codec %s. Use RFC2833\n", ast_getformatname(af->subclass.codec)); + /*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.codec)); + dsp->display_inband_dtmf_warning = 0; return af; } @@ -1504,6 +1508,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 */ |