Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] CRC Check with sections



Hi,

for people with problems described in this threads
Re: [vdr] Re: BUG Report vdr 1.2.0pre1 and 1.1.33
Re: [vdr] Re: Ringbuffer overflow
Re: [vdr] Re: Irdeto Allcam 4.6 CI doesn't work anymore after upgrading
from 1.0.4 to 1.2.0

perhaps you can try this two patches, one part for DVB loading and one
for VDR. The DVB diff, is only needed if you are using Klaus driver
snapshot from today with hw_sections=1.

The little patch corrected the following problems for me,
buffer empty messages from dvb driver (i activate the printk in DVB
driver, which where disabled last month),
this is from DVB-Changelog
"
2003-05-12 18:09  js

        * driver/av7110/av7110.c: commented out "buffer empty" printk
"

and it corrects the ringbuffer overflow messages i get, which didn't
appear any more.
Sometimes i get get some disturbed records fta and crypted channels
(Problem -> out of sync or glitches)

it doesn't correct the cam read errors, they still exists.

The patch is for plain-vanilla vdr-1.2.1. Perhaps some others with no
problems could test it and report if it works.
If this is not a to big change and it helps and do not disturb anything,
perhaps Klaus could add it to vdr-1.2.1.

Gerald
--- DVB/Makefile	2003-06-09 01:44:49.000000000 +0200
+++ DVB-test/Makefile	2003-06-08 20:34:04.000000000 +0200
@@ -67,7 +67,7 @@
 insmod:
 	insmod input; \
 	insmod evdev; \
-	insmod dvb-ttpci.o;
+	insmod dvb-ttpci.o hw_sections=0;
 
 rmmod:
 	rmmod dvb-ttpci; \
diff -uN vdr-1.2.1/eit.c vdr-1.2.1-test/eit.c
--- vdr-1.2.1/eit.c	2003-05-29 17:04:10.000000000 +0200
+++ vdr-1.2.1-test/eit.c	2003-06-08 20:46:33.000000000 +0200
@@ -1360,6 +1360,7 @@
    sctFilterParams.pid = pid;
    sctFilterParams.timeout = 0;
    sctFilterParams.flags = DMX_IMMEDIATE_START;
+   sctFilterParams.flags|=DMX_CHECK_CRC;
    sctFilterParams.filter.filter[0] = tid;
    sctFilterParams.filter.mask[0] = mask;
 
diff -uN vdr-1.2.1/transfer.c vdr-1.2.1-test/transfer.c
--- vdr-1.2.1/transfer.c	2003-05-18 17:22:09.000000000 +0200
+++ vdr-1.2.1-test/transfer.c	2003-06-08 21:15:23.000000000 +0200
@@ -12,7 +12,7 @@
 //XXX+ also used in recorder.c - find a better place???
 // The size of the array used to buffer video data:
 // (must be larger than MINVIDEODATA - see remux.h)
-#define VIDEOBUFSIZE  MEGABYTE(1)
+#define VIDEOBUFSIZE  MEGABYTE(3)
 
 // --- cTransfer -------------------------------------------------------------
 
@@ -72,16 +72,15 @@
 
         //XXX+ Maybe we need this to avoid buffer underruns in driver.
         //XXX+ But then again, it appears to play just fine without this...
-        /*
+
         if (!gotBufferReserve) {
            if (ringBuffer->Available() < 4 * MAXFRAMESIZE) {
-              usleep(100000); // allow the buffer to collect some reserve
+              usleep(200000); // allow the buffer to collect some reserve
               continue;
               }
            else
               gotBufferReserve = true;
            }
-           */
 
         // Get data from the buffer:
 

Home | Main Index | Thread Index