Support scrambled playback
authorhschang <chang@dev3>
Wed, 14 Jun 2017 09:38:23 +0000 (18:38 +0900)
committerhschang <chang@dev3>
Wed, 14 Jun 2017 09:38:23 +0000 (18:38 +0900)
meta-bsp/conf/machine/vusolo4k.conf
meta-bsp/conf/machine/vuultimo4k.conf
meta-bsp/recipes-vuplus/enigma2/enigma2.bbappend
meta-bsp/recipes-vuplus/enigma2/enigma2/enigma2_dvb_ci_fbc.patch [deleted file]
meta-bsp/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_remove_pvr_action.patch
meta-openvuplus/recipes-vuplus/enigma2/enigma2.bb
meta-openvuplus/recipes-vuplus/packagegroups/packagegroup-vuplus-enigma2.bb

index 462f43e..3fda704 100644 (file)
@@ -22,6 +22,7 @@ VUPLUS_FEATURES += "kodi"
 VUPLUS_FEATURES += "minitv"
 VUPLUS_FEATURES += "chromiumos"
 VUPLUS_FEATURES += "fcc"
+VUPLUS_FEATURES += "scrambledplayback"
 
 IMAGE_UNPACK_PATH = "vuplus/solo4k"
 MKFS_UBI_MAX_ERASE_BLK_COUNT = "4096"
index 153512c..f9a53fd 100644 (file)
@@ -24,6 +24,7 @@ VUPLUS_FEATURES += "chromiumos"
 VUPLUS_FEATURES += "fcc"
 VUPLUS_FEATURES += "wowl"
 VUPLUS_FEATURES += "bluetooth"
+VUPLUS_FEATURES += "scrambledplayback"
 
 IMAGE_UNPACK_PATH = "vuplus/ultimo4k"
 MKFS_UBI_MAX_ERASE_BLK_COUNT = "4096"
index 75b19dc..1e89f62 100644 (file)
@@ -28,21 +28,18 @@ SRC_URI_append_vuzero = " \
 SRC_URI_append_vusolo4k = " \
        file://skin_user_vusolo4k.xml \
        file://lcd_icons_vusolo4k \
-       file://enigma2_dvb_ci_fbc.patch \
        file://vu_hd_1080p_default.patch \
 "
 
 SRC_URI_append_vuultimo4k = " \
        file://skin_user_vuultimo4k.xml \
        file://lcd_icons_vuultimo4k \
-       file://enigma2_dvb_ci_fbc.patch \
        file://vu_hd_1080p_default.patch \
        file://enigma2_network_sys0.patch \
 "
 
 SRC_URI_append_vuuno4k = " \
        file://enigma2_vuplus_remove_pvr_action.patch \
-       file://enigma2_dvb_ci_fbc.patch \
        file://vu_hd_1080p_default.patch \
 "
 
diff --git a/meta-bsp/recipes-vuplus/enigma2/enigma2/enigma2_dvb_ci_fbc.patch b/meta-bsp/recipes-vuplus/enigma2/enigma2/enigma2_dvb_ci_fbc.patch
deleted file mode 100644 (file)
index c152482..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-diff --git a/lib/dvb_ci/dvbci.cpp b/lib/dvb_ci/dvbci.cpp
-index 374672a..1b50e67 100644
---- a/lib/dvb_ci/dvbci.cpp
-+++ b/lib/dvb_ci/dvbci.cpp
-@@ -495,10 +495,9 @@ void eDVBCIInterfaces::recheckPMTHandlers()
-                                               data_source tuner_source = TUNER_A;
-                                               switch (tunernum)
-                                               {
--                                                      case 0: tuner_source = TUNER_A; break;
--                                                      case 1: tuner_source = TUNER_B; break;
--                                                      case 2: tuner_source = TUNER_C; break;
--                                                      case 3: tuner_source = TUNER_D; break;
-+                                                      case 0 ... 18:
-+                                                              tuner_source = (data_source)tunernum;
-+                                                              break;
-                                                       default:
-                                                               eDebug("try to get source for tuner %d!!\n", tunernum);
-                                                               break;
-@@ -646,6 +645,8 @@ int eDVBCIInterfaces::getMMIState(int slotid)
-       return slot->getMMIState();
- }
-+static const char *tuner_source[] = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "CI0", "CI1", "CI2", "CI3"};
-+
- int eDVBCIInterfaces::setInputSource(int tuner_no, data_source source)
- {
- //    eDebug("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
-@@ -666,29 +667,8 @@ int eDVBCIInterfaces::setInputSource(int tuner_no, data_source source)
-               switch(source)
-               {
--                      case CI_A:
--                              fprintf(input, "CI0");
--                              break;
--                      case CI_B:
--                              fprintf(input, "CI1");
--                              break;
--                      case CI_C:
--                              fprintf(input, "CI2");
--                      break;
--                      case CI_D:
--                              fprintf(input, "CI3");
--                              break;
--                      case TUNER_A:
--                              fprintf(input, "A");
--                              break;
--                      case TUNER_B:
--                              fprintf(input, "B");
--                              break;
--                      case TUNER_C:
--                              fprintf(input, "C");
--                              break;
--                      case TUNER_D:
--                              fprintf(input, "D");
-+                      case TUNER_A ... CI_D:
-+                              fprintf(input, tuner_source[(int)source]);
-                               break;
-                       default:
-                               eDebug("setInputSource for input %d failed!!!\n", (int)source);
-@@ -1281,29 +1261,8 @@ int eDVBCISlot::setSource(data_source source)
-               FILE *ci = fopen(buf, "wb");
-               switch(source)
-               {
--                      case CI_A:
--                              fprintf(ci, "CI0");
--                              break;
--                      case CI_B:
--                              fprintf(ci, "CI1");
--                              break;
--                      case CI_C:
--                              fprintf(ci, "CI2");
--                              break;
--                      case CI_D:
--                              fprintf(ci, "CI3");
--                              break;
--                      case TUNER_A:
--                              fprintf(ci, "A");
--                              break;
--                      case TUNER_B:
--                              fprintf(ci, "B");
--                              break;
--                      case TUNER_C:
--                              fprintf(ci, "C");
--                              break;
--                              case TUNER_D:
--                              fprintf(ci, "D");
-+                      case TUNER_A ... CI_D:
-+                              fprintf(ci, tuner_source[(int)source]);
-                               break;
-                       default:
-                               eDebug("CI Slot %d: setSource %d failed!!!\n", getSlotID(), (int)source);
-diff --git a/lib/dvb_ci/dvbci.h b/lib/dvb_ci/dvbci.h
-index de84e18..c90ec10 100644
---- a/lib/dvb_ci/dvbci.h
-+++ b/lib/dvb_ci/dvbci.h
-@@ -35,7 +35,7 @@ struct queueData
- enum data_source
- {
--      TUNER_A, TUNER_B, TUNER_C, TUNER_D, CI_A, CI_B, CI_C, CI_D
-+      TUNER_A=0, TUNER_B, TUNER_C, TUNER_D, TUNER_E, TUNER_F, TUNER_G, TUNER_H, TUNER_I, TUNER_J, TUNER_K, TUNER_L, TUNER_M, TUNER_N, TUNER_O, TUNER_P, TUNER_Q, TUNER_R, CI_A, CI_B, CI_C, CI_D
- };
- typedef std::pair<std::string, uint32_t> providerPair;
index 460098a..47f9fa7 100644 (file)
@@ -1,5 +1,5 @@
 diff --git a/RecordTimer.py b/RecordTimer.py
-index d3ccd75..838b18a 100755
+index 58ef5b3..d3c0bbf 100755
 --- a/RecordTimer.py
 +++ b/RecordTimer.py
 @@ -4,6 +4,7 @@ from enigma import eEPGCache, getBestPlayableServiceReference, \
@@ -22,7 +22,7 @@ index d3ccd75..838b18a 100755
                self.afterEvent = afterEvent
                self.dirname = dirname
                self.dirnameHadToFallback = False
-@@ -404,7 +408,10 @@ def createTimer(xml):
+@@ -417,7 +421,10 @@ def createTimer(xml):
        description = xml.get("description").encode("utf-8")
        repeated = xml.get("repeated").encode("utf-8")
        disabled = long(xml.get("disabled") or "0")
@@ -34,7 +34,7 @@ index d3ccd75..838b18a 100755
        afterevent = str(xml.get("afterevent") or "nothing")
        afterevent = {
                "nothing": AFTEREVENT.NONE,
-@@ -590,7 +597,10 @@ class RecordTimer(timer.Timer):
+@@ -603,7 +610,10 @@ class RecordTimer(timer.Timer):
                        if timer.tags is not None:
                                list.append(' tags="' + str(stringToXML(' '.join(timer.tags))) + '"')
                        list.append(' disabled="' + str(int(timer.disabled)) + '"')
@@ -47,7 +47,7 @@ index d3ccd75..838b18a 100755
                        
                        if config.recording.debug.value:
 diff --git a/data/menu.xml b/data/menu.xml
-index 5c8cbb2..ed0b415 100755
+index a71c036..0340a8c 100755
 --- a/data/menu.xml
 +++ b/data/menu.xml
 @@ -71,7 +71,7 @@
@@ -60,7 +60,7 @@ index 5c8cbb2..ed0b415 100755
                        <item weight="10" level="1" text="Common Interface" entryID="ci_setup" requires="CommonInterface"><screen module="Ci" screen="CiSelection" /></item>
                        <item weight="15" level="0" text="Parental control" entryID="parental_setup"><screen module="ParentalControlSetup" screen="ParentalControlSetup" /></item>
 diff --git a/data/setup.xml b/data/setup.xml
-index 5ce6b62..9892f34 100755
+index 8e42c57..99b0a92 100755
 --- a/data/setup.xml
 +++ b/data/setup.xml
 @@ -22,11 +22,11 @@
@@ -81,27 +81,17 @@ index 5ce6b62..9892f34 100755
                        <item level="1" text="Show positioner movement">config.usage.showdish</item>
                        <item level="1" text="Enable multiple bouquets">config.usage.multibouquet</item>
 diff --git a/lib/python/Components/SystemInfo.py b/lib/python/Components/SystemInfo.py
-old mode 100644
-new mode 100755
-index 67f2e75..9ecd94d
+index 6fcab1d..85f7f64 100755
 --- a/lib/python/Components/SystemInfo.py
 +++ b/lib/python/Components/SystemInfo.py
-@@ -1,6 +1,6 @@
- from enigma import eDVBResourceManager
- from Tools.Directories import fileExists
--from Tools.HardwareInfo import HardwareInfo
-+from Tools.HardwareInfo import HardwareInfo, HardwareInfo
- SystemInfo = { }
-@@ -31,4 +31,5 @@ SystemInfo["FrontpanelDisplayGrayscale"] = fileExists("/dev/dbox/oled0")
- SystemInfo["DeepstandbySupport"] = HardwareInfo().get_device_name() != "dm800"
+@@ -32,4 +32,4 @@ SystemInfo["DeepstandbySupport"] = HardwareInfo().get_device_name() != "dm800"
  SystemInfo["HdmiInSupport"] = HardwareInfo().get_vu_device_name() == "ultimo4k"
  SystemInfo["WOWLSupport"] = HardwareInfo().get_vu_device_name() == "ultimo4k"
+ SystemInfo["ScrambledPlayback"] = HardwareInfo().get_vu_device_name() in ("solo4k", "ultimo4k")
+-
 +SystemInfo["PVRSupport"] = HardwareInfo().get_vu_device_name() not in ["solose", "zero", "uno4k"]
 diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py
-index b5bd06d..bc2b8a9 100755
+index cebebf5..89e146e 100755
 --- a/lib/python/Screens/InfoBarGenerics.py
 +++ b/lib/python/Screens/InfoBarGenerics.py
 @@ -235,7 +235,7 @@ class InfoBarNumberZap:
@@ -113,7 +103,7 @@ index b5bd06d..bc2b8a9 100755
                                self.session.openWithCallback(self.numberEntered, NumberZap, number)
  
        def numberEntered(self, retval):
-@@ -1185,11 +1185,12 @@ class InfoBarShowMovies:
+@@ -1201,11 +1201,12 @@ class InfoBarShowMovies:
  
  class InfoBarTimeshift:
        def __init__(self):
@@ -131,7 +121,7 @@ index b5bd06d..bc2b8a9 100755
                self["TimeshiftActivateActions"] = ActionMap(["InfobarTimeshiftActivateActions"],
                        {
                                "timeshiftActivateEnd": self.activateTimeshiftEnd, # something like "rewind key"
-@@ -1509,10 +1510,11 @@ class InfoBarInstantRecord:
+@@ -1529,10 +1530,11 @@ class InfoBarInstantRecord:
        """Instant Record - handles the instantRecord action in order to
        start/stop instant records"""
        def __init__(self):
@@ -148,7 +138,7 @@ index b5bd06d..bc2b8a9 100755
  
        def stopCurrentRecording(self, entry = -1):
 diff --git a/lib/python/Screens/TimerEntry.py b/lib/python/Screens/TimerEntry.py
-index 9885e70..1d40547 100644
+index c3e71c7..5ee9e41 100644
 --- a/lib/python/Screens/TimerEntry.py
 +++ b/lib/python/Screens/TimerEntry.py
 @@ -94,7 +94,12 @@ class TimerEntry(Screen, ConfigListScreen):
@@ -163,5 +153,5 @@ index 9885e70..1d40547 100644
 +                              default = {0: "record", 1: "zap"}[justplay]
 +                      self.timerentry_justplay = ConfigSelection(choices = timer_choices, default = default)
                        if SystemInfo["DeepstandbySupport"]:
-                               shutdownString = _("go to deep standby")
+                               shutdownString = _("go to standby")
                        else:
index 6236526..766486c 100644 (file)
@@ -231,7 +231,7 @@ DEPENDS += "${@base_contains("VUPLUS_FEATURES", "uianimation", "libgles libvugle
 RDEPENDS_${PN}_append_vuplus += "${@base_contains("VUPLUS_FEATURES", "uianimation", "libvugles2" , "", d)}"
 
 PN = "enigma2"
-PR = "r153"
+PR = "r154"
 
 inherit gitpkgv pythonnative
 
index 3d3d6ca..bef68d3 100644 (file)
@@ -2,7 +2,7 @@ SUMMARY = "Enigma2 set of packages for Vuplus"
 SECTION = "vuplus/base"
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
-PR = "r18"
+PR = "r19"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
@@ -80,6 +80,7 @@ RDEPENDS_${PN} += " \
   ${@base_contains("VUPLUS_FEATURES", "bluetooth", "enigma2-plugin-systemplugins-bluetoothsetup", "", d)} \
   ${@base_contains("VUPLUS_FEATURES", "bluetooth", "enigma2-plugin-extensions-witaispeechtotext", "", d)} \
   ${@base_conditional("MACHINE", "vuultimo4k", "enigma2-plugin-systemplugins-ultimo4kmisccontrol", "", d)} \
+  ${@base_contains("VUPLUS_FEATURES", "scrambledplayback", "enigma2-plugin-systemplugins-pvrdescrambleconvert", "", d)} \
 "
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"