Android: refactor video renderer.
authorYoann Lopes <yoann.lopes@digia.com>
Fri, 27 Sep 2013 09:24:10 +0000 (11:24 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Tue, 1 Oct 2013 15:26:21 +0000 (17:26 +0200)
commitbe7a6241e77f67e4a19c63ac5683dd7fa566e9d2
treeab8b66b5124d4a982d7690cf7893a40650bccc8d
parent329d9d4563445d785284a02983e237ff1a07f5dd
Android: refactor video renderer.

Removed the overhead of having to create a shared OpenGL context in the GUI
thread and pre-render the frame into a FBO.

We now directly render the GL_TEXTURE_EXTERNAL_OES in the QtQuick render
thread, using an Android-specific QSGVideoNode.
We also use a callback from the render thread to create the texture from
there and not have to create a separate shared OpenGL context.

Change-Id: I6c8eb94b47d0a03329c912701b8af3fb5ebd1876
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
20 files changed:
src/imports/multimedia/qdeclarativevideooutput_render.cpp
src/multimedia/multimedia.pro
src/multimedia/qtmultimediaquicktools_headers/qsgvideonode_p.h
src/plugins/android/android.pro
src/plugins/android/src/common/qandroidvideooutput.h
src/plugins/android/src/common/qandroidvideorendercontrol.cpp
src/plugins/android/src/common/qandroidvideorendercontrol.h
src/plugins/android/src/mediacapture/qandroidcamerasession.cpp
src/plugins/android/src/mediacapture/qandroidcamerasession.h
src/plugins/android/src/mediacapture/qandroidcaptureservice.h
src/plugins/android/src/mediaplayer/qandroidmediaplayercontrol.cpp
src/plugins/android/src/mediaplayer/qandroidmediaplayercontrol.h
src/plugins/android/src/mediaplayer/qandroidmediaservice.h
src/plugins/android/src/wrappers/jsurfacetexture.h
src/plugins/android/videonode/android_videonode.json [new file with mode: 0644]
src/plugins/android/videonode/qandroidsgvideonode.cpp [new file with mode: 0644]
src/plugins/android/videonode/qandroidsgvideonode.h [new file with mode: 0644]
src/plugins/android/videonode/qandroidsgvideonodeplugin.cpp [new file with mode: 0644]
src/plugins/android/videonode/qandroidsgvideonodeplugin.h [new file with mode: 0644]
src/plugins/android/videonode/videonode.pro [new file with mode: 0644]