QtGStreamer 1.2.0
Loading...
Searching...
No Matches
videoitem.h
1/*
2 Copyright (C) 2012-2013 Collabora Ltd. <info@collabora.com>
3 @author George Kiagiadakis <george.kiagiadakis@collabora.com>
4
5 This library is free software; you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published
7 by the Free Software Foundation; either version 2.1 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#ifndef QGST_QUICK_VIDEOITEM_H
20#define QGST_QUICK_VIDEOITEM_H
21
22#include "videosurface.h"
23#include <QtQuick/QQuickItem>
24#include <QtCore/QPointer>
25
26namespace QGst {
27namespace Quick {
28
39class QTGSTREAMERQUICK_EXPORT VideoItem : public QQuickItem
40{
41 Q_OBJECT
42 Q_DISABLE_COPY(VideoItem)
43 Q_PROPERTY(QGst::Quick::VideoSurface* surface READ surface WRITE setSurface)
44
45public:
46 explicit VideoItem(QQuickItem *parent = 0);
47 virtual ~VideoItem();
48
49 VideoSurface *surface() const;
50 void setSurface(VideoSurface *surface);
51
52protected:
54 virtual QSGNode* updatePaintNode(QSGNode *oldNode,
55 UpdatePaintNodeData *updatePaintNodeData);
56
57private:
58 struct Private;
59 Private *const d;
60};
61
62} // namespace Quick
63} // namespace QGst
64
65#endif // QGST_QUICK_VIDEOITEM_H
A QQuickItem for displaying video.
Definition videoitem.h:40
Helper class for painting video on a QtQuick2 VideoItem.
Wrappers for GStreamer classes.