Browse Source

Fix audio timers started from wrong thread

This timer never actually worked
pull/2701/head
tux3 10 years ago
parent
commit
2b8200aa30
No known key found for this signature in database
GPG Key ID: 7E086DD661263264
  1. 9
      src/audio/audio.cpp

9
src/audio/audio.cpp

@ -65,11 +65,7 @@ Audio::Audio()
, inputVolume(1.0) , inputVolume(1.0)
, alMainSource(0) , alMainSource(0)
, alContext(nullptr) , alContext(nullptr)
, timer(new QTimer(this))
{ {
timer->setSingleShot(true);
connect(timer, &QTimer::timeout, this, &Audio::closeOutput);
audioThread->setObjectName("qTox Audio"); audioThread->setObjectName("qTox Audio");
connect(audioThread, &QThread::finished, audioThread, &QThread::deleteLater); connect(audioThread, &QThread::finished, audioThread, &QThread::deleteLater);
} }
@ -403,11 +399,6 @@ void Audio::playMono16Sound(const QByteArray& data)
ALint frequency; ALint frequency;
alGetBufferi(buffer, AL_FREQUENCY, &frequency); alGetBufferi(buffer, AL_FREQUENCY, &frequency);
qreal duration = (lengthInSamples / static_cast<qreal>(frequency)) * 1000;
int remaining = timer->interval();
if (duration > remaining)
timer->start(duration);
alDeleteBuffers(1, &buffer); alDeleteBuffers(1, &buffer);
} }

Loading…
Cancel
Save