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){