aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorghost <andreas.monzner@multimedia-labs.de>2008-11-25 22:43:17 +0100
committerghost <andreas.monzner@multimedia-labs.de>2008-11-25 22:43:17 +0100
commita202f569dc394f444eefeb5d8aaf701a08f692f3 (patch)
treea2bb3fbc0d212234129b1f5af4385b21c0269a90
parent66ce1b5dd5995928bbac96f8935d2509de92dc02 (diff)
downloadopenembedded-a202f569dc394f444eefeb5d8aaf701a08f692f3.tar.gz
tuxbox-tuxtxt-32bpp.bb, tuxbox-libtuxtxt.bb: allow different demux devices
-rw-r--r--packages/tuxbox/files/libtuxtxt_allow_different_demux.diff42
-rw-r--r--packages/tuxbox/tuxbox-libtuxtxt.bb7
-rw-r--r--packages/tuxbox/tuxbox-tuxtxt-32bpp.bb5
-rw-r--r--packages/tuxbox/tuxbox-tuxtxt-32bpp/allow_different_demux.diff109
4 files changed, 158 insertions, 5 deletions
diff --git a/packages/tuxbox/files/libtuxtxt_allow_different_demux.diff b/packages/tuxbox/files/libtuxtxt_allow_different_demux.diff
new file mode 100644
index 0000000000..6736417ca2
--- /dev/null
+++ b/packages/tuxbox/files/libtuxtxt_allow_different_demux.diff
@@ -0,0 +1,42 @@
+diff -Naur libs-org/libtuxtxt/libtuxtxt.c libs/libtuxtxt/libtuxtxt.c
+--- libs-org/libtuxtxt/libtuxtxt.c 2008-11-25 21:47:38.000000000 +0100
++++ libs/libtuxtxt/libtuxtxt.c 2008-11-25 22:27:04.000000000 +0100
+@@ -49,6 +49,13 @@
+ tuxtxt_cache.vtxtpid = -1;
+ tuxtxt_cache.thread_id = 0;
+ tuxtxt_cache.dmx = -1;
++
++#if HAVE_DVB_API_VERSION < 3
++ strcpy(tuxtxt_cache.demux, "/dev/dvb/card0/demux0");
++#else
++ strcpy(tuxtxt_cache.demux, "/dev/dvb/adapter0/demux0");
++#endif
++
+ return 1;//tuxtxt_init_demuxer();
+ }
+
+diff -Naur libs-org/libtuxtxt/tuxtxt_def.h libs/libtuxtxt/tuxtxt_def.h
+--- libs-org/libtuxtxt/tuxtxt_def.h 2008-11-25 21:47:38.000000000 +0100
++++ libs/libtuxtxt/tuxtxt_def.h 2008-11-25 22:25:23.000000000 +0100
+@@ -14,12 +14,11 @@
+ #define pes_type pesType
+ #define dmx_sct_filter_params dmxSctFilterParams
+ #include <ost/dmx.h>
+- #define DMX "/dev/dvb/card0/demux0"
+ #else
+ #include <linux/dvb/dmx.h>
+- #define DMX "/dev/dvb/adapter0/demux0"
+ #endif
+
++#define DMX tuxtxt_cache.demux
+
+ #define FLOFSIZE 4
+
+@@ -108,6 +107,7 @@
+ short flofpages[0x900][FLOFSIZE];
+ unsigned char adip[0x900][13];
+ unsigned char subpagetable[0x900];
++ char demux[64];
+ int dmx;
+ int vtxtpid;
+ int cached_pages, page, subpage, pageupdate,page_receiving, current_page[9], current_subpage[9];
diff --git a/packages/tuxbox/tuxbox-libtuxtxt.bb b/packages/tuxbox/tuxbox-libtuxtxt.bb
index 0aa0a953a7..07688be8e7 100644
--- a/packages/tuxbox/tuxbox-libtuxtxt.bb
+++ b/packages/tuxbox/tuxbox-libtuxtxt.bb
@@ -4,8 +4,9 @@ MAINTAINER = "Felix Domke <tmbinc@elitdvb.net>"
SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/cvs/tuxbox;module=apps/tuxbox/libs;method=ext \
file://acinclude.m4"
-SRC_URI_append_dm7025 = " file://libtuxtxt_bugfix.patch;patch=1"
-SRC_URI_append_dm800 = " file://libtuxtxt_bugfix.patch;patch=1"
+SRC_URI_append_dm7025 = " file://libtuxtxt_bugfix.patch;patch=1 file://libtuxtxt_allow_different_demux.diff;patch=1"
+SRC_URI_append_dm800 = " file://libtuxtxt_bugfix.patch;patch=1 file://libtuxtxt_allow_different_demux.diff;patch=1"
+SRC_URI_append_dm8000 = " file://libtuxtxt_bugfix.patch;patch=1 file://libtuxtxt_allow_different_demux.diff;patch=1"
SRCDATE_dm600pvr = "20070307"
SRCDATE_dm500plus = "20070307"
@@ -15,7 +16,7 @@ SRCDATE_dm8000 = "20050912"
SRCDATE_dm7020 = "20070307"
PN = "libtuxtxt"
-PR = "r1"
+PR = "r2"
PV = "0.0+cvs${SRCDATE}"
S = "${WORKDIR}/libs"
diff --git a/packages/tuxbox/tuxbox-tuxtxt-32bpp.bb b/packages/tuxbox/tuxbox-tuxtxt-32bpp.bb
index fd3220684a..d3122b2f1b 100644
--- a/packages/tuxbox/tuxbox-tuxtxt-32bpp.bb
+++ b/packages/tuxbox/tuxbox-tuxtxt-32bpp.bb
@@ -9,13 +9,14 @@ SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/cvs/tuxbox;module=apps/tuxbox/plugins/tu
file://add_e2_plugin.diff;patch=1;pnum=1 \
file://tuxtxt-resize_video_patch-7025.diff;patch=1;pnum=1 \
file://add_advanced_rc.diff;patch=1;pnum=1 \
- file://resize_framebuffer.diff;patch=1;pnum=1"
+ file://resize_framebuffer.diff;patch=1;pnum=1 \
+ file://allow_different_demux.diff;patch=1;pnum=1"
FILES_${PN} = "/usr/bin /usr/share/fonts /usr/lib/enigma2/python/Plugins/Extensions/Tuxtxt /etc/tuxtxt"
SRCDATE = "20060112"
PV = "0.0+cvs${SRCDATE}"
-PR = "r8"
+PR = "r9"
S = "${WORKDIR}/tuxtxt"
diff --git a/packages/tuxbox/tuxbox-tuxtxt-32bpp/allow_different_demux.diff b/packages/tuxbox/tuxbox-tuxtxt-32bpp/allow_different_demux.diff
new file mode 100644
index 0000000000..7af567247c
--- /dev/null
+++ b/packages/tuxbox/tuxbox-tuxtxt-32bpp/allow_different_demux.diff
@@ -0,0 +1,109 @@
+diff -Naur tuxtxt_org/python/plugin.py tuxtxt/python/plugin.py
+--- tuxtxt_org/python/plugin.py 2008-11-25 22:34:34.000000000 +0100
++++ tuxtxt/python/plugin.py 2008-11-25 22:24:59.000000000 +0100
+@@ -7,24 +7,28 @@
+ <screen position="1,1" size="1,1" title="TuxTXT" >
+ </screen>"""
+
+- def __init__(self, session, args = None):
+- self.skin = ShellStarter.skin
++ def __init__(self, session, args = None):
++ self.skin = ShellStarter.skin
+ Screen.__init__(self, session)
+ self.container=eConsoleAppContainer()
+ self.container.appClosed.append(self.finished)
+ self.runapp()
+-
++
+ def runapp(self):
+ service = self.session.nav.getCurrentService()
+- if service is not None:
+- self.info = service.info()
+- else:
+- self.info = None
++ info = service and service.info()
++ txtpid = info and "%d" %(info.getInfo(iServiceInformation.sTXTPID)) or ""
++
++ stream = service and service.stream()
++ demux = stream and stream.getStreamingData()
++ demux = demux.get("demux", -1)
++ demux = demux > -1 and "%d" %(demux) or ""
+
+ eDBoxLCD.getInstance().lock()
+ eRCInput.getInstance().lock()
+ fbClass.getInstance().lock()
+- if self.container.execute("/usr/bin/tuxtxt "+self.getValue(iServiceInformation.sTXTPID)):
++
++ if self.container.execute("/usr/bin/tuxtxt " + demux + " " + txtpid):
+ self.finished(-1)
+
+ def finished(self,retval):
+@@ -33,15 +37,6 @@
+ eDBoxLCD.getInstance().unlock()
+ self.close()
+
+- def getValue(self, what):
+- if self.info is None:
+- return ""
+-
+- v = "%d" % (self.info.getInfo(what))
+-
+- return v
+-
+-
+ def main(session, **kwargs):
+ session.open(ShellStarter)
+
+diff -Naur tuxtxt_org/tuxtxt.c tuxtxt/tuxtxt.c
+--- tuxtxt_org/tuxtxt.c 2008-11-25 18:29:04.000000000 +0100
++++ tuxtxt/tuxtxt.c 2008-11-25 22:24:17.000000000 +0100
+@@ -1490,27 +1490,39 @@
+ char cvs_revision[] = "$Revision: 1.95 $";
+
+ int cnt=0, rc_num=0;
+-#if !TUXTXT_CFG_STANDALONE
+- int initialized = tuxtxt_init();
+- if ( initialized )
+- tuxtxt_cache.page = 0x100;
+-#endif
+
+ /* show versioninfo */
+ sscanf(cvs_revision, "%*s %s", versioninfo);
+ printf("TuxTxt %s\n", versioninfo);
+ printf("for 32bpp framebuffer\n");
+
++#if !TUXTXT_CFG_STANDALONE
++ int initialized = tuxtxt_init();
++ if ( initialized )
++ tuxtxt_cache.page = 0x100;
++#endif
++
+ /* get params */
+- if (argc==1)
++ if (argc < 2)
+ {
+- printf("\nUSAGE: tuxtxt vtpid\n");
+- printf("No PID given, so scanning for PIDs ...\n\n");
+- tuxtxt_cache.vtxtpid=0;
++ printf("\nUSAGE: tuxtxt demux [vtpid]\n");
++ printf("No Demux given... abort!!\n");
++ return -1;
+ }
+ else
+ {
+- tuxtxt_cache.vtxtpid = atoi(argv[1]);
++ if (argc==2)
++ {
++ printf("No PID given, so scanning for PIDs ...\n\n");
++ tuxtxt_cache.vtxtpid=0;
++ }
++ else
++ tuxtxt_cache.vtxtpid = atoi(argv[2]);
++#if HAVE_DVB_API_VERSION < 3
++ snprintf(tuxtxt_cache.demux, 64, "/dev/dvb/card0/demux%c", argv[1][0]);
++#else
++ snprintf(tuxtxt_cache.demux, 64, "/dev/dvb/adapter0/demux%c", argv[1][0]);
++#endif
+ }
+
+ /* open Framebuffer */