Merge lp:~phablet-team/qtvideo-node/support_qt52 into lp:qtvideo-node
- support_qt52
- Merge into trunk
Status: | Merged |
---|---|
Approved by: | Jim Hodapp |
Approved revision: | 47 |
Merged at revision: | 44 |
Proposed branch: | lp:~phablet-team/qtvideo-node/support_qt52 |
Merge into: | lp:qtvideo-node |
Diff against target: |
402 lines (+308/-4) 8 files modified
debian/control (+0/-1) src/private/qsgvideonode_p.h (+93/-0) src/private/qtmultimediaquickdefs_p.h (+70/-0) src/qsgvideonode_p.cpp (+128/-0) src/shadervideomaterial.h (+5/-0) src/shadervideoshader.h (+5/-0) src/src.pro (+3/-2) unittests/shadervideonode/shadervideonode.pro (+4/-1) |
To merge this branch: | bzr merge lp:~phablet-team/qtvideo-node/support_qt52 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Timo Jyrinki | Approve | ||
PS Jenkins bot | continuous-integration | Approve | |
Jim Hodapp (community) | code | Approve | |
Review via email: mp+204170@code.launchpad.net |
Commit message
Initial Qt 5.2 support. Copy two header files from qtmultimedia private headers. Only use Qt Declarative private headers (quick-private) otherwise, and use version detection to support both 5.0 and 5.2.
Disable unit tests temporarily.
Description of the change
Timo Jyrinki (timo-jyrinki) wrote : | # |
Ricardo Salveti (rsalveti) wrote : | # |
What is the reason to disable the tests?
Jim Hodapp (jhodapp) wrote : | # |
Looks good, thanks.
- 45. By Ricardo Salveti
- 46. By Ricardo Salveti
-
videonode.pro: adding back the unit tests
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:46
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
- 47. By Ricardo Salveti
-
Adding needed files for the unittests
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:47
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Timo Jyrinki (timo-jyrinki) wrote : | # |
Approving as per functionality testing, builds in the PPA and camera works now!
Preview Diff
1 | === modified file 'debian/control' | |||
2 | --- debian/control 2013-12-23 20:26:24 +0000 | |||
3 | +++ debian/control 2014-02-27 03:41:33 +0000 | |||
4 | @@ -15,7 +15,6 @@ | |||
5 | 15 | qtdeclarative5-dev, | 15 | qtdeclarative5-dev, |
6 | 16 | qtdeclarative5-private-dev, | 16 | qtdeclarative5-private-dev, |
7 | 17 | qtmultimedia5-dev, | 17 | qtmultimedia5-dev, |
8 | 18 | qtmultimedia5-private-dev, | ||
9 | 19 | Standards-Version: 3.9.4 | 18 | Standards-Version: 3.9.4 |
10 | 20 | Homepage: https://launchpad.net/qtvideo-node | 19 | Homepage: https://launchpad.net/qtvideo-node |
11 | 21 | # If you aren't a member of ~phablet-team but need to upload packaging changes, | 20 | # If you aren't a member of ~phablet-team but need to upload packaging changes, |
12 | 22 | 21 | ||
13 | === added directory 'src/private' | |||
14 | === added file 'src/private/qsgvideonode_p.h' | |||
15 | --- src/private/qsgvideonode_p.h 1970-01-01 00:00:00 +0000 | |||
16 | +++ src/private/qsgvideonode_p.h 2014-02-27 03:41:33 +0000 | |||
17 | @@ -0,0 +1,93 @@ | |||
18 | 1 | /**************************************************************************** | ||
19 | 2 | ** | ||
20 | 3 | ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). | ||
21 | 4 | ** Contact: http://www.qt-project.org/legal | ||
22 | 5 | ** | ||
23 | 6 | ** This file is part of the Qt Toolkit. | ||
24 | 7 | ** | ||
25 | 8 | ** $QT_BEGIN_LICENSE:LGPL$ | ||
26 | 9 | ** Commercial License Usage | ||
27 | 10 | ** Licensees holding valid commercial Qt licenses may use this file in | ||
28 | 11 | ** accordance with the commercial license agreement provided with the | ||
29 | 12 | ** Software or, alternatively, in accordance with the terms contained in | ||
30 | 13 | ** a written agreement between you and Digia. For licensing terms and | ||
31 | 14 | ** conditions see http://qt.digia.com/licensing. For further information | ||
32 | 15 | ** use the contact form at http://qt.digia.com/contact-us. | ||
33 | 16 | ** | ||
34 | 17 | ** GNU Lesser General Public License Usage | ||
35 | 18 | ** Alternatively, this file may be used under the terms of the GNU Lesser | ||
36 | 19 | ** General Public License version 2.1 as published by the Free Software | ||
37 | 20 | ** Foundation and appearing in the file LICENSE.LGPL included in the | ||
38 | 21 | ** packaging of this file. Please review the following information to | ||
39 | 22 | ** ensure the GNU Lesser General Public License version 2.1 requirements | ||
40 | 23 | ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
41 | 24 | ** | ||
42 | 25 | ** In addition, as a special exception, Digia gives you certain additional | ||
43 | 26 | ** rights. These rights are described in the Digia Qt LGPL Exception | ||
44 | 27 | ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
45 | 28 | ** | ||
46 | 29 | ** GNU General Public License Usage | ||
47 | 30 | ** Alternatively, this file may be used under the terms of the GNU | ||
48 | 31 | ** General Public License version 3.0 as published by the Free Software | ||
49 | 32 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
50 | 33 | ** packaging of this file. Please review the following information to | ||
51 | 34 | ** ensure the GNU General Public License version 3.0 requirements will be | ||
52 | 35 | ** met: http://www.gnu.org/copyleft/gpl.html. | ||
53 | 36 | ** | ||
54 | 37 | ** | ||
55 | 38 | ** $QT_END_LICENSE$ | ||
56 | 39 | ** | ||
57 | 40 | ****************************************************************************/ | ||
58 | 41 | |||
59 | 42 | #ifndef QSGVIDEONODE_P_H | ||
60 | 43 | #define QSGVIDEONODE_P_H | ||
61 | 44 | |||
62 | 45 | #include <QtQuick/qsgnode.h> | ||
63 | 46 | #include <private/qtmultimediaquickdefs_p.h> | ||
64 | 47 | |||
65 | 48 | #include <QtMultimedia/qvideoframe.h> | ||
66 | 49 | #include <QtMultimedia/qvideosurfaceformat.h> | ||
67 | 50 | #include <QtGui/qopenglfunctions.h> | ||
68 | 51 | |||
69 | 52 | QT_BEGIN_NAMESPACE | ||
70 | 53 | |||
71 | 54 | const QLatin1String QSGVideoNodeFactoryPluginKey("sgvideonodes"); | ||
72 | 55 | |||
73 | 56 | class Q_MULTIMEDIAQUICK_EXPORT QSGVideoNode : public QSGGeometryNode | ||
74 | 57 | { | ||
75 | 58 | public: | ||
76 | 59 | QSGVideoNode(); | ||
77 | 60 | |||
78 | 61 | virtual void setCurrentFrame(const QVideoFrame &frame) = 0; | ||
79 | 62 | virtual QVideoFrame::PixelFormat pixelFormat() const = 0; | ||
80 | 63 | |||
81 | 64 | void setTexturedRectGeometry(const QRectF &boundingRect, const QRectF &textureRect, int orientation); | ||
82 | 65 | |||
83 | 66 | private: | ||
84 | 67 | QRectF m_rect; | ||
85 | 68 | QRectF m_textureRect; | ||
86 | 69 | int m_orientation; | ||
87 | 70 | }; | ||
88 | 71 | |||
89 | 72 | class Q_MULTIMEDIAQUICK_EXPORT QSGVideoNodeFactoryInterface | ||
90 | 73 | { | ||
91 | 74 | public: | ||
92 | 75 | virtual QList<QVideoFrame::PixelFormat> supportedPixelFormats(QAbstractVideoBuffer::HandleType handleType) const = 0; | ||
93 | 76 | virtual QSGVideoNode *createNode(const QVideoSurfaceFormat &format) = 0; | ||
94 | 77 | }; | ||
95 | 78 | |||
96 | 79 | #define QSGVideoNodeFactoryInterface_iid "org.qt-project.qt.sgvideonodefactory/5.0" | ||
97 | 80 | Q_DECLARE_INTERFACE(QSGVideoNodeFactoryInterface, QSGVideoNodeFactoryInterface_iid) | ||
98 | 81 | |||
99 | 82 | class Q_MULTIMEDIAQUICK_EXPORT QSGVideoNodeFactoryPlugin : public QObject, public QSGVideoNodeFactoryInterface | ||
100 | 83 | { | ||
101 | 84 | Q_OBJECT | ||
102 | 85 | Q_INTERFACES(QSGVideoNodeFactoryInterface) | ||
103 | 86 | public: | ||
104 | 87 | virtual QList<QVideoFrame::PixelFormat> supportedPixelFormats(QAbstractVideoBuffer::HandleType handleType) const = 0; | ||
105 | 88 | virtual QSGVideoNode *createNode(const QVideoSurfaceFormat &format) = 0; | ||
106 | 89 | }; | ||
107 | 90 | |||
108 | 91 | QT_END_NAMESPACE | ||
109 | 92 | |||
110 | 93 | #endif // QSGVIDEONODE_H | ||
111 | 0 | 94 | ||
112 | === added file 'src/private/qtmultimediaquickdefs_p.h' | |||
113 | --- src/private/qtmultimediaquickdefs_p.h 1970-01-01 00:00:00 +0000 | |||
114 | +++ src/private/qtmultimediaquickdefs_p.h 2014-02-27 03:41:33 +0000 | |||
115 | @@ -0,0 +1,70 @@ | |||
116 | 1 | /**************************************************************************** | ||
117 | 2 | ** | ||
118 | 3 | ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). | ||
119 | 4 | ** Contact: http://www.qt-project.org/legal | ||
120 | 5 | ** | ||
121 | 6 | ** This file is part of the Qt Toolkit. | ||
122 | 7 | ** | ||
123 | 8 | ** $QT_BEGIN_LICENSE:LGPL$ | ||
124 | 9 | ** Commercial License Usage | ||
125 | 10 | ** Licensees holding valid commercial Qt licenses may use this file in | ||
126 | 11 | ** accordance with the commercial license agreement provided with the | ||
127 | 12 | ** Software or, alternatively, in accordance with the terms contained in | ||
128 | 13 | ** a written agreement between you and Digia. For licensing terms and | ||
129 | 14 | ** conditions see http://qt.digia.com/licensing. For further information | ||
130 | 15 | ** use the contact form at http://qt.digia.com/contact-us. | ||
131 | 16 | ** | ||
132 | 17 | ** GNU Lesser General Public License Usage | ||
133 | 18 | ** Alternatively, this file may be used under the terms of the GNU Lesser | ||
134 | 19 | ** General Public License version 2.1 as published by the Free Software | ||
135 | 20 | ** Foundation and appearing in the file LICENSE.LGPL included in the | ||
136 | 21 | ** packaging of this file. Please review the following information to | ||
137 | 22 | ** ensure the GNU Lesser General Public License version 2.1 requirements | ||
138 | 23 | ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
139 | 24 | ** | ||
140 | 25 | ** In addition, as a special exception, Digia gives you certain additional | ||
141 | 26 | ** rights. These rights are described in the Digia Qt LGPL Exception | ||
142 | 27 | ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
143 | 28 | ** | ||
144 | 29 | ** GNU General Public License Usage | ||
145 | 30 | ** Alternatively, this file may be used under the terms of the GNU | ||
146 | 31 | ** General Public License version 3.0 as published by the Free Software | ||
147 | 32 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
148 | 33 | ** packaging of this file. Please review the following information to | ||
149 | 34 | ** ensure the GNU General Public License version 3.0 requirements will be | ||
150 | 35 | ** met: http://www.gnu.org/copyleft/gpl.html. | ||
151 | 36 | ** | ||
152 | 37 | ** | ||
153 | 38 | ** $QT_END_LICENSE$ | ||
154 | 39 | ** | ||
155 | 40 | ****************************************************************************/ | ||
156 | 41 | |||
157 | 42 | // | ||
158 | 43 | // W A R N I N G | ||
159 | 44 | // ------------- | ||
160 | 45 | // | ||
161 | 46 | // This file is not part of the Qt API. It exists purely as an | ||
162 | 47 | // implementation detail. This header file may change from version to | ||
163 | 48 | // version without notice, or even be removed. | ||
164 | 49 | // | ||
165 | 50 | // We mean it. | ||
166 | 51 | // | ||
167 | 52 | |||
168 | 53 | #ifndef QMULTIMEDIAQUICKDEFS_P_H | ||
169 | 54 | #define QMULTIMEDIAQUICKDEFS_P_H | ||
170 | 55 | |||
171 | 56 | #include <QtCore/qglobal.h> | ||
172 | 57 | |||
173 | 58 | #ifndef QT_STATIC | ||
174 | 59 | # if defined(QT_BUILD_QTMM_QUICK_LIB) | ||
175 | 60 | # define Q_MULTIMEDIAQUICK_EXPORT Q_DECL_EXPORT | ||
176 | 61 | # else | ||
177 | 62 | # define Q_MULTIMEDIAQUICK_EXPORT Q_DECL_IMPORT | ||
178 | 63 | # endif | ||
179 | 64 | #else | ||
180 | 65 | # define Q_MULTIMEDIAQUICK_EXPORT | ||
181 | 66 | #endif | ||
182 | 67 | |||
183 | 68 | |||
184 | 69 | #endif // QMULTIMEDIAQUICKDEFS_P_H | ||
185 | 70 | |||
186 | 0 | 71 | ||
187 | === added file 'src/qsgvideonode_p.cpp' | |||
188 | --- src/qsgvideonode_p.cpp 1970-01-01 00:00:00 +0000 | |||
189 | +++ src/qsgvideonode_p.cpp 2014-02-27 03:41:33 +0000 | |||
190 | @@ -0,0 +1,128 @@ | |||
191 | 1 | /**************************************************************************** | ||
192 | 2 | ** | ||
193 | 3 | ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). | ||
194 | 4 | ** Contact: http://www.qt-project.org/legal | ||
195 | 5 | ** | ||
196 | 6 | ** This file is part of the Qt Toolkit. | ||
197 | 7 | ** | ||
198 | 8 | ** $QT_BEGIN_LICENSE:LGPL$ | ||
199 | 9 | ** Commercial License Usage | ||
200 | 10 | ** Licensees holding valid commercial Qt licenses may use this file in | ||
201 | 11 | ** accordance with the commercial license agreement provided with the | ||
202 | 12 | ** Software or, alternatively, in accordance with the terms contained in | ||
203 | 13 | ** a written agreement between you and Digia. For licensing terms and | ||
204 | 14 | ** conditions see http://qt.digia.com/licensing. For further information | ||
205 | 15 | ** use the contact form at http://qt.digia.com/contact-us. | ||
206 | 16 | ** | ||
207 | 17 | ** GNU Lesser General Public License Usage | ||
208 | 18 | ** Alternatively, this file may be used under the terms of the GNU Lesser | ||
209 | 19 | ** General Public License version 2.1 as published by the Free Software | ||
210 | 20 | ** Foundation and appearing in the file LICENSE.LGPL included in the | ||
211 | 21 | ** packaging of this file. Please review the following information to | ||
212 | 22 | ** ensure the GNU Lesser General Public License version 2.1 requirements | ||
213 | 23 | ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
214 | 24 | ** | ||
215 | 25 | ** In addition, as a special exception, Digia gives you certain additional | ||
216 | 26 | ** rights. These rights are described in the Digia Qt LGPL Exception | ||
217 | 27 | ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
218 | 28 | ** | ||
219 | 29 | ** GNU General Public License Usage | ||
220 | 30 | ** Alternatively, this file may be used under the terms of the GNU | ||
221 | 31 | ** General Public License version 3.0 as published by the Free Software | ||
222 | 32 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
223 | 33 | ** packaging of this file. Please review the following information to | ||
224 | 34 | ** ensure the GNU General Public License version 3.0 requirements will be | ||
225 | 35 | ** met: http://www.gnu.org/copyleft/gpl.html. | ||
226 | 36 | ** | ||
227 | 37 | ** | ||
228 | 38 | ** $QT_END_LICENSE$ | ||
229 | 39 | ** | ||
230 | 40 | ****************************************************************************/ | ||
231 | 41 | |||
232 | 42 | #include "private/qsgvideonode_p.h" | ||
233 | 43 | |||
234 | 44 | QT_BEGIN_NAMESPACE | ||
235 | 45 | |||
236 | 46 | QSGVideoNode::QSGVideoNode() | ||
237 | 47 | : m_orientation(-1) | ||
238 | 48 | { | ||
239 | 49 | } | ||
240 | 50 | |||
241 | 51 | /* Helpers */ | ||
242 | 52 | static inline void qSetGeom(QSGGeometry::TexturedPoint2D *v, const QPointF &p) | ||
243 | 53 | { | ||
244 | 54 | v->x = p.x(); | ||
245 | 55 | v->y = p.y(); | ||
246 | 56 | } | ||
247 | 57 | |||
248 | 58 | static inline void qSetTex(QSGGeometry::TexturedPoint2D *v, const QPointF &p) | ||
249 | 59 | { | ||
250 | 60 | v->tx = p.x(); | ||
251 | 61 | v->ty = p.y(); | ||
252 | 62 | } | ||
253 | 63 | |||
254 | 64 | /* Update the vertices and texture coordinates. Orientation must be in {0,90,180,270} */ | ||
255 | 65 | void QSGVideoNode::setTexturedRectGeometry(const QRectF &rect, const QRectF &textureRect, int orientation) | ||
256 | 66 | { | ||
257 | 67 | if (rect == m_rect && textureRect == m_textureRect && orientation == m_orientation) | ||
258 | 68 | return; | ||
259 | 69 | |||
260 | 70 | m_rect = rect; | ||
261 | 71 | m_textureRect = textureRect; | ||
262 | 72 | m_orientation = orientation; | ||
263 | 73 | |||
264 | 74 | QSGGeometry *g = geometry(); | ||
265 | 75 | |||
266 | 76 | if (g == 0) | ||
267 | 77 | g = new QSGGeometry(QSGGeometry::defaultAttributes_TexturedPoint2D(), 4); | ||
268 | 78 | |||
269 | 79 | QSGGeometry::TexturedPoint2D *v = g->vertexDataAsTexturedPoint2D(); | ||
270 | 80 | |||
271 | 81 | // Set geometry first | ||
272 | 82 | qSetGeom(v + 0, rect.topLeft()); | ||
273 | 83 | qSetGeom(v + 1, rect.bottomLeft()); | ||
274 | 84 | qSetGeom(v + 2, rect.topRight()); | ||
275 | 85 | qSetGeom(v + 3, rect.bottomRight()); | ||
276 | 86 | |||
277 | 87 | // and then texture coordinates | ||
278 | 88 | switch (orientation) { | ||
279 | 89 | default: | ||
280 | 90 | // tl, bl, tr, br | ||
281 | 91 | qSetTex(v + 0, textureRect.topLeft()); | ||
282 | 92 | qSetTex(v + 1, textureRect.bottomLeft()); | ||
283 | 93 | qSetTex(v + 2, textureRect.topRight()); | ||
284 | 94 | qSetTex(v + 3, textureRect.bottomRight()); | ||
285 | 95 | break; | ||
286 | 96 | |||
287 | 97 | case 90: | ||
288 | 98 | // tr, tl, br, bl | ||
289 | 99 | qSetTex(v + 0, textureRect.topRight()); | ||
290 | 100 | qSetTex(v + 1, textureRect.topLeft()); | ||
291 | 101 | qSetTex(v + 2, textureRect.bottomRight()); | ||
292 | 102 | qSetTex(v + 3, textureRect.bottomLeft()); | ||
293 | 103 | break; | ||
294 | 104 | |||
295 | 105 | case 180: | ||
296 | 106 | // br, tr, bl, tl | ||
297 | 107 | qSetTex(v + 0, textureRect.bottomRight()); | ||
298 | 108 | qSetTex(v + 1, textureRect.topRight()); | ||
299 | 109 | qSetTex(v + 2, textureRect.bottomLeft()); | ||
300 | 110 | qSetTex(v + 3, textureRect.topLeft()); | ||
301 | 111 | break; | ||
302 | 112 | |||
303 | 113 | case 270: | ||
304 | 114 | // bl, br, tl, tr | ||
305 | 115 | qSetTex(v + 0, textureRect.bottomLeft()); | ||
306 | 116 | qSetTex(v + 1, textureRect.bottomRight()); | ||
307 | 117 | qSetTex(v + 2, textureRect.topLeft()); | ||
308 | 118 | qSetTex(v + 3, textureRect.topRight()); | ||
309 | 119 | break; | ||
310 | 120 | } | ||
311 | 121 | |||
312 | 122 | if (!geometry()) | ||
313 | 123 | setGeometry(g); | ||
314 | 124 | |||
315 | 125 | markDirty(DirtyGeometry); | ||
316 | 126 | } | ||
317 | 127 | |||
318 | 128 | QT_END_NAMESPACE | ||
319 | 0 | 129 | ||
320 | === modified file 'src/shadervideomaterial.h' | |||
321 | --- src/shadervideomaterial.h 2013-12-05 16:48:46 +0000 | |||
322 | +++ src/shadervideomaterial.h 2014-02-27 03:41:33 +0000 | |||
323 | @@ -17,7 +17,12 @@ | |||
324 | 17 | #ifndef SHADERVIDEOMATERIAL_H | 17 | #ifndef SHADERVIDEOMATERIAL_H |
325 | 18 | #define SHADERVIDEOMATERIAL_H | 18 | #define SHADERVIDEOMATERIAL_H |
326 | 19 | 19 | ||
327 | 20 | #include <qglobal.h> | ||
328 | 21 | #if (QT_VERSION < QT_VERSION_CHECK(5, 2, 0)) | ||
329 | 20 | #include <QSGMaterial> | 22 | #include <QSGMaterial> |
330 | 23 | #else | ||
331 | 24 | #include <QtQuick/QSGMaterial> | ||
332 | 25 | #endif | ||
333 | 21 | #include <QVideoSurfaceFormat> | 26 | #include <QVideoSurfaceFormat> |
334 | 22 | #include <qgl.h> | 27 | #include <qgl.h> |
335 | 23 | 28 | ||
336 | 24 | 29 | ||
337 | === modified file 'src/shadervideoshader.h' | |||
338 | --- src/shadervideoshader.h 2013-02-12 14:04:56 +0000 | |||
339 | +++ src/shadervideoshader.h 2014-02-27 03:41:33 +0000 | |||
340 | @@ -17,7 +17,12 @@ | |||
341 | 17 | #ifndef SHADERVIDEOSHADER_H | 17 | #ifndef SHADERVIDEOSHADER_H |
342 | 18 | #define SHADERVIDEOSHADER_H | 18 | #define SHADERVIDEOSHADER_H |
343 | 19 | 19 | ||
344 | 20 | #include <qglobal.h> | ||
345 | 21 | #if (QT_VERSION < QT_VERSION_CHECK(5, 2, 0)) | ||
346 | 20 | #include <QSGMaterialShader> | 22 | #include <QSGMaterialShader> |
347 | 23 | #else | ||
348 | 24 | #include <QtQuick/QSGMaterialShader> | ||
349 | 25 | #endif | ||
350 | 21 | #include <QVideoFrame> | 26 | #include <QVideoFrame> |
351 | 22 | 27 | ||
352 | 23 | class ShaderVideoShader : public QSGMaterialShader | 28 | class ShaderVideoShader : public QSGMaterialShader |
353 | 24 | 29 | ||
354 | === modified file 'src/src.pro' | |||
355 | --- src/src.pro 2013-06-05 11:44:20 +0000 | |||
356 | +++ src/src.pro 2014-02-27 03:41:33 +0000 | |||
357 | @@ -1,7 +1,7 @@ | |||
358 | 1 | TARGET = shadervideonode | 1 | TARGET = shadervideonode |
359 | 2 | TEMPLATE = lib | 2 | TEMPLATE = lib |
360 | 3 | CONFIG += plugin | 3 | CONFIG += plugin |
362 | 4 | QT += multimedia-private qtmultimediaquicktools-private opengl | 4 | QT += multimedia opengl quick-private |
363 | 5 | 5 | ||
364 | 6 | include(../coverage.pri) | 6 | include(../coverage.pri) |
365 | 7 | 7 | ||
366 | @@ -27,4 +27,5 @@ | |||
367 | 27 | shadervideomaterial.cpp \ | 27 | shadervideomaterial.cpp \ |
368 | 28 | shadervideoshader.cpp \ | 28 | shadervideoshader.cpp \ |
369 | 29 | shadervideonode.cpp \ | 29 | shadervideonode.cpp \ |
371 | 30 | snapshotgenerator.cpp | 30 | snapshotgenerator.cpp \ |
372 | 31 | qsgvideonode_p.cpp | ||
373 | 31 | 32 | ||
374 | === modified file 'unittests/shadervideonode/shadervideonode.pro' | |||
375 | --- unittests/shadervideonode/shadervideonode.pro 2013-09-10 13:28:07 +0000 | |||
376 | +++ unittests/shadervideonode/shadervideonode.pro 2014-02-27 03:41:33 +0000 | |||
377 | @@ -7,7 +7,7 @@ | |||
378 | 7 | 7 | ||
379 | 8 | include(../../coverage.pri) | 8 | include(../../coverage.pri) |
380 | 9 | 9 | ||
382 | 10 | QT += testlib multimedia-private qtmultimediaquicktools-private opengl | 10 | QT += testlib multimedia opengl quick-private |
383 | 11 | 11 | ||
384 | 12 | # This is to avoid a segfault in shadervideonode.cpp when it tries to call | 12 | # This is to avoid a segfault in shadervideonode.cpp when it tries to call |
385 | 13 | # glGenTextures(), since the platform currently does not support real OpenGL | 13 | # glGenTextures(), since the platform currently does not support real OpenGL |
386 | @@ -19,6 +19,7 @@ | |||
387 | 19 | ../../src/shadervideonode.cpp \ | 19 | ../../src/shadervideonode.cpp \ |
388 | 20 | ../../src/shadervideoshader.cpp \ | 20 | ../../src/shadervideoshader.cpp \ |
389 | 21 | ../../src/snapshotgenerator.cpp \ | 21 | ../../src/snapshotgenerator.cpp \ |
390 | 22 | ../../src/qsgvideonode_p.cpp \ | ||
391 | 22 | camera.cpp \ | 23 | camera.cpp \ |
392 | 23 | player.cpp | 24 | player.cpp |
393 | 24 | 25 | ||
394 | @@ -26,6 +27,8 @@ | |||
395 | 26 | ../../src/shadervideonode.h \ | 27 | ../../src/shadervideonode.h \ |
396 | 27 | ../../src/shadervideoshader.h \ | 28 | ../../src/shadervideoshader.h \ |
397 | 28 | ../../src/snapshotgenerator.h \ | 29 | ../../src/snapshotgenerator.h \ |
398 | 30 | ../../src/private/qtmultimediaquickdefs_p.h \ | ||
399 | 31 | ../../src/private/qsgvideonode_p.h \ | ||
400 | 29 | camera_compatibility_layer.h \ | 32 | camera_compatibility_layer.h \ |
401 | 30 | media_compatibility_layer.h \ | 33 | media_compatibility_layer.h \ |
402 | 31 | surface_texture_client_hybris.h | 34 | surface_texture_client_hybris.h |
See the bug comments. This revision 44 has tested to be building against Qt 5.2, but with the disabled tests: /launchpad. net/~canonical- qt5-edgers/ +archive/ qt5-beta2/ +sourcepub/ 3883608/ +listing- archive- extra
https:/