On 24 Jan 2007, at 20:01, Stefan Lucke wrote: > On Dienstag 23 Januar 2007 01:25, Torgeir Veimo wrote: >> On 22 Jan 2007, at 20:26, Stefan Lucke wrote: > >>> So my system skips around 9 to 10 frames per minute. >>> 60 * 25 = 1500 frames. >>> So the TV frame rate is 25 * 1490 / 1500 = 24.833 Hz . >>> >>> I guess I've to ask Ville if there is a way to increase the dot >>> clock >>> of my card in some way. >> >> This assumes your soundcard is perfectly clocked to the incoming DVB >> stream? I'd assume that eventually if the soundcard is a bit faster >> than the DVB stream, you'd get an xrun. Maybe it's an idea to add >> xrun counts as well. > > Yes, there are e few assumptions which may slightly influence > calculation. > These numbers are from recording playback. During live view, they are > a bit different, but the direction is the same. > > The other way, we have to issue additional delays, because of some > errors we lost about 9 frames is bad too. Let's look at the code: > > 1. calculate current audio / video offset: > if ( aPTS ) > offset = aPTS - pts ; > else offset = 0; > if ( abs(offset) > 100000) > offset=0; > > To my opinion thats ok.
Maybe use the term delay instead of offset. Eg. choosing the term "A/ V Offset" in the setup was a bad choice of me. [...] >> Another thing which would be good to get statistics about: the >> average number of "hurryup"s after a channel change. > > After a channel change, I think we issue delays instead of hurryups. Are you sure? Where's the code for that? I think it would be interesting to gather audio clock to DVB signal clock drift over time and reprogram the audio output, if it has the capability to do so. I think AC '97 compatible hardware has a software programmable clock, but I'm not sure if it can be set using an ioctl. Additionally, why don't we try to make use of the available vsync interrupt on the matroxfb in SyncTimer.c, when we don't use DSFLIP_WAITFORSYNC?. For reference, here's five minutes of log from my system. Maybe my modeline is not properly adjusted to the DVB clock. Jan 24 21:35:25 htpc vdr: [19793] frontend 1 timed out while tuning to channel 9, tp 578 Jan 24 21:35:28 htpc vdr: [25708] [mpeg2decoder] skipped (5, 83 [2659 -> 659]) Jan 24 21:36:18 htpc vdr: [25708] [mpeg2decoder] skipped (5, 84 [2409 -> 409]) Jan 24 21:37:07 htpc vdr: [25708] [mpeg2decoder] skipped (5, 120 [2409 -> 409]) Jan 24 21:38:52 htpc kernel: cx88[1]/2-mpeg: cx8802_timeout Jan 24 21:38:53 htpc vdr: [25708] [mpeg2decoder] skipped (8, 163 [2409 -> 459]) Jan 24 21:39:00 htpc vdr: [19793] frontend 1 timed out while tuning to channel 9, tp 578 Jan 24 21:41:44 htpc kernel: cx88[1]/2-mpeg: cx8802_timeout Jan 24 21:41:51 htpc vdr: [25708] [mpeg2decoder] skipped (5, 85 [2509 -> 509]) Jan 24 21:41:52 htpc vdr: [19793] frontend 1 timed out while tuning to channel 9, tp 578 -- Torgeir Veimo [EMAIL PROTECTED] _______________________________________________ Softdevice-devel mailing list [email protected] https://lists.berlios.de/mailman/listinfo/softdevice-devel
