linuxtv-dvb-1.1.1

Sklaventreiber
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

linuxtv-dvb-1.1.1

Beitrag von Houdini »

ich bekomme linuxtv-dvb-1.1.1 zum laufen, wenn folgender diff drin ist:

Code: Alles auswählen

diff -ur dvb-1.1.1/drivers/media/dvb/dvb-core/dvb_demux.c dvb/drivers/media/dvb/dvb-core/dvb_demux.c
--- dvb-1.1.1/drivers/media/dvb/dvb-core/dvb_demux.c	2004-03-03 16:48:27.000000000 +0100
+++ dvb/drivers/media/dvb/dvb-core/dvb_demux.c	2009-02-08 17:34:15.000000000 +0100
@@ -857,7 +857,7 @@
 		return -ENOSYS;
 	}
 
-	dvbdmxfeed->feed.sec.check_crc = check_crc;
+	dvbdmxfeed->feed.sec.check_crc = 0 ; //check_crc;
 
 #ifdef NOBUFS
 	dvbdmxfeed->buffer = 0;
Alternativ kann man auch den CRC beim set_filter abstellen.

Wenn bei den Treibern der CRC aktiviert ist bekommt z.B. zapit keine pmt/pat geliefert

Die frontend Treiber (Nokia 500 Sat) funktionieren, aber das Umschalten auf andere TP dauert länger.
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: linuxtv-dvb-1.1.1

Beitrag von GetAway »

Hast Du dir die Frontends aus dem Paket auch mal angeschaut?
Striper
Erleuchteter
Erleuchteter
Beiträge: 625
Registriert: Samstag 8. September 2007, 16:17

Re: linuxtv-dvb-1.1.1

Beitrag von Striper »

GetAway hat geschrieben:Hast Du dir die Frontends aus dem Paket auch mal angeschaut?
Ich denke da fehlt so einiges zu den aktuellen Frontend Treibern im CVS. Kommt evtl. daher das der Transpondewechsel so langsam ist.
mohousch
Einsteiger
Einsteiger
Beiträge: 362
Registriert: Mittwoch 14. Dezember 2005, 03:25

let zapit set up the TS to dvr for recording

Beitrag von mohousch »

@Houdini

mit diesem Patch kann man die zapit mit dem Params -r aufrufen um den TS nach dem DVR zu leiten :)

Code: Alles auswählen

Index: apps/dvb/zapit/src/zapit.cpp
===================================================================
RCS file: /cvs/tuxbox/apps/dvb/zapit/src/zapit.cpp,v
retrieving revision 1.417
diff -a -u -p -r1.417 zapit.cpp
--- a/apps/dvb/zapit/src/zapit.cpp	9 Feb 2009 15:17:07 -0000	1.417
+++ b/apps/dvb/zapit/src/zapit.cpp	14 Feb 2009 09:54:03 -0000
@@ -98,6 +98,7 @@ xmlDocPtr scanInputParser = NULL;
 /* the bouquet manager */
 CBouquetManager *bouquetManager = NULL;
 /* the mpeg2 ts->pes demux devices */
+dmx_output_t dvr = DMX_OUT_DECODER;
 CDemux *audioDemux = NULL;
 CDemux *pcrDemux = NULL;
 CDemux *teletextDemux = NULL;
@@ -1076,7 +1077,7 @@ int change_audio_pid(uint8_t index)
 		audioDecoder->disableBypass();
 
 	/* set demux filter */
-	if (audioDemux->pesFilter(cc->getAudioPid(), DMX_OUT_DECODER, DMX_PES_AUDIO) < 0)
+	if (audioDemux->pesFilter(cc->getAudioPid(), dvr, DMX_PES_AUDIO) < 0)
 		return -1;
 
 	/* start audio playback */
@@ -2367,7 +2368,7 @@ int startPlayBack(CZapitChannel *thisCha
 	if (have_pcr) {
 		if (!pcrDemux)
 			pcrDemux = new CDemux();
-		if (pcrDemux->pesFilter(thisChannel->getPcrPid(), DMX_OUT_DECODER, DMX_PES_PCR) < 0)
+		if (pcrDemux->pesFilter(thisChannel->getPcrPid(), dvr, DMX_PES_PCR) < 0)
 			return -1;
 		if (pcrDemux->start() < 0)
 			return -1;
@@ -2375,7 +2376,7 @@ int startPlayBack(CZapitChannel *thisCha
 	if (have_audio) {
 		if (!audioDemux)
 			audioDemux = new CDemux();
-		if (audioDemux->pesFilter(thisChannel->getAudioPid(), DMX_OUT_DECODER, DMX_PES_AUDIO) < 0)
+		if (audioDemux->pesFilter(thisChannel->getAudioPid(), dvr, DMX_PES_AUDIO) < 0)
 			return -1;
 		if (audioDemux->start() < 0)
 			return -1;
@@ -2383,7 +2384,7 @@ int startPlayBack(CZapitChannel *thisCha
 	if (have_video) {
 		if (!videoDemux)
 			videoDemux = new CDemux();
-		if (videoDemux->pesFilter(thisChannel->getVideoPid(), DMX_OUT_DECODER, DMX_PES_VIDEO) < 0)
+		if (videoDemux->pesFilter(thisChannel->getVideoPid(), dvr, DMX_PES_VIDEO) < 0)
 			return -1;
 		if (videoDemux->start() < 0)
 			return -1;
@@ -2394,7 +2395,7 @@ int startPlayBack(CZapitChannel *thisCha
 #else
 		if (!teletextDemux)
 			teletextDemux = new CDemux();
-		if (teletextDemux->pesFilter(thisChannel->getTeletextPid(), DMX_OUT_DECODER, DMX_PES_TELETEXT) < 0)
+		if (teletextDemux->pesFilter(thisChannel->getTeletextPid(), dvr, DMX_PES_TELETEXT) < 0)
 			return -1;
 		if (teletextDemux->start() < 0)
 			return -1;
@@ -2695,6 +2696,10 @@ int main(int argc, char **argv)
 			printf("[zapit] lock loss check disabled\n");
 			check_lock=false;
 		}
+		else if (!strcmp(argv[i], "-r")) {
+			printf("[zapit] TS is set up to dvr for recording\n");
+			dvr = DMX_OUT_TS_TAP;
+		}
 		else {
 			fprintf(stderr,
 				"Usage: %s [-d] [-q] [-u] [-l]\n"
@@ -2702,6 +2707,7 @@ int main(int argc, char **argv)
 				"-q : quiet mode\n"
 				"-u : enable update on PMT change\n"
 				"-l : disable checking for lost lock\n"
+				"-r : set up /dev/dvb/adapterX/dvr0 for TS recording\n"
 #ifdef HAVE_DREAMBOX_HARDWARE
 				"-n : disable FASTZAP\n"
 #endif
Striper
Erleuchteter
Erleuchteter
Beiträge: 625
Registriert: Samstag 8. September 2007, 16:17

Re: linuxtv-dvb-1.1.1

Beitrag von Striper »

Hat hier noch jemand weitergebastelt?