From 8316a8c18bd83f86c543f57db0c03975d04607f9 Mon Sep 17 00:00:00 2001
From: advplyr <advplyr@protonmail.com>
Date: Sat, 13 Nov 2021 11:05:06 -0600
Subject: [PATCH] Change: allow 3 seconds of audio player time not increasing
 before pausing #180

---
 client/components/AudioPlayer.vue | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/client/components/AudioPlayer.vue b/client/components/AudioPlayer.vue
index 8d367bc2..a7937e2f 100644
--- a/client/components/AudioPlayer.vue
+++ b/client/components/AudioPlayer.vue
@@ -226,6 +226,7 @@ export default {
       clearInterval(this.listenTimeInterval)
       var lastTime = this.$refs.audio.currentTime
       var lastTick = Date.now()
+      var noProgressCount = 0
       this.listenTimeInterval = setInterval(() => {
         if (!this.$refs.audio) {
           console.error('Canceling audio played interval no audio player')
@@ -245,13 +246,18 @@ export default {
         var currentTime = this.$refs.audio.currentTime
         var differenceFromExpected = expectedAudioTime - currentTime
         if (currentTime === lastTime) {
-          console.error('Audio current time has not increased - cancel interval and pause player')
-          this.cancelListenTimeInterval()
-          this.pause()
+          noProgressCount++
+          if (noProgressCount > 3) {
+            console.error('Audio current time has not increased - cancel interval and pause player')
+            this.cancelListenTimeInterval()
+            this.pause()
+          }
         } else if (Math.abs(differenceFromExpected) > 0.1) {
+          noProgressCount = 0
           console.warn('Invalid time between interval - resync last', differenceFromExpected)
           lastTime = currentTime
         } else {
+          noProgressCount = 0
           var exactPlayTimeDifference = currentTime - lastTime
           // console.log('Difference from expected', differenceFromExpected, 'Exact play time diff', exactPlayTimeDifference)
           lastTime = currentTime