Mailing List archive

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

[linux-dvb] Re: Patch: fidbirq() with recovery after lost intr



Ralph,

  recently I've run some tests checking for data integrity when you reuse
the old half-buffer and output both the old half-buffer and new half-buffer
in the same interrupt. I used the fidbirq() modified like this:

static
void fidbirq (unsigned long data)
{
        struct av7110_s *av7110 = (struct av7110_s*) data;
        u8 *mem=(u8 *)(av7110->saa->grabbing);
        int num=512; 
        int field=0x80&saa7146_read(av7110->saa_mem, PSR);

     if (field) {
                   num=1024;         /* output both half-buffers */
        } else {
                   num=0;            /* have a coffee break */
        }
        av7110->tsf=field;
        if (av7110->feeding && mem[0]==0x47)
                dvb_dmx_swfilter_packets(&av7110->demux, mem, num);
}

During broadcasting the 16 TV channels from 3 NOVA cards this really prints
out some corrupted TS packets (bad CRC_32) which means that the DMA
sometimes overwrites the very beginning of the old half-buffer. Broadcasting
from only 1 NOVA card reports no corruption at all.

Taking into consideration the number of interrupts per second generated by 3
cards and the rate how often this corruption happens (~10 per minute) I think 
it's better to use the old half-buffer in case of missed interrupt than
to throw away 512 TS packets.

Could you perhaps run this test in your environment and report results?



	Regards,

		M.

--------------------------------------------------------------------------
----                                                                  ----
----   Marian Durkovic                       network  manager         ----
----                                                                  ----
----   Slovak Technical University           Tel: +421 2 524 51 301   ----
----   Computer Centre, Nam. Slobody 17      Fax: +421 2 524 94 351   ----
----   812 43 Bratislava, Slovak Republic    E-mail: md@bts.sk        ----
----                                                                  ----
--------------------------------------------------------------------------


-- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index