Merge remote-tracking branch 'origin/fix/stopstreams-diagnostic-cleanup' into v2/develop

This commit is contained in:
ob-yalian
2026-07-17 09:48:21 +08:00
2 changed files with 2 additions and 15 deletions
@@ -973,7 +973,7 @@ class OBCameraNode {
nlohmann::json filter_status_; nlohmann::json filter_status_;
std::string align_mode_ = "HW"; std::string align_mode_ = "HW";
std::unique_ptr<diagnostic_updater::Updater> diagnostic_updater_ = nullptr; std::unique_ptr<diagnostic_updater::Updater> diagnostic_updater_ = nullptr;
double diagnostic_period_ = 1.0; double diagnostic_period_ = 0.0;
bool enable_laser_ = false; bool enable_laser_ = false;
std::unique_ptr<ob::Align> align_filter_ = nullptr; std::unique_ptr<ob::Align> align_filter_ = nullptr;
std::shared_ptr<ob::EnhancedDepthFilter> enhanced_depth_filter_ = nullptr; std::shared_ptr<ob::EnhancedDepthFilter> enhanced_depth_filter_ = nullptr;
+1 -14
View File
@@ -4194,19 +4194,6 @@ void OBCameraNode::stopStreams() {
return; return;
} }
// Stop diagnostic timer first to prevent crashes during shutdown
try {
if (diagnostic_timer_) {
diagnostic_timer_->cancel();
diagnostic_timer_.reset();
}
if (diagnostic_updater_) {
diagnostic_updater_.reset();
}
} catch (...) {
// Ignore exceptions during diagnostic cleanup
}
// Mark pipeline as stopping to prevent new operations // Mark pipeline as stopping to prevent new operations
pipeline_started_.store(false); pipeline_started_.store(false);
@@ -4634,7 +4621,7 @@ void OBCameraNode::getParameters() {
setAndGetNodeParameter<std::string>(align_mode_, "align_mode", "HW"); setAndGetNodeParameter<std::string>(align_mode_, "align_mode", "HW");
align_mode_ = align_mode_ =
normalizeClosedSetParameterValue(logger_, "align_mode", align_mode_, {"HW", "SW"}, "HW"); normalizeClosedSetParameterValue(logger_, "align_mode", align_mode_, {"HW", "SW"}, "HW");
setAndGetNodeParameter<double>(diagnostic_period_, "diagnostic_period", 1.0); setAndGetNodeParameter<double>(diagnostic_period_, "diagnostic_period", 0.0);
setAndGetNodeParameter<bool>(enable_laser_, "enable_laser", true); setAndGetNodeParameter<bool>(enable_laser_, "enable_laser", true);
std::string align_target_stream_str_; std::string align_target_stream_str_;
setAndGetNodeParameter<std::string>(align_target_stream_str_, "align_target_stream", "COLOR"); setAndGetNodeParameter<std::string>(align_target_stream_str_, "align_target_stream", "COLOR");