[oe-commits] ghost : tuxbox-tuxtxt-32bpp.bb, tuxbox-libtuxtxt.bb: allow different demux devices

GIT User account git at amethyst.openembedded.net
Wed Nov 26 11:38:15 UTC 2008


Module: openembedded.git
Branch: org.openembedded.dreambox
Commit: a202f569dc394f444eefeb5d8aaf701a08f692f3
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=a202f569dc394f444eefeb5d8aaf701a08f692f3

Author: ghost <andreas.monzner at multimedia-labs.de>
Date:   Tue Nov 25 22:43:17 2008 +0100

tuxbox-tuxtxt-32bpp.bb, tuxbox-libtuxtxt.bb: allow different demux devices

---

 .../files/libtuxtxt_allow_different_demux.diff     |   42 ++++++++
 packages/tuxbox/tuxbox-libtuxtxt.bb                |    7 +-
 packages/tuxbox/tuxbox-tuxtxt-32bpp.bb             |    5 +-
 .../tuxbox-tuxtxt-32bpp/allow_different_demux.diff |  109 ++++++++++++++++++++
 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 0000000..6736417
--- /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 0aa0a95..07688be 100644
--- a/packages/tuxbox/tuxbox-libtuxtxt.bb
+++ b/packages/tuxbox/tuxbox-libtuxtxt.bb
@@ -4,8 +4,9 @@ MAINTAINER = "Felix Domke <tmbinc at 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 fd32206..d3122b2 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 0000000..7af5672
--- /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 */





More information about the Openembedded-commits mailing list