mirror of
https://github.com/overte-org/overte.git
synced 2025-04-08 22:33:56 +02:00
Fix reverb memory leak
This commit is contained in:
parent
8a7f130c5b
commit
438978b855
2 changed files with 17 additions and 0 deletions
|
@ -135,6 +135,15 @@ AudioClient::AudioClient() :
|
|||
updateTimer->start(DEVICE_CHECK_INTERVAL_MSECS);
|
||||
}
|
||||
|
||||
AudioClient::~AudioClient() {
|
||||
if (_gverbLocal) {
|
||||
gverb_free(_gverbLocal);
|
||||
}
|
||||
if (_gverb) {
|
||||
gverb_free(_gverb);
|
||||
}
|
||||
}
|
||||
|
||||
void AudioClient::reset() {
|
||||
_receivedAudioStream.reset();
|
||||
_stats.reset();
|
||||
|
@ -522,10 +531,17 @@ bool AudioClient::switchOutputToAudioDevice(const QString& outputDeviceName) {
|
|||
|
||||
void AudioClient::initGverb() {
|
||||
// Initialize a new gverb instance
|
||||
if (_gverbLocal) {
|
||||
gverb_free(_gverbLocal);
|
||||
}
|
||||
_gverbLocal = gverb_new(_outputFormat.sampleRate(), _reverbOptions->getMaxRoomSize(), _reverbOptions->getRoomSize(),
|
||||
_reverbOptions->getReverbTime(), _reverbOptions->getDamping(), _reverbOptions->getSpread(),
|
||||
_reverbOptions->getInputBandwidth(), _reverbOptions->getEarlyLevel(),
|
||||
_reverbOptions->getTailLevel());
|
||||
|
||||
if (_gverb) {
|
||||
gverb_free(_gverb);
|
||||
}
|
||||
_gverb = gverb_new(_outputFormat.sampleRate(), _reverbOptions->getMaxRoomSize(), _reverbOptions->getRoomSize(),
|
||||
_reverbOptions->getReverbTime(), _reverbOptions->getDamping(), _reverbOptions->getSpread(),
|
||||
_reverbOptions->getInputBandwidth(), _reverbOptions->getEarlyLevel(),
|
||||
|
|
|
@ -186,6 +186,7 @@ signals:
|
|||
|
||||
protected:
|
||||
AudioClient();
|
||||
~AudioClient();
|
||||
|
||||
private:
|
||||
void outputFormatChanged();
|
||||
|
|
Loading…
Reference in a new issue