Browse Source

VideoReceiver: Correct start and stop video functions

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
QGC4.4
Patrick J.P 7 years ago committed by Patrick José Pereira
parent
commit
e7381f6c31
  1. 2
      src/FlightDisplay/VideoManager.h
  2. 6
      src/VideoStreaming/VideoReceiver.cc
  3. 1
      src/VideoStreaming/VideoReceiver.h

2
src/FlightDisplay/VideoManager.h

@ -56,7 +56,7 @@ public: @@ -56,7 +56,7 @@ public:
// Override from QGCTool
void setToolbox (QGCToolbox *toolbox);
Q_INVOKABLE void startVideo() {_videoReceiver->stop();};
Q_INVOKABLE void startVideo() {_videoReceiver->start();};
Q_INVOKABLE void stopVideo() {_videoReceiver->stop();};
signals:

6
src/VideoStreaming/VideoReceiver.cc

@ -218,6 +218,7 @@ VideoReceiver::start() @@ -218,6 +218,7 @@ VideoReceiver::start()
return;
}
#if defined(QGC_GST_STREAMING)
_stop = false;
qCDebug(VideoReceiverLog) << "start()";
if (_uri.isEmpty()) {
@ -433,6 +434,7 @@ void @@ -433,6 +434,7 @@ void
VideoReceiver::stop()
{
#if defined(QGC_GST_STREAMING)
_stop = true;
qCDebug(VideoReceiverLog) << "stop()";
if(!_streaming) {
_shutdownPipeline();
@ -870,9 +872,11 @@ VideoReceiver::_updateTimer() @@ -870,9 +872,11 @@ VideoReceiver::_updateTimer()
}
if(elapsed > (time_t)timeout && _videoSurface) {
stop();
// We want to start it back again with _updateTimer
_stop = false;
}
} else {
if(!running() && !_uri.isEmpty() && _videoSettings->streamEnabled()->rawValue().toBool()) {
if(!_stop && !running() && !_uri.isEmpty() && _videoSettings->streamEnabled()->rawValue().toBool()) {
start();
}
}

1
src/VideoStreaming/VideoReceiver.h

@ -114,6 +114,7 @@ private: @@ -114,6 +114,7 @@ private:
bool _streaming;
bool _starting;
bool _stopping;
bool _stop;
Sink* _sink;
GstElement* _tee;

Loading…
Cancel
Save