QtGStreamer 1.2.0
Loading...
Searching...
No Matches
graphicsvideosurface.h
1/*
2 Copyright (C) 2012 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#ifndef QGST_UI_GRAPHICSVIDEOSURFACE_H
19#define QGST_UI_GRAPHICSVIDEOSURFACE_H
20
21#include "global.h"
22#include "../element.h"
23
24#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0))
25# include <QtWidgets/QGraphicsView>
26#else
27# include <QtGui/QGraphicsView>
28#endif
29
30namespace QGst {
31namespace Ui {
32
33class GraphicsVideoWidget;
34class GraphicsVideoSurfacePrivate;
35
91class QTGSTREAMERUI_EXPORT GraphicsVideoSurface : public QObject
92{
93 Q_OBJECT
94 Q_DISABLE_COPY(GraphicsVideoSurface)
95public:
96 explicit GraphicsVideoSurface(QGraphicsView *parent);
97 virtual ~GraphicsVideoSurface();
98
103 ElementPtr videoSink() const;
104
105private:
106 QTGSTREAMERUI_NO_EXPORT void onUpdate();
107
108private:
109 friend class GraphicsVideoWidget;
110 GraphicsVideoSurfacePrivate * const d;
111};
112
113} // namespace Ui
114} // namespace QGst
115
116Q_DECLARE_METATYPE(QGst::Ui::GraphicsVideoSurface*)
117
118#endif // QGST_UI_GRAPHICSVIDEOSURFACE_H
Helper class for painting video on a QGraphicsView.
A QGraphicsWidget for displaying video on a QGraphicsScene.
Wrappers for GStreamer classes.