mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-05-18 13:33:27 -04:00
obs-webrtc: Add Simulcast Support
This commit is contained in:
@@ -95,6 +95,7 @@ void OBSBasicSettings::InitStreamPage()
|
||||
void OBSBasicSettings::LoadStream1Settings()
|
||||
{
|
||||
bool ignoreRecommended = config_get_bool(main->Config(), "Stream1", "IgnoreRecommended");
|
||||
int whipSimulcastTotalLayers = config_get_int(main->Config(), "Stream1", "WHIPSimulcastTotalLayers");
|
||||
|
||||
obs_service_t *service_obj = main->GetService();
|
||||
const char *type = obs_service_get_type(service_obj);
|
||||
@@ -209,10 +210,13 @@ void OBSBasicSettings::LoadStream1Settings()
|
||||
if (use_custom_server)
|
||||
ui->serviceCustomServer->setText(server);
|
||||
|
||||
if (is_whip)
|
||||
if (is_whip) {
|
||||
ui->key->setText(bearer_token);
|
||||
else
|
||||
ui->whipSimulcastGroupBox->show();
|
||||
} else {
|
||||
ui->key->setText(key);
|
||||
ui->whipSimulcastGroupBox->hide();
|
||||
}
|
||||
|
||||
ServiceChanged(true);
|
||||
|
||||
@@ -226,6 +230,7 @@ void OBSBasicSettings::LoadStream1Settings()
|
||||
ui->streamPage->setEnabled(!streamActive);
|
||||
|
||||
ui->ignoreRecommended->setChecked(ignoreRecommended);
|
||||
ui->whipSimulcastTotalLayers->setValue(whipSimulcastTotalLayers);
|
||||
|
||||
loading = false;
|
||||
|
||||
@@ -327,6 +332,9 @@ void OBSBasicSettings::SaveStream1Settings()
|
||||
|
||||
SaveCheckBox(ui->ignoreRecommended, "Stream1", "IgnoreRecommended");
|
||||
|
||||
auto oldWHIPSimulcastTotalLayers = config_get_int(main->Config(), "Stream1", "WHIPSimulcastTotalLayers");
|
||||
SaveSpinBox(ui->whipSimulcastTotalLayers, "Stream1", "WHIPSimulcastTotalLayers");
|
||||
|
||||
auto oldMultitrackVideoSetting = config_get_bool(main->Config(), "Stream1", "EnableMultitrackVideo");
|
||||
|
||||
if (!IsCustomService()) {
|
||||
@@ -355,7 +363,8 @@ void OBSBasicSettings::SaveStream1Settings()
|
||||
SaveText(ui->multitrackVideoConfigOverride, "Stream1", "MultitrackVideoConfigOverride");
|
||||
SaveComboData(ui->multitrackVideoAdditionalCanvas, "Stream1", "MultitrackExtraCanvas");
|
||||
|
||||
if (oldMultitrackVideoSetting != ui->enableMultitrackVideo->isChecked())
|
||||
if (oldMultitrackVideoSetting != ui->enableMultitrackVideo->isChecked() ||
|
||||
oldWHIPSimulcastTotalLayers != ui->whipSimulcastTotalLayers->value())
|
||||
main->ResetOutputs();
|
||||
|
||||
SwapMultiTrack(QT_TO_UTF8(protocol));
|
||||
@@ -588,6 +597,12 @@ void OBSBasicSettings::on_service_currentIndexChanged(int idx)
|
||||
} else {
|
||||
SwapMultiTrack(QT_TO_UTF8(protocol));
|
||||
}
|
||||
|
||||
if (IsWHIP()) {
|
||||
ui->whipSimulcastGroupBox->show();
|
||||
} else {
|
||||
ui->whipSimulcastGroupBox->hide();
|
||||
}
|
||||
}
|
||||
|
||||
void OBSBasicSettings::on_customServer_textChanged(const QString &)
|
||||
|
||||
Reference in New Issue
Block a user