[mythtv] Video/audio skips with new vsync code

Zarakin zarakin at hotpop.com
Sat Aug 21 17:00:59 EDT 2004


Hi,

I've been running my Myth box for about six months now and after updating to
the latest CVS snapshot, the recording playback has gone down the drain. I
usually get ~few minutes of stable playback, but then the A/V sync goes and
the video play goes into FFW mode when it tries to find the sync again. The
playback wasn't perfect few months back either though, the video would skip
~five seconds every ten minutes, but I could live with it.

Some specs and logs.
HW - Shuttle ST61G4 (ATI IXP) +  2.8Ghz P4 + Nvidia MX440 + 512 MB + 120GB
Sata Harddrive.
SW - Gentoo Linux + Kernel 2.6.8 + Nvidia 6111 drivers + Myth CVS snapshot
(21th of August)

I tried ATI Radeon 92000 as well, but it didn't make any difference, though
it has even less video timing possibilities with the binary only ATI driver
(i.e. no OpenGL timings no DRM Video Sync). Playing with different
combinations with "Use video as timebase"/"Extra audio buffering" doesn't
seem to make much a difference either.

Any ideas what could be causing this? Are there any plans to touch the vsync
code again?

Logs with -v playback:
***** Just before playback ****
2004-08-21 13:22:49 Opening OSS audio device '/dev/dsp'.
2004-08-21 13:22:49 Audio fragment size: 4096
2004-08-21 13:22:49 Over/underscan. V: 0, H: 0, XOff: 0, YOff: 0
2004-08-21 13:22:49 Using XV port 105
2004-08-21 13:22:49 Image size. dispxoff 0, dispyoff: 0, dispwoff: 640,
disphoff: 479
2004-08-21 13:22:49 Image size. imgx 0, imgy: 0, imgw: 720, imgh: 480
2004-08-21 13:22:50 Using deinterlace method kerneldeint
2004-08-21 13:22:50 Changing from None to WatchingPreRecorded
2004-08-21 13:22:50 nVidiaVideoSync: VBlank ioctl did not work,
unimplemented in this driver?
2004-08-21 13:22:50 DRMVideoSync: Could not open device /dev/dri/card0, No
such device or address
2004-08-21 13:22:50 Using audio as timebase
2004-08-21 13:22:50 Video timing method: SGI OpenGL
2004-08-21 13:22:50 Refresh rate: 11763, frame interval: 33366
2004-08-21 13:22:52 waiting for prebuffer...
**** Just before A/V get out of sync ****
avsync_delay: 33, avsync_avg: 32, warpfactor: 0.9, warpfactor_avg: 0.203184
'video_output' mean = '33361.07', std. dev. = '123.03', fps = '29.98'
avsync_delay: 33, avsync_avg: 32, warpfactor: 0.9, warpfactor_avg: 0.207049
'video_output' mean = '33361.29', std. dev. = '166.13', fps = '29.97'
avsync_delay: 33, avsync_avg: 32, warpfactor: 0.9, warpfactor_avg: 0.210892
'video_output' mean = '33360.52', std. dev. = '159.59', fps = '29.98'
avsync_delay: 33, avsync_avg: 32, warpfactor: 0.9, warpfactor_avg: 0.214713
'video_output' mean = '33361.08', std. dev. = '128.91', fps = '29.98'
avsync_delay: 34, avsync_avg: 33, warpfactor: 0.9, warpfactor_avg: 0.218514
'video_output' mean = '33361.11', std. dev. = '113.60', fps = '29.98'
avsync_delay: 33, avsync_avg: 32, warpfactor: 0.9, warpfactor_avg: 0.222293
2004-08-21 13:25:47 A/V diverged by -22.3183 frames, dropping frame to keep
audio in sync
2004-08-21 13:25:47 A/V diverged by -24.7109 frames, dropping frame to keep
audio in sync
2004-08-21 13:25:47 A/V diverged by -26.2656 frames, dropping frame to keep
audio in sync
2004-08-21 13:25:47 A/V diverged by -27.1918 frames, dropping frame to keep
audio in sync
2004-08-21 13:25:47 A/V diverged by -27.6392 frames, dropping frame to keep
audio in sync
2004-08-21 13:25:47 A/V diverged by -27.7351 frames, dropping frame to keep
audio in sync
2004-08-21 13:25:47 A/V diverged by -27.5522 frames, dropping frame to keep
audio in sync
2004-08-21 13:25:47 A/V diverged by -27.1303 frames, dropping frame to keep
audio in sync
2004-08-21 13:25:47 A/V diverged by -26.5666 frames, dropping frame to keep
audio in sync
2004-08-21 13:25:47 A/V diverged by -25.8816 frames, dropping frame to keep
audio in sync
....
2004-08-21 13:26:43 A/V diverged by 20.0613 frames, extending frame to keep
audio in sync
2004-08-21 13:26:43 A/V diverged by 20.2309 frames, extending frame to keep
audio in sync
2004-08-21 13:26:43 A/V diverged by 20.1033 frames, extending frame to keep
audio in sync
'video_output' mean = '45704.23', std. dev. = '57729.46', fps = '21.88'
avsync_delay: 242, avsync_avg: 270, warpfactor: 0.9, warpfactor_avg:
0.316782
'video_output' mean = '35529.70', std. dev. = '5617.40', fps = '28.15'
avsync_delay: 25, avsync_avg: 25, warpfactor: 0.9, warpfactor_avg: 0.320017
'video_output' mean = '33360.85', std. dev. = '139.96', fps = '29.98'
avsync_delay: 25, avsync_avg: 25, warpfactor: 0.9, warpfactor_avg: 0.323233
'video_output' mean = '33360.86', std. dev. = '125.88', fps = '29.98'
avsync_delay: 26, avsync_avg: 25, warpfactor: 0.9, warpfactor_avg: 0.326432
'video_output' mean = '33361.27', std. dev. = '127.21', fps = '29.97'
avsync_delay: 25, avsync_avg: 25, warpfactor: 0.9, warpfactor_avg: 0.329613

The warpfactor_avg seems to be growing before the A/V sync goes and when the
sync is regained the value goes down.




More information about the mythtv-dev mailing list