diff options
Diffstat (limited to 'doc/src/snippets/multimedia-snippets/video.cpp')
-rw-r--r-- | doc/src/snippets/multimedia-snippets/video.cpp | 193 |
1 files changed, 0 insertions, 193 deletions
diff --git a/doc/src/snippets/multimedia-snippets/video.cpp b/doc/src/snippets/multimedia-snippets/video.cpp deleted file mode 100644 index 5ab5ed03a..000000000 --- a/doc/src/snippets/multimedia-snippets/video.cpp +++ /dev/null @@ -1,193 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the Qt Mobility Components. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser General Public -** License version 2.1 as published by the Free Software Foundation and -** appearing in the file LICENSE.LGPL included in the packaging of this -** file. Please review the following information to ensure the GNU Lesser -** General Public License version 2.1 requirements will be met: -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU General -** Public License version 3.0 as published by the Free Software Foundation -** and appearing in the file LICENSE.GPL included in the packaging of this -** file. Please review the following information to ensure the GNU General -** Public License version 3.0 requirements will be met: -** http://www.gnu.org/copyleft/gpl.html. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/* Video related snippets */ -#include "qvideorenderercontrol.h" -#include "qmediaservice.h" -#include "qmediaplayer.h" -#include "qabstractvideosurface.h" -#include "qvideowidgetcontrol.h" -#include "qvideowindowcontrol.h" -#include "qgraphicsvideoitem.h" -#include "qmediaplaylist.h" -#include "qvideosurfaceformat.h" - -#include <QFormLayout> -#include <QGraphicsView> - -//! [Derived Surface] -class MyVideoSurface : public QAbstractVideoSurface -{ - QList<QVideoFrame::PixelFormat> supportedPixelFormats( - QAbstractVideoBuffer::HandleType handleType = QAbstractVideoBuffer::NoHandle) const - { - Q_UNUSED(handleType); - - // Return the formats you will support - return QList<QVideoFrame::PixelFormat>() << QVideoFrame::Format_RGB565; - } - - bool present(const QVideoFrame &frame) - { - Q_UNUSED(frame); - // Handle the frame and do your processing - - return true; - } -}; -//! [Derived Surface] - -//! [Video producer] -class MyVideoProducer : public QObject -{ - Q_OBJECT - Q_PROPERTY(QAbstractVideoSurface *videoSurface WRITE setVideoSurface) - -public: - void setVideoSurface(QAbstractVideoSurface *surface) - { - m_surface = surface; - m_surface->start(m_format); - } - - // ... - -public slots: - void onNewVideoContentReceived(const QVideoFrame &frame) - { - if (m_surface) - m_surface->present(frame); - } - -private: - QAbstractVideoSurface *m_surface; - QVideoSurfaceFormat m_format; -}; - -//! [Video producer] - - -class VideoExample : public QObject { - Q_OBJECT -public: - void VideoGraphicsItem(); - void VideoRendererControl(); - void VideoWidget(); - void VideoWindowControl(); - void VideoWidgetControl(); - -private: - // Common naming - QMediaService *mediaService; - QMediaPlaylist *playlist; - QVideoWidget *videoWidget; - QWidget *widget; - QFormLayout *layout; - QAbstractVideoSurface *myVideoSurface; - QMediaPlayer *player; - QMediaContent video; - QGraphicsView *graphicsView; -}; - -void VideoExample::VideoRendererControl() -{ - //! [Video renderer control] - QVideoRendererControl *rendererControl = mediaService->requestControl<QVideoRendererControl *>(); - rendererControl->setSurface(myVideoSurface); - //! [Video renderer control] -} - -void VideoExample::VideoWidget() -{ - //! [Video widget] - player = new QMediaPlayer; - - playlist = new QMediaPlaylist(player); - playlist->addMedia(QUrl("http://example.com/myclip1.mp4")); - playlist->addMedia(QUrl("http://example.com/myclip2.mp4")); - - videoWidget = new QVideoWidget; - player->setVideoOutput(videoWidget); - - videoWidget->show(); - playlist->setCurrentIndex(1); - player->play(); - //! [Video widget] - - player->stop(); - - //! [Setting surface in player] - player->setVideoOutput(myVideoSurface); - //! [Setting surface in player] -} - -void VideoExample::VideoWidgetControl() -{ - //! [Video widget control] - QVideoWidgetControl *widgetControl = mediaService->requestControl<QVideoWidgetControl *>(); - layout->addWidget(widgetControl->videoWidget()); - //! [Video widget control] -} - -void VideoExample::VideoWindowControl() -{ - //! [Video window control] - QVideoWindowControl *windowControl = mediaService->requestControl<QVideoWindowControl *>(); - windowControl->setWinId(widget->winId()); - windowControl->setDisplayRect(widget->rect()); - windowControl->setAspectRatioMode(Qt::KeepAspectRatio); - //! [Video window control] -} - -void VideoExample::VideoGraphicsItem() -{ - //! [Video graphics item] - player = new QMediaPlayer(this); - - QGraphicsVideoItem *item = new QGraphicsVideoItem; - player->setVideoOutput(item); - graphicsView->scene()->addItem(item); - graphicsView->show(); - - player->setMedia(QUrl("http://example.com/myclip4.ogv")); - player->play(); - //! [Video graphics item] -} |