mirror of
https://github.com/love2d/love.git
synced 2026-08-16 08:11:02 +02:00
I'm not sure if this actually helps, because I haven't been able to reproduce the issue so far, but at least this should make it less likely the decoder thread ends up in an infinite loop.
This commit is contained in:
@@ -214,14 +214,16 @@ void TheoraVideoStream::threadedFillBackBuffer(double dt)
|
||||
seekDecoder(position);
|
||||
|
||||
// Until we are at the end of the stream, or we are displaying the right frame
|
||||
unsigned int lagCounter = 0;
|
||||
unsigned int framesBehind = 0;
|
||||
bool failedSeek = false;
|
||||
while (!demuxer.isEos() && position >= nextFrame)
|
||||
{
|
||||
// If we can't catch up, seek
|
||||
if (lagCounter++ > 5)
|
||||
if (framesBehind++ > 5 && !failedSeek)
|
||||
{
|
||||
seekDecoder(position);
|
||||
lagCounter = 0;
|
||||
framesBehind = 0;
|
||||
failedSeek = true;
|
||||
}
|
||||
|
||||
th_ycbcr_buffer bufferinfo;
|
||||
|
||||
Reference in New Issue
Block a user