summaryrefslogtreecommitdiffstats
path: root/src/multimedia/doc/snippets/multimedia-snippets/media.cpp
diff options
context:
space:
mode:
authorVaL Doroshchuk <valentyn.doroshchuk@qt.io>2019-07-12 13:45:05 +0200
committerVaL Doroshchuk <valentyn.doroshchuk@qt.io>2019-08-14 09:49:49 +0200
commit9fba45e999f7c65f3cecf8fc914befd3d8b6db80 (patch)
tree49cd4ee1ddc4837905ae252c450d0946030cd593 /src/multimedia/doc/snippets/multimedia-snippets/media.cpp
parent075fa6203856bdf9f58e737ee2f5d2a843a85cad (diff)
GStreamer: Add docs for custom pipelines
The feature was added in 5.12.2. And it is relevant only for GStreamer backend. Change-Id: I87e22e506158dc61bb7f111e74806e7eb8c28d7a Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Diffstat (limited to 'src/multimedia/doc/snippets/multimedia-snippets/media.cpp')
-rw-r--r--src/multimedia/doc/snippets/multimedia-snippets/media.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/multimedia/doc/snippets/multimedia-snippets/media.cpp b/src/multimedia/doc/snippets/multimedia-snippets/media.cpp
index 7cabfabf3..4e8c06409 100644
--- a/src/multimedia/doc/snippets/multimedia-snippets/media.cpp
+++ b/src/multimedia/doc/snippets/multimedia-snippets/media.cpp
@@ -40,6 +40,7 @@
/* Media related snippets */
#include <QFile>
#include <QTimer>
+#include <QBuffer>
#include "qmediaplaylist.h"
#include "qmediarecorder.h"
@@ -189,6 +190,36 @@ void MediaExample::MediaPlayer()
player->play();
//! [Movie playlist]
+
+ //! [Pipeline]
+ player = new QMediaPlayer;
+ player->setMedia(QUrl("gst-pipeline: videotestsrc ! autovideosink"));
+ player->play();
+ //! [Pipeline]
+
+ //! [Pipeline appsrc]
+ QImage img("images/qt-logo.png");
+ img = img.convertToFormat(QImage::Format_ARGB32);
+ QByteArray ba(reinterpret_cast<const char *>(img.bits()), img.sizeInBytes());
+ QBuffer buffer(&ba);
+ buffer.open(QIODevice::ReadOnly);
+ player = new QMediaPlayer;
+ player->setMedia(QUrl("gst-pipeline: appsrc blocksize=4294967295 ! \
+ video/x-raw,format=BGRx,framerate=30/1,width=200,height=147 ! \
+ coloreffects preset=heat ! videoconvert ! video/x-raw,format=I420 ! jpegenc ! rtpjpegpay ! \
+ udpsink host=127.0.0.1 port=5000"), &buffer);
+ player->play();
+
+ QMediaPlayer *receiver = new QMediaPlayer;
+ videoWidget = new QVideoWidget;
+ receiver->setVideoOutput(videoWidget);
+ receiver->setMedia(QUrl("gst-pipeline: udpsrc port=5000 ! \
+ application/x-rtp,encoding-name=JPEG,payload=26 ! rtpjpegdepay ! jpegdec ! \
+ xvimagesink name=qtvideosink"));
+ receiver->play();
+ // Content will be shown in this widget.
+ videoWidget->show();
+ //! [Pipeline appsrc]
}
void MediaExample::MediaRecorder()