@@ -36,32 +36,38 @@ void cfg_camera::save() const
3636 }
3737}
3838
39- cfg_camera::camera_setting cfg_camera::get_camera_setting (const std::string& camera, bool & success)
39+ cfg_camera::camera_setting cfg_camera::get_camera_setting (const std::string& handler, const std::string& camera, bool & success)
4040{
41- camera_setting setting;
42- const std::string value = cameras.get_value (camera);
41+ camera_setting setting {} ;
42+ const std::string value = cameras.get_value (handler + " - " + camera);
4343 success = !value.empty ();
4444 if (success)
4545 {
46- setting.from_string (cameras. get_value (camera) );
46+ setting.from_string (value );
4747 }
4848 return setting;
4949}
5050
51- void cfg_camera::set_camera_setting (const std::string& camera, const camera_setting& setting)
51+ void cfg_camera::set_camera_setting (const std::string& handler, const std::string& camera, const camera_setting& setting)
5252{
53+ if (handler.empty ())
54+ {
55+ camera_log.error (" String '%s' cannot be used as handler key." , handler);
56+ return ;
57+ }
58+
5359 if (camera.empty ())
5460 {
5561 camera_log.error (" String '%s' cannot be used as camera key." , camera);
5662 return ;
5763 }
5864
59- cameras.set_value (camera, setting.to_string ());
65+ cameras.set_value (handler + " - " + camera, setting.to_string ());
6066}
6167
6268std::string cfg_camera::camera_setting::to_string () const
6369{
64- return fmt::format (" %d,%d,%f,%f,%d" , width, height, min_fps, max_fps, format);
70+ return fmt::format (" %d,%d,%f,%f,%d,%d " , width, height, min_fps, max_fps, format, colorspace );
6571}
6672
6773void cfg_camera::camera_setting::from_string (const std::string& text)
@@ -106,12 +112,14 @@ void cfg_camera::camera_setting::from_string(const std::string& text)
106112 !to_integer (::at32 (list, 1 ), height) ||
107113 !to_double (::at32 (list, 2 ), min_fps) ||
108114 !to_double (::at32 (list, 3 ), max_fps) ||
109- !to_integer (::at32 (list, 4 ), format))
115+ !to_integer (::at32 (list, 4 ), format) ||
116+ !to_integer (::at32 (list, 4 ), colorspace))
110117 {
111118 width = 0 ;
112119 height = 0 ;
113120 min_fps = 0 ;
114121 max_fps = 0 ;
115122 format = 0 ;
123+ colorspace = 0 ;
116124 }
117125}
0 commit comments