diff --git a/templates/useroptions.jade b/templates/useroptions.jade
index c91b4e3a..c2258bca 100644
--- a/templates/useroptions.jade
+++ b/templates/useroptions.jade
@@ -73,10 +73,6 @@ mixin us-playback
.col-sm-4
.col-sm-8
p.text-info Setting wmode=transparent allows objects to be displayed above the video player, but may cause performance issues on some systems.
- mixin rcheckbox("us-no-h264", "Use flash for h.264 playback")
- .col-sm-4
- .col-sm-8
- p.text-info CyTube will attempt to autodetect browsers that do not natively support h.264 playback and fall back on a flash player. This overrides that automatic detection and forces use of the flash player.
mixin rcheckbox("us-hidevideo", "Remove the video player")
mixin rcheckbox("us-playlistbuttons", "Hide playlist buttons by default")
mixin rcheckbox("us-oldbtns", "Old style playlist buttons")
diff --git a/www/js/callbacks.js b/www/js/callbacks.js
index 98e11467..e9608a1c 100644
--- a/www/js/callbacks.js
+++ b/www/js/callbacks.js
@@ -867,10 +867,6 @@ Callbacks = {
}
if (data.type === "fi") {
- if (USEROPTS.no_h264 && data.meta.codec === "mov/h264") {
- data.forceFlash = true;
- }
-
data.url = data.id;
}
@@ -885,13 +881,6 @@ Callbacks = {
data = googlePlusSimulator2014(data);
}
- /* RTMP player has been replaced with the general flash player */
- if (data.type === "rt") {
- data.url = data.id;
- data.type = "fi";
- data.forceFlash = true;
- }
-
if (data.type != PLAYER.type) {
loadMediaPlayer(data);
}
diff --git a/www/js/data.js b/www/js/data.js
index 1885ff62..21084f32 100644
--- a/www/js/data.js
+++ b/www/js/data.js
@@ -103,19 +103,6 @@ function getOrDefault(k, def) {
return v;
}
-function default_noh264() {
- var ua = navigator.userAgent + "";
- if (ua.match(/Chrome|Chromium/)) {
- return false;
- } else if (ua.match(/Firefox/)) {
- var version = ua.match(/Firefox\/(\d+)/)[1];
- version = parseInt(version);
- return version >= 29;
- } else {
- return true;
- }
-}
-
var USEROPTS = {
theme : getOrDefault("theme", "/css/themes/slate.css"),
layout : getOrDefault("layout", "fluid"),
@@ -139,7 +126,6 @@ var USEROPTS = {
default_quality : getOrDefault("default_quality", ""),
boop : getOrDefault("boop", "never"),
secure_connection : getOrDefault("secure_connection", false),
- no_h264 : getOrDefault("no_h264", default_noh264()),
show_shadowchat : getOrDefault("show_shadowchat", false)
};
diff --git a/www/js/player.js b/www/js/player.js
index 23bee7a5..75b4de01 100644
--- a/www/js/player.js
+++ b/www/js/player.js
@@ -687,34 +687,6 @@ var RTMPPlayer = function (data) {
});
};
-function flashEventHandler(id, ev, data) {
- switch (ev) {
- case "timeupdate":
- PLAYER.currentTime = data.currentTime;
- break;
- case "pause":
- PLAYER.paused = data.paused;
- if (CLIENT.leader)
- sendVideoUpdate();
- break;
- case "play":
- PLAYER.paused = data.paused;
- if (CLIENT.leader)
- sendVideoUpdate();
- break;
- case "volumechange":
- PLAYER.volume = (data.muted ? 0 : data.volume);
- break;
- case "progress":
- break;
- case "onJavaScriptBridgeCreated":
- PLAYER.player = $("#ytapiplayer")[0];
- break;
- default:
- break;
- }
-}
-
var JWPlayer = function (data) {
var self = this;
self.videoId = data.id;
@@ -902,85 +874,6 @@ var CustomPlayer = function (data) {
function FilePlayer(data) {
var self = this;
- self.initFlash = function (data) {
- waitUntilDefined(window, "swfobject", function () {
- if (!data.url) {
- return;
- }
- self.volume = VOLUME;
- self.videoId = data.id;
- self.videoURL = data.url;
- self.videoLength = data.seconds;
- self.paused = false;
- self.currentTime = 0;
-
- var params = {
- allowFullScreen: "true",
- allowScriptAccess: "always",
- allowNetworking: "all",
- wMode: "direct"
- };
-
- var flashvars = {
- src: encodeURIComponent(self.videoURL),
- // For some reason this param seems not to work
- clipStartTime: Math.floor(data.currentTime),
- javascriptCallbackFunction: "flashEventHandler",
- autoPlay: true,
- volume: VOLUME
- };
-
- if (self.videoURL.indexOf("rtmp") === 0) {
- flashvars.streamType = "live";
- } else {
- flashvars.streamType = "recorded";
- }
-
- swfobject.embedSWF("/StrobeMediaPlayback.swf",
- "ytapiplayer",
- VWIDTH, VHEIGHT,
- "10.1.0",
- null,
- flashvars,
- params,
- { name: "ytapiplayer" }
- );
-
- self.player = $("#ytapiplayer")[0];
- resizeStuff();
-
- self.pause = function () {
- if (self.player && self.player.pause)
- self.player.pause();
- };
-
- self.play = function () {
- // Why is it play2? What happened to play1?
- if (self.player && self.player.play2)
- self.player.play2();
- };
-
- self.getTime = function (cb) {
- cb(self.currentTime);
- };
-
- self.seek = function (to) {
- if (self.player && self.player.seek) {
- self.player.seek(Math.floor(to));
- }
- };
-
- self.getVolume = function (cb) {
- cb(self.volume);
- };
-
- self.setVolume = function (vol) {
- if (self.player && self.player.setVolume)
- self.player.setVolume(vol);
- };
- });
- };
-
self.init = function (data) {
if (!data.url) {
return;
@@ -1004,7 +897,8 @@ function FilePlayer(data) {
video.error(function (err) {
setTimeout(function () {
console.log("