23 QVariantList videoSourceList;
24#if defined(QGC_GST_STREAMING) || defined(QGC_QT_STREAMING)
25 videoSourceList.append(videoSourceRTSP);
26 videoSourceList.append(videoSourceUDPH264);
27 videoSourceList.append(videoSourceUDPH265);
28 videoSourceList.append(videoSourceTCP);
29 videoSourceList.append(videoSourceMPEGTS);
30 videoSourceList.append(videoSource3DRSolo);
31 videoSourceList.append(videoSourceParrotDiscovery);
32 videoSourceList.append(videoSourceYuneecMantisG);
34 #ifdef QGC_HERELINK_AIRUNIT_VIDEO
35 videoSourceList.append(videoSourceHerelinkAirUnit);
37 videoSourceList.append(videoSourceHerelinkHotspot);
40#ifndef QGC_DISABLE_UVC
42 for (
const QString& device : uvcDevices) {
43 videoSourceList.append(device);
46 if (videoSourceList.count() == 0) {
48 videoSourceList.append(videoSourceNoVideo);
49 setUserVisible(
false);
51 videoSourceList.insert(0, videoDisabled);
55 QStringList videoSourceCookedList;
56 for (
const QVariant& videoSource: videoSourceList) {
57 videoSourceCookedList.append( VideoSettings::tr(videoSource.toString().toStdString().c_str()) );
60 _nameToMetaDataMap[videoSourceName]->setEnumInfo(videoSourceCookedList, videoSourceList);
62 _setForceVideoDecodeList();
67 settings.beginGroup(settingsGroup);
68 const bool hasLegacy = settings.contains(QStringLiteral(
"gpuZeroCopyEnabled"));
69 const bool hasNew = settings.contains(forceCpuVideoPathName);
72 const bool gpuZeroCopy = settings.value(QStringLiteral(
"gpuZeroCopyEnabled")).toBool();
73 forceCpuVideoPath()->setRawValue(!gpuZeroCopy);
75 settings.remove(QStringLiteral(
"gpuZeroCopyEnabled"));
105 if (!_videoSourceFact) {
106 _videoSourceFact = _createSettingsFact(videoSourceName);
108 if(!_videoSourceFact->enumValues().contains(_videoSourceFact->rawValue().toString())) {
110 _videoSourceFact->setRawValue(videoSourceNoVideo);
112 _videoSourceFact->setRawValue(videoDisabled);
117 return _videoSourceFact;
230 qCDebug(VideoSettingsLog) <<
"Stream auto configured";
234 QString vSource = videoSource()->rawValue().toString();
240 qCDebug(VideoSettingsLog) <<
"Testing configuration for UDP Stream:" << udpUrl()->rawValue().toString();
241 return !udpUrl()->rawValue().toString().isEmpty();
245 qCDebug(VideoSettingsLog) <<
"Testing configuration for RTSP Stream:" << rtspUrl()->rawValue().toString();
246 return !rtspUrl()->rawValue().toString().isEmpty();
250 qCDebug(VideoSettingsLog) <<
"Testing configuration for TCP Stream:" << tcpUrl()->rawValue().toString();
251 return !tcpUrl()->rawValue().toString().isEmpty();
255 qCDebug(VideoSettingsLog) <<
"Testing configuration for MPEG-TS Stream:" << udpUrl()->rawValue().toString();
256 return !udpUrl()->rawValue().toString().isEmpty();
260 qCDebug(VideoSettingsLog) <<
"Stream configured for Herelink Air Unit";
265 qCDebug(VideoSettingsLog) <<
"Stream configured for Herelink Hotspot";
268#ifndef QGC_DISABLE_UVC
270 qCDebug(VideoSettingsLog) <<
"Stream configured for UVC";