diff options
Diffstat (limited to 'src/multimediawidgets/qpaintervideosurface.cpp')
-rw-r--r-- | src/multimediawidgets/qpaintervideosurface.cpp | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/src/multimediawidgets/qpaintervideosurface.cpp b/src/multimediawidgets/qpaintervideosurface.cpp index 944ea23a7..1c8e2dd63 100644 --- a/src/multimediawidgets/qpaintervideosurface.cpp +++ b/src/multimediawidgets/qpaintervideosurface.cpp @@ -1473,29 +1473,28 @@ void QPainterVideoSurface::stop() bool QPainterVideoSurface::present(const QVideoFrame &frame) { if (!m_ready) { - if (!isActive()) + if (!isActive()) { setError(StoppedError); + return false; + } } else if (frame.isValid() && (frame.pixelFormat() != m_pixelFormat || frame.size() != m_frameSize)) { setError(IncorrectFormatError); stop(); + return false; } else { QAbstractVideoSurface::Error error = m_painter->setCurrentFrame(frame); - if (error != QAbstractVideoSurface::NoError) { setError(error); - stop(); - } else { - m_ready = false; - - emit frameChanged(); - - return true; + return false; } + + m_ready = false; + emit frameChanged(); } - return false; + return true; } /*! |