[vdr] Transfer Buffer Overflow

thomas.lagemann at stud.tu-ilmenau.de thomas.lagemann at stud.tu-ilmenau.de
Tue Feb 6 17:48:41 CET 2007


Zitat von Thomas Lagemann <thomas.lagemann at stud.tu-ilmenau.de>:



> Reinhard Nissl wrote:
> > I currently do not see a chance to fix this issue with the current API.
> > Several functions would have to be changed to pass the information, that
> > the receiving device may be blocked, to the places where buffer
> > overflows are detected.
> >


> For the moment i work around the problem with program called "buffer",
> that i read about in this list
> (http://linvdr.org/mailinglists/vdr/2005/09/msg00204.html)
> It can deliver my stream in smaller packets, and wait a defined time
> until it delivers the next one. Still doesn't work perfekt, but but i
> can work with that.

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.

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...

Reagards,
Thomas



----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.



More information about the vdr mailing list