|
|
@@ -1257,6 +1257,8 @@ void OBSBasicSettings::LoadAdvOutputStreamingEncoderProperties()
|
|
|
connect(streamEncoderProps, SIGNAL(Changed()),
|
|
|
this, SLOT(UpdateStreamDelayEstimate()));
|
|
|
|
|
|
+ curAdvStreamEncoder = type;
|
|
|
+
|
|
|
if (!SetComboByValue(ui->advOutEncoder, type)) {
|
|
|
uint32_t caps = obs_get_encoder_caps(type);
|
|
|
if ((caps & OBS_ENCODER_CAP_DEPRECATED) != 0) {
|
|
|
@@ -1320,6 +1322,8 @@ void OBSBasicSettings::LoadAdvOutputRecordingEncoderProperties()
|
|
|
ui->advOutRecStandard->layout()->addWidget(recordEncoderProps);
|
|
|
}
|
|
|
|
|
|
+ curAdvRecordEncoder = type;
|
|
|
+
|
|
|
if (!SetComboByValue(ui->advOutRecEncoder, type)) {
|
|
|
uint32_t caps = obs_get_encoder_caps(type);
|
|
|
if ((caps & OBS_ENCODER_CAP_DEPRECATED) != 0) {
|
|
|
@@ -2366,6 +2370,8 @@ void OBSBasicSettings::SaveOutputSettings()
|
|
|
SaveComboData(ui->simpleOutRecEncoder, "SimpleOutput", "RecEncoder");
|
|
|
SaveEdit(ui->simpleOutMuxCustom, "SimpleOutput", "MuxerCustom");
|
|
|
|
|
|
+ curAdvStreamEncoder = GetComboData(ui->advOutEncoder);
|
|
|
+
|
|
|
SaveCheckBox(ui->advOutApplyService, "AdvOut", "ApplyServiceSettings");
|
|
|
SaveComboData(ui->advOutEncoder, "AdvOut", "Encoder");
|
|
|
SaveCheckBox(ui->advOutUseRescale, "AdvOut", "Rescale");
|
|
|
@@ -2377,6 +2383,8 @@ void OBSBasicSettings::SaveOutputSettings()
|
|
|
config_set_string(main->Config(), "AdvOut", "RecType",
|
|
|
RecTypeFromIdx(ui->advOutRecType->currentIndex()));
|
|
|
|
|
|
+ curAdvRecordEncoder = GetComboData(ui->advOutRecEncoder);
|
|
|
+
|
|
|
SaveEdit(ui->advOutRecPath, "AdvOut", "RecFilePath");
|
|
|
SaveCheckBox(ui->advOutNoSpace, "AdvOut", "RecFileNameWithoutSpace");
|
|
|
SaveCombo(ui->advOutRecFormat, "AdvOut", "RecFormat");
|
|
|
@@ -2707,10 +2715,11 @@ void OBSBasicSettings::on_advOutEncoder_currentIndexChanged(int idx)
|
|
|
return;
|
|
|
|
|
|
QString encoder = GetComboData(ui->advOutEncoder);
|
|
|
+ bool loadSettings = encoder == curAdvStreamEncoder;
|
|
|
|
|
|
delete streamEncoderProps;
|
|
|
streamEncoderProps = CreateEncoderPropertyView(QT_TO_UTF8(encoder),
|
|
|
- "streamEncoder.json", true);
|
|
|
+ loadSettings ? "streamEncoder.json" : nullptr, true);
|
|
|
ui->advOutputStreamTab->layout()->addWidget(streamEncoderProps);
|
|
|
|
|
|
UNUSED_PARAMETER(idx);
|
|
|
@@ -2729,10 +2738,12 @@ void OBSBasicSettings::on_advOutRecEncoder_currentIndexChanged(int idx)
|
|
|
|
|
|
if (idx > 0) {
|
|
|
QString encoder = GetComboData(ui->advOutRecEncoder);
|
|
|
+ bool loadSettings = encoder == curAdvRecordEncoder;
|
|
|
|
|
|
recordEncoderProps = CreateEncoderPropertyView(
|
|
|
QT_TO_UTF8(encoder),
|
|
|
- "recordEncoder.json", true);
|
|
|
+ loadSettings ? "recordEncoder.json" : nullptr,
|
|
|
+ true);
|
|
|
ui->advOutRecStandard->layout()->addWidget(recordEncoderProps);
|
|
|
}
|
|
|
}
|