diff --git a/src/AVDemuxThread.cpp b/src/AVDemuxThread.cpp index adc6fdd7..e937c3a0 100644 --- a/src/AVDemuxThread.cpp +++ b/src/AVDemuxThread.cpp @@ -115,6 +115,8 @@ void AVDemuxThread::stop() void AVDemuxThread::pause(bool p) { + if (paused == p) + return; paused = p; if (!paused) cond.wakeAll(); diff --git a/src/AVOutput.cpp b/src/AVOutput.cpp index afd384ad..0c4de03f 100644 --- a/src/AVOutput.cpp +++ b/src/AVOutput.cpp @@ -54,6 +54,8 @@ bool AVOutput::isAvailable() const void AVOutput::pause(bool p) { DPTR_D(AVOutput); + if (d.paused == p) + return; d.paused = p; if (!d.paused) d.cond.wakeAll(); diff --git a/src/AVThread.cpp b/src/AVThread.cpp index 05b6e38a..1f819808 100644 --- a/src/AVThread.cpp +++ b/src/AVThread.cpp @@ -55,6 +55,8 @@ void AVThread::stop() void AVThread::pause(bool p) { DPTR_D(AVThread); + if (d.paused == p) + return; d.paused = p; if (!d.paused) { qDebug("wake up paused thread");