From 928660f6a4564c18ec4da87bc04698a45bab4923 Mon Sep 17 00:00:00 2001 From: Dimitrij Date: Sat, 2 Sep 2023 20:17:39 +0300 Subject: [PATCH] [HdmiCec] sanity check decode/add some cmd (#3765) --- lib/python/Components/HdmiCec.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/python/Components/HdmiCec.py b/lib/python/Components/HdmiCec.py index 191db846af4..4737301190b 100644 --- a/lib/python/Components/HdmiCec.py +++ b/lib/python/Components/HdmiCec.py @@ -13,6 +13,7 @@ # CEC Version's table CEC = ["1.1", "1.2", "1.2a", "1.3", "1.3a", "1.4", "2.0?", "unknown"] + cmdList = { 0x00: "", 0x04: "", @@ -46,6 +47,10 @@ 0x9d: "", 0x9e: "", 0x9f: "", + 0xa0: "", + 0xa1: "", + 0xa2: "", + 0xff: "" } config.hdmicec = ConfigSubsection() @@ -218,7 +223,10 @@ def sendMessage(self, address, message): cmd = 0x8f if cmd: - data = data.decode() + try: + data = data.decode("UTF-8") + except: + data = data.decode("ISO-8859-1") if config.hdmicec.minimum_send_interval.value != "0": self.queue.append((address, cmd, data)) if not self.wait.isActive(): @@ -456,7 +464,10 @@ def keyEvent(self, keyCode, keyEvent): if keyCode == 115 or keyCode == 114 or keyCode == 113: cmd = 0x45 if cmd: - data = data.decode() + try: + data = data.decode("UTF-8") + except: + data = data.decode("ISO-8859-1") if config.hdmicec.minimum_send_interval.value != "0": self.queueKeyEvent.append((self.volumeForwardingDestination, cmd, data)) repeat = int(config.hdmicec.volume_forwarding_repeat.value)