diff options
author | Andy Nichols <andy.nichols@digia.com> | 2013-08-15 15:08:35 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-08-27 14:16:10 +0200 |
commit | 51d0f852b9be9c5753e28e2bb4a7f2f6c35dc533 (patch) | |
tree | 92fdcdc94ca120d33363d7b827b5c2f4e3fbf4f5 /src/plugins/avfoundation/mediaplayer/avfvideoframerenderer.mm | |
parent | 17a700292ad9289e8de199dc50b3e222ede42e1d (diff) |
AVFoundation: Use CoreAnimation to render video to QVideoWidget
Previously a QGLWidget was used as a target for the
AVFVideoFrameRenderer. This was uncessary as it is possible to render
directly on top of the QWidget using the CoreAnimation Framework.
Change-Id: I08923c85fd56c8874c1d8c187ae5145e220fab92
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Diffstat (limited to 'src/plugins/avfoundation/mediaplayer/avfvideoframerenderer.mm')
-rw-r--r-- | src/plugins/avfoundation/mediaplayer/avfvideoframerenderer.mm | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/src/plugins/avfoundation/mediaplayer/avfvideoframerenderer.mm b/src/plugins/avfoundation/mediaplayer/avfvideoframerenderer.mm index 210dd568b..fb63392bb 100644 --- a/src/plugins/avfoundation/mediaplayer/avfvideoframerenderer.mm +++ b/src/plugins/avfoundation/mediaplayer/avfvideoframerenderer.mm @@ -45,10 +45,6 @@ #include <QtGui/QOpenGLFramebufferObject> #include <QtGui/QWindow> -#ifndef QT_NO_WIDGETS -#include <QtOpenGL/QGLWidget> -#endif - #ifdef QT_DEBUG_AVF #include <QtCore/qdebug.h> #endif @@ -76,31 +72,6 @@ AVFVideoFrameRenderer::AVFVideoFrameRenderer(QAbstractVideoSurface *surface, QOb m_offscreenSurface->setGeometry(0, 0, 1, 1); m_offscreenSurface->create(); } -#ifndef QT_NO_WIDGETS -AVFVideoFrameRenderer::AVFVideoFrameRenderer(QGLWidget *glWidget, const QSize &size, QObject *parent) - : QObject(parent) - , m_videoLayerRenderer(0) - , m_glWidget(glWidget) - , m_surface(0) - , m_offscreenSurface(0) - , m_glContext(0) - , m_targetSize(size) - , m_currentBuffer(1) - , m_isContextShared(true) -{ - m_fbo[0] = 0; - m_fbo[1] = 0; - - //Create Hidden QWindow surface to create context in this thread - m_offscreenSurface = new QWindow(); - m_offscreenSurface->setSurfaceType(QWindow::OpenGLSurface); - //Needs geometry to be a valid surface, but size is not important - m_offscreenSurface->setGeometry(0, 0, 1, 1); - m_offscreenSurface->create(); - - -} -#endif AVFVideoFrameRenderer::~AVFVideoFrameRenderer() { @@ -168,10 +139,6 @@ QOpenGLFramebufferObject *AVFVideoFrameRenderer::initRenderer(AVPlayerLayer *lay if (m_surface) { //QOpenGLContext *renderThreadContext = 0; shareContext = qobject_cast<QOpenGLContext*>(m_surface->property("GLContext").value<QObject*>()); -#ifndef QT_NO_WIDGETS - } else { - shareContext = m_glWidget->context()->contextHandle(); -#endif } m_glContext = new QOpenGLContext(); m_glContext->setFormat(m_offscreenSurface->requestedFormat()); |