summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorYoann Lopes <yoann.lopes@digia.com>2012-10-01 17:50:55 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-10-02 14:13:46 +0200
commitb616dd5165a2f1e554eda1f85acf6c6000ba24b9 (patch)
treeb4dcc215e5145a7130d017f62c00970c303db103 /examples
parent439d5b0e53f564dc75e427743ccce75c6a62f1c6 (diff)
Use QVideoGraphicsItem in the videographicsitem example.
The videographicsitem example now uses QVideoGraphicsItem instead of a custom QAbstractVideoSurface. The old code has been moved to a new example: "customvideosurface/customvideoitem". Change-Id: I83212f36168ef94d670b447eb1a742a39753939d Reviewed-by: Jason Barron <jason.barron@digia.com>
Diffstat (limited to 'examples')
-rw-r--r--examples/customvideosurface/customvideoitem/customvideoitem.pro21
-rw-r--r--examples/customvideosurface/customvideoitem/main.cpp54
-rw-r--r--examples/customvideosurface/customvideoitem/videoitem.cpp (renamed from examples/videographicsitem/videoitem.cpp)0
-rw-r--r--examples/customvideosurface/customvideoitem/videoitem.h (renamed from examples/videographicsitem/videoitem.h)0
-rw-r--r--examples/customvideosurface/customvideoitem/videoplayer.cpp174
-rw-r--r--examples/customvideosurface/customvideoitem/videoplayer.h85
-rw-r--r--examples/customvideosurface/customvideosurface.pro24
-rw-r--r--examples/customvideosurface/customvideowidget/customvideowidget.pro23
-rw-r--r--examples/customvideosurface/customvideowidget/main.cpp (renamed from examples/customvideosurface/main.cpp)0
-rw-r--r--examples/customvideosurface/customvideowidget/videoplayer.cpp (renamed from examples/customvideosurface/videoplayer.cpp)0
-rw-r--r--examples/customvideosurface/customvideowidget/videoplayer.h (renamed from examples/customvideosurface/videoplayer.h)0
-rw-r--r--examples/customvideosurface/customvideowidget/videowidget.cpp (renamed from examples/customvideosurface/videowidget.cpp)0
-rw-r--r--examples/customvideosurface/customvideowidget/videowidget.h (renamed from examples/customvideosurface/videowidget.h)0
-rw-r--r--examples/customvideosurface/customvideowidget/videowidgetsurface.cpp (renamed from examples/customvideosurface/videowidgetsurface.cpp)0
-rw-r--r--examples/customvideosurface/customvideowidget/videowidgetsurface.h (renamed from examples/customvideosurface/videowidgetsurface.h)0
-rw-r--r--examples/videographicsitem/videographicsitem.pro6
-rw-r--r--examples/videographicsitem/videoplayer.cpp5
-rw-r--r--examples/videographicsitem/videoplayer.h6
18 files changed, 366 insertions, 32 deletions
diff --git a/examples/customvideosurface/customvideoitem/customvideoitem.pro b/examples/customvideosurface/customvideoitem/customvideoitem.pro
new file mode 100644
index 000000000..a2a7a1e6e
--- /dev/null
+++ b/examples/customvideosurface/customvideoitem/customvideoitem.pro
@@ -0,0 +1,21 @@
+TEMPLATE = app
+TARGET = customvideoitem
+
+QT += multimedia multimediawidgets
+
+contains(QT_CONFIG, opengl): QT += opengl
+
+HEADERS += videoplayer.h \
+ videoitem.h
+
+SOURCES += main.cpp \
+ videoplayer.cpp \
+ videoitem.cpp
+
+target.path = $$[QT_INSTALL_EXAMPLES]/qtmultimedia/customvideoitem
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/qtmultimedia/customvideoitem
+
+INSTALLS += target sources
+
+QT+=widgets
diff --git a/examples/customvideosurface/customvideoitem/main.cpp b/examples/customvideosurface/customvideoitem/main.cpp
new file mode 100644
index 000000000..d1899c7bb
--- /dev/null
+++ b/examples/customvideosurface/customvideoitem/main.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+** of its contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "videoplayer.h"
+
+#include <QtWidgets/QApplication>
+
+int main(int argc, char **argv)
+{
+ QApplication app(argc, argv);
+
+ VideoPlayer player;
+ player.show();
+
+ return app.exec();
+}
+
diff --git a/examples/videographicsitem/videoitem.cpp b/examples/customvideosurface/customvideoitem/videoitem.cpp
index f42d8bbd5..f42d8bbd5 100644
--- a/examples/videographicsitem/videoitem.cpp
+++ b/examples/customvideosurface/customvideoitem/videoitem.cpp
diff --git a/examples/videographicsitem/videoitem.h b/examples/customvideosurface/customvideoitem/videoitem.h
index 75261dded..75261dded 100644
--- a/examples/videographicsitem/videoitem.h
+++ b/examples/customvideosurface/customvideoitem/videoitem.h
diff --git a/examples/customvideosurface/customvideoitem/videoplayer.cpp b/examples/customvideosurface/customvideoitem/videoplayer.cpp
new file mode 100644
index 000000000..da4aa88c9
--- /dev/null
+++ b/examples/customvideosurface/customvideoitem/videoplayer.cpp
@@ -0,0 +1,174 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+** of its contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "videoplayer.h"
+#include "videoitem.h"
+
+#include <QtWidgets>
+#include <qvideosurfaceformat.h>
+
+#if !defined(QT_NO_OPENGL)
+# include <QtOpenGL/QGLWidget>
+#endif
+
+VideoPlayer::VideoPlayer(QWidget *parent, Qt::WindowFlags flags)
+ : QWidget(parent, flags)
+ , mediaPlayer(0, QMediaPlayer::VideoSurface)
+ , videoItem(0)
+ , playButton(0)
+ , positionSlider(0)
+{
+ videoItem = new VideoItem;
+
+ QGraphicsScene *scene = new QGraphicsScene(this);
+ QGraphicsView *graphicsView = new QGraphicsView(scene);
+
+#if !defined(QT_NO_OPENGL)
+ graphicsView->setViewport(new QGLWidget);
+#endif
+
+ scene->addItem(videoItem);
+
+ QSlider *rotateSlider = new QSlider(Qt::Horizontal);
+ rotateSlider->setRange(-180, 180);
+ rotateSlider->setValue(0);
+
+ connect(rotateSlider, SIGNAL(valueChanged(int)),
+ this, SLOT(rotateVideo(int)));
+
+ QAbstractButton *openButton = new QPushButton(tr("Open..."));
+ connect(openButton, SIGNAL(clicked()), this, SLOT(openFile()));
+
+ playButton = new QPushButton;
+ playButton->setEnabled(false);
+ playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay));
+
+ connect(playButton, SIGNAL(clicked()),
+ this, SLOT(play()));
+
+ positionSlider = new QSlider(Qt::Horizontal);
+ positionSlider->setRange(0, 0);
+
+ connect(positionSlider, SIGNAL(sliderMoved(int)),
+ this, SLOT(setPosition(int)));
+
+ QBoxLayout *controlLayout = new QHBoxLayout;
+ controlLayout->setMargin(0);
+ controlLayout->addWidget(openButton);
+ controlLayout->addWidget(playButton);
+ controlLayout->addWidget(positionSlider);
+
+ QBoxLayout *layout = new QVBoxLayout;
+ layout->addWidget(graphicsView);
+ layout->addWidget(rotateSlider);
+ layout->addLayout(controlLayout);
+
+ setLayout(layout);
+
+ mediaPlayer.setVideoOutput(videoItem);
+ connect(&mediaPlayer, SIGNAL(stateChanged(QMediaPlayer::State)),
+ this, SLOT(mediaStateChanged(QMediaPlayer::State)));
+ connect(&mediaPlayer, SIGNAL(positionChanged(qint64)), this, SLOT(positionChanged(qint64)));
+ connect(&mediaPlayer, SIGNAL(durationChanged(qint64)), this, SLOT(durationChanged(qint64)));
+}
+
+VideoPlayer::~VideoPlayer()
+{
+}
+
+
+void VideoPlayer::openFile()
+{
+ QString fileName = QFileDialog::getOpenFileName(this, tr("Open Movie"),QDir::homePath());
+
+ if (!fileName.isEmpty()) {
+ mediaPlayer.setMedia(QUrl::fromLocalFile(fileName));
+
+ playButton->setEnabled(true);
+ }
+}
+
+void VideoPlayer::play()
+{
+ switch(mediaPlayer.state()) {
+ case QMediaPlayer::PlayingState:
+ mediaPlayer.pause();
+ break;
+ default:
+ mediaPlayer.play();
+ break;
+ }
+}
+
+void VideoPlayer::mediaStateChanged(QMediaPlayer::State state)
+{
+ switch(state) {
+ case QMediaPlayer::PlayingState:
+ playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPause));
+ break;
+ default:
+ playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay));
+ break;
+ }
+}
+
+void VideoPlayer::positionChanged(qint64 position)
+{
+ positionSlider->setValue(position);
+}
+
+void VideoPlayer::durationChanged(qint64 duration)
+{
+ positionSlider->setRange(0, duration);
+}
+
+void VideoPlayer::setPosition(int position)
+{
+ mediaPlayer.setPosition(position);
+}
+
+
+void VideoPlayer::rotateVideo(int angle)
+{
+ //rotate around the center of video element
+ qreal x = videoItem->boundingRect().width() / 2.0;
+ qreal y = videoItem->boundingRect().height() / 2.0;
+ videoItem->setTransform(QTransform().translate(x, y).rotate(angle).translate(-x, -y));
+}
diff --git a/examples/customvideosurface/customvideoitem/videoplayer.h b/examples/customvideosurface/customvideoitem/videoplayer.h
new file mode 100644
index 000000000..2fcbe09f5
--- /dev/null
+++ b/examples/customvideosurface/customvideoitem/videoplayer.h
@@ -0,0 +1,85 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+** of its contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef VIDEOPLAYER_H
+#define VIDEOPLAYER_H
+
+#include <qmediaplayer.h>
+
+#include <QtGui/QMovie>
+#include <QtWidgets/QWidget>
+
+QT_BEGIN_NAMESPACE
+class QAbstractButton;
+class QSlider;
+QT_END_NAMESPACE
+
+
+class VideoItem;
+
+class VideoPlayer : public QWidget
+{
+ Q_OBJECT
+public:
+ VideoPlayer(QWidget *parent = 0, Qt::WindowFlags flags = 0);
+ ~VideoPlayer();
+
+ QSize sizeHint() const { return QSize(800, 600); }
+
+public slots:
+ void openFile();
+ void play();
+
+private slots:
+ void mediaStateChanged(QMediaPlayer::State state);
+ void positionChanged(qint64 position);
+ void durationChanged(qint64 duration);
+ void setPosition(int position);
+ void rotateVideo(int angle);
+
+private:
+ QMediaPlayer mediaPlayer;
+ VideoItem *videoItem;
+ QAbstractButton *playButton;
+ QSlider *positionSlider;
+};
+
+#endif
+
diff --git a/examples/customvideosurface/customvideosurface.pro b/examples/customvideosurface/customvideosurface.pro
index 9ddb7ed12..1230f2cc6 100644
--- a/examples/customvideosurface/customvideosurface.pro
+++ b/examples/customvideosurface/customvideosurface.pro
@@ -1,23 +1,3 @@
-TEMPLATE = app
-TARGET = customvideosurface
+TEMPLATE = subdirs
-QT += multimedia multimediawidgets
-
-HEADERS = \
- videoplayer.h \
- videowidget.h \
- videowidgetsurface.h
-
-SOURCES = \
- main.cpp \
- videoplayer.cpp \
- videowidget.cpp \
- videowidgetsurface.cpp
-
-target.path = $$[QT_INSTALL_EXAMPLES]/qtmultimedia/customvideosurface
-sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/qtmultimedia/customvideosurface
-
-INSTALLS += target sources
-
-QT+=widgets
+SUBDIRS += customvideoitem customvideowidget
diff --git a/examples/customvideosurface/customvideowidget/customvideowidget.pro b/examples/customvideosurface/customvideowidget/customvideowidget.pro
new file mode 100644
index 000000000..c3ac2cde0
--- /dev/null
+++ b/examples/customvideosurface/customvideowidget/customvideowidget.pro
@@ -0,0 +1,23 @@
+TEMPLATE = app
+TARGET = customvideowidget
+
+QT += multimedia multimediawidgets
+
+HEADERS = \
+ videoplayer.h \
+ videowidget.h \
+ videowidgetsurface.h
+
+SOURCES = \
+ main.cpp \
+ videoplayer.cpp \
+ videowidget.cpp \
+ videowidgetsurface.cpp
+
+target.path = $$[QT_INSTALL_EXAMPLES]/qtmultimedia/customvideowidget
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/qtmultimedia/customvideowidget
+
+INSTALLS += target sources
+
+QT+=widgets
diff --git a/examples/customvideosurface/main.cpp b/examples/customvideosurface/customvideowidget/main.cpp
index 8b7aba641..8b7aba641 100644
--- a/examples/customvideosurface/main.cpp
+++ b/examples/customvideosurface/customvideowidget/main.cpp
diff --git a/examples/customvideosurface/videoplayer.cpp b/examples/customvideosurface/customvideowidget/videoplayer.cpp
index 639c32461..639c32461 100644
--- a/examples/customvideosurface/videoplayer.cpp
+++ b/examples/customvideosurface/customvideowidget/videoplayer.cpp
diff --git a/examples/customvideosurface/videoplayer.h b/examples/customvideosurface/customvideowidget/videoplayer.h
index ddad18724..ddad18724 100644
--- a/examples/customvideosurface/videoplayer.h
+++ b/examples/customvideosurface/customvideowidget/videoplayer.h
diff --git a/examples/customvideosurface/videowidget.cpp b/examples/customvideosurface/customvideowidget/videowidget.cpp
index 38c386e6e..38c386e6e 100644
--- a/examples/customvideosurface/videowidget.cpp
+++ b/examples/customvideosurface/customvideowidget/videowidget.cpp
diff --git a/examples/customvideosurface/videowidget.h b/examples/customvideosurface/customvideowidget/videowidget.h
index c7688dd38..c7688dd38 100644
--- a/examples/customvideosurface/videowidget.h
+++ b/examples/customvideosurface/customvideowidget/videowidget.h
diff --git a/examples/customvideosurface/videowidgetsurface.cpp b/examples/customvideosurface/customvideowidget/videowidgetsurface.cpp
index df157206b..df157206b 100644
--- a/examples/customvideosurface/videowidgetsurface.cpp
+++ b/examples/customvideosurface/customvideowidget/videowidgetsurface.cpp
diff --git a/examples/customvideosurface/videowidgetsurface.h b/examples/customvideosurface/customvideowidget/videowidgetsurface.h
index 6cfa346b0..6cfa346b0 100644
--- a/examples/customvideosurface/videowidgetsurface.h
+++ b/examples/customvideosurface/customvideowidget/videowidgetsurface.h
diff --git a/examples/videographicsitem/videographicsitem.pro b/examples/videographicsitem/videographicsitem.pro
index 66ed4f683..a0a3cdc74 100644
--- a/examples/videographicsitem/videographicsitem.pro
+++ b/examples/videographicsitem/videographicsitem.pro
@@ -5,12 +5,10 @@ QT += multimedia multimediawidgets
contains(QT_CONFIG, opengl): QT += opengl
-HEADERS += videoplayer.h \
- videoitem.h
+HEADERS += videoplayer.h
SOURCES += main.cpp \
- videoplayer.cpp \
- videoitem.cpp
+ videoplayer.cpp
target.path = $$[QT_INSTALL_EXAMPLES]/qtmultimedia/videographicsitem
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro
diff --git a/examples/videographicsitem/videoplayer.cpp b/examples/videographicsitem/videoplayer.cpp
index da4aa88c9..4cf1c082c 100644
--- a/examples/videographicsitem/videoplayer.cpp
+++ b/examples/videographicsitem/videoplayer.cpp
@@ -39,10 +39,10 @@
****************************************************************************/
#include "videoplayer.h"
-#include "videoitem.h"
#include <QtWidgets>
#include <qvideosurfaceformat.h>
+#include <qgraphicsvideoitem.h>
#if !defined(QT_NO_OPENGL)
# include <QtOpenGL/QGLWidget>
@@ -55,7 +55,8 @@ VideoPlayer::VideoPlayer(QWidget *parent, Qt::WindowFlags flags)
, playButton(0)
, positionSlider(0)
{
- videoItem = new VideoItem;
+ videoItem = new QGraphicsVideoItem;
+ videoItem->setSize(QSizeF(640, 480));
QGraphicsScene *scene = new QGraphicsScene(this);
QGraphicsView *graphicsView = new QGraphicsView(scene);
diff --git a/examples/videographicsitem/videoplayer.h b/examples/videographicsitem/videoplayer.h
index 2fcbe09f5..a43911bb2 100644
--- a/examples/videographicsitem/videoplayer.h
+++ b/examples/videographicsitem/videoplayer.h
@@ -49,11 +49,9 @@
QT_BEGIN_NAMESPACE
class QAbstractButton;
class QSlider;
+class QGraphicsVideoItem;
QT_END_NAMESPACE
-
-class VideoItem;
-
class VideoPlayer : public QWidget
{
Q_OBJECT
@@ -76,7 +74,7 @@ private slots:
private:
QMediaPlayer mediaPlayer;
- VideoItem *videoItem;
+ QGraphicsVideoItem *videoItem;
QAbstractButton *playButton;
QSlider *positionSlider;
};