Support transcoding in server idle mode with SOLO4K.
authorhschang <chang@dev3>
Wed, 25 Nov 2015 01:27:39 +0000 (10:27 +0900)
committerhschang <chang@dev3>
Wed, 25 Nov 2015 09:11:10 +0000 (18:11 +0900)
- update proxy driver
- If you use transcoding function with SOLO4K, it is needed to be set the zap before streaming option "disable" in Vuplus app. or webinterface.

meta-bsp/conf/machine/vusolo4k.conf
meta-bsp/recipes-graphics/libgles/libgles-vusolo4k.bb
meta-bsp/recipes-vuplus/vuplus-dvb-proxy/vuplus-dvb-proxy-vusolo4k.bb
meta-bsp/recipes-vuplus/vuplus-platform-util/vuplus-platform-util-vusolo4k.bb
meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-extensions-openwebif.bb
meta-openvuplus/recipes-vuplus/e2openplugins/files/openwebif_solo4k.patch [new file with mode: 0644]
meta-openvuplus/recipes-vuplus/enigma2/enigma2-transtreamproxy.bb
meta-openvuplus/recipes-vuplus/enigma2/enigma2-transtreamproxy/ext-pid-patch.diff [new file with mode: 0644]
meta-openvuplus/recipes-vuplus/enigma2/enigma2.bb
meta-openvuplus/recipes-vuplus/packagegroups/packagegroup-vuplus-enigma2.bb

index fa56e97..35eed41 100644 (file)
@@ -14,7 +14,7 @@ VUPLUS_FEATURES += "streamtv"
 VUPLUS_FEATURES += "dlna"
 VUPLUS_FEATURES += "3gmodem"
 VUPLUS_FEATURES += "autoshutdown"
-#VUPLUS_FEATURES += "transcoding"
+VUPLUS_FEATURES += "transcoding"
 VUPLUS_FEATURES += "audioeffect"
 VUPLUS_FEATURES += "dvbproxy"
 VUPLUS_FEATURES += "uianimation"
index 770b134..d7a22cc 100644 (file)
@@ -2,29 +2,9 @@ require libgles.inc
 
 COMPATIBLE_MACHINE = "^(vusolo4k)$"
 
-SRCDATE = "20151104"
+SRCDATE = "20151125"
 SRCDATE_PR = "r0"
 PV="15.2"
 
-do_install() {
-        install -d ${D}${libdir}
-        install -m 0755 ${S}/lib/*.so ${D}${libdir}
-        install -m 0755 ${S}/lib/libliveMedia.so.1.2.1 ${D}${libdir}
-        install -m 0755 ${S}/lib/libgroupsock.so.0.0.0 ${D}${libdir}
-        install -m 0755 ${S}/lib/libUsageEnvironment.so.0.0.0 ${D}${libdir}
-        install -m 0755 ${S}/lib/libBasicUsageEnvironment.so.0.0.1 ${D}${libdir}
-        ln -s libv3ddriver.so ${D}${libdir}/libEGL.so
-        ln -s libv3ddriver.so ${D}${libdir}/libGLESv2.so
-
-        ln -s libliveMedia.so.1.2.1 ${D}${libdir}/libliveMedia.so.1
-        ln -s libgroupsock.so.0.0.0 ${D}${libdir}/libgroupsock.so.0
-        ln -s libUsageEnvironment.so.0.0.0 ${D}${libdir}/libUsageEnvironment.so.0
-        ln -s libBasicUsageEnvironment.so.0.0.1 ${D}${libdir}/libBasicUsageEnvironment.so.0
-
-        install -d ${D}${includedir}
-        cp -a ${S}/include/* ${D}${includedir}/
-}
-
-
-SRC_URI[md5sum] = "7e2d98d0ac0df3c67da843e3d5b05510"
-SRC_URI[sha256sum] = "36379a1d6ebeda04a20c6c868c2a93fe8d4e3e30e6bf4fc6b800031bb2718dc2"
+SRC_URI[md5sum] = "3b628505e225d9bfa25a892282558a8d"
+SRC_URI[sha256sum] = "75771fd5c148088fc8a28bee144e86b26da550d21fb8ed914a67accadb57c294"
index 6d526c4..f47fc6a 100644 (file)
@@ -2,7 +2,7 @@ require vuplus-dvb-proxy.inc
 
 COMPATIBLE_MACHINE = "^(vusolo4k)$"
 
-SRCDATE = "20151113"
+SRCDATE = "20151125"
 SRCDATE_PR = "r0"
 
 pkg_postinst_${PN}_append () {
@@ -11,5 +11,5 @@ pkg_postinst_${PN}_append () {
        fi
 }
 
-SRC_URI[md5sum] = "d019b2e8593a85513297b2d23dfeb470"
-SRC_URI[sha256sum] = "4bc26858111594d2f465c551a4c2df0f1858c92d9ecfd2635341779a7c87ce3a"
+SRC_URI[md5sum] = "27fd96839358499901081de55ec326e5"
+SRC_URI[sha256sum] = "4d6aa7b52112a67d8af033e9396fd80a156dfd3188f65065ee9e95594e733757"
index 497ac77..0d2e209 100644 (file)
@@ -3,9 +3,9 @@ require vuplus-platform-util.inc
 COMPATIBLE_MACHINE = "^(vusolo4k)$"
 
 PV="15.2"
-SRCDATE = "20151104"
+SRCDATE = "20151125"
 SRCDATE_PR = "r0"
 
 
-SRC_URI[md5sum] = "c95c861ac49de40cf75e6683832d0049"
-SRC_URI[sha256sum] = "295a039f52027eb63703e816ba810c2f2273afbb9b94ac4caadee50e20bfa23e"
+SRC_URI[md5sum] = "0cbd9d2dba0caf05ed54333d486e30ec"
+SRC_URI[sha256sum] = "f1728726591f1db440b699a189ab4e7db6b123596328028606f3646de255aa0f"
index b857a64..7ab61a1 100644 (file)
@@ -12,9 +12,12 @@ SRCREV_pn-${PN}="d84307958746e6a597b43defe5bd1cb78fd745c8"
 inherit gitpkgv
 PV = "1+git${SRCPV}"
 PKGV = "1+git${GITPKGV}"
+PR = "r1"
 
 require openplugins-distutils.inc
 
+SRC_URI += " file://openwebif_solo4k.patch;striplevel=1 "
+
 # Just a quick hack to "compile" it
 do_compile() {
        cheetah-compile -R --nobackup ${S}/plugin
diff --git a/meta-openvuplus/recipes-vuplus/e2openplugins/files/openwebif_solo4k.patch b/meta-openvuplus/recipes-vuplus/e2openplugins/files/openwebif_solo4k.patch
new file mode 100644 (file)
index 0000000..e610453
--- /dev/null
@@ -0,0 +1,26 @@
+diff --git a/plugin/controllers/models/info.py b/plugin/controllers/models/info.py
+index 446a97c..8e0e0f6 100644
+--- a/plugin/controllers/models/info.py
++++ b/plugin/controllers/models/info.py
+@@ -317,7 +317,7 @@ def getInfo():
+               })
+       info['transcoding'] = False
+-      if (info['model'] in ("Solo²", "Duo²", "Solo SE", "Quad", "Quad Plus") or info['machinebuild'] in ('inihdp', 'hd2400', 'et10000', 'xpeedlx3', 'ew7356', 'dags3', 'dags4')):
++      if (info['model'] in ("Solo4K", "Solo²", "Duo²", "Solo SE", "Quad", "Quad Plus") or info['machinebuild'] in ('inihdp', 'hd2400', 'et10000', 'xpeedlx3', 'ew7356', 'dags3', 'dags4')):
+               if os.path.exists(eEnv.resolve('${libdir}/enigma2/python/Plugins/SystemPlugins/TransCodingSetup/plugin.pyo')) or os.path.exists(eEnv.resolve('${libdir}/enigma2/python/Plugins/SystemPlugins/TranscodingSetup/plugin.pyo')) or os.path.exists(eEnv.resolve('${libdir}/enigma2/python/Plugins/SystemPlugins/MultiTransCodingSetup/plugin.pyo')):
+                       info['transcoding'] = True
+diff --git a/plugin/controllers/models/stream.py b/plugin/controllers/models/stream.py
+index cb33277..d75ca6f 100644
+--- a/plugin/controllers/models/stream.py
++++ b/plugin/controllers/models/stream.py
+@@ -52,7 +52,7 @@ def getStream(session, request, m3ufile):
+       machinebuild = info["machinebuild"]
+       transcoder_port = None
+       args = ""
+-      if model in ("Solo²", "Duo²", "Solo SE", "Quad", "Quad Plus") or machinebuild in ('dags3', 'dags4'):
++      if model in ("Solo4K", "Solo²", "Duo²", "Solo SE", "Quad", "Quad Plus") or machinebuild in ('dags3', 'dags4'):
+               try:
+                       transcoder_port = int(config.plugins.transcodingsetup.port.value)
+               except StandardError:
index 393b936..2728e20 100644 (file)
@@ -5,20 +5,27 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 
 inherit gitpkgv
 
-PR = "r9"
+PR = "r10"
 
 PV = "0.1+git${SRCPV}"
 PKGV = "0.1+git${GITPKGV}"
 SRCREV_pn-${PN} ?= "${AUTOREV}"
 
 DEPENDS += "boost"
-SRC_URI = "git://code.vuplus.com/git/filestreamproxy.git;protocol=git;branch=transtreamproxy"
-
+SRC_URI = "\
+       git://code.vuplus.com/git/filestreamproxy.git;protocol=git;branch=transtreamproxy \
+       file://ext-pid-patch.diff;striplevel=1 \
+       "
 inherit autotools-brokensep
 
+EXTRA_OECONF_vusolo4k += " --enable-ext-pid "
+
 S = "${WORKDIR}/git"
 
 do_install() {
        install -d ${D}/usr/bin
        install -m 0755 ${S}/src/transtreamproxy ${D}/usr/bin/transtreamproxy
 }
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
diff --git a/meta-openvuplus/recipes-vuplus/enigma2/enigma2-transtreamproxy/ext-pid-patch.diff b/meta-openvuplus/recipes-vuplus/enigma2/enigma2-transtreamproxy/ext-pid-patch.diff
new file mode 100644 (file)
index 0000000..5480ab6
--- /dev/null
@@ -0,0 +1,55 @@
+diff --git a/configure.ac b/configure.ac
+index dfe149a..4a9f975 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -32,6 +32,18 @@ AC_SUBST(PLATFORM)
+ AC_SUBST(INCPATH)
+ # Checks for typedefs, structures, and compiler characteristics.
++AC_SUBST(USE_EXT_PID)
++
++AC_ARG_ENABLE([ext-pid],
++  [AS_HELP_STRING([--enable-ext-pid],
++  [enable extend pid (default is no)])],
++  [use_ext_pid=$enableval],
++  [use_ext_pid=no])
++
++if test "$use_ext_pid" = "yes"; then
++      AC_DEFINE([HAVE_EXT_PID], [1], [Define to 1 if support extend pid.])
++      USE_EXT_PID=1
++fi
+ # Checks for library functions.
+diff --git a/src/Encoder.h b/src/Encoder.h
+index 5831482..1075b90 100644
+--- a/src/Encoder.h
++++ b/src/Encoder.h
+@@ -8,6 +8,8 @@
+ #ifndef ENCODER_H_
+ #define ENCODER_H_
++#include "config.h"
++
+ #include <string>
+ #include "3rdparty/trap.h"
+@@ -30,9 +32,16 @@ private:
+ public:
+       enum {
+-              IOCTL_SET_VPID   = 1,
+-              IOCTL_SET_APID   = 2,
++#ifdef HAVE_EXT_PID
++              IOCTL_SET_VPID   = 11,
++              IOCTL_SET_APID   = 12,
++              IOCTL_SET_PMTPID = 13,
++#else
++              IOCTL_SET_VPID   = 1,
++              IOCTL_SET_APID   = 2,
+               IOCTL_SET_PMTPID = 3,
++#endif
++
+               IOCTL_START_TRANSCODING = 100,
+               IOCTL_STOP_TRANSCODING  = 200
+       };
index fbee55a..114ad03 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 = "r125"
+PR = "r126"
 
 inherit gitpkgv pythonnative
 
index f77785f..58c6c56 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 = "r8"
+PR = "r9"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"