             PKLog.warning("network unreachable")
         }
         reachability.onReachable = { [unowned self] reachability in
-            self.handleRefreshAsset()
+            if self.shouldRefresh {
+                self.handleRefreshAsset()
+            }
         }
     }
     

    }
    
    private func handleRefreshAsset() {
        if self.shouldRefresh {
            self.shouldRefresh = false
            self.refreshAsset()
        }
    }
}

        self.currentPlayer.currentPosition = CMTimeGetSeconds(time)
    }
    
    func destroy() {
        self.currentPlayer.destroy()
        self.removeAssetRefreshObservers()
