summaryrefslogtreecommitdiffstats
path: root/src/multimedia
diff options
context:
space:
mode:
authorYoann Lopes <yoann.lopes@digia.com>2013-09-27 11:24:10 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-10-01 17:26:21 +0200
commitbe7a6241e77f67e4a19c63ac5683dd7fa566e9d2 (patch)
treeab8b66b5124d4a982d7690cf7893a40650bccc8d /src/multimedia
parent329d9d4563445d785284a02983e237ff1a07f5dd (diff)
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>
Diffstat (limited to 'src/multimedia')
-rw-r--r--src/multimedia/multimedia.pro3
-rw-r--r--src/multimedia/qtmultimediaquicktools_headers/qsgvideonode_p.h4
2 files changed, 4 insertions, 3 deletions
diff --git a/src/multimedia/multimedia.pro b/src/multimedia/multimedia.pro
index 41a66687a..ef6633b95 100644
--- a/src/multimedia/multimedia.pro
+++ b/src/multimedia/multimedia.pro
@@ -62,7 +62,8 @@ ANDROID_BUNDLED_FILES += \
lib/libQt5MultimediaQuick_p.so
MODULE_PLUGIN_TYPES = \
mediaservice \
- audio
+ audio \
+ video/videonode
win32:LIBS += -luuid
diff --git a/src/multimedia/qtmultimediaquicktools_headers/qsgvideonode_p.h b/src/multimedia/qtmultimediaquicktools_headers/qsgvideonode_p.h
index 4590e2f96..71230ca35 100644
--- a/src/multimedia/qtmultimediaquicktools_headers/qsgvideonode_p.h
+++ b/src/multimedia/qtmultimediaquicktools_headers/qsgvideonode_p.h
@@ -69,7 +69,7 @@ private:
int m_orientation;
};
-class QSGVideoNodeFactoryInterface
+class Q_MULTIMEDIAQUICK_EXPORT QSGVideoNodeFactoryInterface
{
public:
virtual QList<QVideoFrame::PixelFormat> supportedPixelFormats(QAbstractVideoBuffer::HandleType handleType) const = 0;
@@ -79,7 +79,7 @@ public:
#define QSGVideoNodeFactoryInterface_iid "org.qt-project.qt.sgvideonodefactory/5.0"
Q_DECLARE_INTERFACE(QSGVideoNodeFactoryInterface, QSGVideoNodeFactoryInterface_iid)
-class QSGVideoNodeFactoryPlugin : public QObject, public QSGVideoNodeFactoryInterface
+class Q_MULTIMEDIAQUICK_EXPORT QSGVideoNodeFactoryPlugin : public QObject, public QSGVideoNodeFactoryInterface
{
Q_OBJECT
Q_INTERFACES(QSGVideoNodeFactoryInterface)