26 #ifndef OPAL_CODEC_ECHOCANCEL_H
27 #define OPAL_CODEC_ECHOCANCEL_H
38 #include <ptclib/qchannel.h>
41 struct SpeexEchoState;
44 #ifndef SPEEX_PREPROCESS_H
45 struct SpeexPreprocessState;
49 class OpalEchoCanceler :
public PObject
51 PCLASSINFO(OpalEchoCanceler, PObject);
75 const PNotifier & GetReceiveHandler()
const {
return receiveHandler; }
76 const PNotifier & GetSendHandler()
const {
return sendHandler; }
82 const Params & newParam
93 PDECLARE_NOTIFIER(
RTP_DataFrame, OpalEchoCanceler, ReceivedPacket);
94 PDECLARE_NOTIFIER(
RTP_DataFrame, OpalEchoCanceler, SentPacket);
96 PNotifier receiveHandler;
97 PNotifier sendHandler;
103 PQueueChannel *echo_chan;
104 PDECLARE_MUTEX(stateMutex);
105 SpeexEchoState *echoState;
106 SpeexPreprocessState *preprocessState;
118 #endif // OPAL_CODEC_ECHOCANCEL_H