Skip to content

Commit e35b16c

Browse files
PatTheMavRytoEX
authored andcommitted
frontend: Enable multitrack RTMP option for custom RTMP services
This removes the need to provide an undocumented launch argument to enable custom RTMP service configurations to use multitrack encoding and also provide a custom configuration.
1 parent a75fdd2 commit e35b16c

File tree

3 files changed

+7
-18
lines changed

3 files changed

+7
-18
lines changed

frontend/settings/OBSBasicSettings.cpp

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5591,8 +5591,6 @@ void OBSBasicSettings::UpdateAdvNetworkGroup()
55915591
#endif
55925592
}
55935593

5594-
extern bool MultitrackVideoDeveloperModeEnabled();
5595-
55965594
void OBSBasicSettings::UpdateMultitrackVideo()
55975595
{
55985596
// Technically, it should currently be safe to toggle multitrackVideo
@@ -5615,15 +5613,6 @@ void OBSBasicSettings::UpdateMultitrackVideo()
56155613
ui->enableMultitrackVideo->setChecked(false);
56165614
}
56175615

5618-
// Enhanced Broadcasting works on Windows, Apple Silicon Macs, and Linux.
5619-
// For other OS variants, only enable the GUI controls if developer mode was invoked.
5620-
#if !defined(_WIN32) && !(defined(__APPLE__) && defined(__aarch64__)) && !defined(__linux__)
5621-
available = available && MultitrackVideoDeveloperModeEnabled();
5622-
#endif
5623-
5624-
if (IsCustomService())
5625-
available = available && MultitrackVideoDeveloperModeEnabled();
5626-
56275616
ui->multitrackVideoGroupBox->setVisible(available);
56285617

56295618
ui->enableMultitrackVideo->setEnabled(toggle_available);
@@ -5644,10 +5633,10 @@ void OBSBasicSettings::UpdateMultitrackVideo()
56445633
!ui->multitrackVideoMaximumVideoTracksAuto->isChecked());
56455634
ui->multitrackVideoAdditionalCanvas->setEnabled(toggle_available && ui->enableMultitrackVideo->isChecked());
56465635

5647-
ui->multitrackVideoStreamDumpEnable->setVisible(available && MultitrackVideoDeveloperModeEnabled());
5648-
ui->multitrackVideoConfigOverrideEnable->setVisible(available && MultitrackVideoDeveloperModeEnabled());
5649-
ui->multitrackVideoConfigOverrideLabel->setVisible(available && MultitrackVideoDeveloperModeEnabled());
5650-
ui->multitrackVideoConfigOverride->setVisible(available && MultitrackVideoDeveloperModeEnabled());
5636+
ui->multitrackVideoStreamDumpEnable->setVisible(available && IsCustomService());
5637+
ui->multitrackVideoConfigOverrideEnable->setVisible(available && IsCustomService());
5638+
ui->multitrackVideoConfigOverrideLabel->setVisible(available && IsCustomService());
5639+
ui->multitrackVideoConfigOverride->setVisible(available && IsCustomService());
56515640

56525641
ui->multitrackVideoStreamDumpEnable->setEnabled(toggle_available && ui->enableMultitrackVideo->isChecked());
56535642
ui->multitrackVideoConfigOverrideEnable->setEnabled(toggle_available && ui->enableMultitrackVideo->isChecked());

frontend/utility/BasicOutputHandler.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,8 @@ BasicOutputHandler::BasicOutputHandler(OBSBasic *main_) : main(main_)
231231
auto service = main_->GetService();
232232
OBSDataAutoRelease settings = obs_service_get_settings(service);
233233
auto multitrack_enabled = config_get_bool(main->Config(), "Stream1", "EnableMultitrackVideo") &&
234-
obs_data_has_user_value(settings, "multitrack_video_configuration_url");
234+
(obs_data_has_user_value(settings, "multitrack_video_configuration_url") ||
235+
strcmp(obs_service_get_id(service), "rtmp_custom") == 0);
235236

236237
if (multitrack_enabled)
237238
multitrackVideo = make_unique<MultitrackVideoOutput>();

frontend/utility/MultitrackVideoOutput.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -410,8 +410,7 @@ void MultitrackVideoOutput::PrepareStreaming(
410410
rtmp_url.has_value() ? rtmp_url->c_str() : "",
411411
vod_track_info_storage->array ? vod_track_info_storage->array : "No", canvasNames.c_str());
412412

413-
const bool custom_config_only = auto_config_url.isEmpty() && MultitrackVideoDeveloperModeEnabled() &&
414-
custom_config.has_value() &&
413+
const bool custom_config_only = auto_config_url.isEmpty() && custom_config.has_value() &&
415414
strcmp(obs_service_get_id(service), "rtmp_custom") == 0;
416415

417416
if (!custom_config_only) {

0 commit comments

Comments
 (0)