diff options
Diffstat (limited to 'ui/qt/rtp_audio_stream.cpp')
-rw-r--r-- | ui/qt/rtp_audio_stream.cpp | 16 |
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); } |