Browse Source

Merge PR #2719 from antis81:fix_audio_subscriptions

* fix dangling audio output device
* do not resubscribe sid in copy constructor
pull/2719/merge
Nils Fenner 10 years ago
parent
commit
552155bd1f
No known key found for this signature in database
GPG Key ID: 9591A163FF9BE04C
  1. 4
      src/audio/audio.cpp
  2. 1
      src/core/toxcall.cpp

4
src/audio/audio.cpp

@ -760,6 +760,8 @@ void Audio::unsubscribeOutput(SID& sid) @@ -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) @@ -772,8 +774,6 @@ void Audio::unsubscribeOutput(SID& sid)
sid = 0;
}
d->outSources.removeAll(sid);
if (d->outSources.isEmpty())
d->cleanupOutput();
}

1
src/core/toxcall.cpp

@ -49,7 +49,6 @@ ToxCall::ToxCall(ToxCall&& other) noexcept @@ -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;

Loading…
Cancel
Save