mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-20 13:08:50 +02:00
UI: Hide network features if a non-RTMP service is set
Only rtmp_output has those features implemented.
This commit is contained in:
parent
81003b2c64
commit
bc80d0ca95
@ -1069,6 +1069,7 @@ Basic.Settings.Advanced.StreamDelay.Duration="Duration"
|
||||
Basic.Settings.Advanced.StreamDelay.Preserve="Preserve cutoff point (increase delay) when reconnecting"
|
||||
Basic.Settings.Advanced.StreamDelay.MemoryUsage="Estimated Memory Usage: %1 MB"
|
||||
Basic.Settings.Advanced.Network="Network"
|
||||
Basic.Settings.Advanced.Network.Disabled="The currently selected streaming protocol does not support changing network settings."
|
||||
Basic.Settings.Advanced.Network.BindToIP="Bind to IP"
|
||||
Basic.Settings.Advanced.Network.EnableNewSocketLoop="Enable network optimizations"
|
||||
Basic.Settings.Advanced.Network.EnableLowLatencyMode="Enable TCP pacing"
|
||||
|
@ -5590,8 +5590,15 @@
|
||||
<property name="topMargin">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_27">
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="advNetworkDisabled">
|
||||
<property name="text">
|
||||
<string>Basic.Settings.Advanced.Network.Disabled</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="bindToIPLabel">
|
||||
<property name="text">
|
||||
<string>Basic.Settings.Advanced.Network.BindToIP</string>
|
||||
</property>
|
||||
@ -5600,17 +5607,17 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="bindToIP"/>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<item row="3" column="1">
|
||||
<widget class="QCheckBox" name="enableNewSocketLoop">
|
||||
<property name="text">
|
||||
<string>Basic.Settings.Advanced.Network.EnableNewSocketLoop</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<item row="4" column="1">
|
||||
<widget class="QCheckBox" name="enableLowLatencyMode">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
@ -5620,7 +5627,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<item row="3" column="0">
|
||||
<spacer name="horizontalSpacer_7">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
@ -5633,7 +5640,7 @@
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<item row="2" column="1">
|
||||
<widget class="QCheckBox" name="dynBitrate">
|
||||
<property name="toolTip">
|
||||
<string>Basic.Settings.Output.DynamicBitrate.TT</string>
|
||||
|
@ -68,6 +68,24 @@ Json get_service_from_json(const Json &root, const char *name)
|
||||
return Json();
|
||||
}
|
||||
|
||||
bool StreamSettingsUI::IsServiceOutputHasNetworkFeatures()
|
||||
{
|
||||
if (IsCustomService())
|
||||
return ui_customServer->text().startsWith("rtmp");
|
||||
|
||||
Json service = get_service_from_json(
|
||||
GetServicesJson(), QT_TO_UTF8(ui_service->currentText()));
|
||||
|
||||
if (!service["recommended"]["output"].is_string())
|
||||
return true;
|
||||
|
||||
if (service["recommended"]["output"].string_value().compare(
|
||||
"rtmp_output") == 0)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void StreamSettingsUI::UpdateMoreInfoLink()
|
||||
{
|
||||
if (IsCustomService()) {
|
||||
|
@ -63,6 +63,8 @@ public:
|
||||
|
||||
inline const QString &LastService() const { return lastService; }
|
||||
|
||||
bool IsServiceOutputHasNetworkFeatures();
|
||||
|
||||
public slots:
|
||||
void UpdateMoreInfoLink();
|
||||
void UpdateKeyLink();
|
||||
|
@ -92,6 +92,11 @@ void OBSBasicSettings::InitStreamPage()
|
||||
SLOT(UpdateResFPSLimits()));
|
||||
connect(ui->service, SIGNAL(currentIndexChanged(int)), &streamUi,
|
||||
SLOT(UpdateMoreInfoLink()));
|
||||
|
||||
connect(ui->service, SIGNAL(currentIndexChanged(int)), this,
|
||||
SLOT(UpdateAdvNetworkGroup()));
|
||||
connect(ui->customServer, SIGNAL(textChanged(const QString &)), this,
|
||||
SLOT(UpdateAdvNetworkGroup()));
|
||||
}
|
||||
|
||||
void OBSBasicSettings::LoadStream1Settings()
|
||||
|
@ -5386,3 +5386,18 @@ void OBSBasicSettings::RecreateOutputResolutionWidget()
|
||||
ui->outputResolution->lineEdit()->setValidator(
|
||||
ui->baseResolution->lineEdit()->validator());
|
||||
}
|
||||
|
||||
void OBSBasicSettings::UpdateAdvNetworkGroup()
|
||||
{
|
||||
bool enabled = streamUi.IsServiceOutputHasNetworkFeatures();
|
||||
|
||||
ui->advNetworkDisabled->setVisible(!enabled);
|
||||
|
||||
ui->bindToIPLabel->setVisible(enabled);
|
||||
ui->bindToIP->setVisible(enabled);
|
||||
ui->dynBitrate->setVisible(enabled);
|
||||
#ifdef _WIN32
|
||||
ui->enableNewSocketLoop->setVisible(enabled);
|
||||
ui->enableLowLatencyMode->setVisible(enabled);
|
||||
#endif
|
||||
}
|
||||
|
@ -390,6 +390,8 @@ private slots:
|
||||
|
||||
void UpdateStreamDelayEstimate();
|
||||
|
||||
void UpdateAdvNetworkGroup();
|
||||
|
||||
void UpdateAutomaticReplayBufferCheckboxes();
|
||||
|
||||
void AdvOutSplitFileChanged();
|
||||
|
Loading…
Reference in New Issue
Block a user