mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-09-24 23:31:36 +08:00
UI: Add buffer size to 'simple' settings
This commit is contained in:
@@ -142,6 +142,8 @@ OBSBasicSettings::OBSBasicSettings(QWidget *parent)
|
||||
HookWidget(ui->simpleOutUseCBR, CHECK_CHANGED, OUTPUTS_CHANGED);
|
||||
HookWidget(ui->simpleOutPreset, COMBO_CHANGED, OUTPUTS_CHANGED);
|
||||
HookWidget(ui->simpleOutCustom, EDIT_CHANGED, OUTPUTS_CHANGED);
|
||||
HookWidget(ui->simpleOutUseBufsize, CHECK_CHANGED, OUTPUTS_CHANGED);
|
||||
HookWidget(ui->simpleOutVBufsize, SCROLL_CHANGED, OUTPUTS_CHANGED);
|
||||
HookWidget(ui->channelSetup, COMBO_CHANGED, AUDIO_RESTART);
|
||||
HookWidget(ui->sampleRate, COMBO_CHANGED, AUDIO_RESTART);
|
||||
HookWidget(ui->desktopAudioDevice1, COMBO_CHANGED, AUDIO_CHANGED);
|
||||
@@ -442,6 +444,8 @@ void OBSBasicSettings::LoadSimpleOutputSettings()
|
||||
"FilePath");
|
||||
int videoBitrate = config_get_uint(main->Config(), "SimpleOutput",
|
||||
"VBitrate");
|
||||
int videoBufsize = config_get_uint(main->Config(), "SimpleOutput",
|
||||
"Bufsize");
|
||||
int audioBitrate = config_get_uint(main->Config(), "SimpleOutput",
|
||||
"ABitrate");
|
||||
bool reconnect = config_get_bool(main->Config(), "SimpleOutput",
|
||||
@@ -454,6 +458,8 @@ void OBSBasicSettings::LoadSimpleOutputSettings()
|
||||
"UseAdvanced");
|
||||
bool useCBR = config_get_bool(main->Config(), "SimpleOutput",
|
||||
"UseCBR");
|
||||
bool useBufsize = config_get_bool(main->Config(), "SimpleOutput",
|
||||
"UseBufsize");
|
||||
const char *preset = config_get_string(main->Config(), "SimpleOutput",
|
||||
"Preset");
|
||||
const char *custom = config_get_string(main->Config(), "SimpleOutput",
|
||||
@@ -461,6 +467,9 @@ void OBSBasicSettings::LoadSimpleOutputSettings()
|
||||
|
||||
ui->simpleOutputPath->setText(path);
|
||||
ui->simpleOutputVBitrate->setValue(videoBitrate);
|
||||
ui->simpleOutUseBufsize->setChecked(useBufsize);
|
||||
ui->simpleOutVBufsize->setValue(
|
||||
useBufsize ? videoBufsize : videoBitrate);
|
||||
|
||||
SetComboByName(ui->simpleOutputABitrate,
|
||||
std::to_string(audioBitrate).c_str());
|
||||
@@ -647,8 +656,12 @@ void OBSBasicSettings::SaveOutputSettings()
|
||||
SaveSpinBox(ui->simpleOutMaxRetries, "SimpleOutput", "MaxRetries");
|
||||
SaveCheckBox(ui->simpleOutAdvanced, "SimpleOutput", "UseAdvanced");
|
||||
SaveCheckBox(ui->simpleOutUseCBR, "SimpleOutput", "UseCBR");
|
||||
SaveCheckBox(ui->simpleOutUseBufsize, "SimpleOutput", "UseBufsize");
|
||||
SaveCombo(ui->simpleOutPreset, "SimpleOutput", "Preset");
|
||||
SaveEdit(ui->simpleOutCustom, "SimpleOutput", "x264Settings");
|
||||
|
||||
if (ui->simpleOutUseBufsize->isChecked())
|
||||
SaveSpinBox(ui->simpleOutVBufsize, "SimpleOutput", "VBufsize");
|
||||
}
|
||||
|
||||
void OBSBasicSettings::SaveAudioSettings()
|
||||
@@ -723,6 +736,19 @@ void OBSBasicSettings::closeEvent(QCloseEvent *event)
|
||||
event->ignore();
|
||||
}
|
||||
|
||||
void OBSBasicSettings::on_simpleOutUseBufsize_toggled(bool checked)
|
||||
{
|
||||
if (!checked)
|
||||
ui->simpleOutVBufsize->setValue(
|
||||
ui->simpleOutputVBitrate->value());
|
||||
}
|
||||
|
||||
void OBSBasicSettings::on_simpleOutputVBitrate_valueChanged(int val)
|
||||
{
|
||||
if (!ui->simpleOutUseBufsize->isChecked())
|
||||
ui->simpleOutVBufsize->setValue(val);
|
||||
}
|
||||
|
||||
void OBSBasicSettings::on_listWidget_itemSelectionChanged()
|
||||
{
|
||||
int row = ui->listWidget->currentRow();
|
||||
|
||||
Reference in New Issue
Block a user