[vdr] Transfer Buffer Overflow

Reinhard Nissl rnissl at gmx.de
Tue Feb 6 20:13:42 CET 2007


Hi,

thomas.lagemann at stud.tu-ilmenau.de wrote:

> Found out that it's much easyer to do the waiting thing in my device. No need
> for an external program this way. But since the bitrate of the stream varies
> there's still buffer over- and underflows. Is there a way to get the buffer
> status of a device? This way i could just stop to deliver the ts packets, when
> the buffer is full and the other way round.

There is at least a cRingBufferLinear instance in cRemux, that is not
related to any device, i. e. cRemux sits between the receiving and the
replaying device.

Just try to modulate the "exhaust" of TS packets as I suggested in my
last email. This should avoid buffer over- and underflows. You're
welcome to ask for further assistance ;-)

> I alredy looked in cDevice but all i found was the ::Flush method. But i'm not
> shure what it does. Documentation states this:
> "Returns true if the device's output buffers are empty, i.e. any data which was
> bufferd so far has been processed."
> 
> I played araund with this a little, but it doesn't seem to depend on the buffer
> status...

This function is (only) used by vdr-xine to give xine a chance to
display all the decoded and internally buffered frames when VDR replays
a recording and reaches its end.

Bye.
-- 
Dipl.-Inform. (FH) Reinhard Nissl
mailto:rnissl at gmx.de



More information about the vdr mailing list