Skip to content

Commit

Permalink
Merge pull request #57 from alexthewilde/master
Browse files Browse the repository at this point in the history
Stop any already running updateTimer interval
  • Loading branch information
2fdevs committed Mar 31, 2016
2 parents f10a0de + 7671167 commit d4afd3c
Showing 1 changed file with 25 additions and 8 deletions.
33 changes: 25 additions & 8 deletions youtube.js
Original file line number Diff line number Diff line change
Expand Up @@ -103,24 +103,39 @@ angular.module("info.vietnamcode.nampnq.videogular.plugins.youtube", [])
API.mediaElement[0].pause = function () {
ytplayer.pauseVideo();
};
function updateTime() {
API.onUpdateTime({
target: API.mediaElement[0]
});
}
updateTimer = setInterval(updateTime, 600);
updateTime(); // Initial time update
angular.element(ytplayer.getIframe()).css({'width':'100%','height':'100%'});

// Trigger canplay event
var event = new CustomEvent("canplay");
API.mediaElement[0].dispatchEvent(event);
}

function updateTime() {
API.onUpdateTime({
target: API.mediaElement[0]
});
}

function startUpdateTimer(interval) {
if (updateTimer) {
stopUpdateTimer();
}
updateTimer = setInterval(updateTime, interval);
}

function stopUpdateTimer() {
if (updateTimer) {
clearInterval(updateTimer);
}
}

function onVideoStateChange(event) {
var player = event.target;

switch (event.data) {
case YT.PlayerState.ENDED:
stopUpdateTimer();
API.onComplete();
break;

Expand All @@ -129,6 +144,7 @@ angular.module("info.vietnamcode.nampnq.videogular.plugins.youtube", [])
var event = new CustomEvent("playing");
API.mediaElement[0].dispatchEvent(event);
API.setState(VG_STATES.PLAY);
startUpdateTimer(600);
break;

case YT.PlayerState.PAUSED:
Expand All @@ -137,6 +153,7 @@ angular.module("info.vietnamcode.nampnq.videogular.plugins.youtube", [])
if (API.currentState == VG_STATES.PLAY) {
API.setState(VG_STATES.PAUSE);
}
stopUpdateTimer();
break;

case YT.PlayerState.BUFFERING:
Expand Down Expand Up @@ -181,7 +198,7 @@ angular.module("info.vietnamcode.nampnq.videogular.plugins.youtube", [])
}
);
scope.$on('$destroy', function() {
clearInterval(updateTimer);
stopUpdateTimer();
});
}
};
Expand Down

0 comments on commit d4afd3c

Please sign in to comment.