diff options
author | Mansoor Chishtie <mchishtie@blackberry.com> | 2014-05-27 19:35:12 -0500 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-06-02 20:49:50 +0200 |
commit | 5e5a99fa374d4b83e548ada8c76fa191a27e4b51 (patch) | |
tree | 9ed2144ddc001fbbb7ca1964772b78bae015a61e /src/core/stream_video_node.h | |
parent | 65bf1a1334acce38983896241d3b211e1fa4659a (diff) |
Support EGLStream video streaming on QNX platform
On QNX platform, we implement video streaming via OpenGL
EGLStream streams. Changes were added to StreamVideo class
to support EGLStream objects. For non-QNX platforms, we
kept the StreamVideoNode class unchanged - assuming other
platforms will continue to support streaming via EGLImage
objects.
On QNX, cc::StreamVideoDrawQuad contains an
external OES texture that is associated with an
EGLStream. Before we draw with that texture, an
'acquire' is performed to grab latest video frame.
See EGL_KHR_stream specs from Khronos.
Change-Id: Ia3fe25e9047f475594a55591e3e11caa0eab1e6a
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Diffstat (limited to 'src/core/stream_video_node.h')
-rw-r--r-- | src/core/stream_video_node.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/core/stream_video_node.h b/src/core/stream_video_node.h index cf16f10d4..fdfa72938 100644 --- a/src/core/stream_video_node.h +++ b/src/core/stream_video_node.h @@ -63,9 +63,9 @@ public: } virtual QSGMaterialShader *createShader() const; - virtual int compare(const QSGMaterial *other) const; QSGTexture *m_texture; + QMatrix4x4 m_texMatrix; }; class StreamVideoNode : public QSGGeometryNode @@ -73,6 +73,7 @@ class StreamVideoNode : public QSGGeometryNode public: StreamVideoNode(QSGTexture *texture); void setRect(const QRectF &rect); + void setTextureMatrix(const QMatrix4x4 &matrix); private: QSGGeometry m_geometry; |