aboutsummaryrefslogtreecommitdiffstats
path: root/res
diff options
context:
space:
mode:
Diffstat (limited to 'res')
-rw-r--r--res/client.js75
1 files changed, 66 insertions, 9 deletions
diff --git a/res/client.js b/res/client.js
index 35ed305..80f7597 100644
--- a/res/client.js
+++ b/res/client.js
@@ -1,4 +1,4 @@
-// Generated by Haxe 4.3.4
+// Generated by Haxe 4.3.5
(function ($hx_exports, $global) { "use strict";
$hx_exports["client"] = $hx_exports["client"] || {};
$hx_exports["client"]["JsApi"] = $hx_exports["client"]["JsApi"] || {};
@@ -1593,7 +1593,7 @@ client_Main.prototype = {
var data = JSON.parse(e.data);
if(this.config != null && this.config.isVerbose) {
var t = data.type;
- haxe_Log.trace("Event: " + data.type,{ fileName : "src/client/Main.hx", lineNumber : 405, className : "client.Main", methodName : "onMessage", customParams : [Reflect.field(data,t.charAt(0).toLowerCase() + HxOverrides.substr(t,1,null))]});
+ haxe_Log.trace("Event: " + data.type,{ fileName : "src/client/Main.hx", lineNumber : 404, className : "client.Main", methodName : "onMessage", customParams : [Reflect.field(data,t.charAt(0).toLowerCase() + HxOverrides.substr(t,1,null))]});
}
client_JsApi.fireOnceEvent(data);
switch(data.type) {
@@ -2342,7 +2342,7 @@ var client_Player = function(main) {
this.videoList = new VideoList();
this.main = main;
this.youtube = new client_players_Youtube(main,this);
- this.players = [this.youtube];
+ this.players = [this.youtube,new client_players_Streamable(main,this)];
this.iframePlayer = new client_players_Iframe(main,this);
this.rawPlayer = new client_players_Raw(main,this);
this.initItemButtons();
@@ -2829,7 +2829,7 @@ client_Player.prototype = {
}
};
http.onError = function(msg) {
- haxe_Log.trace(msg,{ fileName : "src/client/Player.hx", lineNumber : 485, className : "client.Player", methodName : "skipAd"});
+ haxe_Log.trace(msg,{ fileName : "src/client/Player.hx", lineNumber : 484, className : "client.Player", methodName : "skipAd"});
};
http.request();
}
@@ -3496,7 +3496,7 @@ client_players_RawSubs.convertAssTime = function(time) {
client_players_RawSubs.isProxyError = function(text) {
if(StringTools.startsWith(text,"Proxy error:")) {
client_Main.serverMessage("Failed to add subs: proxy error");
- haxe_Log.trace("Failed to add subs: " + text,{ fileName : "src/client/players/RawSubs.hx", lineNumber : 221, className : "client.players.RawSubs", methodName : "isProxyError"});
+ haxe_Log.trace("Failed to add subs: " + text,{ fileName : "src/client/players/RawSubs.hx", lineNumber : 219, className : "client.players.RawSubs", methodName : "isProxyError"});
return true;
}
return false;
@@ -3511,6 +3511,63 @@ client_players_RawSubs.onParsed = function(video,name,dataUrl) {
var track = trackEl.track;
track.mode = "showing";
};
+var client_players_Streamable = function(main,player) {
+ this.matchBadStreamableId = new EReg("[^0-9A-z-_]","g");
+ this.matchStreamable = new EReg("streamable\\.com/(.+)","g");
+ client_players_Raw.call(this,main,player);
+};
+client_players_Streamable.__name__ = true;
+client_players_Streamable.__super__ = client_players_Raw;
+client_players_Streamable.prototype = $extend(client_players_Raw.prototype,{
+ isSupportedLink: function(url) {
+ if(!this.matchStreamable.match(url)) {
+ return false;
+ }
+ var id = this.matchStreamable.matched(1);
+ if(this.matchBadStreamableId.match(id)) {
+ return false;
+ }
+ return true;
+ }
+ ,getVideoData: function(data,callback) {
+ var _gthis = this;
+ this.getStreamableVideoData(data.url,function(info) {
+ if(info == null) {
+ callback({ duration : 0});
+ return;
+ }
+ _gthis.getRawVideoData({ url : info.url, atEnd : data.atEnd},function(data) {
+ data.url = info.url;
+ data.title = info.title;
+ callback(data);
+ });
+ });
+ }
+ ,getRawVideoData: function(data,callback) {
+ client_players_Raw.prototype.getVideoData.call(this,data,callback);
+ }
+ ,getStreamableVideoData: function(url,callback) {
+ if(!this.matchStreamable.match(url)) {
+ callback(null);
+ return;
+ }
+ var http = new haxe_http_HttpJs("https://api.streamable.com/videos/" + this.matchStreamable.matched(1));
+ http.onData = function(text) {
+ try {
+ var json = JSON.parse(text);
+ var files = json != null ? json.files : null;
+ var item = files["mp4"];
+ if(item == null) {
+ item = files[Reflect.fields(files)[0]];
+ }
+ callback({ url : item.url, title : json.title});
+ } catch( _g ) {
+ callback(null);
+ }
+ };
+ http.request();
+ }
+});
var client_players_Youtube = function(main,player) {
this.matchSeconds = new EReg("([0-9]+)S","");
this.matchMinutes = new EReg("([0-9]+)M","");
@@ -3663,7 +3720,7 @@ client_players_Youtube.prototype = {
}
callback({ duration : _gthis.tempYoutube.getDuration()});
}, onError : function(e) {
- haxe_Log.trace("Error " + e.data,{ fileName : "src/client/players/Youtube.hx", lineNumber : 188, className : "client.players.Youtube", methodName : "getRemoteDataFallback"});
+ haxe_Log.trace("Error " + e.data,{ fileName : "src/client/players/Youtube.hx", lineNumber : 186, className : "client.players.Youtube", methodName : "getRemoteDataFallback"});
if(_gthis.playerEl.contains(video)) {
_gthis.playerEl.removeChild(video);
}
@@ -3711,7 +3768,7 @@ client_players_Youtube.prototype = {
}, onPlaybackRateChange : function(e) {
_gthis.player.onRateChange();
}, onError : function(e) {
- haxe_Log.trace("Error " + e.data,{ fileName : "src/client/players/Youtube.hx", lineNumber : 245, className : "client.players.Youtube", methodName : "loadVideo"});
+ haxe_Log.trace("Error " + e.data,{ fileName : "src/client/players/Youtube.hx", lineNumber : 243, className : "client.players.Youtube", methodName : "loadVideo"});
var tmp = _gthis.player.getCurrentItem();
if(tmp == null) {
return;
@@ -3725,8 +3782,8 @@ client_players_Youtube.prototype = {
var info = event.getYoutubeVideoInfo.response;
var tmp = _gthis.getBestStreamFormat(info);
if(tmp == null) {
- haxe_Log.trace("format not found in response info:",{ fileName : "src/client/players/Youtube.hx", lineNumber : 258, className : "client.players.Youtube", methodName : "rawSourceFallback"});
- haxe_Log.trace(info,{ fileName : "src/client/players/Youtube.hx", lineNumber : 259, className : "client.players.Youtube", methodName : "rawSourceFallback"});
+ haxe_Log.trace("format not found in response info:",{ fileName : "src/client/players/Youtube.hx", lineNumber : 256, className : "client.players.Youtube", methodName : "rawSourceFallback"});
+ haxe_Log.trace(info,{ fileName : "src/client/players/Youtube.hx", lineNumber : 257, className : "client.players.Youtube", methodName : "rawSourceFallback"});
return;
}
_gthis.player.changeVideoSrc(tmp.url);
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage