From dacf16754a71c8e83de4b8265682f36571800325 Mon Sep 17 00:00:00 2001 From: Sylvain Chevalier Date: Mon, 27 Jul 2015 14:31:08 +0200 Subject: [PATCH 1/2] Workaround for missing pause event in Youtube on Chrome --- wrappers/youtube/popcorn.HTMLYouTubeVideoElement.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/wrappers/youtube/popcorn.HTMLYouTubeVideoElement.js b/wrappers/youtube/popcorn.HTMLYouTubeVideoElement.js index 4aeadba39..5e7c89228 100644 --- a/wrappers/youtube/popcorn.HTMLYouTubeVideoElement.js +++ b/wrappers/youtube/popcorn.HTMLYouTubeVideoElement.js @@ -217,7 +217,9 @@ self.dispatchEvent( "canplaythrough" ); } - function onFirstPause() { + function onFirstPause(timeoutID) { + if (timeoutID) + clearTimeout(timeoutID); removeYouTubeEvent( "pause", onFirstPause ); if ( player.getCurrentTime() > 0 ) { setTimeout( onFirstPause, 0 ); @@ -239,7 +241,9 @@ setTimeout( onFirstPlay, 0 ); return; } - addYouTubeEvent( "pause", onFirstPause ); + // On Chrome the pause event is not fired + // so we back it with a timeout + addYouTubeEvent( "pause", onFirstPause, setTimeout(onFirstPause, 200) ); player.seekTo( 0 ); player.pauseVideo(); } From f6b9679f27fc55ae7eeb452746c641eff9fb76b6 Mon Sep 17 00:00:00 2001 From: Sylvain Chevalier Date: Tue, 28 Jul 2015 23:38:31 +0200 Subject: [PATCH 2/2] Better fix for missing pause event for Youtube --- wrappers/youtube/popcorn.HTMLYouTubeVideoElement.js | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/wrappers/youtube/popcorn.HTMLYouTubeVideoElement.js b/wrappers/youtube/popcorn.HTMLYouTubeVideoElement.js index 5e7c89228..f82c8f161 100644 --- a/wrappers/youtube/popcorn.HTMLYouTubeVideoElement.js +++ b/wrappers/youtube/popcorn.HTMLYouTubeVideoElement.js @@ -217,10 +217,7 @@ self.dispatchEvent( "canplaythrough" ); } - function onFirstPause(timeoutID) { - if (timeoutID) - clearTimeout(timeoutID); - removeYouTubeEvent( "pause", onFirstPause ); + function onFirstPause() { if ( player.getCurrentTime() > 0 ) { setTimeout( onFirstPause, 0 ); return; @@ -241,11 +238,9 @@ setTimeout( onFirstPlay, 0 ); return; } - // On Chrome the pause event is not fired - // so we back it with a timeout - addYouTubeEvent( "pause", onFirstPause, setTimeout(onFirstPause, 200) ); player.seekTo( 0 ); player.pauseVideo(); + onFirstPause(); } function addYouTubeEvent( event, listener ) {