"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isForceUseVideoEngine=exports.isDeviceMatchRulesMatched=exports.isDeviceMatchRuleMatched=exports.getVodInfoByVid=exports.getDeviceMatchContext=exports.formatReplayLines=exports.formatPseudoLiveLines=exports.formatLiveLines=exports.VodDefinitionMap=exports.LiveDefinitionMap=void 0;var _request=_interopRequireDefault(require("../../utils/request")),_constant=require("../../utils/constant"),_getSdkVersion=require("../../utils/get-sdk-version"),_utils=require("../../utils/utils"),_constants=require("./constants");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _regeneratorRuntime(){_regeneratorRuntime=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,r=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",l=i.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function c(e,t,n,i){var o=t&&t.prototype instanceof d?t:d,a=Object.create(o.prototype),l=new b(i||[]);return r(a,"_invoke",{value:M(e,n,l)}),a}function s(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=c;var f={};function d(){}function v(){}function p(){}var h={};u(h,o,function(){return this});var y=Object.getPrototypeOf,m=y&&y(y(x([])));m&&m!==t&&n.call(m,o)&&(h=m);var g=p.prototype=d.prototype=Object.create(h);function L(e){["next","throw","return"].forEach(function(t){u(e,t,function(e){return this._invoke(t,e)})})}function S(e,t){function i(r,o,a,l){var u=s(e[r],e,o);if("throw"!==u.type){var c=u.arg,f=c.value;return f&&"object"==_typeof(f)&&n.call(f,"__await")?t.resolve(f.__await).then(function(e){i("next",e,a,l)},function(e){i("throw",e,a,l)}):t.resolve(f).then(function(e){c.value=e,a(c)},function(e){return i("throw",e,a,l)})}l(u.arg)}var o;r(this,"_invoke",{value:function(e,n){function r(){return new t(function(t,r){i(e,n,t,r)})}return o=o?o.then(r,r):r()}})}function M(e,t,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return{value:void 0,done:!0}}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var l=D(a,n);if(l){if(l===f)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var u=s(e,t,n);if("normal"===u.type){if(r=n.done?"completed":"suspendedYield",u.arg===f)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r="completed",n.method="throw",n.arg=u.arg)}}}function D(e,t){var n=t.method,r=e.iterator[n];if(void 0===r)return t.delegate=null,"throw"===n&&e.iterator.return&&(t.method="return",t.arg=void 0,D(e,t),"throw"===t.method)||"return"!==n&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+n+"' method")),f;var i=s(r,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,f;var o=i.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,f):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}function V(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function I(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function b(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(V,this),this.reset(!0)}function x(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function t(){for(;++r=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var l=n.call(o,"catchLoc"),u=n.call(o,"finallyLoc");if(l&&u){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),I(n),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;I(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:x(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),f}},e}function asyncGeneratorStep(e,t,n,r,i,o,a){try{var l=e[o](a),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,i)}function _asyncToGenerator(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function a(e){asyncGeneratorStep(o,r,i,a,l,"next",e)}function l(e){asyncGeneratorStep(o,r,i,a,l,"throw",e)}a(void 0)})}}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _createForOfIteratorHelper(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=_unsupportedIterableToArray(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){l=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(l)throw o}}}}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,t):void 0}}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=|<=|>|<|=)\s*(\d+\.\d+\.\d+)$/);i&&(n=i[1],r=i[2])}return{operator:n,version:r}},isVersionRuleMatched=function(e,t){if(!t.version)return!0;var n=(0,_utils.compareVersion)(e,t.version);if(null===n)return!1;switch(t.operator){case">":return n>0;case">=":return n>=0;case"<":return n<0;case"<=":return n<=0;case"=":case"==":return 0===n;default:return!1}},getDeviceMatchContext=function(){try{var e=wx.getSystemInfoSync()||{};return{model:String(e.model||""),brand:String(e.brand||""),system:String(e.system||""),platform:String(e.platform||""),sdkVersion:(0,_getSdkVersion.getSdkVersion)()}}catch(e){return null}};exports.getDeviceMatchContext=getDeviceMatchContext;var isDeviceMatchRuleMatched=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:getDeviceMatchContext();if(!e||"object"!==_typeof(e)||!t)return!1;var n=getRuleValue(e,["model"]),r=getRuleValue(e,["brand"]),i=getRuleValue(e,["system"]),o=getRuleValue(e,["platform"]),a=normalizeVersionRule(e);return!(!(n||r||i||o||a.version)||n&&!t.model.includes(n)||r&&!t.brand.includes(r)||i&&!t.system.includes(i)||o&&!t.platform.includes(o)||!isVersionRuleMatched(t.sdkVersion,a))};exports.isDeviceMatchRuleMatched=isDeviceMatchRuleMatched;var isDeviceMatchRulesMatched=function(e){var t=Array.isArray(e)?e:[];if(!t.length)return!1;var n,r=getDeviceMatchContext(),i=_createForOfIteratorHelper(t);try{for(i.s();!(n=i.n()).done;){var o=n.value;if(isDeviceMatchRuleMatched(o,r))return!0}}catch(e){i.e(e)}finally{i.f()}return!1};exports.isDeviceMatchRulesMatched=isDeviceMatchRulesMatched;var isForceUseVideoEngine=function(e){return isDeviceMatchRulesMatched(e)};exports.isForceUseVideoEngine=isForceUseVideoEngine;var VodDefinitionMap={"":["智能","Auto","Auto","智能"],"1080p":["蓝光","1080P","1080P","藍光"],"720p":["超清","720P","720P","超清"],"540p":["高清","540P","540P","高清"],"360p":["标清","360P","360P","標清"],auto:["智能","Auto","Auto","智能"]};exports.VodDefinitionMap=VodDefinitionMap;var LiveDefinitionMap={auto:["智能","Auto","Auto","智能"],origin:["原画","Orig","Orig","原畫"],bd:["蓝光","1080P Prem","1080P Prem","藍光"],uhd:["超清","1080P","1080P","超清"],hd:["高清","720P","720P","高清"],sd:["标清","540P","540P","標清"],ld:["标清","240P","240P","標清"],ao:["纯音频","Audio","Audio","純音頻"]};exports.LiveDefinitionMap=LiveDefinitionMap;var PSEUDO_LIVE_DEFINITION_ORDER=["1080p","720p","540p","360p","240p"],appendAutoQuery=function(e){return e?e.includes("?")?"".concat(e,"&auto=1"):"".concat(e,"?auto=1"):""},normalizePseudoDefinitionList=function(e){var t=Array.isArray(e)?e:[];return Array.from(new Set(t.map(function(e){var t;return null==e||null===(t=e.VideoMeta)||void 0===t?void 0:t.Definition}).filter(Boolean))).sort(function(e,t){var n=PSEUDO_LIVE_DEFINITION_ORDER.indexOf(e),r=PSEUDO_LIVE_DEFINITION_ORDER.indexOf(t);return-1===n&&-1===r?0:-1===n?1:-1===r?-1:n-r})},buildPseudoPlayItem=function(e,t,n){var r,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!e)return null;var o=String((null==e||null===(r=e.VideoMeta)||void 0===r?void 0:r.Format)||"").toLowerCase(),a=(null==e?void 0:e.MainUrl)||(null==e?void 0:e.MainHTTPUrl)||"",l=(null==e?void 0:e.BackupUrl)||(null==e?void 0:e.BackupHTTPUrl)||"";if(!a)return null;var u=i?"auto":t;return{streamType:o,url:i?appendAutoQuery(a):a,definition:u,backUrlList:l?[l]:[],lineId:n,mapDefinition:i?t:void 0}},sortPseudoVideoInfos=function(e){return(Array.isArray(e)?e.slice():[]).sort(function(e,t){var n,r,i=String((null==e||null===(n=e.VideoMeta)||void 0===n?void 0:n.Format)||"").toLowerCase(),o=String((null==t||null===(r=t.VideoMeta)||void 0===r?void 0:r.Format)||"").toLowerCase();return i===o?0:"hls"===i?-1:"hls"===o?1:0})},formatVodInfo=function(e){var t,n,r,i,o=e.VideoInfos||[],a=null==o?void 0:o[0];return{sourceData:e,type:null==a?void 0:a.Format,defaultUrl:null!==(t=null==a?void 0:a.MainUrl)&&void 0!==t?t:"",defaultDef:null==a||null===(n=a.VideoMeta)||void 0===n?void 0:n.Definition,height:null==a||null===(r=a.VideoMeta)||void 0===r?void 0:r.Height,width:null==a||null===(i=a.VideoMeta)||void 0===i?void 0:i.Width,list:o.map(function(e){var t,n,r,i,o,a,l,u;return{text:{zh:null!==(t=null==VodDefinitionMap||null===(n=VodDefinitionMap[e.VideoMeta.Definition])||void 0===n?void 0:n[0])&&void 0!==t?t:e.VideoMeta.Definition,en:null!==(r=null==VodDefinitionMap||null===(i=VodDefinitionMap[e.VideoMeta.Definition])||void 0===i?void 0:i[1])&&void 0!==r?r:e.VideoMeta.Definition,ja:null!==(o=null==VodDefinitionMap||null===(a=VodDefinitionMap[e.VideoMeta.Definition])||void 0===a?void 0:a[2])&&void 0!==o?o:e.VideoMeta.Definition,hant:null!==(l=null==VodDefinitionMap||null===(u=VodDefinitionMap[e.VideoMeta.Definition])||void 0===u?void 0:u[3])&&void 0!==l?l:e.VideoMeta.Definition},url:e.MainUrl,definition:e.VideoMeta.Definition}})}},getVodInfoByVid=function(){var e=_asyncToGenerator(_regeneratorRuntime().mark(function e(t,n){var r,i,o,a,l,u,c,s,f,d;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(u=null!==(r=null==n?void 0:n.request)&&void 0!==r?r:_request.default,c=null==n?void 0:n.prefetchVodInfo,!t||!c){e.next=6;break}if(!((s=null==c?void 0:c.OriginalVideoInfo)&&s.FileId===t&&1e3*s.UrlExpire>Date.now())){e.next=6;break}return e.abrupt("return",formatVodInfo(c));case 6:return e.next=8,u(_constant.REQUEST_URL_MAP.VOD_SDK_URL_SAAS,{method:"POST",data:{Vid:t,FormatType:"hls",activityId:null==n?void 0:n.activityId},retry:{max:_constants.API_RETRY_MAX}});case 8:if(f=e.sent,d=null!==(i=null!==(o=null==f?void 0:f.VideoInfo)&&void 0!==o?o:null==f||null===(a=f.data)||void 0===a?void 0:a.VideoInfo)&&void 0!==i?i:null==f||null===(l=f.Result)||void 0===l?void 0:l.VideoInfo){e.next=12;break}throw f;case 12:return e.abrupt("return",formatVodInfo(d));case 13:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}();exports.getVodInfoByVid=getVodInfoByVid;var formatReplayLines=function(e){return(Array.isArray(e)?e:[]).map(function(e){return{mediaId:e.MediaId,coverImage:e.CoverImage,name:e.Name,vid:e.Vid,url:e.Url,sourceType:e.SourceType}})};exports.formatReplayLines=formatReplayLines;var formatPseudoLiveLines=function(e){var t,n,r,i=null==e||null===(t=e.LineConfigs)||void 0===t?void 0:t[0],o=null==i||null===(n=i.VodLoopVideos)||void 0===n?void 0:n[0],a=(null==o||null===(r=o.VideoInfo)||void 0===r?void 0:r.VideoInfos)||[];if(!i||!o||!a.length)return[];var l=normalizePseudoDefinitionList(a);if(!l.length)return[];var u={},c=new Set(l);a.forEach(function(e){var t,n=null==e||null===(t=e.VideoMeta)||void 0===t?void 0:t.Definition;c.has(n)&&(u[n]=u[n]||[],u[n].push(e))});var s=l[0],f=[];if(l.forEach(function(e){sortPseudoVideoInfos(u[e]).forEach(function(t){var n=buildPseudoPlayItem(t,e,i.LineId);n&&f.push(n)})}),!f.length)return[];var d=sortPseudoVideoInfos(u[s]).map(function(e){return buildPseudoPlayItem(e,s,i.LineId,!0)}).filter(Boolean);return[{LineName:i.LineName||"线路一",LineId:i.LineId,MainDefaultSize:s,DefaultSize:"auto",AllowedSize:["auto"].concat(l),SizeList:l,isHasBack:f.some(function(e){return Array.isArray(e.backUrlList)&&e.backUrlList.length}),VideoPlayList:d.length?d.concat(f):f}]};exports.formatPseudoLiveLines=formatPseudoLiveLines;var formatLiveLines=function(e){var t=[],n=function(e,t){return"origin"===t?e:e.replace(".m3u8","_".concat(t,".m3u8"))};return null==e||e.forEach(function(e){var r,i,o,a={LineName:e.LineName,LineId:e.LineId,NetType:e.NetType,Language:e.Language,MainDefaultSize:e.MainDefaultSize,DefaultSize:e.MainDefaultSize,MainStreamStatus:e.MainStreamStatus,BackupStreamStatus:e.BackupStreamStatus,AllowedSize:(null===(r=e.AllowedSizeV2)||void 0===r?void 0:r.split(","))||[],IsTimeShift:!!e.IsTimeShift,TimeShiftUrl:e.TimeShiftUrl,OpenLiveAvextractorTask:!!e.OpenLiveAvextractorTask,ShowType:e.ShowType,EnableABR:!!e.EnableABR,DefaultLiveType:e.MainDefaultProtocol,ExpireTime:e.ExpireTime,DefaultSubtitleLanguage:(null!==(i=e.DefaultSubtitleLanguage)&&void 0!==i?i:"").split(","),isHasBack:!0};a.AllowedSize=(o=a.AllowedSize).includes("auto")?o:o.concat("auto");var l=(e.Main||[]).map(function(e){return null==e?void 0:e.Size}).filter(Boolean);a.SizeList=l;var u=function(e,t){var r=[],i=[],o=[];return e.Main?(e.Main.forEach(function(e){var a,l,u,c,s,f,d,v,p,h=null!==(a=null==e||null===(l=e.Url)||void 0===l?void 0:l.FlvUrl)&&void 0!==a?a:"",y=null!==(u=null==e||null===(c=e.Url)||void 0===c?void 0:c.RtmpUrl)&&void 0!==u?u:"",m=null!==(s=null==e||null===(f=e.Url)||void 0===f?void 0:f.HlsUrl)&&void 0!==s?s:"",g={streamType:"flv",url:h,definition:e.Size,backUrlList:null===(d=e.BackupUrl)||void 0===d?void 0:d.map(function(e){return e.FlvUrl}),lineId:t.LineId},L={streamType:"rtmp",url:y,definition:e.Size,backUrlList:null===(v=e.BackupUrl)||void 0===v?void 0:v.map(function(e){return e.RtmpUrl}),lineId:t.LineId},S={streamType:"hls",url:m,definition:e.Size,backUrlList:null===(p=e.BackupUrl)||void 0===p?void 0:p.map(function(e){return e.HlsUrl}),lineId:t.LineId};t.IsTimeShift&&(g.timeShiftUrl=n(t.TimeShiftUrl,e.Size)),g.url&&r.push(g),L.url&&i.push(L),S.url&&o.push(S)}),{FlvPlayList:r,RtmpPlayList:i,HlsPlayList:o}):{FlvPlayList:r,RtmpPlayList:i,HlsPlayList:o}}(e,a),c=u.FlvPlayList,s=u.RtmpPlayList,f=u.HlsPlayList;!function(e,t){var n=e.Main.map(function(e){return e.Size});e.MainDefaultSize&&n.includes(e.MainDefaultSize)||(t.MainDefaultSize=n.includes("ld")?"ld":n[n.length-1]),t.DefaultSize=t.MainDefaultSize}(e,a),function(e,t,r,i,o){var a,l,u,c,s,f,d,v,p,h,y,m=null==e||null===(a=e.Main)||void 0===a?void 0:a.find(function(e){return e.Size===t.MainDefaultSize});if(m){var g=null!==(l=null==m||null===(u=m.Url)||void 0===u?void 0:u.FlvUrl)&&void 0!==l?l:"",L=null!==(c=null==m||null===(s=m.Url)||void 0===s?void 0:s.RtmpUrl)&&void 0!==c?c:"",S=null!==(f=null==m||null===(d=m.Url)||void 0===d?void 0:d.HlsUrl)&&void 0!==f?f:"",M={streamType:"flv",url:appendAutoQuery(g),definition:"auto",backUrlList:null===(v=m.BackupUrl)||void 0===v?void 0:v.map(function(e){return e.FlvUrl}),lineId:t.LineId,mapDefinition:t.MainDefaultSize},D={streamType:"rtmp",url:appendAutoQuery(L),definition:"auto",backUrlList:null===(p=m.BackupUrl)||void 0===p?void 0:p.map(function(e){return e.RtmpUrl}),lineId:t.LineId,mapDefinition:t.MainDefaultSize},V={streamType:"hls",url:appendAutoQuery(S),definition:"auto",backUrlList:null===(h=m.BackupUrl)||void 0===h?void 0:h.map(function(e){return e.HlsUrl}),lineId:t.LineId,mapDefinition:t.MainDefaultSize};t.IsTimeShift&&(M.timeShiftUrl=n(t.TimeShiftUrl,m.Size)),null!=m&&null!==(y=m.Url)&&void 0!==y&&y.FlvUrl&&r.unshift(M),L&&i.unshift(D),S&&o.unshift(V),t.DefaultSize="auto"}}(e,a,c,s,f),a.FlvPlayList=c,a.RtmpPlayList=s,a.HlsPlayList=f,a.DefaultLiveType="flv",t.push(a)},[]),t};exports.formatLiveLines=formatLiveLines;