Browse Source

Only report missing video stream when relevant

QGC4.4
Gus Grubba 6 years ago
parent
commit
ae63bfe105
  1. 8
      src/Camera/QGCCameraControl.cc
  2. 2
      src/Camera/QGCCameraControl.h

8
src/Camera/QGCCameraControl.cc

@ -1491,7 +1491,7 @@ QGCCameraControl::handleVideoInfo(const mavlink_video_stream_information_t* vi)
{ {
qCDebug(CameraControlLog) << "handleVideoInfo:" << vi->stream_id << vi->uri; qCDebug(CameraControlLog) << "handleVideoInfo:" << vi->stream_id << vi->uri;
_expectedCount = vi->count; _expectedCount = vi->count;
if(!_findStream(vi->stream_id)) { if(!_findStream(vi->stream_id, false)) {
qCDebug(CameraControlLog) << "Create stream handler for stream ID:" << vi->stream_id; qCDebug(CameraControlLog) << "Create stream handler for stream ID:" << vi->stream_id;
QGCVideoStreamInfo* pStream = new QGCVideoStreamInfo(this, vi); QGCVideoStreamInfo* pStream = new QGCVideoStreamInfo(this, vi);
QQmlEngine::setObjectOwnership(pStream, QQmlEngine::CppOwnership); QQmlEngine::setObjectOwnership(pStream, QQmlEngine::CppOwnership);
@ -1640,7 +1640,7 @@ QGCCameraControl::_requestStreamStatus(uint8_t streamID)
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
QGCVideoStreamInfo* QGCVideoStreamInfo*
QGCCameraControl::_findStream(uint8_t id) QGCCameraControl::_findStream(uint8_t id, bool report)
{ {
for(int i = 0; i < _streams.count(); i++) { for(int i = 0; i < _streams.count(); i++) {
if(_streams[i]) { if(_streams[i]) {
@ -1654,7 +1654,9 @@ QGCCameraControl::_findStream(uint8_t id)
} }
} }
} }
if(report) {
qWarning() << "Stream id not found:" << id; qWarning() << "Stream id not found:" << id;
}
return nullptr; return nullptr;
} }
@ -1676,7 +1678,7 @@ QGCCameraControl::_streamTimeout()
} }
for(uint8_t i = 0; i < _expectedCount; i++) { for(uint8_t i = 0; i < _expectedCount; i++) {
//-- Stream ID starts at 1 //-- Stream ID starts at 1
if(!_findStream(i+1)) { if(!_findStream(i+1, false)) {
_requestStreamInfo(i+1); _requestStreamInfo(i+1);
return; return;
} }

2
src/Camera/QGCCameraControl.h

@ -292,7 +292,7 @@ protected:
virtual void _setCameraMode (CameraMode mode); virtual void _setCameraMode (CameraMode mode);
virtual void _requestStreamInfo (uint8_t streamID); virtual void _requestStreamInfo (uint8_t streamID);
virtual void _requestStreamStatus (uint8_t streamID); virtual void _requestStreamStatus (uint8_t streamID);
virtual QGCVideoStreamInfo* _findStream (uint8_t streamID); virtual QGCVideoStreamInfo* _findStream (uint8_t streamID, bool report = true);
protected slots: protected slots:
virtual void _initWhenReady (); virtual void _initWhenReady ();

Loading…
Cancel
Save