QtGStreamer 1.2.0
Loading...
Searching...
No Matches
videowidget.h
1/*
2 Copyright (C) 2010 George Kiagiadakis <kiagiadakis.george@gmail.com>
3 Copyright (C) 2011 Collabora Ltd.
4 @author George Kiagiadakis <george.kiagiadakis@collabora.co.uk>
5
6 This library is free software; you can redistribute it and/or modify
7 it under the terms of the GNU Lesser General Public License as published
8 by the Free Software Foundation; either version 2.1 of the License, or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public License
17 along with this program. If not, see <http://www.gnu.org/licenses/>.
18*/
19#ifndef QGST_UI_VIDEOWIDGET_H
20#define QGST_UI_VIDEOWIDGET_H
21
22#include "global.h"
23#include "../element.h"
24
25#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0))
26# include <QtWidgets/QWidget>
27#else
28# include <QtGui/QWidget>
29#endif
30
31namespace QGst {
32namespace Ui {
33
34class AbstractRenderer;
35
68class QTGSTREAMERUI_EXPORT VideoWidget : public QWidget
69{
70 Q_OBJECT
71 Q_DISABLE_COPY(VideoWidget)
72public:
73 explicit VideoWidget(QWidget *parent = 0, Qt::WindowFlags f = 0);
74 virtual ~VideoWidget();
75
76
80 ElementPtr videoSink() const;
81
91 void setVideoSink(const ElementPtr & sink);
92
96 void releaseVideoSink();
97
98
108 void watchPipeline(const PipelinePtr & pipeline);
109
114 void stopPipelineWatch();
115
116protected:
117 virtual void paintEvent(QPaintEvent *event);
118
119private:
120 AbstractRenderer *d;
121};
122
123} //namespace Ui
124} //namespace QGst
125
126#endif // QGST_UI_VIDEOWIDGET_H
A generic video widget that can embed a video sink.
Definition videowidget.h:69
Wrappers for GStreamer classes.