diff --git a/include/mqtt_client_wrapper.hpp b/include/mqtt_client_wrapper.hpp index 92faf3c..10d2781 100644 --- a/include/mqtt_client_wrapper.hpp +++ b/include/mqtt_client_wrapper.hpp @@ -12,9 +12,3 @@ // 启动 MQTT 客户端线程(内部自动重连、订阅等) void mqtt_client_thread_func(); - -// 外部可访问的 MQTT 客户端指针 -extern std::shared_ptr mqtt_client; - -// 请求 MQTT 客户端重启 -extern std::atomic mqtt_restart_required; diff --git a/include/record_manager.hpp b/include/record_manager.hpp index 9aff7b8..f630a33 100644 --- a/include/record_manager.hpp +++ b/include/record_manager.hpp @@ -67,4 +67,6 @@ class RecordManager std::thread scan_thread_; bool running_ = false; int scan_interval_sec_ = 60; -}; \ No newline at end of file +}; + +extern std::shared_ptr g_record_manager; diff --git a/src/main.cpp b/src/main.cpp index 2d087ae..98c853c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -36,7 +36,8 @@ int main() Logger::init(get_executable_dir_file_path("logs"), 7); LOG_INFO("[MAIN] ===== Vehicle Video Service Starting ====="); - RecordManager rm("/home/aiec/srs/conf/kun_record.conf"); + // 创建全局 RecordManager 实例 + g_record_manager = std::make_shared("/home/aiec/srs/conf/kun_record.conf"); try { diff --git a/src/mqtt_client_wrapper.cpp b/src/mqtt_client_wrapper.cpp index 767b4d4..dcbc935 100644 --- a/src/mqtt_client_wrapper.cpp +++ b/src/mqtt_client_wrapper.cpp @@ -9,8 +9,10 @@ #include #include +#include "record_manager.hpp" + std::shared_ptr mqtt_client; -std::atomic mqtt_restart_required{false}; + extern std::atomic g_running; std::atomic g_streaming{false}; std::string g_dispatch_id; @@ -106,8 +108,6 @@ static void handle_video_down_request(const nlohmann::json& req) // 发布回复 mqtt_client->publish(g_app_config.mqtt.topics.video_down, resp.dump(-1), 1); - - LOG_INFO("[video_down] response sent"); } static void handle_record_query_request(const nlohmann::json& req) {} @@ -202,8 +202,6 @@ void mqtt_client_thread_func() mqtt_client.reset(); } - mqtt_restart_required = false; - if (!g_running) break; // 短暂等待再重连 diff --git a/src/record_manager.cpp b/src/record_manager.cpp index 66935c5..015e3a6 100644 --- a/src/record_manager.cpp +++ b/src/record_manager.cpp @@ -7,6 +7,8 @@ #include "logger.hpp" +std::shared_ptr g_record_manager = nullptr; + namespace fs = std::filesystem; //