From 141b42851d2d5107fd1b8f2b63fda49c14ae147f Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Sun, 26 Feb 2017 09:51:52 -0800 Subject: [PATCH] Handle videoSource changes correctly --- src/FlightDisplay/VideoManager.cc | 7 +++++++ src/FlightDisplay/VideoManager.h | 4 +++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/FlightDisplay/VideoManager.cc b/src/FlightDisplay/VideoManager.cc index e2cf39875..c5c858b59 100644 --- a/src/FlightDisplay/VideoManager.cc +++ b/src/FlightDisplay/VideoManager.cc @@ -56,6 +56,7 @@ VideoManager::setToolbox(QGCToolbox *toolbox) _videoSettings = toolbox->settingsManager()->videoSettings(); QString videoSource = _videoSettings->videoSource()->rawValue().toString(); + connect(_videoSettings->videoSource(), &Fact::rawValueChanged, this, &VideoManager::_videoSourceChanged); #if defined(QGC_GST_STREAMING) #ifndef QGC_DISABLE_UVC @@ -91,6 +92,12 @@ VideoManager::setToolbox(QGCToolbox *toolbox) #endif } +void VideoManager::_videoSourceChanged(void) +{ + emit hasVideoChanged(); + emit isGStreamerChanged(); +} + //----------------------------------------------------------------------------- bool VideoManager::hasVideo() diff --git a/src/FlightDisplay/VideoManager.h b/src/FlightDisplay/VideoManager.h index f96f1acb0..aaffec22e 100644 --- a/src/FlightDisplay/VideoManager.h +++ b/src/FlightDisplay/VideoManager.h @@ -67,11 +67,13 @@ signals: void isGStreamerChanged (); void videoSourceIDChanged (); +private slots: + void _videoSourceChanged(void); + private: void _updateTimer (); void _updateVideo (); -private: VideoSurface* _videoSurface; VideoReceiver* _videoReceiver; bool _videoRunning; -- 2.22.0