insertInt("server-discovery", "prefer-ipv", 6);
+ insertBool("videoomx", "disable-hdmi-modechange", false);
+
// Not in config.json.sample - VDR login always sets this
insertInt("subtitles", "default", 0);
}
#include "boxstack.h"
#include "inputman.h"
#include "util.h"
+#include "config.h"
#include "videoomx.h"
}
}
// InputMan::getInstance()->shutdown(); FIXME FIXME FIXME - disabling this temp, why does this have to run?
- vc_tv_power_off();
- if (mymode) {
- LogNT::getInstance()->info(TAG, "Switch to optimum mode");
- vc_tv_hdmi_power_on_explicit(HDMI_MODE_HDMI,group,mymode->code);
- } else if (mymode_second_best) {
- LogNT::getInstance()->info(TAG, "Switch to close to optimum mode");
- vc_tv_hdmi_power_on_explicit(HDMI_MODE_HDMI,group,mymode_second_best->code);
- } else {
- LogNT::getInstance()->info(TAG, "Switch to prefered mode");
- vc_tv_hdmi_power_on_best(1920, 1080, target_fps, interlaced ? HDMI_INTERLACED : HDMI_NONINTERLACED,
- static_cast<EDID_MODE_MATCH_FLAG_T>(HDMI_MODE_MATCH_FRAMERATE|HDMI_MODE_MATCH_RESOLUTION|HDMI_MODE_MATCH_SCANMODE));
+
+
+ bool disableHDMIModeChange{false};
+ bool confSuccess = Config::getInstance()->getBool("videoomx", "disable-hdmi-modechange", disableHDMIModeChange);
+
+ if (!(confSuccess && disableHDMIModeChange))
+ {
+ vc_tv_power_off();
+ if (mymode) {
+ LogNT::getInstance()->info(TAG, "Switch to optimum mode");
+ vc_tv_hdmi_power_on_explicit(HDMI_MODE_HDMI,group,mymode->code);
+ } else if (mymode_second_best) {
+ LogNT::getInstance()->info(TAG, "Switch to close to optimum mode");
+ vc_tv_hdmi_power_on_explicit(HDMI_MODE_HDMI,group,mymode_second_best->code);
+ } else {
+ LogNT::getInstance()->info(TAG, "Switch to prefered mode");
+ vc_tv_hdmi_power_on_best(1920, 1080, target_fps, interlaced ? HDMI_INTERLACED : HDMI_NONINTERLACED,
+ static_cast<EDID_MODE_MATCH_FLAG_T>(HDMI_MODE_MATCH_FRAMERATE|HDMI_MODE_MATCH_RESOLUTION|HDMI_MODE_MATCH_SCANMODE));
+ }
}
+
hdmi=true;
outputinterlaced=interlaced;
} else {