From 07dd671e0c5f913bde08e9181bc5cfb3565c44aa Mon Sep 17 00:00:00 2001 From: LordGrey Date: Mon, 3 May 2021 10:20:22 +0200 Subject: [PATCH] Database migration aligning with updated grabber model --- libsrc/hyperion/SettingsManager.cpp | 37 +++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/libsrc/hyperion/SettingsManager.cpp b/libsrc/hyperion/SettingsManager.cpp index dca21298..60f6203c 100644 --- a/libsrc/hyperion/SettingsManager.cpp +++ b/libsrc/hyperion/SettingsManager.cpp @@ -398,6 +398,43 @@ bool SettingsManager::handleConfigUpgrade(QJsonObject& config) } } } + + if (config.contains("grabberV4L2")) + { + QJsonObject newGrabberV4L2Config = config["grabberV4L2"].toObject(); + + if (newGrabberV4L2Config.contains("encoding_format")) + { + newGrabberV4L2Config.remove("encoding_format"); + config["grabberV4L2"] = newGrabberV4L2Config; + migrated = true; + Debug(_log, "GrabberV4L2 records migrated"); + } + } + + if (config.contains("framegrabber")) + { + QJsonObject newFramegrabberConfig = config["framegrabber"].toObject(); + + //Align element namings with grabberV4L2 + //Rename element type -> device + if (newFramegrabberConfig.contains("type")) + { + newFramegrabberConfig["device"] = newFramegrabberConfig["type"]; + newFramegrabberConfig.remove("type"); + migrated = true; + } + //Rename element frequency_Hz -> fps + if (newFramegrabberConfig.contains("frequency_Hz")) + { + newFramegrabberConfig["fps"] = newFramegrabberConfig["frequency_Hz"]; + newFramegrabberConfig.remove("frequency_Hz"); + migrated = true; + } + + config["framegrabber"] = newFramegrabberConfig; + Debug(_log, "Framegrabber records migrated"); + } } } return migrated;