From 9bba6e52ff6916e452abb98d036c7335c87657cf Mon Sep 17 00:00:00 2001 From: Ruwen Hahn Date: Fri, 2 Aug 2024 14:18:43 +0200 Subject: [PATCH] frontend: Allow Network Optimizations with multitrack video "Enable network optimizations" in the Advanced Settings is referred to as `NewSocketLoop` in the code. This feature was incompatible with multitrack video but now works properly. Remove it from the incompatible settings check. --- frontend/utility/AdvancedOutput.cpp | 5 +---- frontend/utility/MultitrackVideoOutput.cpp | 10 +--------- frontend/utility/MultitrackVideoOutput.hpp | 2 +- frontend/utility/SimpleOutput.cpp | 5 +---- 4 files changed, 4 insertions(+), 18 deletions(-) diff --git a/frontend/utility/AdvancedOutput.cpp b/frontend/utility/AdvancedOutput.cpp index 2a2451bb7..21606bdbf 100644 --- a/frontend/utility/AdvancedOutput.cpp +++ b/frontend/utility/AdvancedOutput.cpp @@ -683,14 +683,11 @@ bool AdvancedOutput::StartStreaming(obs_service_t *service) #ifdef _WIN32 bool enableNewSocketLoop = config_get_bool(main->Config(), "Output", "NewSocketLoopEnable"); bool enableLowLatencyMode = config_get_bool(main->Config(), "Output", "LowLatencyEnable"); -#else - bool enableNewSocketLoop = false; #endif bool enableDynBitrate = config_get_bool(main->Config(), "Output", "DynamicBitrate"); if (multitrackVideo && multitrackVideoActive && - !multitrackVideo->HandleIncompatibleSettings(main, main->Config(), service, enableNewSocketLoop, - enableDynBitrate)) { + !multitrackVideo->HandleIncompatibleSettings(main, main->Config(), service, enableDynBitrate)) { multitrackVideoActive = false; return false; } diff --git a/frontend/utility/MultitrackVideoOutput.cpp b/frontend/utility/MultitrackVideoOutput.cpp index cface4162..7eb4cfe10 100644 --- a/frontend/utility/MultitrackVideoOutput.cpp +++ b/frontend/utility/MultitrackVideoOutput.cpp @@ -545,7 +545,7 @@ void MultitrackVideoOutput::StopStreaming() } bool MultitrackVideoOutput::HandleIncompatibleSettings(QWidget *parent, config_t *config, obs_service_t *service, - bool &enableNewSocketLoop, bool &enableDynBitrate) + bool &enableDynBitrate) { QString incompatible_settings; QString where_to_disable; @@ -570,10 +570,6 @@ bool MultitrackVideoOutput::HandleIncompatibleSettings(QWidget *parent, config_t num += 1; }; -#ifdef _WIN32 - check_setting(enableNewSocketLoop, "Basic.Settings.Advanced.Network.EnableNewSocketLoop", - "Basic.Settings.Advanced.Network"); -#endif check_setting(enableDynBitrate, "Basic.Settings.Output.DynamicBitrate.Beta", "Basic.Settings.Advanced.Network"); if (incompatible_settings.isEmpty()) @@ -609,13 +605,9 @@ bool MultitrackVideoOutput::HandleIncompatibleSettings(QWidget *parent, config_t incompatible_settings_list.toUtf8().constData(), action); if (mb.clickedButton() == this_stream || mb.clickedButton() == all_streams) { - enableNewSocketLoop = false; enableDynBitrate = false; if (mb.clickedButton() == all_streams) { -#ifdef _WIN32 - config_set_bool(config, "Output", "NewSocketLoopEnable", false); -#endif config_set_bool(config, "Output", "DynamicBitrate", false); } diff --git a/frontend/utility/MultitrackVideoOutput.hpp b/frontend/utility/MultitrackVideoOutput.hpp index 971a13c65..e5e6433a0 100644 --- a/frontend/utility/MultitrackVideoOutput.hpp +++ b/frontend/utility/MultitrackVideoOutput.hpp @@ -32,7 +32,7 @@ public: void StartedStreaming(); void StopStreaming(); bool HandleIncompatibleSettings(QWidget *parent, config_t *config, obs_service_t *service, - bool &enableNewSocketLoop, bool &enableDynBitrate); + bool &enableDynBitrate); OBSOutputAutoRelease StreamingOutput() { diff --git a/frontend/utility/SimpleOutput.cpp b/frontend/utility/SimpleOutput.cpp index b6605c83c..b62846309 100644 --- a/frontend/utility/SimpleOutput.cpp +++ b/frontend/utility/SimpleOutput.cpp @@ -674,14 +674,11 @@ bool SimpleOutput::StartStreaming(obs_service_t *service) #ifdef _WIN32 bool enableNewSocketLoop = config_get_bool(main->Config(), "Output", "NewSocketLoopEnable"); bool enableLowLatencyMode = config_get_bool(main->Config(), "Output", "LowLatencyEnable"); -#else - bool enableNewSocketLoop = false; #endif bool enableDynBitrate = config_get_bool(main->Config(), "Output", "DynamicBitrate"); if (multitrackVideo && multitrackVideoActive && - !multitrackVideo->HandleIncompatibleSettings(main, main->Config(), service, enableNewSocketLoop, - enableDynBitrate)) { + !multitrackVideo->HandleIncompatibleSettings(main, main->Config(), service, enableDynBitrate)) { multitrackVideoActive = false; return false; }