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/QLoggingCategory>
4
#include <QtCore/QMetaObject>
5
#include <QtCore/QString>
6
#include <QtCore/QTimer>
7
8
#include "
VideoReceiver.h
"
9
10
Q_DECLARE_LOGGING_CATEGORY
(QtMultimediaReceiverLog)
11
12
class
QMediaPlayer;
13
class
QVideoSink;
14
class
QMediaCaptureSession;
15
class
QMediaRecorder;
16
class
QRhi;
17
class
QQuickItem;
18
class
QQuickVideoOutput;
19
20
class
QtMultimediaReceiver
:
public
VideoReceiver
21
{
22
Q_OBJECT
23
24
public
:
25
explicit
QtMultimediaReceiver
(QObject *parent =
nullptr
);
26
virtual
~QtMultimediaReceiver
();
27
28
static
bool
enabled
();
29
static
void
*
createVideoSink
(QQuickItem *
widget
, QObject *parent =
nullptr
);
30
static
void
releaseVideoSink
(
void
*
sink
);
31
static
VideoReceiver
*
createVideoReceiver
(QObject *parent);
32
33
public
slots:
34
void
start
(uint32_t
timeout
)
override
;
35
void
stop
()
override
;
36
void
startDecoding
(
void
*
sink
)
override
;
37
void
stopDecoding
()
override
;
38
void
startRecording
(
const
QString &videoFile,
VideoReceiver::FILE_FORMAT
format)
override
;
39
void
stopRecording
()
override
;
40
void
takeScreenshot
(
const
QString &imageFile)
override
;
41
42
protected
:
43
QTimer
_frameTimer
;
44
QMediaPlayer *
_mediaPlayer
=
nullptr
;
45
QVideoSink *
_videoSink
=
nullptr
;
46
QMediaCaptureSession *
_captureSession
=
nullptr
;
47
QMediaRecorder *
_mediaRecorder
=
nullptr
;
48
QMetaObject::Connection
_videoSizeUpdater
;
49
QMetaObject::Connection
_videoFrameUpdater
;
50
QRhi *
_rhi
=
nullptr
;
51
const
QIODevice *
_streamDevice
;
52
QQuickVideoOutput *
_videoOutput
=
nullptr
;
53
};
Q_DECLARE_LOGGING_CATEGORY
Q_DECLARE_LOGGING_CATEGORY(AndroidSerialLog)
VideoReceiver.h
QtMultimediaReceiver
Definition
QtMultimediaReceiver.h:21
QtMultimediaReceiver::_mediaPlayer
QMediaPlayer * _mediaPlayer
Definition
QtMultimediaReceiver.h:44
QtMultimediaReceiver::createVideoReceiver
static VideoReceiver * createVideoReceiver(QObject *parent)
Definition
QtMultimediaReceiver.cc:128
QtMultimediaReceiver::_videoSizeUpdater
QMetaObject::Connection _videoSizeUpdater
Definition
QtMultimediaReceiver.h:48
QtMultimediaReceiver::_videoFrameUpdater
QMetaObject::Connection _videoFrameUpdater
Definition
QtMultimediaReceiver.h:49
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:52
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:46
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:45
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:43
QtMultimediaReceiver::_rhi
QRhi * _rhi
Definition
QtMultimediaReceiver.h:50
QtMultimediaReceiver::enabled
static bool enabled()
Definition
QtMultimediaReceiver.cc:96
QtMultimediaReceiver::_mediaRecorder
QMediaRecorder * _mediaRecorder
Definition
QtMultimediaReceiver.h:47
QtMultimediaReceiver::_streamDevice
const QIODevice * _streamDevice
Definition
QtMultimediaReceiver.h:51
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