@@ -49,6 +49,42 @@ videojs.Vhs.xhr.beforeRequest = function(options) {
4949
5050var player = videojs ( 'player' , options ) ;
5151
52+ player . on ( 'error' , ( ) => {
53+ if ( video_data . params . quality !== 'dash' ) {
54+ if ( ! player . currentSrc ( ) . includes ( "local=true" ) && ! video_data . local_disabled ) {
55+ var currentSources = player . currentSources ( ) ;
56+ for ( var i = 0 ; i < currentSources . length ; i ++ ) {
57+ currentSources [ i ] [ "src" ] += "&local=true"
58+ }
59+ player . src ( currentSources )
60+ }
61+ else if ( player . error ( ) . code === 2 || player . error ( ) . code === 4 ) {
62+ setTimeout ( function ( event ) {
63+ console . log ( 'An error occurred in the player, reloading...' ) ;
64+
65+ var currentTime = player . currentTime ( ) ;
66+ var playbackRate = player . playbackRate ( ) ;
67+ var paused = player . paused ( ) ;
68+
69+ player . load ( ) ;
70+
71+ if ( currentTime > 0.5 ) currentTime -= 0.5 ;
72+
73+ player . currentTime ( currentTime ) ;
74+ player . playbackRate ( playbackRate ) ;
75+
76+ if ( ! paused ) player . play ( ) ;
77+ } , 10000 ) ;
78+ }
79+ }
80+ } ) ;
81+
82+ if ( video_data . params . quality == 'dash' ) {
83+ player . reloadSourceOnError ( {
84+ errorInterval : 10
85+ } ) ;
86+ }
87+
5288/**
5389 * Function for add time argument to url
5490 * @param {String } url
@@ -144,27 +180,6 @@ if (isMobile()) {
144180 } )
145181}
146182
147- player . on ( 'error' , function ( event ) {
148- if ( player . error ( ) . code === 2 || player . error ( ) . code === 4 ) {
149- setTimeout ( function ( event ) {
150- console . log ( 'An error occurred in the player, reloading...' ) ;
151-
152- var currentTime = player . currentTime ( ) ;
153- var playbackRate = player . playbackRate ( ) ;
154- var paused = player . paused ( ) ;
155-
156- player . load ( ) ;
157-
158- if ( currentTime > 0.5 ) currentTime -= 0.5 ;
159-
160- player . currentTime ( currentTime ) ;
161- player . playbackRate ( playbackRate ) ;
162-
163- if ( ! paused ) player . play ( ) ;
164- } , 5000 ) ;
165- }
166- } ) ;
167-
168183// Enable VR video support
169184if ( ! video_data . params . listen && video_data . vr && video_data . params . vr_mode ) {
170185 player . crossOrigin ( "anonymous" )
0 commit comments