summaryrefslogtreecommitdiff
path: root/ui/qt/rtp_audio_stream.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ui/qt/rtp_audio_stream.cpp')
-rw-r--r--ui/qt/rtp_audio_stream.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/ui/qt/rtp_audio_stream.cpp b/ui/qt/rtp_audio_stream.cpp
index 94149fe3ca..c16eca903c 100644
--- a/ui/qt/rtp_audio_stream.cpp
+++ b/ui/qt/rtp_audio_stream.cpp
@@ -539,10 +539,7 @@ void RtpAudioStream::stopPlaying()
{
if (audio_output_) {
audio_output_->stop();
- delete audio_output_;
- audio_output_ = NULL;
}
- emit finishedPlaying();
}
void RtpAudioStream::writeSilence(int samples)
@@ -564,20 +561,23 @@ void RtpAudioStream::writeSilence(int samples)
void RtpAudioStream::outputStateChanged()
{
- if (!audio_output_) return;
-
- if (audio_output_->state() == QAudio::IdleState) {
+ switch (audio_output_->state()) {
+ case QAudio::StoppedState:
// RTP_STREAM_DEBUG("stopped %f", audio_output_->processedUSecs() / 100000.0);
delete audio_output_;
audio_output_ = NULL;
-
emit finishedPlaying();
+ break;
+ case QAudio::IdleState:
+ audio_output_->stop();
+ break;
+ default:
+ break;
}
}
void RtpAudioStream::outputNotify()
{
- if (!audio_output_) return;
emit processedSecs(audio_output_->processedUSecs() / 1000000.0);
}