diff --git a/src/Camera/QGCCameraControl.cc b/src/Camera/QGCCameraControl.cc index 14c418caf19dcf765fd0e654bb24e7140a788f8e..f94a6dda1869a8494b3d3e60dec54f66cc9bb6d4 100644 --- a/src/Camera/QGCCameraControl.cc +++ b/src/Camera/QGCCameraControl.cc @@ -115,14 +115,7 @@ QGCCameraControl::QGCCameraControl(const mavlink_camera_information_t *info, Veh , _cameraMode(CAMERA_MODE_UNDEFINED) , _video_status(VIDEO_CAPTURE_STATUS_UNDEFINED) { - memcpy(&_info, &info, sizeof(mavlink_camera_information_t)); - connect(this, &QGCCameraControl::dataReady, this, &QGCCameraControl::_dataReady); - if(1 /*_info.cam_definition_uri[0]*/) { - //-- Process camera definition file - _httpRequest("http://www.grubba.com/e90.xml"); - } else { - _initWhenReady(); - } + _processCameraInfo(info); } //----------------------------------------------------------------------------- @@ -139,6 +132,21 @@ QGCCameraControl::~QGCCameraControl() } } +//----------------------------------------------------------------------------- +void +QGCCameraControl::_processCameraInfo(const mavlink_camera_information_t* info) +{ + memcpy(&_info, &info, sizeof(mavlink_camera_information_t)); + connect(this, &QGCCameraControl::dataReady, this, &QGCCameraControl::_dataReady); + if(_info.cam_definition_uri[0]) { + //-- Process camera definition file + const char* url = (const char*)info->cam_definition_uri; + _httpRequest(url); + } else { + _initWhenReady(); + } +} + //----------------------------------------------------------------------------- void QGCCameraControl::_initWhenReady() diff --git a/src/Camera/QGCCameraControl.h b/src/Camera/QGCCameraControl.h index 41c337521285397271bf61fffb733f6d977da77f..a6bdcde594821a2c9afe9fd07663a2a5f48d2cfe 100644 --- a/src/Camera/QGCCameraControl.h +++ b/src/Camera/QGCCameraControl.h @@ -155,6 +155,7 @@ signals: protected: virtual void _setVideoStatus (VideoStatus status); virtual void _setCameraMode (CameraMode mode); + virtual void _processCameraInfo (const mavlink_camera_information_t* info); private slots: void _initWhenReady ();