Mailing List archive

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

[linux-dvb] dvb(nova) interrupt/dma timing



Hi all,

i have some questions concerning the dma and interrupt timing (or
synchronization), especially for the nova card.
I am trying to do some stream parsing using a function hooked up at
the beginning of DvbDmxSWFilterPackets in dvb_demux.c.
My problem is that _sometimes_ i get "wrong" data, which seems to be
due to old data being read from the buffer. I can in fact change the
behaviour towards better by including some printk's (and thus slowing
down) in my code.
The data read from /dev/ost/dvr is apparently always correct, at least
the "stream error detector" vlc does not crash, however, i can not
see any wrong data in my code's output either while running vlc...

Again, normally everything works as expected, only sometimes it seems
that there is old data read, especially towards the end of the buffer,
this is why i am thinking of such a timing problem. (I am only scanning
PIDs and PCRs, not the whole packets, so - at least i hope - my code is
quite fast.)

This happens on both an 800 MHz PIII and a 1470MHz Athlon, i could not
clearly state it is more common on one of them.

Is the behaviour of DMA and interrupts being slightly "out of sync" i
am suspecting here possible at all? If so, is there anything i can do
about it (like querying a DMA address pointer etc.)? I have to admit i
do not really understand how debiirq and stuff works... :(

Any hints are appreciated. :)

Thanks,
Wolfgang



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



Home | Main Index | Thread Index