diff options
author | Andy Nichols <andy.nichols@digia.com> | 2014-03-03 15:18:38 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-03-04 14:13:11 +0100 |
commit | 1fe5a7964fa1362349b10753c5cc89f1cc7fd978 (patch) | |
tree | 039d5601f751cf9e98e2f7ef6c0088c8dbd0573e /src/plugins/avfoundation | |
parent | 16430262d9068f5f2ce5c2b4a16e8f71c4442254 (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')
-rw-r--r-- | src/plugins/avfoundation/mediaplayer/avfvideoframerenderer.mm | 5 |
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(); |