From 5dbf374d0f28a2580029b570acc34901b002fc07 Mon Sep 17 00:00:00 2001 From: f4exb Date: Tue, 26 Feb 2019 00:09:58 +0100 Subject: [PATCH] Revert "FreeDV modulator: fixed FreeDV arrays initialization" This reverts commit d5c1b2be977de56095fba17beba2864ed904b86d. --- plugins/channeltx/modfreedv/freedvmod.cpp | 25 ++++++++--------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/plugins/channeltx/modfreedv/freedvmod.cpp b/plugins/channeltx/modfreedv/freedvmod.cpp index fdec7f999..441109384 100644 --- a/plugins/channeltx/modfreedv/freedvmod.cpp +++ b/plugins/channeltx/modfreedv/freedvmod.cpp @@ -692,27 +692,18 @@ void FreeDVMod::applyFreeDVMode(FreeDVModSettings::FreeDVMode mode) int nNomModemSamples = freedv_get_n_nom_modem_samples(m_freeDV); int Fs = freedv_get_modem_sample_rate(m_freeDV); int Rs = freedv_get_modem_symbol_rate(m_freeDV); - - if (nSpeechSamples != m_nSpeechSamples) - { - if (m_speechIn) { - delete[] m_speechIn; - } - - m_speechIn = new int16_t[m_nSpeechSamples]; - m_nSpeechSamples = nSpeechSamples; + if ((m_speechIn) && (nSpeechSamples != m_nSpeechSamples)) { + delete[] m_speechIn; } - if (nNomModemSamples != m_nNomModemSamples) - { - if (m_modOut) { - delete[] m_modOut; - } - - m_modOut = new int16_t[m_nNomModemSamples]; - m_nNomModemSamples = nNomModemSamples; + if ((m_modOut) && (nNomModemSamples != m_nNomModemSamples)) { + delete[] m_modOut; } + m_nSpeechSamples = nSpeechSamples; + m_nNomModemSamples = nNomModemSamples; + m_speechIn = new int16_t[m_nSpeechSamples]; + m_modOut = new int16_t[m_nNomModemSamples]; m_iSpeech = 0; m_iModem = 0;