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.
This commit is contained in:
Ruwen Hahn 2024-08-02 14:18:43 +02:00 • committed by Ryan Foster
commit 9bba6e52ff
4 changed files with 4 additions and 18 deletions

View file

@ -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;
}

View file

@ -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);
}

View file

@ -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()
{

View file

@ -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;
}