UNPKG

xgplayer-dash

Version:
139 lines (138 loc) 4.38 kB
var util = {}; util.ArrayBufferToString = function(arr) { var str = ""; var view = new Uint8Array(arr); for (var i = 0; i < view.length; i++) { str += String.fromCharCode(view[i]); } return str; }; util.StringToArrayBuffer = function(str) { var arr = new ArrayBuffer(str.length); var view = new Uint8Array(arr); for (var i = 0; i < str.length; i++) { view[i] = str.charCodeAt(i); } return arr; }; util.Base64ToHex = function(str) { var bin = window.atob(str.replace(/-/g, "+").replace(/_/g, "/")); var res = ""; for (var i = 0; i < bin.length; i++) { res += ("0" + bin.charCodeAt(i).toString(16)).substr(-2); } return res; }; util.HexToBase64 = function(hex) { var bin = ""; for (var i = 0; i < hex.length; i += 2) { bin += String.fromCharCode(parseInt(hex.substr(i, 2), 16)); } return window.btoa(bin).replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_"); }; util.findBox = function(root, type) { var result = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : []; if (root.type !== type) { if (root && root.subBox) { var box = root.subBox.filter(function(item) { return item.type === type; }); if (box.length) { box.forEach(function(item) { return result.push(item); }); } else { root.subBox.forEach(function(item) { return util.findBox(item, type, result); }); } } } else { result.push(root); } result = [].concat(result); return result.length > 1 ? result : result[0]; }; util.padStart = function(str, length, pad) { var charstr = String(pad); var len = length >> 0; var maxlen = Math.ceil(len / charstr.length); var chars = []; var r = String(str); while (maxlen--) { chars.push(charstr); } return chars.join("").substring(0, len - r.length) + r; }; util.durationConvert = function(value) { var Hours = 0; var Minutes = 0; var Seconds = 0; value = value.slice(value.indexOf("PT") + 2); if (value.indexOf("H") > -1 && value.indexOf("M") > -1 && value.indexOf("S") > -1) { Hours = parseFloat(value.slice(0, value.indexOf("H"))); Minutes = parseFloat(value.slice(value.indexOf("H") + 1, value.indexOf("M"))); Seconds = parseFloat(value.slice(value.indexOf("M") + 1, value.indexOf("S"))); } else if (value.indexOf("H") < 0 && value.indexOf("M") > 0 && value.indexOf("S") > -1) { Minutes = parseFloat(value.slice(0, value.indexOf("M"))); Seconds = parseFloat(value.slice(value.indexOf("M") + 1, value.indexOf("S"))); } else if (value.indexOf("H") < 0 && value.indexOf("M") < 0 && value.indexOf("S") > -1) { Seconds = parseFloat(value.slice(0, value.indexOf("S"))); } return Hours * 3600 + Minutes * 60 + Seconds; }; util.preFixInterge = function(num, n) { return (Array(n).join(0) + num).slice(-n); }; util.toHex = function() { var hex = []; for (var _len = arguments.length, value = new Array(_len), _key = 0; _key < _len; _key++) { value[_key] = arguments[_key]; } value.forEach(function(item) { hex.push(util.padStart(Number(item).toString(16), 2, 0)); }); return hex; }; util.sum = function() { var count = 0; for (var _len2 = arguments.length, rst = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { rst[_key2] = arguments[_key2]; } rst.forEach(function(item) { count += item; }); return count; }; util.toUTF8 = function(str) { var encoded = encodeURIComponent(str); var utf8 = unescape(encoded); var result = new Uint8Array(utf8.length); for (var i = 0; i < utf8.length; ++i) { result[i] = utf8.charCodeAt(i); } return result.buffer; }; util.fromHex = function(str) { var arr = new Uint8Array(str.length / 2); for (var i = 0; i < str.length; i += 2) { arr[i / 2] = window.parseInt(str.substr(i, 2), 16); } return arr; }; util.fromCharCode = function(array) { var max = 16e3; var ret = ""; for (var i = 0; i < array.length; i += max) { var subArray = array.subarray(i, i + max); ret += String.fromCharCode.apply(null, subArray); } return ret; }; util.toBase64 = function(arr, padding) { var bytes = util.fromCharCode(arr); padding = padding === void 0 ? true : padding; var base64 = window.btoa(bytes).replace(/\+/g, "-").replace(/\//g, "_"); return padding ? base64 : base64.replace(/=*$/, ""); }; export { util as default };