possible busy loop in cDvbPlayer::Action?

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

 



Luca Olivetti wrote:
> I also wonder how is it
> possible that vdr hasn't enough data to give to the device: no matter
> how big the buffer, once it is filled it should stay more or less full,
> unless you're at the end of the file.

One guess: On playback start, buffers are empty and can accept lots of
data. This could result in some busy loops until enough data is read to
fill the buffer.

If, for some reason, the disk read requires much CPU time, then the busy
loop will actually slow down the disk reading too.

Maybe, in case of softdevice, this is oscillating: A busy file reader
takes CPU from decoding, causing decoding to stall. And as soon as the
decoder is catching up, maybe by dropping frames, the file buffers run
empty causing the file reader to busy loop again. (speculative, though)

Cheers,

Udo


[Index of Archives]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Big List of Linux Books]     [Fedora Users]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux