summaryrefslogtreecommitdiffstats
path: root/src/plugins/avfoundation/mediaplayer
diff options
context:
space:
mode:
authorAndy Nichols <andy.nichols@digia.com>2014-03-03 15:18:38 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-03-04 14:13:11 +0100
commit1fe5a7964fa1362349b10753c5cc89f1cc7fd978 (patch)
tree039d5601f751cf9e98e2f7ef6c0088c8dbd0573e /src/plugins/avfoundation/mediaplayer
parent16430262d9068f5f2ce5c2b4a16e8f71c4442254 (diff)
AVFoundation: Fix y-inverted QML Videos
When the code that supports iOS was added, we introduced a bug where QML videos would be played y-inverted on OS X. This is because we made no effort to y-invert the Framebuffer Object before rendering the texture in the SceneGraph. Now we render the video the the FBO y-inverted, so there is no need to y-invert the resulting texture. Task-number: QTBUG-35955 Change-Id: I41af1aaae57923b9972b5be5ec65f7d2a97d77c5 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Diffstat (limited to 'src/plugins/avfoundation/mediaplayer')
-rw-r--r--src/plugins/avfoundation/mediaplayer/avfvideoframerenderer.mm5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/plugins/avfoundation/mediaplayer/avfvideoframerenderer.mm b/src/plugins/avfoundation/mediaplayer/avfvideoframerenderer.mm
index fb63392bb..f4e4b649e 100644
--- a/src/plugins/avfoundation/mediaplayer/avfvideoframerenderer.mm
+++ b/src/plugins/avfoundation/mediaplayer/avfvideoframerenderer.mm
@@ -120,7 +120,7 @@ QImage AVFVideoFrameRenderer::renderLayerToImage(AVPlayerLayer *layer)
return QImage();
renderLayerToFBO(layer, fbo);
- QImage fboImage = fbo->toImage().mirrored();
+ QImage fboImage = fbo->toImage();
m_glContext->doneCurrent();
return fboImage;
@@ -204,7 +204,8 @@ void AVFVideoFrameRenderer::renderLayerToFBO(AVPlayerLayer *layer, QOpenGLFrameb
glPushMatrix();
glLoadIdentity();
- glOrtho(0.0f, m_targetSize.width(), m_targetSize.height(), 0.0f, 0.0f, 1.0f);
+ //Render to FBO with inverted Y
+ glOrtho(0.0, m_targetSize.width(), 0.0, m_targetSize.height(), 0.0, 1.0);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();