Skip to content

Commit 5d77746

Browse files
committed
CameraRealSense2: refactored for freezing/crash issues on stop
1 parent 70e9dff commit 5d77746

File tree

2 files changed

+83
-98
lines changed

2 files changed

+83
-98
lines changed

corelib/include/rtabmap/core/camera/CameraRealSense2.h

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3636
#include <pcl/pcl_config.h>
3737

3838
#ifdef RTABMAP_REALSENSE2
39+
#include <librealsense2/rs.hpp>
3940
#include <librealsense2/hpp/rs_frame.hpp>
4041
#endif
4142

@@ -86,6 +87,7 @@ class RTABMAP_EXP CameraRealSense2 :
8687

8788
#ifdef RTABMAP_REALSENSE2
8889
private:
90+
void close();
8991
void imu_callback(rs2::frame frame);
9092
void pose_callback(rs2::frame frame);
9193
void frame_callback(rs2::frame frame);
@@ -103,14 +105,14 @@ class RTABMAP_EXP CameraRealSense2 :
103105

104106
private:
105107
#ifdef RTABMAP_REALSENSE2
106-
rs2::context * ctx_;
107-
std::vector<rs2::device *> dev_;
108+
rs2::context ctx_;
109+
std::vector<rs2::device> dev_;
108110
std::string deviceId_;
109-
rs2::syncer * syncer_;
111+
rs2::syncer syncer_;
110112
float depth_scale_meters_;
111-
rs2_intrinsics * depthIntrinsics_;
112-
rs2_intrinsics * rgbIntrinsics_;
113-
rs2_extrinsics * depthToRGBExtrinsics_;
113+
rs2_intrinsics depthIntrinsics_;
114+
rs2_intrinsics rgbIntrinsics_;
115+
rs2_extrinsics depthToRGBExtrinsics_;
114116
cv::Mat depthBuffer_;
115117
cv::Mat rgbBuffer_;
116118
CameraModel model_;

0 commit comments

Comments
 (0)