
sbrown at cortland
Dec 9, 2003, 10:27 AM
Views: 5864
Permalink
|
|
Prebuffering pause (again)
|
|
EVIDENCE This seems aggravated by xvmc and hdtv. It occurs not just with ota playback, but also with recorded playback. I've tried various combinations of "Experimental A/V Sync", "Extra Audio Buffering" and "Jitter reduction" without noticable change. I've read the dev and user lists and the concensus seems to be that this is related to data not being available in time. Maybe low data rate or max'ed cpu. In my case, the cpu is 2.8GHz and the disk is SATA. CPU utilization is only about 50%. I suspect there is plenty of cpu and no problem getting data. When the "prebuffer..." messages start, the cpu utilization actually goes down. THEORY Could part of the problem be the latency in the method used for synchronism between the main thread in NuppelVideoPlayer and the VideoOutputLoop thread it spawns in StartPlaying? Currently, if a free buffer isn't available, the thread usleeps for a while and tries again. This means that when a buffer is freed by one thread, the other thread still completes its usleep interval before getting back to work. SUGGESTION If the above is correct, could the QSemaphore mechanism provide lower latency and maybe reduce the problem? I'm inclined to try this and see, but first wanted some feedback. I know this issue has already been discussed at length and hope I'm not wasting your time. Flame away, Steve
|