Support Quad PiP.
[vuplus_openvuplus_3.0] / meta-openvuplus / recipes-vuplus / e2openplugins / files / openwebif_block_in_qpip.patch
diff --git a/meta-openvuplus/recipes-vuplus/e2openplugins/files/openwebif_block_in_qpip.patch b/meta-openvuplus/recipes-vuplus/e2openplugins/files/openwebif_block_in_qpip.patch
new file mode 100644 (file)
index 0000000..6794280
--- /dev/null
@@ -0,0 +1,37 @@
+diff --git a/plugin/controllers/models/control.py b/plugin/controllers/models/control.py
+old mode 100644
+new mode 100755
+index 1045d44..4a564bb
+--- a/plugin/controllers/models/control.py
++++ b/plugin/controllers/models/control.py
+@@ -13,6 +13,17 @@ from enigma import eServiceReference, eActionMap, eServiceCenter
+ from urllib import unquote
+ from services import getProtection
+ from Screens.InfoBar import InfoBar, MoviePlayer
++import os
++
++ENABLE_QPIP_PROCPATH = "/proc/stb/video/decodermode"
++def checkIsQPiP():
++      if os.access(ENABLE_QPIP_PROCPATH, os.F_OK):
++              fd = open(ENABLE_QPIP_PROCPATH,"r")
++              data = fd.read()
++              fd.close()
++
++              return data.strip() == "mosaic"
++      return False
+ def zapInServiceList(service):
+       InfoBar_Instance = InfoBar.instance
+@@ -60,6 +71,12 @@ def zapInServiceList(service):
+       servicelist.zap()
+ def zapService(session, id, title = ""):
++      if checkIsQPiP():
++              return {
++                      "result": False,
++                      "message": "Can not zap service in quad PiP mode."
++              }
++
+       # Must NOT unquote id here, breaks zap to streams
+       service = eServiceReference(id)