00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef QGST_UI_VIDEOWIDGET_H
00020 #define QGST_UI_VIDEOWIDGET_H
00021
00022 #include "global.h"
00023 #include "../element.h"
00024 #include <QtGui/QWidget>
00025
00026 namespace QGst {
00027 namespace Ui {
00028
00029 class AbstractRenderer;
00030
00062 class QTGSTREAMERUI_EXPORT VideoWidget : public QWidget
00063 {
00064 Q_OBJECT
00065 Q_DISABLE_COPY(VideoWidget)
00066 public:
00067 explicit VideoWidget(QWidget *parent = 0, Qt::WindowFlags f = 0);
00068 virtual ~VideoWidget();
00069
00070
00074 ElementPtr videoSink() const;
00075
00084 void setVideoSink(const ElementPtr & sink);
00085
00089 void releaseVideoSink();
00090
00091
00101 void watchPipeline(const PipelinePtr & pipeline);
00102
00107 void stopPipelineWatch();
00108
00109 protected:
00110 virtual void paintEvent(QPaintEvent *event);
00111
00112 private:
00113 AbstractRenderer *d;
00114 };
00115
00116 }
00117 }
00118
00119 #endif // QGST_UI_VIDEOWIDGET_H