diff --git a/gui/QT/option/settings.cpp b/gui/QT/option/settings.cpp index 01728736e9..bf550aaf4f 100644 --- a/gui/QT/option/settings.cpp +++ b/gui/QT/option/settings.cpp @@ -198,6 +198,7 @@ const static struct{ const char *parent; const char *limit; } optionList[] = { + {"extraOpts", Option::StringOpt, "", "", false, "", ""}, {"video.source", Option::StringOpt, " -t ", "", false, "", ""}, {"video.source.embeddedAudioAvailable", Option::SilentOpt, "", "", false, "", ""}, {"testcard.width", Option::StringOpt, ":", "", false, "video.source", "testcard"}, @@ -298,8 +299,10 @@ std::string Settings::getControlPort() const{ std::string Settings::getLaunchParams() const{ std::string out; + out += getOption("extraOpts").getLaunchOption(); + if(getOption("preview").isEnabled()){ - out += "--capture-filter preview"; + out += " --capture-filter preview"; out += ":key=" + getSessRndKey(); } @@ -346,6 +349,8 @@ std::string Settings::getLaunchParams() const{ std::string Settings::getPreviewParams() const{ std::string out; + out += getOption("extraOpts").getLaunchOption(); + out += " --capture-filter preview"; out += ":key=" + getSessRndKey(); out += ",every:0"; diff --git a/gui/QT/option/settings_ui.cpp b/gui/QT/option/settings_ui.cpp index d4f7efbe08..af1512c938 100644 --- a/gui/QT/option/settings_ui.cpp +++ b/gui/QT/option/settings_ui.cpp @@ -171,6 +171,7 @@ void SettingsUi::initSettingsWin(Ui::Settings *ui){ addControl(new CheckboxUi(ui->decodeAccelCheck, settings, "decode.hwaccel")); addControl(new CheckboxUi(ui->errorsFatalBox, settings, "errors_fatal")); addControl(new LineEditUi(ui->encryptionLineEdit, settings, "encryption")); + addControl(new LineEditUi(ui->extraOptsLineEdit, settings, "extraOpts")); addControl(new CheckboxUi(ui->advModeCheck, settings, "advanced")); addDeviceTabs(); diff --git a/gui/QT/ui/settings.ui b/gui/QT/ui/settings.ui index 3d0e34b76f..93903e4566 100644 --- a/gui/QT/ui/settings.ui +++ b/gui/QT/ui/settings.ui @@ -51,7 +51,7 @@ 0 0 323 - 363 + 360 @@ -499,7 +499,7 @@ - + Show all input/output modules as reported by UltraGrid. Note that most of the hidden devices are not useful. @@ -509,6 +509,16 @@ + + + + Extra options + + + + + + diff --git a/gui/QT/window/ultragrid_window.cpp b/gui/QT/window/ultragrid_window.cpp index 72dfad2c25..b07b5d963c 100644 --- a/gui/QT/window/ultragrid_window.cpp +++ b/gui/QT/window/ultragrid_window.cpp @@ -227,7 +227,7 @@ void UltragridWindow::refresh(){ void UltragridWindow::setupPreviewCallbacks(){ const char * const opts[] = { - "video.source", "audio.source", "audio.source.channels", "encryption" + "video.source", "audio.source", "audio.source.channels", "encryption", "extraOpts" }; for(const auto &i : opts){