QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
QtMultimediaReceiver Class Reference

#include <QtMultimediaReceiver.h>

+ Inheritance diagram for QtMultimediaReceiver:
+ Collaboration diagram for QtMultimediaReceiver:

Public Slots

void start (uint32_t timeout) override
 
void stop () override
 
void startDecoding (void *sink) override
 
void stopDecoding () override
 
void startRecording (const QString &videoFile, VideoReceiver::FILE_FORMAT format) override
 
void stopRecording () override
 
void takeScreenshot (const QString &imageFile) override
 
- Public Slots inherited from VideoReceiver
virtual void start (uint32_t timeout)=0
 
virtual void stop ()=0
 
virtual void startDecoding (void *sink)=0
 
virtual void stopDecoding ()=0
 
virtual void startRecording (const QString &videoFile, FILE_FORMAT format)=0
 
virtual void stopRecording ()=0
 
virtual void takeScreenshot (const QString &imageFile)=0
 

Public Member Functions

 QtMultimediaReceiver (QObject *parent=nullptr)
 
virtual ~QtMultimediaReceiver ()
 
- Public Member Functions inherited from VideoReceiver
 VideoReceiver (QObject *parent=nullptr)
 
bool isThermal () const
 
void * sink ()
 
QQuickItem * widget ()
 
QString name () const
 
QString uri () const
 
bool started () const
 
bool lowLatency () const
 
QGCVideoStreamInfovideoStreamInfo ()
 
QString recordingOutput () const
 
virtual void setSink (void *sink)
 
virtual void setWidget (QQuickItem *widget)
 
void setName (const QString &name)
 
void setUri (const QString &uri)
 
void setStarted (bool started)
 
void setLowLatency (bool lowLatency)
 
void setVideoStreamInfo (QGCVideoStreamInfo *videoStreamInfo)
 

Static Public Member Functions

static bool enabled ()
 
static void * createVideoSink (QQuickItem *widget, QObject *parent=nullptr)
 
static void releaseVideoSink (void *sink)
 
static VideoReceivercreateVideoReceiver (QObject *parent)
 
- Static Public Member Functions inherited from VideoReceiver
static bool isValidFileFormat (FILE_FORMAT format)
 
static bool isValidStatus (STATUS status)
 

Protected Attributes

QTimer _frameTimer
 
QMediaPlayer * _mediaPlayer = nullptr
 
QVideoSink * _videoSink = nullptr
 
QMediaCaptureSession * _captureSession = nullptr
 
QMediaRecorder * _mediaRecorder = nullptr
 
QMetaObject::Connection _videoSizeUpdater
 
QMetaObject::Connection _videoFrameUpdater
 
QRhi * _rhi = nullptr
 
const QIODevice * _streamDevice
 
QQuickVideoOutput * _videoOutput = nullptr
 
- Protected Attributes inherited from VideoReceiver
void * _sink = nullptr
 
QQuickItem * _widget = nullptr
 
QGCVideoStreamInfo_videoStreamInfo = nullptr
 
QString _name
 
QString _uri
 
bool _started = false
 
bool _decoding = false
 
bool _recording = false
 
bool _streaming = false
 
bool _lowLatency = false
 
bool _resetVideoSink = false
 
bool _endOfStream = false
 
bool _removingDecoder = false
 
bool _removingRecorder = false
 
int _buffer = 0
 
qint64 _lastSourceFrameTime = 0
 
qint64 _lastVideoFrameTime = 0
 
QTimer _watchdogTimer
 
uint32_t _signalDepth = 0
 
uint32_t _timeout = 0
 
QString _recordingOutput
 

Additional Inherited Members

- Public Types inherited from VideoReceiver
enum  FILE_FORMAT {
  FILE_FORMAT_MIN = 0 , FILE_FORMAT_MKV = FILE_FORMAT_MIN , FILE_FORMAT_MOV , FILE_FORMAT_MP4 ,
  FILE_FORMAT_MAX = FILE_FORMAT_MP4
}
 
enum  STATUS {
  STATUS_MIN = 0 , STATUS_OK = STATUS_MIN , STATUS_FAIL , STATUS_INVALID_STATE ,
  STATUS_INVALID_URL , STATUS_NOT_IMPLEMENTED , STATUS_MAX = STATUS_NOT_IMPLEMENTED
}
 
- Signals inherited from VideoReceiver
void timeout ()
 
void streamingChanged (bool active)
 
void decodingChanged (bool active)
 
void recordingChanged (bool active)
 
void recordingStarted (const QString &filename)
 
void videoSizeChanged (QSize size)
 
void sinkChanged (void *sink)
 
void nameChanged (const QString &name)
 
void uriChanged (const QString &uri)
 
void startedChanged (bool started)
 
void lowLatencyChanged (bool lowLatency)
 
void videoStreamInfoChanged ()
 
void widgetChanged (QQuickItem *widget)
 
void onStartComplete (STATUS status)
 
void onStopComplete (STATUS status)
 
void onStartDecodingComplete (STATUS status)
 
void onStopDecodingComplete (STATUS status)
 
void onStartRecordingComplete (STATUS status)
 
void onStopRecordingComplete (STATUS status)
 
void onTakeScreenshotComplete (STATUS status)
 

Detailed Description

Definition at line 20 of file QtMultimediaReceiver.h.

Constructor & Destructor Documentation

◆ QtMultimediaReceiver()

QtMultimediaReceiver::QtMultimediaReceiver ( QObject *  parent = nullptr)
explicit

◆ ~QtMultimediaReceiver()

QtMultimediaReceiver::~QtMultimediaReceiver ( )
virtual

Definition at line 91 of file QtMultimediaReceiver.cc.

Member Function Documentation

◆ createVideoReceiver()

VideoReceiver * QtMultimediaReceiver::createVideoReceiver ( QObject *  parent)
static

Definition at line 128 of file QtMultimediaReceiver.cc.

◆ createVideoSink()

void * QtMultimediaReceiver::createVideoSink ( QQuickItem *  widget,
QObject *  parent = nullptr 
)
static

Definition at line 105 of file QtMultimediaReceiver.cc.

References VideoReceiver::widget().

◆ enabled()

bool QtMultimediaReceiver::enabled ( )
static

Definition at line 96 of file QtMultimediaReceiver.cc.

◆ releaseVideoSink()

void QtMultimediaReceiver::releaseVideoSink ( void *  sink)
static

Definition at line 118 of file QtMultimediaReceiver.cc.

◆ start

◆ startDecoding

◆ startRecording

◆ stop

void QtMultimediaReceiver::stop ( )
overrideslot

◆ stopDecoding

◆ stopRecording

void QtMultimediaReceiver::stopRecording ( )
overrideslot

◆ takeScreenshot

void QtMultimediaReceiver::takeScreenshot ( const QString &  imageFile)
overrideslot

Member Data Documentation

◆ _captureSession

QMediaCaptureSession* QtMultimediaReceiver::_captureSession = nullptr
protected

Definition at line 46 of file QtMultimediaReceiver.h.

◆ _frameTimer

QTimer QtMultimediaReceiver::_frameTimer
protected

Definition at line 43 of file QtMultimediaReceiver.h.

Referenced by start().

◆ _mediaPlayer

QMediaPlayer* QtMultimediaReceiver::_mediaPlayer = nullptr
protected

Definition at line 44 of file QtMultimediaReceiver.h.

Referenced by start(), startDecoding(), stop(), stopDecoding(), and takeScreenshot().

◆ _mediaRecorder

QMediaRecorder* QtMultimediaReceiver::_mediaRecorder = nullptr
protected

Definition at line 47 of file QtMultimediaReceiver.h.

Referenced by startRecording(), stopRecording(), and takeScreenshot().

◆ _rhi

QRhi* QtMultimediaReceiver::_rhi = nullptr
protected

Definition at line 50 of file QtMultimediaReceiver.h.

Referenced by startDecoding().

◆ _streamDevice

const QIODevice* QtMultimediaReceiver::_streamDevice
protected

Definition at line 51 of file QtMultimediaReceiver.h.

◆ _videoFrameUpdater

QMetaObject::Connection QtMultimediaReceiver::_videoFrameUpdater
protected

Definition at line 49 of file QtMultimediaReceiver.h.

Referenced by startDecoding().

◆ _videoOutput

QQuickVideoOutput* QtMultimediaReceiver::_videoOutput = nullptr
protected

Definition at line 52 of file QtMultimediaReceiver.h.

Referenced by UVCReceiver::adjustAspectRatio(), and takeScreenshot().

◆ _videoSink

QVideoSink* QtMultimediaReceiver::_videoSink = nullptr
protected

Definition at line 45 of file QtMultimediaReceiver.h.

Referenced by startDecoding(), stopDecoding(), and takeScreenshot().

◆ _videoSizeUpdater

QMetaObject::Connection QtMultimediaReceiver::_videoSizeUpdater
protected

Definition at line 48 of file QtMultimediaReceiver.h.

Referenced by startDecoding(), and stopDecoding().


The documentation for this class was generated from the following files: