Hallo
Ich habe gelegentlich (alle paar Wochen) beim Start der Box aus dem DeepStandby einen Dauer-GS, weil im AutoResolution keine config.av.videorate-Werte verfügbar sind.
Da kommt es dann in Zeile 284 (rate = config.av.videorate[mode].value) zu einem GS, weil config.av.videorate keinen Inhalt hat.
mode wird dabei mit "" an setMode übergeben.
Da half dann immer nur den Kippschalter an der Box zu nutzen.
def setMode(self, mode, set=True):
port_txt = "HDMI" if port == "DVI" else port
self.lastmode = mode
if mode.find("0p30") != -1 or mode.find("0p24") != -1 or mode.find("0p25") != -1:
match = re.search(r"(\d*?[ip])(\d*?)$", mode)
mode = match.group(1)
rate = match.group(2) + "Hz"
else:
rate = config.av.videorate[mode].value
resolutionlabel["restxt"].setText("Videomode: %s %s %s" % (port_txt, mode, rate))
if set:
print "[AutoRes] switching to %s %s %s" % (port_txt, mode, rate)
if config.plugins.autoresolution.showinfo.value:
resolutionlabel.show()
DisplayHardware.instance.setMode(port, mode, rate)
Alles anzeigen
Beim GS hat config.av.videorate folgenden Inhalt:
{}
Im Normalfall hat config.av.videorate sowas als Inhalt:
{'1080i': <Components.config.ConfigSelection object at 0x7f5fce7090>,
'1080p': <Components.config.ConfigSelection object at 0x7f5fcd8fd0>,
'2160p': <Components.config.ConfigSelection object at 0x7f5fcd8f50>,
'480i': <Components.config.ConfigSelection object at 0x7f5fce7310>,
'480p': <Components.config.ConfigSelection object at 0x7f5fce7290>,
'576i': <Components.config.ConfigSelection object at 0x7f5fce7210>,
'576p': <Components.config.ConfigSelection object at 0x7f5fce7190>,
'720p': <Components.config.ConfigSelection object at 0x7f5fce7110>}
Hab mir erstmal geholfen, indem ich die Zeile 284 mit einem try/except abfange und rate auf "" setze:
Nach dem except im Fehlerfall liegen dann intern folgende Werte vor:
mode: '', port: 'HDMI', rate: ''
Wenn alles normal läuft, sind es diese Werte:
mode: '1080p', port: 'HDMI', rate: 'multi'
Gibt es da eine Idee, warum config.av.videorate in den seltenen Fällen beim Boxstart nicht befüllt wird ??