Mailing List archive

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

[vdr] Re: Buffer overflows



Hi I don't know all the technical details, but i can tell you my experience and the workaround i am using.

At Donnerstag, 25. September 2003 22:14 Jan Ekholm wrote:

Anyone know if increasing the various buffers within VDR is enough to get
rid of the buffer overflows? Is it a true solution or just band aid?
There was a mail a while ago that mentioned values that could be used and
where, but I've not tried that yet. But tonight I missed a South Park
episode due to an overflow, so I could give the idea a shot. :)

To my experience, it happens sometimes (at least on my system) when vdr goes into "transfermode" this happens always, when you start a recording (in a single card system). This transferthread which is responsible for the liveview, i believe and that's what my logfiles display, is for some reason somtimes unable to process the data it recieves from the card fast enought. As soon as it's buffer overflows the liveview will have hickups.

On my system this sometimes happens so frequently (especially when recording a encrypted channel) that i have a few ten thousand log messages a second. In that case the system overloads for writing log messages and the recorder thread in turn is not able to deliver it's data to disk on time and this is the point where my recording get corrupted.

The workaround i am using, is to switch of the define DO_MULTIPLE_RECORDINGS in dvbdevice.c, after which vdr won't go into transfermode anymore for a single card system. The drawback of this workaround is that you loose two features of vdr:
1. you can't do more than one recording of different channels on the same transponder and card anymore (doing overlapping recordings on the same channel should still work).
2. timeshift and replay during a recording doesn't work when DO_MULTIPLE_RECORDINGS is not defined. Maybe, this is a bug (anyone know that for shure?) but as i wasn't able (because i don't understand the interior of vdr very well) to resolve this, i decided to undefine DO_REC_AND_PLAY_ON_PRIMARY_DEVICE in dvbdevice.c as well.

since i did the above changes no ringbuffer overflows occured anymore and all recordings where successful.

My system is a P133 with dvb-s rev. 1.3 running on kernel 2.4.18. There is at least one other post that states that maybe the kernle might be the problem (Klaus sais his 2.4.10 kernel works fine) http://www.linuxtv.org/mailinglists/vdr/2003/08-2003/msg01166.html
and there are also others with faster machines having the same problem (i believe) http://www.linuxtv.org/mailinglists/vdr/2003/08-2003/msg01166.html
so maybe this is a bug in the newer kernel (newer than 2.4.10) since there are some users experiencing the problem and others that are not.

At least the workaround described above, works for me, so maybe it's worth a try.

Cheers,
Christoph

--
*********************************************************
*Christoph Gohle *
* *
*Gailkircherstrasse 7 *
*81247 München *
* *
*Tel.: 089 32905-266 (Büro) *
* -257 (Labor) *
* 089 8116932 (Privat) *
* 0179 6089431 (Mobil) *
*mail: chef@mnet-online.de *
*********************************************************



--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe vdr" as subject.



Home | Main Index | Thread Index