mirror of https://github.com/calzoneman/sync.git
Hack around YouTube HTML5 player race condition -- Really guys?
This commit is contained in:
parent
120d56d6c8
commit
033fbbf08a
|
@ -1,3 +1,7 @@
|
||||||
|
Wed Oct 16 21:48 2013 CDT
|
||||||
|
* www/assets/js/player.js: Add a stupid timeout hack to address
|
||||||
|
a race condition in YouTube's HTML5 player. Seriously?
|
||||||
|
|
||||||
Wed Oct 16 17:34 2013 CDT
|
Wed Oct 16 17:34 2013 CDT
|
||||||
* lib/utilities.js: Add a "Set" wrapper around objects to represent
|
* lib/utilities.js: Add a "Set" wrapper around objects to represent
|
||||||
sets.
|
sets.
|
||||||
|
|
|
@ -67,8 +67,11 @@ var YouTubePlayer = function (data) {
|
||||||
self.load = function (data) {
|
self.load = function (data) {
|
||||||
if(self.player && self.player.loadVideoById) {
|
if(self.player && self.player.loadVideoById) {
|
||||||
self.player.loadVideoById(data.id, data.currentTime);
|
self.player.loadVideoById(data.id, data.currentTime);
|
||||||
if(VIDEOQUALITY)
|
if(VIDEOQUALITY) {
|
||||||
self.player.setPlaybackQuality(VIDEOQUALITY);
|
self.player.setPlaybackQuality(VIDEOQUALITY);
|
||||||
|
// What's that? Another stupid hack for the HTML5 player?
|
||||||
|
self.player.setPlaybackQuality(VIDEOQUALITY);
|
||||||
|
}
|
||||||
self.videoId = data.id;
|
self.videoId = data.id;
|
||||||
self.videoLength = data.seconds;
|
self.videoLength = data.seconds;
|
||||||
}
|
}
|
||||||
|
@ -723,7 +726,6 @@ var ImgurPlayer = function (data) {
|
||||||
iframe.attr("height", VHEIGHT);
|
iframe.attr("height", VHEIGHT);
|
||||||
var prto = location.protocol;
|
var prto = location.protocol;
|
||||||
iframe.attr("src", prto+"//imgur.com/a/"+self.videoId+"/embed");
|
iframe.attr("src", prto+"//imgur.com/a/"+self.videoId+"/embed");
|
||||||
console.log(prto);
|
|
||||||
iframe.attr("frameborder", "0");
|
iframe.attr("frameborder", "0");
|
||||||
iframe.attr("scrolling", "no");
|
iframe.attr("scrolling", "no");
|
||||||
iframe.css("border", "none");
|
iframe.css("border", "none");
|
||||||
|
@ -804,8 +806,20 @@ function handleMediaUpdate(data) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (wait) {
|
if (wait) {
|
||||||
PLAYER.seek(0);
|
var tm = 1;
|
||||||
PLAYER.pause();
|
/* Stupid hack -- In this thrilling episode of
|
||||||
|
"the YouTube API developers should eat a boat", the
|
||||||
|
HTML5 player apparently breaks if I play()-seek(0)-pause()
|
||||||
|
quickly (as a "start buffering but don't play yet"
|
||||||
|
mechanism)
|
||||||
|
*/
|
||||||
|
if (PLAYER.type === "yt") {
|
||||||
|
tm = 500;
|
||||||
|
}
|
||||||
|
setTimeout(function () {
|
||||||
|
PLAYER.seek(0);
|
||||||
|
PLAYER.pause();
|
||||||
|
}, tm);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue