diff --git a/src/audio/audio.cpp b/src/audio/audio.cpp index 5d67c6917..704c4c17c 100644 --- a/src/audio/audio.cpp +++ b/src/audio/audio.cpp @@ -760,6 +760,8 @@ void Audio::unsubscribeOutput(SID& sid) { QMutexLocker locker(&d->audioLock); + d->outSources.removeAll(sid); + if (sid) { if (alIsSource(sid)) { alDeleteSources(1, &sid); @@ -772,8 +774,6 @@ void Audio::unsubscribeOutput(SID& sid) sid = 0; } - d->outSources.removeAll(sid); - if (d->outSources.isEmpty()) d->cleanupOutput(); } diff --git a/src/core/toxcall.cpp b/src/core/toxcall.cpp index 7a878edc6..191034f1e 100644 --- a/src/core/toxcall.cpp +++ b/src/core/toxcall.cpp @@ -49,7 +49,6 @@ ToxCall::ToxCall(ToxCall&& other) noexcept // required -> ownership of audio input is moved to new instance Audio& audio = Audio::getInstance(); audio.subscribeInput(); - audio.subscribeOutput(alSource); #ifdef QTOX_FILTER_AUDIO filterer = other.filterer;