diff --git a/core/AmDtmfDetector.cpp b/core/AmDtmfDetector.cpp index 0116b308..44350173 100644 --- a/core/AmDtmfDetector.cpp +++ b/core/AmDtmfDetector.cpp @@ -651,10 +651,17 @@ int AmSpanDSPInbandDtmfDetector::streamPut(const unsigned char* samples, unsigne return size; } +#ifndef HAVE_OLD_SPANDSP_CALLBACK void AmSpanDSPInbandDtmfDetector::tone_report_func(void *user_data, int code, int level, int delay) { AmSpanDSPInbandDtmfDetector* o = (AmSpanDSPInbandDtmfDetector*)user_data; o->tone_report_f(code, level, delay); } +#else +void AmSpanDSPInbandDtmfDetector::tone_report_func(void *user_data, int code) { + AmSpanDSPInbandDtmfDetector* o = (AmSpanDSPInbandDtmfDetector*)user_data; + o->tone_report_f(code, 0, 0); +} +#endif void AmSpanDSPInbandDtmfDetector::tone_report_f(int code, int level, int delay) { // DBG("spandsp reports tone %c, %d, %d\n", code, level, delay); diff --git a/core/AmDtmfDetector.h b/core/AmDtmfDetector.h index b1fda569..f263098c 100644 --- a/core/AmDtmfDetector.h +++ b/core/AmDtmfDetector.h @@ -269,7 +269,12 @@ class AmSpanDSPInbandDtmfDetector int m_lastCode; dtmf_rx_state_t rx_state; - static void tone_report_func(void *user_data, int code, int level, int delay); + static void tone_report_func(void *user_data, int code +#ifndef HAVE_OLD_SPANDSP_CALLBACK + , int level, int delay +#endif + ); + void tone_report_f(int code, int level, int delay); int char2int(char code); /* static void dtmf_rx_callback(void* user_data, const char* digits, int len); */