diff --git a/src/WriterManager.cpp b/src/WriterManager.cpp index 9a505ad..502a263 100644 --- a/src/WriterManager.cpp +++ b/src/WriterManager.cpp @@ -37,7 +37,7 @@ string WriterManager::get_status() { if (running_flag) { return "receiving"; - } else if (n_received_frames > n_written_frames) { + } else if (n_received_frames.load() > n_written_frames) { return "writing"; } else if (!are_all_parameters_set()) { return "waiting for parameters"; @@ -55,11 +55,14 @@ map WriterManager::get_statistics() return result; } -map WriterManager::get_parameters(){ +map WriterManager::get_parameters() +{ + lock_guard lock(parameters_mutex); + return parameters; } -void WriterManager::set_parameters(map& new_parameters) +void WriterManager::set_parameters(const map& new_parameters) { lock_guard lock(parameters_mutex); @@ -68,9 +71,9 @@ void WriterManager::set_parameters(map& new_parameters) output_message << "[WriterManager::set_parameters] Setting parameters: "; #endif - for (auto parameter : new_parameters) { - string parameter_name = parameter.first; - auto parameter_value = parameter.second; + for (const auto& parameter : new_parameters) { + auto& parameter_name = parameter.first; + auto& parameter_value = parameter.second; parameters[parameter_name] = parameter_value; @@ -116,8 +119,8 @@ void WriterManager::written_frame(size_t frame_index) bool WriterManager::are_all_parameters_set() { lock_guard lock(parameters_mutex); - for (auto parameter : *parameters_type) { - auto parameter_name = parameter.first; + for (const auto& parameter : *parameters_type) { + const auto& parameter_name = parameter.first; if (parameters.count(parameter_name) == 0) { #ifdef DEBUG_OUTPUT diff --git a/src/WriterManager.hpp b/src/WriterManager.hpp index 85217c9..c761ec7 100644 --- a/src/WriterManager.hpp +++ b/src/WriterManager.hpp @@ -34,7 +34,7 @@ class WriterManager const std::map* get_parameters_type(); std::map get_parameters(); - void set_parameters(std::map& new_parameters); + void set_parameters(const std::map& new_parameters); std::map get_statistics(); void received_frame(size_t frame_index);