diff --git a/sflphone-common/src/audio/alsa/alsalayer.cpp b/sflphone-common/src/audio/alsa/alsalayer.cpp index 66d56893dad5c20021dc04f4ee36699ad3dff618..72bd589560acfc62393e73f870f227d60c904227 100644 --- a/sflphone-common/src/audio/alsa/alsalayer.cpp +++ b/sflphone-common/src/audio/alsa/alsalayer.cpp @@ -144,12 +144,6 @@ AlsaLayer::openDevice (int indexIn, int indexOut, int indexRing, int sampleRate, // use 1 sec buffer for resampling _converter = new SamplerateConverter (_audioSampleRate, 1000); - AudioLayer::_echoCancel = new EchoCancel(); - AudioLayer::_echoCanceller = new AudioProcessing (static_cast<Algorithm *> (_echoCancel)); - - AudioLayer::_echoCancel->setEchoCancelState (AudioLayer::_echocancelstate); - AudioLayer::_echoCancel->setNoiseSuppressState (AudioLayer::_noisesuppressstate); - AudioLayer::_dcblocker = new DcBlocker(); AudioLayer::_audiofilter = new AudioProcessing (static_cast<Algorithm *> (_dcblocker)); @@ -165,9 +159,6 @@ AlsaLayer::startStream (void) if (_audiofilter) _audiofilter->resetAlgorithm(); - if (_echoCanceller) - _echoCanceller->resetAlgorithm(); - if (is_playback_running() && is_capture_running()) return; @@ -266,18 +257,12 @@ bool AlsaLayer::isCaptureActive (void) void AlsaLayer::setEchoCancelState (bool state) { // if a stream already running - if (AudioLayer::_echoCancel) - _echoCancel->setEchoCancelState (state); - AudioLayer::_echocancelstate = state; } void AlsaLayer::setNoiseSuppressState (bool state) { // if a stream already opened - if (AudioLayer::_echoCancel) - _echoCancel->setNoiseSuppressState (state); - AudioLayer::_noisesuppressstate = state; } @@ -1012,10 +997,6 @@ void AlsaLayer::audioCallback (void) getMainBuffer()->getData (out, toGet, spkrVolume); - // TODO: Audio processing should be performed inside mainbuffer - // to avoid such problem - AudioLayer::_echoCancel->setSamplingRate (_mainBufferSampleRate); - if (_mainBufferSampleRate && ( (int) _audioSampleRate != _mainBufferSampleRate)) { // Do sample rate conversion @@ -1038,9 +1019,6 @@ void AlsaLayer::audioCallback (void) } - // Copy far-end signal in echo canceller to adapt filter coefficient - // AudioLayer::_echoCanceller->putData (out, toGet); - } else { if (!tone && !file_tone) { @@ -1105,8 +1083,6 @@ void AlsaLayer::audioCallback (void) int toPut; SFLDataFormat* in = NULL; - SFLDataFormat echoCancelledMic[5000]; - memset (echoCancelledMic, 0, 5000); if (is_capture_running()) { @@ -1136,11 +1112,7 @@ void AlsaLayer::audioCallback (void) _audiofilter->processAudio (rsmpl_out, nbSample*sizeof (SFLDataFormat)); - // echo cancellation processing - // int sampleready = AudioLayer::_echoCanceller->processAudio (rsmpl_out, echoCancelledMic, nbSample*sizeof (SFLDataFormat)); - getMainBuffer()->putData (rsmpl_out, nbSample * sizeof (SFLDataFormat), 100); - // getMainBuffer()->putData (echoCancelledMic, sampleready*sizeof (SFLDataFormat), 100); free (rsmpl_out); rsmpl_out = 0; @@ -1153,8 +1125,6 @@ void AlsaLayer::audioCallback (void) if (filter_out) { _audiofilter->processAudio (in, filter_out, toPut); // captureFile->write ( (const char *) filter_out, toPut); - // int sampleready = AudioLayer::_echoCanceller->processAudio (filter_out, echoCancelledMic, toPut); - // getMainBuffer()->putData (echoCancelledMic, sampleready*sizeof (SFLDataFormat), 100); getMainBuffer()->putData (filter_out, toPut, 100); free (filter_out); } diff --git a/sflphone-common/src/audio/pulseaudio/pulselayer.cpp b/sflphone-common/src/audio/pulseaudio/pulselayer.cpp index 366351b948dd3dded720ada42ea7fcb6feffdf8c..23580d1ed7ac06200f07328ea2f72ecebb476c56 100644 --- a/sflphone-common/src/audio/pulseaudio/pulselayer.cpp +++ b/sflphone-common/src/audio/pulseaudio/pulselayer.cpp @@ -267,12 +267,6 @@ PulseLayer::~PulseLayer (void) _converter = NULL; } - delete AudioLayer::_echoCancel; - AudioLayer::_echoCancel = NULL; - - delete AudioLayer::_echoCanceller; - AudioLayer::_echoCanceller = NULL; - delete AudioLayer::_dcblocker; AudioLayer::_dcblocker = NULL; @@ -436,9 +430,6 @@ bool PulseLayer::openDevice (int indexIn UNUSED, int indexOut UNUSED, int indexR _converter = new SamplerateConverter (_audioSampleRate, 1000); // Instantiate the algorithm - AudioLayer::_echoCancel = new EchoCancel (_audioSampleRate, _frameSize); - AudioLayer::_echoCanceller = new AudioProcessing (static_cast<Algorithm *> (_echoCancel)); - AudioLayer::_dcblocker = new DcBlocker(); AudioLayer::_audiofilter = new AudioProcessing (static_cast<Algorithm *> (_dcblocker)); @@ -650,9 +641,6 @@ int PulseLayer::canGetMic() void PulseLayer::startStream (void) { - if (_echoCanceller) - _echoCanceller->resetAlgorithm(); - // Create Streams if (!playback || !record) createStreams (context); @@ -750,18 +738,12 @@ void PulseLayer::processData (void) void PulseLayer::setEchoCancelState (bool state) { // if a stream already running - if (AudioLayer::_echoCancel) - _echoCancel->setEchoCancelState (state); - AudioLayer::_echocancelstate = state; } void PulseLayer::setNoiseSuppressState (bool state) { // if a stream already opened - if (AudioLayer::_echoCancel) - _echoCancel->setNoiseSuppressState (state); - AudioLayer::_noisesuppressstate = state; } @@ -865,10 +847,6 @@ void PulseLayer::writeToSpeaker (void) getMainBuffer()->getData (out, byteToGet, 100); - // TODO: Audio processing should be performed inside mainbuffer - // to avoid such problem - AudioLayer::_echoCancel->setSamplingRate (_mainBufferSampleRate); - // test if resampling is required if (_mainBufferSampleRate && ( (int) _audioSampleRate != _mainBufferSampleRate)) { @@ -895,10 +873,6 @@ void PulseLayer::writeToSpeaker (void) } - - // Copy far-end signal in echo canceller to adapt filter coefficient - // AudioLayer::_echoCanceller->putData(out, byteToGet); - pa_xfree (out); } else { @@ -930,9 +904,6 @@ void PulseLayer::readFromMic (void) const char* data = NULL; size_t r; - SFLDataFormat echoCancelledMic[10000]; - memset (echoCancelledMic, 0, 10000*sizeof (SFLDataFormat)); - int readableSize = pa_stream_readable_size (record->pulseStream()); @@ -963,12 +934,6 @@ void PulseLayer::readFromMic (void) // captureFilterFile->write ((const char *)rsmpl_out, nbSample*sizeof(SFLDataFormat)); - // echo cancellation processing - // int sampleready = _echoCanceller->processAudio(rsmpl_out, echoCancelledMic, nbSample*sizeof(SFLDataFormat)); - - // getMainBuffer()->putData ( (void*) rsmpl_out, nbSample*sizeof (SFLDataFormat), 100); - // if(sampleready) - // getMainBuffer()->putData ( echoCancelledMic, sampleready*sizeof (SFLDataFormat), 100); getMainBuffer()->putData (rsmpl_out, nbSample*sizeof (SFLDataFormat), 100); pa_xfree (rsmpl_out); @@ -984,11 +949,6 @@ void PulseLayer::readFromMic (void) // captureFile->write ( (const char *) filter_out, r); - // echo cancellation processing - // int sampleready = _echoCanceller->processAudio((SFLDataFormat *)filter_out, echoCancelledMic, r); - - // no resampling required - // getMainBuffer()->putData (echoCancelledMic, sampleready*sizeof (SFLDataFormat), 100); getMainBuffer()->putData (filter_out, r, 100); pa_xfree (filter_out);