--- /dev/null
+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"
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 \
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 \
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"
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"
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
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 \
}
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)} \
+++ /dev/null
-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)
+++ /dev/null
-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
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
+++ /dev/null
-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
--- /dev/null
+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"
+
--- /dev/null
+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"
+