QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
QtMultimediaReceiver.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <QtCore/QMetaObject>
4
#include <QtCore/QString>
5
#include <QtCore/QTimer>
6
7
#include "
VideoReceiver.h
"
8
9
class
QMediaPlayer;
10
class
QVideoSink;
11
class
QMediaCaptureSession;
12
class
QMediaRecorder;
13
class
QRhi;
14
class
QQuickItem;
15
class
QQuickVideoOutput;
16
17
class
QtMultimediaReceiver
:
public
VideoReceiver
18
{
19
Q_OBJECT
20
21
public
:
22
explicit
QtMultimediaReceiver
(QObject *parent =
nullptr
);
23
virtual
~QtMultimediaReceiver
();
24
25
static
bool
enabled
();
26
static
void
*
createVideoSink
(QQuickItem *
widget
, QObject *parent =
nullptr
);
27
static
void
releaseVideoSink
(
void
*
sink
);
28
static
VideoReceiver
*
createVideoReceiver
(QObject *parent);
29
30
public
slots:
31
void
start
(uint32_t
timeout
)
override
;
32
void
stop
()
override
;
33
void
startDecoding
(
void
*
sink
)
override
;
34
void
stopDecoding
()
override
;
35
void
startRecording
(
const
QString &videoFile,
VideoReceiver::FILE_FORMAT
format)
override
;
36
void
stopRecording
()
override
;
37
void
takeScreenshot
(
const
QString &imageFile)
override
;
38
39
protected
:
40
QTimer
_frameTimer
;
41
QMediaPlayer *
_mediaPlayer
=
nullptr
;
42
QVideoSink *
_videoSink
=
nullptr
;
43
QMediaCaptureSession *
_captureSession
=
nullptr
;
44
QMediaRecorder *
_mediaRecorder
=
nullptr
;
45
QMetaObject::Connection
_videoSizeUpdater
;
46
QMetaObject::Connection
_videoFrameUpdater
;
47
QRhi *
_rhi
=
nullptr
;
48
const
QIODevice *
_streamDevice
;
49
QQuickVideoOutput *
_videoOutput
=
nullptr
;
50
};
VideoReceiver.h
QtMultimediaReceiver
Definition
QtMultimediaReceiver.h:18
QtMultimediaReceiver::_mediaPlayer
QMediaPlayer * _mediaPlayer
Definition
QtMultimediaReceiver.h:41
QtMultimediaReceiver::createVideoReceiver
static VideoReceiver * createVideoReceiver(QObject *parent)
Definition
QtMultimediaReceiver.cc:128
QtMultimediaReceiver::_videoSizeUpdater
QMetaObject::Connection _videoSizeUpdater
Definition
QtMultimediaReceiver.h:45
QtMultimediaReceiver::_videoFrameUpdater
QMetaObject::Connection _videoFrameUpdater
Definition
QtMultimediaReceiver.h:46
QtMultimediaReceiver::takeScreenshot
void takeScreenshot(const QString &imageFile) override
Definition
QtMultimediaReceiver.cc:291
QtMultimediaReceiver::stopDecoding
void stopDecoding() override
Definition
QtMultimediaReceiver.cc:226
QtMultimediaReceiver::_videoOutput
QQuickVideoOutput * _videoOutput
Definition
QtMultimediaReceiver.h:49
QtMultimediaReceiver::stopRecording
void stopRecording() override
Definition
QtMultimediaReceiver.cc:280
QtMultimediaReceiver::startDecoding
void startDecoding(void *sink) override
Definition
QtMultimediaReceiver.cc:189
QtMultimediaReceiver::_captureSession
QMediaCaptureSession * _captureSession
Definition
QtMultimediaReceiver.h:43
QtMultimediaReceiver::start
void start(uint32_t timeout) override
Definition
QtMultimediaReceiver.cc:134
QtMultimediaReceiver::~QtMultimediaReceiver
virtual ~QtMultimediaReceiver()
Definition
QtMultimediaReceiver.cc:91
QtMultimediaReceiver::_videoSink
QVideoSink * _videoSink
Definition
QtMultimediaReceiver.h:42
QtMultimediaReceiver::releaseVideoSink
static void releaseVideoSink(void *sink)
Definition
QtMultimediaReceiver.cc:118
QtMultimediaReceiver::stop
void stop() override
Definition
QtMultimediaReceiver.cc:166
QtMultimediaReceiver::startRecording
void startRecording(const QString &videoFile, VideoReceiver::FILE_FORMAT format) override
Definition
QtMultimediaReceiver.cc:245
QtMultimediaReceiver::_frameTimer
QTimer _frameTimer
Definition
QtMultimediaReceiver.h:40
QtMultimediaReceiver::_rhi
QRhi * _rhi
Definition
QtMultimediaReceiver.h:47
QtMultimediaReceiver::enabled
static bool enabled()
Definition
QtMultimediaReceiver.cc:96
QtMultimediaReceiver::_mediaRecorder
QMediaRecorder * _mediaRecorder
Definition
QtMultimediaReceiver.h:44
QtMultimediaReceiver::_streamDevice
const QIODevice * _streamDevice
Definition
QtMultimediaReceiver.h:48
QtMultimediaReceiver::createVideoSink
static void * createVideoSink(QQuickItem *widget, QObject *parent=nullptr)
Definition
QtMultimediaReceiver.cc:105
VideoReceiver
Definition
VideoReceiver.h:12
VideoReceiver::sink
void * sink()
Definition
VideoReceiver.h:23
VideoReceiver::widget
QQuickItem * widget()
Definition
VideoReceiver.h:24
VideoReceiver::timeout
void timeout()
VideoReceiver::FILE_FORMAT
FILE_FORMAT
Definition
VideoReceiver.h:41
src
VideoManager
VideoReceiver
QtMultimedia
QtMultimediaReceiver.h
Generated by
1.9.8