9 const char *
const whiteList[] = {
12 const std::string optStr =
"video.source";
14 std::vector<SettingItem> res;
17 defaultItem.
name =
"None";
18 defaultItem.
opts.push_back({optStr,
""});
19 defaultItem.
opts.push_back({
"video.source.embeddedAudioAvailable",
"f"});
20 res.push_back(std::move(defaultItem));
22 for(
const auto &i : availSettings->
getDevices(VIDEO_SRC)){
25 item.opts.push_back({optStr, i.type});
26 item.opts.push_back({optStr +
"." + i.type +
".device", i.deviceOpt});
27 auto embedAudioIt = i.extra.find(
"embeddedAudioAvailable");
28 bool enableAudio = embedAudioIt != i.extra.end()
29 && embedAudioIt->second ==
"t";
30 item.opts.push_back({
"video.source.embeddedAudioAvailable",
31 enableAudio ?
"t" :
"f"});
32 res.push_back(std::move(
item));
38 item.opts.push_back({optStr, i});
39 bool whiteListed =
false;
40 for(
const auto &white : whiteList){
41 if(std::strcmp(white, i.c_str()) == 0){
46 item.conditions.push_back({{{
"advanced",
"t"},
false}});
48 res.push_back(std::move(
item));
55 std::vector<SettingItem> res;
57 for(
const auto &cap : availSettings->
getDevices(VIDEO_SRC)){
58 for(
const auto &
mode : cap.modes){
61 item.conditions.push_back({{{
"video.source", cap.type},
false}});
62 item.conditions.push_back({
63 {{
"video.source." + cap.type +
".device", cap.deviceOpt},
false}});
64 for(
const auto &opt :
mode.opts){
66 {
"video.source." + cap.type +
"." + opt.opt, opt.val});
68 res.push_back(std::move(
item));
76 const char *
const whiteList[] = {
81 const std::string optStr =
"video.display";
83 std::vector<SettingItem> res;
86 defaultItem.
name =
"None";
87 defaultItem.
opts.push_back({optStr,
""});
88 defaultItem.
opts.push_back({
"video.display.embeddedAudioAvailable",
"f"});
89 res.push_back(std::move(defaultItem));
91 for(
const auto &i : availSettings->
getDevices(VIDEO_DISPLAY)){
94 item.opts.push_back({optStr, i.type});
95 item.opts.push_back({optStr +
"." + i.type +
".device", i.deviceOpt});
96 auto embedAudioIt = i.extra.find(
"embeddedAudioAvailable");
97 bool enableAudio = embedAudioIt != i.extra.end()
98 && embedAudioIt->second ==
"t";
99 item.opts.push_back({
"video.display.embeddedAudioAvailable",
100 enableAudio ?
"t" :
"f"});
101 res.push_back(std::move(
item));
107 item.opts.push_back({optStr, i});
108 bool whiteListed =
false;
109 for(
const auto &white : whiteList){
110 if(std::strcmp(white, i.c_str()) == 0){
115 item.conditions.push_back({{{
"advanced",
"t"},
false}});
117 res.push_back(std::move(
item));
124 std::vector<SettingItem> res;
131 res.emplace_back(std::move(
item));
138 std::vector<SettingItem> res;
140 const std::string optStr =
"video.compress";
145 item.opts.push_back({
"video.compress",
codec.module_name});
148 res.push_back(std::move(
item));
163 bool enableEdit =
false;
165 QString qualityLabel;
169 if(compMod.name == mod){
170 for(
const auto& modOpt : compMod.opts){
171 if(modOpt.key ==
"quality"){
173 toolTip = QString::fromStdString(modOpt.displayDesc);
174 qualityLabel = QString::fromStdString(modOpt.displayName);
175 placeholder = QString::fromStdString(modOpt.placeholder);
187 data->
label->setEnabled(enableEdit);
188 data->
label->setToolTip(toolTip);
189 if(!qualityLabel.isEmpty())
190 data->
label->setText(qualityLabel);
const std::vector< CompressModule > & getVideoCompressModules() const
const std::vector< Codec > & getVideoCompressCodecs() const
const std::vector< Device > & getDevices(SettingType type) const
const std::vector< std::string > & getAvailableSettings(SettingType type) const
void setToolTip(const QString &toolTip)
void setEnabled(bool enabled)
void setPlaceholder(const QString &placeholder)
std::string getValue() const
const Option & getOption(const std::string &opt) const
std::vector< SettingValue > opts
const AvailableSettings * availSettings
std::vector< encoder > encoders
std::vector< SettingItem > getVideoDisplay(AvailableSettings *availSettings)
std::vector< SettingItem > getCodecEncoders(const Codec &codec)
std::vector< SettingItem > getVideoSrc(AvailableSettings *availSettings)
std::vector< SettingItem > getVideoModes(AvailableSettings *availSettings)
void videoCompressBitrateCallback(Option &opt, bool suboption, void *opaque)
std::vector< SettingItem > getVideoCompress(AvailableSettings *availSettings)