From be415f5cb4dd6eebfe2a1a3916429c8ff23a7d5c Mon Sep 17 00:00:00 2001 From: Martin Piatka Date: Mon, 13 Mar 2023 15:23:59 +0100 Subject: [PATCH] GUI: Fix specific display device selection --- gui/QT/option/available_settings.hpp | 20 ++++++++++---------- gui/QT/option/video_opts.cpp | 1 + 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/gui/QT/option/available_settings.hpp b/gui/QT/option/available_settings.hpp index ae42f7501..a20c83144 100644 --- a/gui/QT/option/available_settings.hpp +++ b/gui/QT/option/available_settings.hpp @@ -28,16 +28,6 @@ struct DeviceMode{ std::vector opts; }; -struct Device{ - std::string name; - std::string type; - std::string deviceOpt; - - std::map extra; - - std::vector modes; -}; - struct CapabOpt{ std::string displayName; //Name displayed to user std::string displayDesc; //Description displayed to user @@ -52,6 +42,16 @@ struct CapabOpt{ bool booleanOpt; //If true, GUI shows a checkbox instead of text edit }; +struct Device{ + std::string name; + std::string type; //UltraGrid module name (e.g. v4l2) + std::string deviceOpt; //Specific device (e.g. ":device=/dev/video0") + + std::map extra; + + std::vector modes; +}; + struct Encoder{ std::string name; std::string optStr; diff --git a/gui/QT/option/video_opts.cpp b/gui/QT/option/video_opts.cpp index a7d457fc2..58c983b55 100644 --- a/gui/QT/option/video_opts.cpp +++ b/gui/QT/option/video_opts.cpp @@ -92,6 +92,7 @@ std::vector getVideoDisplay(AvailableSettings *availSettings){ SettingItem item; item.name = i.name; item.opts.push_back({optStr, i.type}); + item.opts.push_back({optStr + "." + i.type + ".device", i.deviceOpt}); auto embedAudioIt = i.extra.find("embeddedAudioAvailable"); bool enableAudio = embedAudioIt != i.extra.end() && embedAudioIt->second == "t";