summaryrefslogtreecommitdiffstats
path: root/src/imports/multimedia/qsgvideonode_i420.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/imports/multimedia/qsgvideonode_i420.cpp')
-rw-r--r--src/imports/multimedia/qsgvideonode_i420.cpp12
1 files changed, 3 insertions, 9 deletions
diff --git a/src/imports/multimedia/qsgvideonode_i420.cpp b/src/imports/multimedia/qsgvideonode_i420.cpp
index fae2c8723..9886d712a 100644
--- a/src/imports/multimedia/qsgvideonode_i420.cpp
+++ b/src/imports/multimedia/qsgvideonode_i420.cpp
@@ -225,13 +225,8 @@ void QSGVideoMaterial_YUV420::bind()
QOpenGLFunctions *functions = QOpenGLContext::currentContext()->functions();
QMutexLocker lock(&m_frameMutex);
- if (m_frame.isValid() && m_frame.map(QAbstractVideoBuffer::ReadOnly)) {
- bool wasMapped = m_frame.isMapped();
-
- if (!wasMapped)
- m_frame.map(QAbstractVideoBuffer::ReadOnly);
-
- if (m_frame.isMapped()) {
+ if (m_frame.isValid()) {
+ if (m_frame.map(QAbstractVideoBuffer::ReadOnly)) {
int fw = m_frame.width();
int fh = m_frame.height();
@@ -260,8 +255,7 @@ void QSGVideoMaterial_YUV420::bind()
functions->glActiveTexture(GL_TEXTURE0); // Finish with 0 as default texture unit
bindTexture(m_textureIds[0], fw, fh, bits);
- if (!wasMapped)
- m_frame.unmap();
+ m_frame.unmap();
}
m_frame = QVideoFrame();