[vdr] ring buffer overflow under high cpu load

C.Y.M syphir at syphir.sytes.net
Sun Mar 26 03:14:11 CEST 2006


> What are your buffer settings in vdr-xine?

I had xine on the default settings.  The buffer set to 8 and hystersis set to 4
frames.  Perhaps with the hysteresis, I should lower the buffer to 6 and
hysteresis to 3? What is your recommended setting?  This is an athlon 2000 with
756MB RAM.

> 
> With the update from 0.7.6 to 0.7.7 you had to reduce the prebuffer as
> it is now exactly measured. And with 0.7.8 you should reduce the
> prebuffer further as it is increased indirectly by hysteresis.
> 
> If you buffer too much, then VDR will report a buffer overflow
> (especially under high CPU load), as the buffer is provided by VDR
> (#define TRANSFERBUFSIZE MEGABYTE(2)).
> 
> As the satellite streams at a constant rate, VDR puts as much data into
> the buffer as xine takes out of it. So the buffer should never run full
> and the average buffer usage depends on the above settings. But if the
> average is to high, a burst write may cause an overflow, especially when
> xine doesn't get enough CPU time to read the buffer immediately.

Yes, this seems to be what is happening with the DVD plugin. Too much buffer and
its getting overflowed, causing it to skip frames.

> 
> On my EPIA system with a 600 MHz C3 CPU, I run vdr with nice -n 19 and
> xine with nice -n -20. I run VDR that nice, because background tasks
> like EPG scan had an impact on fluent replay with xine. But meanwhile,
> the most recent VDR versions schedule those threads a lower priority
> anyway. So I'm not sure whether it is still a good idea to run VDR that
> nice, especially when there are other tools like VDRConvert which run at
> normal priority. Maybe, xine should have the highest priority and VDR
> should be above the other processes.
> 

Thanks.




More information about the vdr mailing list