summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy White <jwhite@codeweavers.com>2016-12-19 15:14:06 -0600
committerJeremy White <jwhite@codeweavers.com>2017-01-20 09:50:45 -0600
commitd83dc14e157b23bdc47ec8d4db2e531a4fa41b7c (patch)
treed69bbabd8c2be0333e1cdccd3d4dfdac3cbefe18
parent001bcc830f0145a4975e43de23b209dd9e54631e (diff)
Detect video underrun and advance the current time.
This helps us avoid stalled video streams.
-rw-r--r--display.js8
1 files changed, 8 insertions, 0 deletions
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));
}