mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-05-19 22:09:03 -04:00
UI: Add IPv4 / IPv6 selection setting
This commit adds a field in Settings -> Advanced called 'IP Address Family' that allows users to select IPv4 and IPv6, IPv4 Only, or IPv6 Only.
This commit is contained in:
@@ -628,6 +628,7 @@ OBSBasicSettings::OBSBasicSettings(QWidget *parent)
|
||||
HookWidget(ui->processPriority, COMBO_CHANGED, ADV_CHANGED);
|
||||
HookWidget(ui->confirmOnExit, CHECK_CHANGED, ADV_CHANGED);
|
||||
HookWidget(ui->bindToIP, COMBO_CHANGED, ADV_CHANGED);
|
||||
HookWidget(ui->ipFamily, COMBO_CHANGED, ADV_CHANGED);
|
||||
HookWidget(ui->enableNewSocketLoop, CHECK_CHANGED, ADV_CHANGED);
|
||||
HookWidget(ui->enableLowLatencyMode, CHECK_CHANGED, ADV_CHANGED);
|
||||
HookWidget(ui->hotkeyFocusType, COMBO_CHANGED, ADV_CHANGED);
|
||||
@@ -899,6 +900,17 @@ OBSBasicSettings::OBSBasicSettings(QWidget *parent)
|
||||
ui->bindToIP->addItem(QT_UTF8(name), val);
|
||||
}
|
||||
|
||||
// Add IP Family options
|
||||
p = obs_properties_get(ppts, "ip_family");
|
||||
|
||||
count = obs_property_list_item_count(p);
|
||||
for (size_t i = 0; i < count; i++) {
|
||||
const char *name = obs_property_list_item_name(p, i);
|
||||
const char *val = obs_property_list_item_string(p, i);
|
||||
|
||||
ui->ipFamily->addItem(QT_UTF8(name), val);
|
||||
}
|
||||
|
||||
obs_properties_destroy(ppts);
|
||||
|
||||
InitStreamPage();
|
||||
@@ -2897,7 +2909,8 @@ void OBSBasicSettings::LoadAdvancedSettings()
|
||||
App()->GlobalConfig(), "General", "HotkeyFocusType");
|
||||
bool dynBitrate =
|
||||
config_get_bool(main->Config(), "Output", "DynamicBitrate");
|
||||
|
||||
const char *ipFamily =
|
||||
config_get_string(main->Config(), "Output", "IPFamily");
|
||||
bool confirmOnExit =
|
||||
config_get_bool(GetGlobalConfig(), "General", "ConfirmOnExit");
|
||||
ui->confirmOnExit->setChecked(confirmOnExit);
|
||||
@@ -2936,6 +2949,7 @@ void OBSBasicSettings::LoadAdvancedSettings()
|
||||
ui->sdrWhiteLevel->setValue(sdrWhiteLevel);
|
||||
ui->hdrNominalPeakLevel->setValue(hdrNominalPeakLevel);
|
||||
|
||||
SetComboByValue(ui->ipFamily, ipFamily);
|
||||
if (!SetComboByValue(ui->bindToIP, bindIP))
|
||||
SetInvalidValue(ui->bindToIP, bindIP, bindIP);
|
||||
|
||||
@@ -3669,6 +3683,7 @@ void OBSBasicSettings::SaveAdvancedSettings()
|
||||
SaveSpinBox(ui->reconnectRetryDelay, "Output", "RetryDelay");
|
||||
SaveSpinBox(ui->reconnectMaxRetries, "Output", "MaxRetries");
|
||||
SaveComboData(ui->bindToIP, "Output", "BindIP");
|
||||
SaveComboData(ui->ipFamily, "Output", "IPFamily");
|
||||
SaveCheckBox(ui->autoRemux, "Video", "AutoRemux");
|
||||
SaveCheckBox(ui->dynBitrate, "Output", "DynamicBitrate");
|
||||
|
||||
@@ -6235,6 +6250,8 @@ void OBSBasicSettings::UpdateAdvNetworkGroup()
|
||||
ui->bindToIPLabel->setVisible(enabled);
|
||||
ui->bindToIP->setVisible(enabled);
|
||||
ui->dynBitrate->setVisible(enabled);
|
||||
ui->ipFamilyLabel->setVisible(enabled);
|
||||
ui->ipFamily->setVisible(enabled);
|
||||
#ifdef _WIN32
|
||||
ui->enableNewSocketLoop->setVisible(enabled);
|
||||
ui->enableLowLatencyMode->setVisible(enabled);
|
||||
|
||||
Reference in New Issue
Block a user