diff --git a/src/config.cpp b/src/config.cpp index 2fbac75d..693f4f92 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -1049,6 +1049,7 @@ namespace config { for (auto &[name, val] : vars) { BOOST_LOG(info) << "config: '"sv << name << "' = "sv << val; + modified_config_settings[name] = val; } int_f(vars, "qp", video.qp); diff --git a/src/config.h b/src/config.h index 05cec9e8..474cbb5a 100644 --- a/src/config.h +++ b/src/config.h @@ -16,6 +16,9 @@ #include "nvenc/nvenc_config.h" namespace config { + // track modified config options + inline std::unordered_map modified_config_settings; + struct video_t { // ffmpeg params int qp; // higher == more compression and less quality diff --git a/src/main.cpp b/src/main.cpp index 555366ba..b91dedce 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -106,6 +106,11 @@ int main(int argc, char *argv[]) { mail::man = std::make_shared(); + // parse config file + if (config::parse(argc, argv)) { + return 0; + } + auto log_deinit_guard = logging::init(config::sunshine.min_log_level, config::sunshine.log_file); if (!log_deinit_guard) { BOOST_LOG(error) << "Logging failed to initialize"sv; @@ -119,10 +124,11 @@ int main(int argc, char *argv[]) { // Log publisher metadata log_publisher_data(); - // parse config file - if (config::parse(argc, argv)) { - return 0; + // Log modified_config_settings + for (auto &[name, val] : config::modified_config_settings) { + BOOST_LOG(info) << "config: '"sv << name << "' = "sv << val; } + config::modified_config_settings.clear(); if (!config::sunshine.cmd.name.empty()) { auto fn = cmd_to_func.find(config::sunshine.cmd.name);