Browse Source

Fix repeated calls to restart VideoReceiver

QGC4.4
Jacob Walser 8 years ago
parent
commit
0f9149b1bf
  1. 4
      src/FlightDisplay/VideoManager.cc
  2. 4
      src/VideoStreaming/VideoReceiver.h

4
src/FlightDisplay/VideoManager.cc

@ -236,7 +236,9 @@ void VideoManager::_updateTimer() @@ -236,7 +236,9 @@ void VideoManager::_updateTimer()
}
else
{
if(_videoSurface && _videoSurface->lastFrame()) {
// if(_videoSurface && _videoSurface->lastFrame()) {
if(_videoSurface && _videoReceiver->streaming()) {
qDebug() << _videoSurface->lastFrame();
if(!_videoRunning)
{
_videoRunning = true;

4
src/VideoStreaming/VideoReceiver.h

@ -30,6 +30,7 @@ class VideoReceiver : public QObject @@ -30,6 +30,7 @@ class VideoReceiver : public QObject
Q_OBJECT
public:
Q_PROPERTY(bool recording READ recording NOTIFY recordingChanged)
Q_PROPERTY(bool streaming READ streaming NOTIFY streamingChanged)
explicit VideoReceiver(QObject* parent = 0);
~VideoReceiver();
@ -39,9 +40,11 @@ public: @@ -39,9 +40,11 @@ public:
#endif
bool recording() { return _recording; }
bool streaming() { return GST_STATE(_pipeline) == GST_STATE_PLAYING; }
signals:
void recordingChanged();
void streamingChanged();
public slots:
void start ();
@ -71,6 +74,7 @@ private: @@ -71,6 +74,7 @@ private:
} Sink;
bool _recording;
bool _streaming;
static Sink* _sink;
static GstElement* _tee;

Loading…
Cancel
Save