"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.pickNextLowerDefinition=exports.pickNextLiveCandidate=exports.isValidLiveEngineMode=exports.buildStreamSwitchPayload=exports.buildLiveCandidatesByEngine=exports.buildLiveCandidates=void 0;var _utils=require("../../utils/utils");function _createForOfIteratorHelper(r,e){var n="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!n){if(Array.isArray(r)||(n=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){n&&(r=n);var i=0,t=function(){};return{s:t,n:function(){return i>=r.length?{done:!0}:{done:!1,value:r[i++]}},e:function(r){throw r},f:t}}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(r)},n:function(){var r=n.next();return a=r.done,r},e:function(r){l=!0,o=r},f:function(){try{a||null==n.return||n.return()}finally{if(l)throw o}}}}function _unsupportedIterableToArray(r,e){if(r){if("string"==typeof r)return _arrayLikeToArray(r,e);var n=Object.prototype.toString.call(r).slice(8,-1);return"Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(r,e):void 0}}function _arrayLikeToArray(r,e){(null==e||e>r.length)&&(e=r.length);for(var n=0,i=new Array(e);n=n.length-1?null:n[i+1]};exports.pickNextLowerDefinition=pickNextLowerDefinition;var pickNextLiveCandidate=function(r){var e=Array.isArray(null==r?void 0:r.candidates)?r.candidates:[];if(!e.length)return null;var n=(null==r?void 0:r.roundMax)||0,i=Number.isFinite(Number(null==r?void 0:r.currentIndex))?r.currentIndex:0,t=Number.isFinite(Number(null==r?void 0:r.roundIndex))&&r.roundIndex>0?r.roundIndex:1,o=e[i]||{},a=i+1,l=e[a],u=t;if(!l){if(n&&t>=n)return null;u=t+1,a=0,l=e[0]}return{current:o,next:l,nextIndex:a,nextRound:u}};exports.pickNextLiveCandidate=pickNextLiveCandidate;var buildStreamSwitchPayload=function(r){var e,n=null!==(e=null==r?void 0:r.now)&&void 0!==e?e:Date.now(),i=null==r?void 0:r.current,t=null==r?void 0:r.next;return{startMs:n,protocolFrom:null==i?void 0:i.protocol,protocolTo:null==t?void 0:t.protocol,fromPrimary:null==i?void 0:i.fromPrimary,reason:null==r?void 0:r.reason,retryIndex:null==r?void 0:r.retryIndex,roundIndex:null==r?void 0:r.roundIndex,fromUrl:null==i?void 0:i.url,toUrl:null==t?void 0:t.url}};exports.buildStreamSwitchPayload=buildStreamSwitchPayload;var SUPPORTED_ENGINE_MODES=["video","live-player","auto"],isValidLiveEngineMode=function(r){return SUPPORTED_ENGINE_MODES.includes(r)};exports.isValidLiveEngineMode=isValidLiveEngineMode;