From d83dc14e157b23bdc47ec8d4db2e531a4fa41b7c Mon Sep 17 00:00:00 2001
From: Jeremy White <jwhite@codeweavers.com>
Date: Mon, 19 Dec 2016 15:14:06 -0600
Subject: [PATCH] Detect video underrun and advance the current time.

This helps us avoid stalled video streams.
---
 display.js | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/display.js b/display.js
index d4baef7..c97f237 100644
--- a/display.js
+++ b/display.js
@@ -1114,6 +1114,14 @@ function handle_append_video_buffer_done(e)
         return;
     }
 
+    if (stream.video.buffered.length > 0 &&
+        stream.video.currentTime < stream.video.buffered.start(stream.video.buffered.length - 1))
+    {
+        console.log("Video appears to have fallen behind; advancing to " +
+            stream.video.buffered.start(stream.video.buffered.length - 1));
+        stream.video.currentTime = stream.video.buffered.start(stream.video.buffered.length - 1);
+    }
+
     if (STREAM_DEBUG > 1)
         console.log(stream.video.currentTime + ":id " +  stream.id + " updateend " + dump_media_element(stream.video));
 }
-- 
GitLab