update dvbapp.
authorhschang <chang@dev3>
Thu, 15 Oct 2015 07:20:21 +0000 (16:20 +0900)
committerhschang <chang@dev3>
Thu, 15 Oct 2015 07:21:13 +0000 (16:21 +0900)
- use gst-plugin-sunsink. (openpli)
- remove patch files. (according to update servicemp3)
- add vuplus-3gcommand/vuplus-dlnaserver.

meta-openvuplus/recipes-multimedia/gstreamer/gst-plugin-subsink.bb [new file with mode: 0644]
meta-openvuplus/recipes-vuplus/enigma2/enigma2.bb
meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_1080p.patch [deleted file]
meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_addlibpythondeps.patch [deleted file]
meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_mediaplayer.patch
meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_mediaplayer_subtitle.patch [deleted file]
meta-openvuplus/recipes-vuplus/vuplus-3gcommand/vuplus-3gcommand.bb [new file with mode: 0644]
meta-openvuplus/recipes-vuplus/vuplus-dlnaserver/vuplus-dlnaserver.bb [new file with mode: 0644]

diff --git a/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugin-subsink.bb b/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugin-subsink.bb
new file mode 100644 (file)
index 0000000..be3f579
--- /dev/null
@@ -0,0 +1,27 @@
+DESCRIPTION = "gstreamer subsink plugin"
+SECTION = "multimedia"
+PRIORITY = "optional"
+DEPENDS = "gstreamer gst-plugins-base"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
+
+inherit gitpkgv
+
+PV = "0.10.0+git${SRCPV}"
+PKGV = "0.10.0+git${GITPKGV}"
+PR = "r2"
+
+SRCREV = "0cb20d602414f25edd8d139627b8e0b2b58aae33"
+SRC_URI = "git://git.code.sf.net/p/openpli/gstsubsink"
+
+S = "${WORKDIR}/git"
+
+do_configure_prepend() {
+       sed -i 's/AC_INIT.*$/AC_INIT(gst-plugin-subsink, 0.10.0, @pli4)/' ${S}/configure.ac
+}
+inherit autotools pkgconfig
+
+FILES_${PN} = "${libdir}/gstreamer-0.10/*.so*"
+FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la"
+FILES_${PN}-staticdev += "${libdir}/gstreamer-0.10/*.a"
+FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug"
index bc91978..352b3bb 100644 (file)
@@ -7,7 +7,7 @@ DEPENDS = "jpeg libungif libmad libpng libsigc++-1.2 gettext-native \
        libfribidi libxmlccwrap libdreamdvd gstreamer gst-plugin-dvbmediasink \
        gst-plugins-bad gst-plugins-good gst-plugins-ugly python-wifi \
        hostap-daemon bridge-utils ntfs-3g dosfstools util-linux \
-       satipclient \
+       satipclient vuplus-3gcommand vuplus-dlnaserver\
 "
 
 RDEPENDS_GST= "gst-plugins-base-decodebin gst-plugins-base-decodebin2 gst-plugins-base-app gst-plugins-bad-fragmented \
@@ -18,6 +18,7 @@ RDEPENDS_GST= "gst-plugins-base-decodebin gst-plugins-base-decodebin2 gst-plugin
                gst-plugins-good-souphttpsrc gst-plugins-ugly-mpegaudioparse gst-plugins-base-subparse \
                gst-plugins-good-apetag gst-plugins-good-icydemux gst-plugins-good-autodetect gst-plugins-good-flv \
                gst-plugins-bad-mms gst-plugins-ugly-asf gst-plugins-bad-faad \
+               gst-plugin-subsink \
 "
 
 RDEPENDS_${PN} = "python-codecs python-core python-lang python-re python-threading \
@@ -72,7 +73,7 @@ RDEPENDS_enigma2-plugin-systemplugins-wirelessaccesspoint = "hostap-daemon bridg
 RDEPENDS_enigma2-plugin-extensions-streamtv = "librtmp0 gst-plugins-bad-rtmp "
 
 DEPENDS += "djmount minidlna"
-RDEPENDS_enigma2-plugin-extensions-dlnaserver = "minidlna "
+RDEPENDS_enigma2-plugin-extensions-dlnaserver = "minidlna vuplus-dlnaserver"
 RDEPENDS_enigma2-plugin-extensions-dlnabrowser = "djmount kernel-module-fuse fuse-utils"
 
 DEPENDS += "opera-hbbtv"
@@ -81,6 +82,7 @@ RDEPENDS_enigma2-plugin-extensions-hbbtv = "opera-hbbtv"
 DEPENDS += "wvdial wvstreams ppp usb-modeswitch usb-modeswitch-data"
 RDEPENDS_enigma2-plugin-systemplugins-3gmodemmanager = "ppp usb-modeswitch usb-modeswitch-data wvdial wvstreams \
        kernel-module-ppp-async kernel-module-ppp-deflate kernel-module-ppp-synctty kernel-module-ppp-generic kernel-module-usbserial \
+       vuplus-3gcommand \
 "
 
 RDEPENDS_enigma2-plugin-systemplugins-devicemanager = "util-linux-blkid ntfs-3g dosfstools"
@@ -95,7 +97,7 @@ DEPENDS += "${@base_contains("VUPLUS_FEATURES", "uianimation", "libgles libvugle
 RDEPENDS_append_vuplus += "${@base_contains("VUPLUS_FEATURES", "uianimation", "libgles libvugles2" , "", d)}"
 
 PN = "enigma2"
-PR = "r101"
+PR = "r102"
 
 SRCDATE = "20121128"
 #SRCDATE is NOT used by git to checkout a specific revision
@@ -114,10 +116,8 @@ SRCREV = ""
 SRC_URI = "git://code.vuplus.com/git/dvbapp.git;protocol=http;branch=${BRANCH};tag=${SRCREV} \
            file://enigma2_vuplus_skin.patch;patch=1;pnum=1 \
            file://enigma2_vuplus_mediaplayer.patch;patch=1;pnum=1 \
-          file://enigma2_vuplus_mediaplayer_subtitle.patch;patch=1;pnum=1 \
            file://enigma2_vuplus_remove_dreambox_enigma.patch;patch=1;pnum=1 \
            file://enigma2_vuplus_vfd_mode.patch;patch=1;pnum=1 \
-           file://enigma2_vuplus_addlibpythondeps.patch;patch=1;pnum=1 \
           file://enigma2_vuplus_pluginbrowser.patch;striplevel=1 \
            file://enigma2_vuplus_proc_oom_score_adj.patch;striplevel=1 \
            file://enigma2_vuplus_fix_standby_name.patch \
@@ -190,6 +190,7 @@ do_compile_prepend_vuplus() {
 }
 
 EXTRA_OECONF = " \
+       --enable-dependency-tracking \
        ${@base_contains("VUPLUS_FEATURES", "display-text-vfd", "--with-display-text-vfd" , "", d)} \
        ${@base_contains("VUPLUS_FEATURES", "display-graphic-vfd", "--with-display-graphic-vfd" , "", d)} \
        ${@base_contains("VUPLUS_FEATURES", "right-half-vfd-skin", "--with-set-right-half-vfd-skin" , "", d)} \
diff --git a/meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_1080p.patch b/meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_1080p.patch
deleted file mode 100644 (file)
index bb8f5f2..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/lib/python/Plugins/SystemPlugins/Videomode/VideoHardware.py b/lib/python/Plugins/SystemPlugins/Videomode/VideoHardware.py
-index 6ecbfd4..d801f58 100644
---- a/lib/python/Plugins/SystemPlugins/Videomode/VideoHardware.py
-+++ b/lib/python/Plugins/SystemPlugins/Videomode/VideoHardware.py
-@@ -37,6 +37,10 @@ class VideoHardware:
-                                                               "60Hz":         { 60: "1080i" },
-                                                               "multi":        { 50: "1080i50", 60: "1080i" } }
-+      rates["1080p"] =                { "50Hz":               { 50: "1080p50" },
-+                                                              "60Hz":         { 60: "1080p" },
-+                                                              "multi":        { 50: "1080p50", 60: "1080p" } }
-+
-       rates["PC"] = { 
-               "1024x768": { 60: "1024x768" }, # not possible on DM7025
-               "800x600" : { 60: "800x600" },  # also not possible
-@@ -55,10 +59,10 @@ class VideoHardware:
-       modes["Scart"] = ["PAL", "NTSC", "Multi"]
-       modes["YPbPr"] = ["720p", "1080i", "576p", "480p", "576i", "480i"]
--      modes["DVI"] = ["720p", "1080i", "576p", "480p", "576i", "480i"]
-+      modes["DVI"] = ["720p", "1080i", "1080p", "576p", "480p", "576i", "480i"]
-       modes["DVI-PC"] = ["PC"]
--      widescreen_modes = set(["720p", "1080i"])
-+      widescreen_modes = set(["720p", "1080i", "1080p"])
-       def getOutputAspect(self):
-               ret = (16,9)
diff --git a/meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_addlibpythondeps.patch b/meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_addlibpythondeps.patch
deleted file mode 100644 (file)
index 71a7c86..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/lib/python/.deps/connections.Po b/lib/python/.deps/connections.Po
-new file mode 100644
-index 0000000..9ce06a8
---- /dev/null
-+++ b/lib/python/.deps/connections.Po
-@@ -0,0 +1 @@
-+# dummy
-diff --git a/lib/python/.deps/enigma_python.Pcpp b/lib/python/.deps/enigma_python.Pcpp
-new file mode 100644
-index 0000000..9ce06a8
---- /dev/null
-+++ b/lib/python/.deps/enigma_python.Pcpp
-@@ -0,0 +1 @@
-+# dummy
-diff --git a/lib/python/.deps/enigma_python.Po b/lib/python/.deps/enigma_python.Po
-new file mode 100644
-index 0000000..9ce06a8
---- /dev/null
-+++ b/lib/python/.deps/enigma_python.Po
-@@ -0,0 +1 @@
-+# dummy
-diff --git a/lib/python/.deps/python.Po b/lib/python/.deps/python.Po
-new file mode 100644
-index 0000000..9ce06a8
---- /dev/null
-+++ b/lib/python/.deps/python.Po
-@@ -0,0 +1 @@
-+# dummy
index 813687c..b0d7ed0 100644 (file)
@@ -129,86 +129,3 @@ index 80cc196..7abb2ee 100755
                        self.doSeekRelative(-1)
                elif self.isStateForward(seekstate):
                        speed = seekstate[1]
-diff --git a/lib/service/servicemp3.cpp b/lib/service/servicemp3.cpp
-index e79be09..ae4611c 100755
---- a/lib/service/servicemp3.cpp
-+++ b/lib/service/servicemp3.cpp
-@@ -245,6 +245,7 @@ eServiceMP3::eServiceMP3(eServiceReference ref)
-       CONNECT(m_pump.recv_msg, eServiceMP3::gstPoll);
-       m_aspect = m_width = m_height = m_framerate = m_progressive = -1;
-+      m_cur_rate=1.0;
-       m_state = stIdle;
-       eDebug("eServiceMP3::construct!");
-@@ -540,6 +541,9 @@ RESULT eServiceMP3::unpause()
-       if (!m_gst_playbin || m_state != stRunning)
-               return -1;
-+      if(m_cur_rate!=1.0)
-+              trickSeek(1);
-+
-       gst_element_set_state(m_gst_playbin, GST_STATE_PLAYING);
-       return 0;
-@@ -575,7 +579,7 @@ RESULT eServiceMP3::seekToImpl(pts_t to)
- {
-               /* convert pts to nanoseconds */
-       gint64 time_nanoseconds = to * 11111LL;
--      if (!gst_element_seek (m_gst_playbin, 1.0, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH,
-+      if (!gst_element_seek (m_gst_playbin, m_cur_rate, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH,
-               GST_SEEK_TYPE_SET, time_nanoseconds,
-               GST_SEEK_TYPE_NONE, GST_CLOCK_TIME_NONE))
-       {
-@@ -612,19 +616,23 @@ RESULT eServiceMP3::trickSeek(gdouble ratio)
-       if (!ratio)
-               return seekRelative(0, 0);
-+      eSingleLocker l(m_subs_to_pull_lock);
-+
-       GstEvent *s_event;
-       int flags;
-       flags = GST_SEEK_FLAG_NONE;
-       flags |= GST_SEEK_FLAG_FLUSH;
- //    flags |= GstSeekFlags (GST_SEEK_FLAG_ACCURATE);
--      flags |= GST_SEEK_FLAG_KEY_UNIT;
-+//    flags |= GST_SEEK_FLAG_KEY_UNIT;
- //    flags |= GstSeekFlags (GST_SEEK_FLAG_SEGMENT);
- //    flags |= GstSeekFlags (GST_SEEK_FLAG_SKIP);
-       GstFormat fmt = GST_FORMAT_TIME;
--      gint64 pos, len;
-+      pts_t pos;
-+      gint64 len;
-       gst_element_query_duration(m_gst_playbin, &fmt, &len);
--      gst_element_query_position(m_gst_playbin, &fmt, &pos);
-+      getPlayPosition(pos);
-+      pos=pos*11111;
-       if ( ratio >= 0 )
-       {
-@@ -642,7 +650,11 @@ RESULT eServiceMP3::trickSeek(gdouble ratio)
-               eDebug("eServiceMP3::trickSeek failed");
-               return -1;
-       }
--
-+      m_subtitle_pages.clear();
-+      m_prev_decoder_time = -1;
-+      m_decoder_time_valid_state = 0;
-+      m_subs_to_pull = 0;
-+      m_cur_rate=ratio;
-       return 0;
- }
-diff --git a/lib/service/servicemp3.h b/lib/service/servicemp3.h
-index 41aec13..cb5b048 100644
---- a/lib/service/servicemp3.h
-+++ b/lib/service/servicemp3.h
-@@ -269,6 +269,7 @@ private:
-       gint m_aspect, m_width, m_height, m_framerate, m_progressive;
-       std::string m_useragent;
-       RESULT trickSeek(gdouble ratio);
-+      double m_cur_rate;
- };
- #endif
diff --git a/meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_mediaplayer_subtitle.patch b/meta-openvuplus/recipes-vuplus/enigma2/enigma2/enigma2_vuplus_mediaplayer_subtitle.patch
deleted file mode 100644 (file)
index a17d0a3..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-diff --git a/lib/service/servicemp3.cpp b/lib/service/servicemp3.cpp
-index ae4611c..99bb50d 100755
---- a/lib/service/servicemp3.cpp
-+++ b/lib/service/servicemp3.cpp
-@@ -245,6 +245,8 @@ eServiceMP3::eServiceMP3(eServiceReference ref)
-       CONNECT(m_pump.recv_msg, eServiceMP3::gstPoll);
-       m_aspect = m_width = m_height = m_framerate = m_progressive = -1;
-+      m_subs_behind_seek = 0;
-+      m_block_sub = FALSE;
-       m_cur_rate=1.0;
-       m_state = stIdle;
-       eDebug("eServiceMP3::construct!");
-@@ -595,6 +597,7 @@ RESULT eServiceMP3::seekTo(pts_t to)
-       RESULT ret = -1;
-       if (m_gst_playbin) {
-+              m_block_sub = TRUE;
-               eSingleLocker l(m_subs_to_pull_lock); // this is needed to dont handle incomming subtitles during seek!
-               if (!(ret = seekToImpl(to)))
-               {
-@@ -603,6 +606,13 @@ RESULT eServiceMP3::seekTo(pts_t to)
-                       m_decoder_time_valid_state = 0;
-                       m_subs_to_pull = 0;
-               }
-+              m_block_sub = FALSE;
-+      }
-+      m_subs_to_pull+=m_subs_behind_seek;
-+      while(m_subs_behind_seek)
-+      {
-+              m_pump.send(Message(2));
-+              m_subs_behind_seek--;
-       }
-       return ret;
-@@ -616,6 +626,7 @@ RESULT eServiceMP3::trickSeek(gdouble ratio)
-       if (!ratio)
-               return seekRelative(0, 0);
-+      m_block_sub = TRUE;
-       eSingleLocker l(m_subs_to_pull_lock);
-       GstEvent *s_event;
-@@ -655,6 +666,13 @@ RESULT eServiceMP3::trickSeek(gdouble ratio)
-       m_decoder_time_valid_state = 0;
-       m_subs_to_pull = 0;
-       m_cur_rate=ratio;
-+      m_block_sub = FALSE;
-+      m_subs_to_pull+=m_subs_behind_seek;
-+      while(m_subs_behind_seek)
-+      {
-+              m_pump.send(Message(2));
-+              m_subs_behind_seek--;
-+      }
-       return 0;
- }
-@@ -1650,10 +1668,17 @@ eAutoInitPtr<eServiceFactoryMP3> init_eServiceFactoryMP3(eAutoInitNumbers::servi
- void eServiceMP3::gstCBsubtitleAvail(GstElement *appsink, gpointer user_data)
- {
--      eServiceMP3 *_this = (eServiceMP3*)user_data;   
--      eSingleLocker l(_this->m_subs_to_pull_lock);
--      ++_this->m_subs_to_pull;
--      _this->m_pump.send(Message(2));
-+      eServiceMP3 *_this = (eServiceMP3*)user_data;
-+      if(_this->m_block_sub != TRUE)
-+      {
-+              eSingleLocker l(_this->m_subs_to_pull_lock);
-+              ++_this->m_subs_to_pull;
-+              _this->m_pump.send(Message(2));
-+      }
-+      else
-+      {
-+              _this->m_subs_behind_seek++;
-+      }
- }
- void eServiceMP3::gstTextpadHasCAPS(GstPad *pad, GParamSpec * unused, gpointer user_data)
-@@ -1729,6 +1754,11 @@ void eServiceMP3::pullSubtitle()
-               {
-                       GstBuffer *buffer;
-                       {
-+                              if(m_block_sub == TRUE)
-+                              {
-+                                      g_signal_emit_by_name (sink, "pull-buffer", &buffer);
-+                                      return;
-+                              }
-                               eSingleLocker l(m_subs_to_pull_lock);
-                               --m_subs_to_pull;
-                               g_signal_emit_by_name (sink, "pull-buffer", &buffer);
-diff --git a/lib/service/servicemp3.h b/lib/service/servicemp3.h
-index cb5b048..7e3f6a6 100644
---- a/lib/service/servicemp3.h
-+++ b/lib/service/servicemp3.h
-@@ -270,6 +270,8 @@ private:
-       std::string m_useragent;
-       RESULT trickSeek(gdouble ratio);
-       double m_cur_rate;
-+      bool m_block_sub;
-+      int m_subs_behind_seek;
- };
- #endif
diff --git a/meta-openvuplus/recipes-vuplus/vuplus-3gcommand/vuplus-3gcommand.bb b/meta-openvuplus/recipes-vuplus/vuplus-3gcommand/vuplus-3gcommand.bb
new file mode 100644 (file)
index 0000000..5a931e9
--- /dev/null
@@ -0,0 +1,28 @@
+DESCIPTION = "3gcommand"
+MAINTAINER = "vuplus team"
+LICENSE = "CLOSED"
+
+PV = "1.0"
+PR = "r0"
+
+SRC_URI = "http://archive.vuplus.com/download/utils/vuplus-3gcommand-${PV}.tar.gz"
+
+do_install() {
+       install -d ${D}/usr/lib/enigma2/python/Plugins/SystemPlugins/3GModemManager
+       install -m 0755 ${WORKDIR}/3gcommand ${D}/usr/lib/enigma2/python/Plugins/SystemPlugins/3GModemManager/3gcommand
+}
+
+do_install_arm() {
+       install -d ${D}/usr/lib/enigma2/python/Plugins/SystemPlugins/3GModemManager
+       install -m 0755 ${WORKDIR}/3gcommand_arm ${D}/usr/lib/enigma2/python/Plugins/SystemPlugins/3GModemManager/3gcommand
+}
+
+PACKAGES = "${PN}"
+FILES_${PN} = "/"
+
+do_populate_sysroot[noexec] = "1"
+INSANE_SKIP_${PN} = "already-stripped"
+
+SRC_URI[md5sum] = "a586fa3901204a0344ea28fe6ec20ee1"
+SRC_URI[sha256sum] = "59669751d0b95d1da693b22719fa80dd971deb2a0e551d88258f1e634a1acedd"
+
diff --git a/meta-openvuplus/recipes-vuplus/vuplus-dlnaserver/vuplus-dlnaserver.bb b/meta-openvuplus/recipes-vuplus/vuplus-dlnaserver/vuplus-dlnaserver.bb
new file mode 100644 (file)
index 0000000..909fd95
--- /dev/null
@@ -0,0 +1,28 @@
+DESCIPTION = "dinaserver"
+MAINTAINER = "vuplus team"
+LICENSE = "CLOSED"
+
+PV = "1.0"
+PR = "r0"
+
+SRC_URI = "http://archive.vuplus.com/download/utils/vuplus-dlnaserver-${PV}.tar.gz"
+
+do_install() {
+       install -d ${D}/usr/lib/enigma2/python/Plugins/Extensions/DLNAServer
+       install -m 0755 ${WORKDIR}/dlnaserver ${D}/usr/lib/enigma2/python/Plugins/Extensions/DLNAServer/dlnaserver
+}
+
+do_install_arm() {
+       install -d ${D}/usr/lib/enigma2/python/Plugins/Extensions/DLNAServer
+       install -m 0755 ${WORKDIR}/dlnaserver_arm ${D}/usr/lib/enigma2/python/Plugins/Extensions/DLNAServer/dlnaserver
+}
+
+PACKAGES = "${PN}"
+FILES_${PN} = "/"
+
+do_populate_sysroot[noexec] = "1"
+INSANE_SKIP_${PN} = "already-stripped"
+
+SRC_URI[md5sum] = "c08be968fcf1d707bd940c4bb7fa1fdb"
+SRC_URI[sha256sum] = "9b5fc064e725749c45e9f7517e63a8258845220ef6dc5a20093e09f5335493a1"
+