cafe-video-player 1.1.1 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/chunk-HMFKNB7P.js +2 -0
- package/{chunk-EZHLL53Z.js.map → chunk-HMFKNB7P.js.map} +1 -1
- package/chunk-MGBXTCBU.js +2 -0
- package/chunk-MGBXTCBU.js.map +1 -0
- package/chunk-UGPRXOI4.mjs +2 -0
- package/{chunk-4IF6EN3R.mjs.map → chunk-UGPRXOI4.mjs.map} +1 -1
- package/chunk-VMTLER3M.mjs +2 -0
- package/chunk-VMTLER3M.mjs.map +1 -0
- package/index.js +5 -5
- package/index.js.map +1 -1
- package/index.mjs +4 -4
- package/index.mjs.map +1 -1
- package/nonStaticVideoTag-GQVYOLZ2.mjs +2 -0
- package/{nonStaticVideoTag-27WQQDC2.mjs.map → nonStaticVideoTag-GQVYOLZ2.mjs.map} +1 -1
- package/nonStaticVideoTag-O35CAOVI.js +2 -0
- package/{nonStaticVideoTag-VUR3GI3Z.js.map → nonStaticVideoTag-O35CAOVI.js.map} +1 -1
- package/package.json +1 -1
- package/staticVideoTag-IQIQL3JU.js +2 -0
- package/{staticVideoTag-6HEVEZ6Y.js.map → staticVideoTag-IQIQL3JU.js.map} +1 -1
- package/staticVideoTag-VZXE7QC3.mjs +2 -0
- package/{staticVideoTag-JCIWJRBP.mjs.map → staticVideoTag-VZXE7QC3.mjs.map} +1 -1
- package/videoPlayerStyles.css +25 -57
- package/chunk-4IF6EN3R.mjs +0 -2
- package/chunk-A3BCKK27.js +0 -2
- package/chunk-A3BCKK27.js.map +0 -1
- package/chunk-EZHLL53Z.js +0 -2
- package/chunk-RARZ25ST.mjs +0 -2
- package/chunk-RARZ25ST.mjs.map +0 -1
- package/chunk-TU7BZ2RY.mjs +0 -2
- package/chunk-TU7BZ2RY.mjs.map +0 -1
- package/chunk-VLJPEQ2Q.js +0 -2
- package/chunk-VLJPEQ2Q.js.map +0 -1
- package/closeIcon-OJRI6YW2.js +0 -2
- package/closeIcon-OJRI6YW2.js.map +0 -1
- package/closeIcon-WMYLDHNZ.mjs +0 -2
- package/closeIcon-WMYLDHNZ.mjs.map +0 -1
- package/nonStaticVideoTag-27WQQDC2.mjs +0 -2
- package/nonStaticVideoTag-VUR3GI3Z.js +0 -2
- package/staticVideoTag-6HEVEZ6Y.js +0 -2
- package/staticVideoTag-JCIWJRBP.mjs +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkMGBXTCBUjs = require('./chunk-MGBXTCBU.js');_chunkMGBXTCBUjs.b.call(void 0, );var G=()=>{let t=_chunkMGBXTCBUjs.L.dispatch,{params:e}=_chunkMGBXTCBUjs.L.getState().videoData,a=n=>{n.requestFullScreen?n.requestFullScreen():n.mozRequestFullScreen?n.mozRequestFullScreen():n.webkitRequestFullScreen&&n.webkitRequestFullScreen()};t(_chunkMGBXTCBUjs.J.call(void 0, )),a(document.documentElement),t(_chunkMGBXTCBUjs.k.call(void 0, e.fullscreen==="true"))},xe= exports.a =()=>{let t=".ts",e=XMLHttpRequest.prototype.open;XMLHttpRequest.prototype.open=function(){arguments[1].endsWith(t)&&(arguments[1]=arguments[1]+"?uuid="+_chunkMGBXTCBUjs.W.call(void 0, )),e.apply(this,arguments)}},Z=(t,e)=>{let a=_chunkMGBXTCBUjs.L.dispatch;e.current=setInterval(()=>{let s=t.target.buffered.end(0)/_chunkMGBXTCBUjs.R.call(void 0, ).duration*100;a(_chunkMGBXTCBUjs.l.call(void 0, s))},500)},Se= exports.b =()=>{let{params:t,streamLinkParams:e}=_chunkMGBXTCBUjs.L.getState().videoData;return{xhrSetup:(a,n)=>{n.split("m3u8")[1]||(n=`${n}${e}`),a.open("GET",n,!0)},startLevel:t.type==="live"?1:-1,debug:!1,enableWorker:!0,liveDurationInfinity:_chunkMGBXTCBUjs.ea.call(void 0, "hasQuizParams"),maxLiveSyncPlaybackRate:_chunkMGBXTCBUjs.ea.call(void 0, "hasQuizParams")?2:1,abrBandWidthUpFactor:_chunkMGBXTCBUjs.ea.call(void 0, "hasQuizParams")?.6:.7,abrBandWidthFactor:_chunkMGBXTCBUjs.ea.call(void 0, "hasQuizParams")?.8:.95,backBufferLength:_chunkMGBXTCBUjs.ea.call(void 0, "hasQuizParams")?2:1/0,maxBufferLength:_chunkMGBXTCBUjs.ea.call(void 0, "hasQuizParams")?12:30,maxMaxBufferLength:_chunkMGBXTCBUjs.ea.call(void 0, "hasQuizParams")?600:60,liveMaxLatencyDuration:_chunkMGBXTCBUjs.ea.call(void 0, "hasQuizParams")?8:void 0,manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:10,retryDelayMs:5e3,maxRetryDelayMs:1e4},errorRetry:{maxNumRetry:10,retryDelayMs:5e3,maxRetryDelayMs:1e4}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:10,retryDelayMs:5e3,maxRetryDelayMs:1e4},errorRetry:{maxNumRetry:10,retryDelayMs:5e3,maxRetryDelayMs:1e4}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:10,retryDelayMs:5e3,maxRetryDelayMs:1e4},errorRetry:{maxNumRetry:10,retryDelayMs:5e3,maxRetryDelayMs:1e4}}}}};var ee=(t,e)=>{let a=_chunkMGBXTCBUjs.L.dispatch,n=[],s=[""],d=[];if(t.levels.map(o=>{n.push(o.attrs.RESOLUTION.split("x")[1].trim()),s.push(`${(o.bitrate/1e3).toFixed(0)}kbps`),d.push(o.attrs.RESOLUTION)}),t.autoLevelCapping=_chunkMGBXTCBUjs.ca.call(void 0, d,window.innerWidth,window.innerHeight),a(_chunkMGBXTCBUjs.f.call(void 0, n)),a(_chunkMGBXTCBUjs.g.call(void 0, s)),["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","msfullscreenchange"].forEach(o=>document.addEventListener(o,c=>{_chunkMGBXTCBUjs.ea.call(void 0, "isAutoQuality")&&(t.autoLevelCapping=_chunkMGBXTCBUjs.ca.call(void 0, d,window.innerWidth,window.innerHeight),t.nextLevel=-1)},!1)),e.audioTracks.length>0){let o=e.audioTracks.sort(c=>c.default===!0?-1:1);a(_chunkMGBXTCBUjs.y.call(void 0, o))}},te= exports.d =t=>t.audioTrack=0,De= exports.e =(t,e)=>{let{params:a,details:n}=_chunkMGBXTCBUjs.L.getState().videoData,s=_chunkMGBXTCBUjs.ea.call(void 0, "isGeneral")?a.src:n.stream_link;e.loadSource(s),e.on(t.Events.MANIFEST_PARSED,(d,o)=>ee(e,o)),e.on(t.Events.MANIFEST_LOADED,()=>te(e))},j=(t,e,a)=>{if(e.frag.type!=="audio"){let n=_chunkMGBXTCBUjs.L.dispatch,{settings:s}=_chunkMGBXTCBUjs.L.getState().user,{qualityLevels:d,manualQuality:o,autoQuality:c}=_chunkMGBXTCBUjs.L.getState().controller;_chunkMGBXTCBUjs.ea.call(void 0, "isAutoQuality")?_chunkMGBXTCBUjs.ea.call(void 0, "isAutoQuality")&&c===void 0?(t.nextLevel=-1,a(d[e.frag.level]),n(_chunkMGBXTCBUjs.h.call(void 0, e.frag.level))):_chunkMGBXTCBUjs.ea.call(void 0, "isAutoQuality")&&(a(d[e.frag.level]),c!==e.frag.level&&n(_chunkMGBXTCBUjs.h.call(void 0, e.frag.level))):(e.frag.level!==o&&(t.nextLevel=d[s.quality]?s.quality:-1),d[s.quality]?(n(_chunkMGBXTCBUjs.q.call(void 0, s.quality)),n(_chunkMGBXTCBUjs.h.call(void 0, void 0))):(a(d[e.frag.level]),n(_chunkMGBXTCBUjs.h.call(void 0, e.frag.level)),n(_chunkMGBXTCBUjs.K.call(void 0, {...s,quality:-1}))))}},Le= exports.f =t=>{let e=_chunkMGBXTCBUjs.L.dispatch,n=_optionalChain([t, 'access', _2 => _2.mainForwardBufferInfo, 'optionalAccess', _3 => _3.end])/_chunkMGBXTCBUjs.R.call(void 0, ).duration*100;e(_chunkMGBXTCBUjs.l.call(void 0, n))},Pe= exports.g =t=>{let e=_chunkMGBXTCBUjs.L.dispatch;_chunkMGBXTCBUjs.ea.call(void 0, "isLiveParam")&&e(_chunkMGBXTCBUjs.n.call(void 0, t.liveSyncPosition))},Te= exports.h =(t,e,a,n)=>{let{params:s,multiAudio:d,selectedAudioId:o}=_chunkMGBXTCBUjs.L.getState().videoData;d&&o!==void 0&&o!==e.audioTrack&&(e.audioTrack=o,e.trigger(t.Events.AUDIO_TRACK_LOADING,d[o])),(s.type||!_chunkMGBXTCBUjs.ea.call(void 0, "isLiveParam"))&&j(e,a,n)},Me= exports.i =(t,e,a)=>{let{type:n}=_chunkMGBXTCBUjs.L.getState().videoData.params;(n||n==="live")&&j(t,e,a)},Fe= exports.j =(t,e)=>{if(e.event!=="hlsAudioTrackLoading")return{type:"HLS_"+e.type,message:e.error.message}},X=t=>{let e=_chunkMGBXTCBUjs.L.dispatch,{params:a,details:n}=_chunkMGBXTCBUjs.L.getState().videoData,s=_chunkMGBXTCBUjs.ea.call(void 0, "hasPreviewStart")?n.preview_start:0,d=_chunkMGBXTCBUjs.ea.call(void 0, "hasPreviewEnd")?n.preview_end:_chunkMGBXTCBUjs.R.call(void 0, )?_chunkMGBXTCBUjs.R.call(void 0, ).duration:0;a.preview==="true"&&t.target.currentTime>=d&&(_chunkMGBXTCBUjs.R.call(void 0, ).currentTime=s,e(_chunkMGBXTCBUjs.e.call(void 0, s)))},we= exports.k =(t,e)=>{let a=_chunkMGBXTCBUjs.L.dispatch;t.preventDefault(),e.current=Date.now(),a(_chunkMGBXTCBUjs.j.call(void 0, !0))},Re= exports.l =(t,e)=>{let a=_chunkMGBXTCBUjs.L.dispatch;t.preventDefault(),e.current=0,a(_chunkMGBXTCBUjs.j.call(void 0, !0))},Ve= exports.m =(t,e)=>{let a=_chunkMGBXTCBUjs.L.dispatch,{details:n,params:s}=_chunkMGBXTCBUjs.L.getState().videoData,{videoSettings:d}=_chunkMGBXTCBUjs.L.getState().user;if(t.preventDefault(),e.current=Date.now(),a(_chunkMGBXTCBUjs.c.call(void 0, !0)),_chunkMGBXTCBUjs.ea.call(void 0, "isFirstPlay")){if(_chunkMGBXTCBUjs.ea.call(void 0, "isLiveParam")||(_chunkMGBXTCBUjs.R.call(void 0, ).currentTime=s.t?+s.t:d.time,a(_chunkMGBXTCBUjs.e.call(void 0, s.t?+s.t:d.time))),_chunkMGBXTCBUjs.ea.call(void 0, "hasFullScreenParams")&&G(),_chunkMGBXTCBUjs.ea.call(void 0, "isFullScreen")&&_chunkMGBXTCBUjs.xa.call(void 0, ),_chunkMGBXTCBUjs.ea.call(void 0, "hasPreviewParams")){let o=n.preview_start?n.preview_start:0;_chunkMGBXTCBUjs.R.call(void 0, ).currentTime=o,a(_chunkMGBXTCBUjs.e.call(void 0, o))}a(_chunkMGBXTCBUjs.C.call(void 0, [Math.floor(_chunkMGBXTCBUjs.R.call(void 0, ).currentTime)]))}_chunkMGBXTCBUjs.sa.call(void 0, _chunkMGBXTCBUjs.pa.call(void 0, !0)),a(_chunkMGBXTCBUjs.A.call(void 0, ""))},be= exports.n =(t,e,a,n,s,d,o,c)=>{let K=_chunkMGBXTCBUjs.L.dispatch,{autoQuality:R,canPlayVideo:J,firstPlay:Y,qualityLevels:V}=_chunkMGBXTCBUjs.L.getState().controller,{settings:b}=_chunkMGBXTCBUjs.L.getState().user,E=b.quality===-1&&R?V[R]:V[b.quality],h=0;o.current&&(h=Date.now()-o.current),Y&&_chunkMGBXTCBUjs.R.call(void 0, ).played&&_chunkMGBXTCBUjs.sa.call(void 0, _chunkMGBXTCBUjs.qa.call(void 0, e.current,Date.now()-a.current,n.current-a.current,Date.now()-s.current,s)),K(_chunkMGBXTCBUjs.m.call(void 0, !1)),J&&h>0&&E!==void 0&&(d.current=h,o.current=0,_chunkMGBXTCBUjs.sa.call(void 0, _chunkMGBXTCBUjs.ra.call(void 0, h,E,s,t,c.current)),t.current=t.current+1,s.current=Date.now())},Ee= exports.o =t=>{let e=_chunkMGBXTCBUjs.L.dispatch;t.preventDefault(),_chunkMGBXTCBUjs.sa.call(void 0, _chunkMGBXTCBUjs.pa.call(void 0, !1)),e(_chunkMGBXTCBUjs.c.call(void 0, !1))},Ie= exports.p =t=>{let e=_chunkMGBXTCBUjs.L.dispatch,{selectedSubtitle:a}=_chunkMGBXTCBUjs.L.getState().videoData;t.preventDefault(),X(t),e(_chunkMGBXTCBUjs.e.call(void 0, t.target.currentTime)),a&&a.activeCues&&a.activeCues.length>0&&e(_chunkMGBXTCBUjs.A.call(void 0, a.activeCues[0].text))},ke= exports.q =t=>{let e=_chunkMGBXTCBUjs.L.dispatch,{settings:a}=_chunkMGBXTCBUjs.L.getState().user;if(t.preventDefault(),e(_chunkMGBXTCBUjs.j.call(void 0, !1)),e(_chunkMGBXTCBUjs.r.call(void 0, !0)),_chunkMGBXTCBUjs.R.call(void 0, ).volume=a.volume/100,_chunkMGBXTCBUjs.ea.call(void 0, "isIOSLive")||e(_chunkMGBXTCBUjs.d.call(void 0, t.target.duration)),_chunkMGBXTCBUjs.ea.call(void 0, "isIOS")){let n=Object.values(t.target.textTracks);n&&n.length&&e(_chunkMGBXTCBUjs.z.call(void 0, Object.values(n[0]).length?n:[]))}else e(_chunkMGBXTCBUjs.z.call(void 0, Object.values(t.target.textTracks)))},Ae= exports.r =t=>{let e=_chunkMGBXTCBUjs.L.dispatch,{params:a}=_chunkMGBXTCBUjs.L.getState().videoData;t.preventDefault(),e(_chunkMGBXTCBUjs.x.call(void 0, !0)),e(_chunkMGBXTCBUjs.s.call(void 0, !0)),e(_chunkMGBXTCBUjs.i.call(void 0, !0)),_chunkMGBXTCBUjs.za.call(void 0, _chunkMGBXTCBUjs.R.call(void 0, ).duration),_chunkMGBXTCBUjs.ea.call(void 0, "hasOnFinishedParams")&&a.onFinished()},qe= exports.s =(t,e)=>{let a=_chunkMGBXTCBUjs.L.dispatch;t.preventDefault(),e.current=Date.now(),a(_chunkMGBXTCBUjs.m.call(void 0, !1))},Oe= exports.t =()=>{let t=_chunkMGBXTCBUjs.L.dispatch;t(_chunkMGBXTCBUjs.j.call(void 0, !1))},Qe= exports.u =t=>{let e=_chunkMGBXTCBUjs.L.dispatch;t.preventDefault(),e(_chunkMGBXTCBUjs.e.call(void 0, t.target.currentTime)),X(t)},Ce= exports.v =()=>{let{params:t}=_chunkMGBXTCBUjs.L.getState().videoData;_chunkMGBXTCBUjs.ea.call(void 0, "hasOnFinishedParams")&&t.onFinished()},Be= exports.w =t=>{let e=_chunkMGBXTCBUjs.L.dispatch;t.preventDefault(),e(_chunkMGBXTCBUjs.c.call(void 0, !1))},Ne= exports.x =(t,e)=>{let a=_chunkMGBXTCBUjs.L.dispatch;t.preventDefault(),a(_chunkMGBXTCBUjs.c.call(void 0, !0)),e.current=Date.now(),_chunkMGBXTCBUjs.ea.call(void 0, "isFirstPlay")&&_chunkMGBXTCBUjs.ea.call(void 0, "hasFullScreenParams")&&G(),_chunkMGBXTCBUjs.ea.call(void 0, "isFullScreen")&&_chunkMGBXTCBUjs.xa.call(void 0, )},ze= exports.y =(t,e,a)=>{let n=_chunkMGBXTCBUjs.L.dispatch,{firstPlay:s}=_chunkMGBXTCBUjs.L.getState().controller;n(_chunkMGBXTCBUjs.j.call(void 0, !1)),s&&_chunkMGBXTCBUjs.R.call(void 0, ).played&&_chunkMGBXTCBUjs.sa.call(void 0, _chunkMGBXTCBUjs.qa.call(void 0, Math.round(t.current),Date.now()-e.current,0,Date.now()-a.current,a)),n(_chunkMGBXTCBUjs.m.call(void 0, !1))},_e= exports.z =t=>{let e=_chunkMGBXTCBUjs.L.dispatch;t.preventDefault(),e(_chunkMGBXTCBUjs.e.call(void 0, t.target.currentTime)),e(_chunkMGBXTCBUjs.d.call(void 0, t.target.duration))},Ue= exports.A =t=>{let e=_chunkMGBXTCBUjs.L.dispatch;t.preventDefault(),e(_chunkMGBXTCBUjs.j.call(void 0, !1)),e(_chunkMGBXTCBUjs.r.call(void 0, !0))},He= exports.B =(t,e)=>{t.preventDefault(),Z(t,e)},We= exports.C =t=>{let{params:e}=_chunkMGBXTCBUjs.L.getState().videoData;_chunkMGBXTCBUjs.ea.call(void 0, "hasOnFinishedParams")&&e.onFinished(),t.preventDefault()};var $e=t=>{_chunkMGBXTCBUjs.za.call(void 0, _chunkMGBXTCBUjs.R.call(void 0, ).currentTime),_chunkMGBXTCBUjs.ea.call(void 0, "isVisibilityChange")&&(document.hidden?t.stopLoad():t.startLoad())};exports.a = xe; exports.b = Se; exports.c = ee; exports.d = te; exports.e = De; exports.f = Le; exports.g = Pe; exports.h = Te; exports.i = Me; exports.j = Fe; exports.k = we; exports.l = Re; exports.m = Ve; exports.n = be; exports.o = Ee; exports.p = Ie; exports.q = ke; exports.r = Ae; exports.s = qe; exports.t = Oe; exports.u = Qe; exports.v = Ce; exports.w = Be; exports.x = Ne; exports.y = ze; exports.z = _e; exports.A = Ue; exports.B = He; exports.C = We; exports.D = $e;
|
|
2
|
+
//# sourceMappingURL=chunk-HMFKNB7P.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/videoPlayerLibrary/helpers/redux/actions/playerCore.actions.ts"],"names":["init_cjs_shims","handleAutoFullScreen","dispatch","store_default","params","launchFullScreen","element","setClearPopoversSlice","setIsFullScreen","appendQueryParamsToChunksIOS","fragmentExtension","originalOpen","getUUID","handleBufferedTime","event","intervalRef","bufferedTimeWidth","videoTag","setBufferedTimeWidth","handleHlsConfig","streamLinkParams","xhr","url","conditions","handleManifestParsed","hls","data","qualityLevels","qualityBitrates","resolutions","level","highestResolutionSupported","setQualityLevels","setQualityBitrates","eventType","sortedAudioTracks","a","setMultiAudio","handleManifestLoaded","handleMediaAttached","Hls","details","streamLink","handleLevels","setQualityLevel","settings","manualQuality","autoQuality","setAutoQuality","setManualQuality","setUserSettings","handleFragBuffered","handleFragLoading","setHlsLivePosition","handleFragChanged","multiAudio","selectedAudioId","handleFragParsed","type","handleHlsErrors","handlePreview","previewStart","previewEnd","setCurrentTime","handleVideoWaiting","waitingTimerRef","setIsLoading","handleVideoSeeking","handleVideoPlay","timerRef","videoSettings","setPlay","handleLockOrientation","setVideoTimelines","sendFluentLog","pausePlayLog","setSubtitleText","handleVideoPlaying","loadingCounterRef","loadingDurationRef","initialWaitingDurationRef","bannerLoadingDurationRef","waitingDurationRef","videoEntranceTimeRef","canPlayVideo","firstPlay","qualityLevel","waitingDuration","initLog","setFirstPlay","loadingLog","handleVideoPause","handleVideoTimeUpdate","selectedSubtitle","handleVideoCanPlay","setCanPlayVideo","setDuration","subtitle","setSubtitles","handleVideoEnded","setIsLiveError","setIsEnded","setActiveElements","handleVideoTimeline","handleIosVideoPlay","handleIosVideoPlaying","handleIosVideoTimeUpdate","handleIosVideoEnded","handleStaticVideoPause","handleStaticVideoPlay","handleStaticVideoPlaying","handleStaticVideoTimeUpdate","handleStaticVideoCanPlay","handleStaticVideoLoadedData","handleStaticVideoEnded","handleVideoVisibilityChange"],"mappings":"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","sourcesContent":["import { conditions } from \"../../conditions/conditions\";\r\nimport { videoTag } from \"../../constants\";\r\nimport { getUUID, highestResolutionSupported } from \"../../helpers\";\r\nimport { ConditionName } from \"../../interfaces/enums\";\r\nimport { sendFluentLog } from \"../../logs/fluentdLogger\";\r\nimport { initLog, loadingLog, pausePlayLog } from \"../../logs/logs\";\r\nimport {\r\n setActiveElements,\r\n setAutoQuality,\r\n setBufferedTimeWidth,\r\n setCanPlayVideo,\r\n setCurrentTime,\r\n setDuration,\r\n setFirstPlay,\r\n setHlsLivePosition,\r\n setIsEnded,\r\n setIsFullScreen,\r\n setIsLoading,\r\n setLoadedFragmentsCount,\r\n setManualQuality,\r\n setPlay,\r\n setQualityBitrates,\r\n setQualityLevels\r\n} from \"../slices/controllerSlice\";\r\nimport { setClearPopoversSlice } from \"../slices/popoversSlice\";\r\nimport { setUserSettings } from \"../slices/userSlice\";\r\nimport {\r\n setIsLiveError,\r\n setMultiAudio,\r\n setSubtitleText,\r\n setSubtitles,\r\n setVideoTimelines\r\n} from \"../slices/videoDataSlice\";\r\nimport store from \"../store\";\r\nimport { handleLockOrientation, handleVideoTimeline } from \"./controller.actions\";\r\nimport { getLiveAndVodDetails } from \"./videoData.actions\";\r\n\r\nexport const handleAutoFullScreen = () => {\r\n const dispatch = store.dispatch;\r\n const { params } = store.getState().videoData;\r\n const launchFullScreen = (element: any) => {\r\n if (element.requestFullScreen) element.requestFullScreen();\r\n else if (element.mozRequestFullScreen) element.mozRequestFullScreen();\r\n else if (element.webkitRequestFullScreen) element.webkitRequestFullScreen();\r\n };\r\n dispatch(setClearPopoversSlice());\r\n launchFullScreen(document.documentElement);\r\n dispatch(setIsFullScreen(params.fullscreen === \"true\"));\r\n};\r\n\r\nexport const appendQueryParamsToChunksIOS = () => {\r\n let fragmentExtension = \".ts\";\r\n let originalOpen = XMLHttpRequest.prototype.open;\r\n XMLHttpRequest.prototype.open = function () {\r\n if (arguments[1].endsWith(fragmentExtension)) arguments[1] = arguments[1] + \"?uuid=\" + getUUID!();\r\n originalOpen.apply(this, arguments as any);\r\n };\r\n};\r\n\r\nexport const handleBufferedTime = (event: any, intervalRef: any) => {\r\n const dispatch = store.dispatch;\r\n intervalRef.current = setInterval(() => {\r\n const bufferedTime = event.target.buffered.end(0);\r\n const bufferedTimeWidth = (bufferedTime / videoTag().duration) * 100;\r\n dispatch(setBufferedTimeWidth(bufferedTimeWidth));\r\n }, 500);\r\n};\r\n\r\n// ************* Hls Config Handlers ************* //\r\nexport const handleHlsConfig = () => {\r\n const { params, streamLinkParams } = store.getState().videoData;\r\n return {\r\n xhrSetup: (xhr: any, url: any) => {\r\n if (!url.split(\"m3u8\")[1]) url = `${url}${streamLinkParams}`;\r\n xhr.open(\"GET\", url, true);\r\n },\r\n startLevel: params.type === \"live\" ? 1 : -1,\r\n debug: false,\r\n enableWorker: true,\r\n liveDurationInfinity: conditions(ConditionName.hasQuizParams),\r\n maxLiveSyncPlaybackRate: conditions(ConditionName.hasQuizParams) ? 2 : 1,\r\n abrBandWidthUpFactor: conditions(ConditionName.hasQuizParams) ? 0.6 : 0.7,\r\n abrBandWidthFactor: conditions(ConditionName.hasQuizParams) ? 0.8 : 0.95,\r\n backBufferLength: conditions(ConditionName.hasQuizParams) ? 2 : Infinity,\r\n maxBufferLength: conditions(ConditionName.hasQuizParams) ? 12 : 30,\r\n maxMaxBufferLength: conditions(ConditionName.hasQuizParams) ? 600 : 60,\r\n liveMaxLatencyDuration: conditions(ConditionName.hasQuizParams) ? 8 : undefined,\r\n manifestLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: Infinity,\r\n maxLoadTimeMs: 20000,\r\n timeoutRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000\r\n },\r\n errorRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000\r\n }\r\n }\r\n },\r\n fragLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: 10000,\r\n maxLoadTimeMs: 120000,\r\n timeoutRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000\r\n },\r\n errorRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000\r\n }\r\n }\r\n },\r\n playlistLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: 10000,\r\n maxLoadTimeMs: 20000,\r\n timeoutRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000\r\n },\r\n errorRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000\r\n }\r\n }\r\n }\r\n };\r\n};\r\n\r\nexport const handleMultiLiveHlsConfig = () => {\r\n const { streamLinkParams } = store.getState().videoData;\r\n return {\r\n xhrSetup: (xhr: any, url: any) => {\r\n url = `${url}${streamLinkParams}`;\r\n xhr.open(\"GET\", url, true);\r\n },\r\n startLevel: 1,\r\n debug: false,\r\n maxMaxBufferLength: 60,\r\n playlistLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: 10000,\r\n maxLoadTimeMs: 20000,\r\n timeoutRetry: {\r\n maxNumRetry: 1000,\r\n retryDelayMs: 0,\r\n maxRetryDelayMs: 0\r\n },\r\n errorRetry: {\r\n maxNumRetry: 1000,\r\n retryDelayMs: 1000,\r\n maxRetryDelayMs: 1000\r\n }\r\n }\r\n }\r\n };\r\n};\r\n\r\n// ************* Manifest Handlers ************* //\r\n\r\nexport const handleManifestParsed = (hls: any, data: any) => {\r\n const dispatch = store.dispatch;\r\n let qualityLevels: any[] = [];\r\n let qualityBitrates: string[] = [\"\"];\r\n let resolutions: any[] = [];\r\n hls.levels.map((level: any) => {\r\n qualityLevels.push(level.attrs.RESOLUTION!.split(\"x\")[1].trim());\r\n qualityBitrates.push(`${(level.bitrate / 1000).toFixed(0)}kbps`);\r\n resolutions.push(level.attrs.RESOLUTION!);\r\n });\r\n hls.autoLevelCapping = highestResolutionSupported(resolutions, window.innerWidth, window.innerHeight);\r\n dispatch(setQualityLevels(qualityLevels));\r\n dispatch(setQualityBitrates(qualityBitrates));\r\n [\"fullscreenchange\", \"webkitfullscreenchange\", \"mozfullscreenchange\", \"msfullscreenchange\"].forEach((eventType) =>\r\n document.addEventListener(\r\n eventType,\r\n (event: any) => {\r\n if (conditions(ConditionName.isAutoQuality)) {\r\n hls.autoLevelCapping = highestResolutionSupported(resolutions, window.innerWidth, window.innerHeight);\r\n hls.nextLevel = -1;\r\n }\r\n },\r\n false\r\n )\r\n );\r\n if (data.audioTracks.length > 0) {\r\n const sortedAudioTracks = data.audioTracks.sort((a: any) => (a.default === true ? -1 : 1));\r\n dispatch(setMultiAudio(sortedAudioTracks));\r\n }\r\n};\r\n\r\nexport const handleManifestLoaded = (hls: any) => (hls.audioTrack = 0);\r\n\r\nexport const handleMediaAttached = (Hls: any, hls: any) => {\r\n const { params, details } = store.getState().videoData;\r\n let streamLink = conditions(ConditionName.isGeneral) ? params.src! : details.stream_link;\r\n hls.loadSource(streamLink);\r\n hls.on(Hls.Events.MANIFEST_PARSED, (event: any, data: any) => handleManifestParsed(hls, data));\r\n hls.on(Hls.Events.MANIFEST_LOADED, () => handleManifestLoaded(hls));\r\n};\r\n\r\n// ************* Level Handlers ************* //\r\n\r\nexport const handleLevels = (hls: any, data: any, setQualityLevel: any) => {\r\n if (data.frag.type !== \"audio\") {\r\n const dispatch = store.dispatch;\r\n const { settings } = store.getState().user;\r\n const { qualityLevels, manualQuality, autoQuality } = store.getState().controller;\r\n if (!conditions(ConditionName.isAutoQuality)) {\r\n if (data.frag.level !== manualQuality) hls.nextLevel = qualityLevels[settings.quality!] ? settings.quality : -1;\r\n if (qualityLevels[settings.quality!]) {\r\n dispatch(setManualQuality(settings.quality!));\r\n dispatch(setAutoQuality(undefined));\r\n } else {\r\n setQualityLevel(qualityLevels[data.frag.level]);\r\n dispatch(setAutoQuality(data.frag.level));\r\n dispatch(setUserSettings({ ...settings, quality: -1 }));\r\n }\r\n } else if (conditions(ConditionName.isAutoQuality) && autoQuality === undefined) {\r\n hls.nextLevel = -1;\r\n setQualityLevel(qualityLevels[data.frag.level]);\r\n dispatch(setAutoQuality(data.frag.level));\r\n } else if (conditions(ConditionName.isAutoQuality)) {\r\n setQualityLevel(qualityLevels[data.frag.level]);\r\n if (autoQuality !== data.frag.level) dispatch(setAutoQuality(data.frag.level));\r\n }\r\n }\r\n};\r\n\r\n// ************* Fragment Handlers ************* //\r\n\r\nexport const handleFragBuffered = (hls: any) => {\r\n const dispatch = store.dispatch;\r\n const bufferedTime = hls.mainForwardBufferInfo?.end;\r\n const bufferedTimeWidth = (bufferedTime! / videoTag().duration) * 100;\r\n dispatch(setBufferedTimeWidth(bufferedTimeWidth));\r\n};\r\n\r\nexport const handleFragLoading = (hls: any) => {\r\n const dispatch = store.dispatch;\r\n if (conditions(ConditionName.isLiveParam)) dispatch(setHlsLivePosition(hls.liveSyncPosition));\r\n};\r\n\r\nexport const handleFragChanged = (Hls: any, hls: any, data: any, setQualityLevel: any) => {\r\n const { params, multiAudio, selectedAudioId } = store.getState().videoData;\r\n\r\n if (multiAudio && selectedAudioId !== undefined && selectedAudioId !== hls.audioTrack) {\r\n hls.audioTrack = selectedAudioId;\r\n hls.trigger(Hls.Events.AUDIO_TRACK_LOADING, multiAudio[selectedAudioId]);\r\n }\r\n if (params.type || !conditions(ConditionName.isLiveParam)) handleLevels(hls, data, setQualityLevel);\r\n};\r\n\r\nexport const handleFragParsed = (hls: any, data: any, setQualityLevel: any) => {\r\n const { type } = store.getState().videoData.params;\r\n if (type || type === \"live\") handleLevels(hls, data, setQualityLevel);\r\n};\r\n\r\n// ************* HLS Error Handlers ************* //\r\n\r\nexport const handleHlsErrors = (Hls: any, data: any) => {\r\n if (data.event !== \"hlsAudioTrackLoading\") return { type: \"HLS_\" + data.type, message: data.error.message };\r\n return undefined;\r\n};\r\n\r\nexport const handlePreview = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { params, details } = store.getState().videoData;\r\n const previewStart = conditions(ConditionName.hasPreviewStart) ? details.preview_start : 0;\r\n const previewEnd = conditions(ConditionName.hasPreviewEnd) ? details.preview_end : videoTag() ? videoTag().duration : 0;\r\n if (params.preview === \"true\" && event.target.currentTime >= previewEnd!) {\r\n videoTag().currentTime = previewStart!;\r\n dispatch(setCurrentTime(previewStart!));\r\n }\r\n};\r\n\r\n// ************* Video Tag Handlers ************* //\r\n\r\nexport const handleVideoWaiting = (event: any, waitingTimerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n waitingTimerRef.current = Date.now();\r\n dispatch(setIsLoading(true));\r\n};\r\n\r\nexport const handleVideoSeeking = (event: any, waitingTimerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n waitingTimerRef.current = 0;\r\n dispatch(setIsLoading(true));\r\n};\r\n\r\nexport const handleVideoPlay = (event: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n const { details, params } = store.getState().videoData;\r\n const { videoSettings } = store.getState().user;\r\n event.preventDefault();\r\n timerRef.current = Date.now();\r\n dispatch(setPlay(true));\r\n if (conditions(ConditionName.isFirstPlay)) {\r\n if (!conditions(ConditionName.isLiveParam)) {\r\n videoTag().currentTime = params.t ? +params.t : videoSettings.time;\r\n dispatch(setCurrentTime(params.t ? +params.t : videoSettings.time));\r\n }\r\n if (conditions(ConditionName.hasFullScreenParams)) handleAutoFullScreen();\r\n if (conditions(ConditionName.isFullScreen)) handleLockOrientation();\r\n if (conditions(ConditionName.hasPreviewParams)) {\r\n const previewStart = details.preview_start ? details.preview_start : 0;\r\n videoTag().currentTime = previewStart;\r\n dispatch(setCurrentTime(previewStart));\r\n }\r\n dispatch(setVideoTimelines([Math.floor(videoTag().currentTime)]));\r\n }\r\n sendFluentLog(pausePlayLog(true));\r\n dispatch(setSubtitleText(\"\"));\r\n};\r\n\r\nexport const handleVideoPlaying = (\r\n loadingCounterRef: any,\r\n loadingDurationRef: any,\r\n initialWaitingDurationRef: any,\r\n bannerLoadingDurationRef: any,\r\n timerRef: any,\r\n waitingDurationRef: any,\r\n waitingTimerRef: any,\r\n videoEntranceTimeRef: any\r\n) => {\r\n const dispatch = store.dispatch;\r\n const { autoQuality, canPlayVideo, firstPlay, qualityLevels } = store.getState().controller;\r\n const { settings } = store.getState().user;\r\n const qualityLevel = settings.quality === -1 && autoQuality ? qualityLevels[autoQuality] : qualityLevels[settings.quality!];\r\n let waitingDuration = 0;\r\n if (!!waitingTimerRef.current) waitingDuration = Date.now() - waitingTimerRef.current;\r\n if (firstPlay && !!videoTag().played)\r\n sendFluentLog(\r\n initLog(\r\n loadingDurationRef.current,\r\n Date.now() - initialWaitingDurationRef.current,\r\n bannerLoadingDurationRef.current - initialWaitingDurationRef.current,\r\n Date.now() - timerRef.current,\r\n timerRef\r\n )\r\n );\r\n dispatch(setFirstPlay(false));\r\n if (canPlayVideo && waitingDuration > 0 && qualityLevel !== undefined) {\r\n waitingDurationRef.current = waitingDuration;\r\n waitingTimerRef.current = 0;\r\n sendFluentLog(loadingLog(waitingDuration, qualityLevel, timerRef, loadingCounterRef, videoEntranceTimeRef.current));\r\n loadingCounterRef.current = loadingCounterRef.current + 1;\r\n timerRef.current = Date.now();\r\n }\r\n};\r\n\r\nexport const handleVideoPause = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n sendFluentLog(pausePlayLog(false));\r\n dispatch(setPlay(false));\r\n};\r\n\r\nexport const handleVideoTimeUpdate = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { selectedSubtitle } = store.getState().videoData;\r\n event.preventDefault();\r\n handlePreview(event);\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n if (selectedSubtitle && selectedSubtitle.activeCues && selectedSubtitle.activeCues.length > 0)\r\n dispatch(setSubtitleText(selectedSubtitle.activeCues[0].text));\r\n};\r\n\r\nexport const handleVideoCanPlay = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { settings } = store.getState().user;\r\n event.preventDefault();\r\n dispatch(setIsLoading(false));\r\n dispatch(setCanPlayVideo(true));\r\n videoTag().volume = settings.volume / 100;\r\n if (!conditions(ConditionName.isIOSLive)) dispatch(setDuration(event.target.duration));\r\n if (conditions(ConditionName.isIOS)) {\r\n const subtitle: any = Object.values(event.target.textTracks);\r\n if (!!subtitle && subtitle.length) dispatch(setSubtitles(!!Object.values(subtitle[0]).length ? subtitle : []));\r\n } else dispatch(setSubtitles(Object.values(event.target.textTracks)));\r\n};\r\n\r\nexport const handleVideoEnded = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { params } = store.getState().videoData;\r\n event.preventDefault();\r\n dispatch(setIsLiveError(true));\r\n dispatch(setIsEnded(true));\r\n dispatch(setActiveElements(true));\r\n handleVideoTimeline(videoTag().duration);\r\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\r\n};\r\n\r\n// ************* IOS Video Tag Handlers ************* //\r\n\r\nexport const handleIosVideoPlay = (event: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n timerRef.current = Date.now();\r\n dispatch(setFirstPlay(false));\r\n};\r\n\r\nexport const handleIosVideoPlaying = () => {\r\n const dispatch = store.dispatch;\r\n dispatch(setIsLoading(false));\r\n};\r\n\r\nexport const handleIosVideoTimeUpdate = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n handlePreview(event);\r\n};\r\n\r\nexport const handleIosVideoEnded = () => {\r\n const { params } = store.getState().videoData;\r\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\r\n};\r\n\r\n// ************* Static Video Tag Handlers ************* //\r\n\r\nexport const handleStaticVideoPause = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setPlay(false));\r\n};\r\n\r\nexport const handleStaticVideoPlay = (event: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setPlay(true));\r\n timerRef.current = Date.now();\r\n if (conditions(ConditionName.isFirstPlay) && conditions(ConditionName.hasFullScreenParams)) handleAutoFullScreen();\r\n if (conditions(ConditionName.isFullScreen)) handleLockOrientation();\r\n};\r\n\r\nexport const handleStaticVideoPlaying = (loadingDurationRef: any, initialWaitingDurationRef: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n const { firstPlay } = store.getState().controller;\r\n dispatch(setIsLoading(false));\r\n if (firstPlay && !!videoTag().played)\r\n sendFluentLog(\r\n initLog(\r\n Math.round(loadingDurationRef.current),\r\n Date.now() - initialWaitingDurationRef.current,\r\n 0,\r\n Date.now() - timerRef.current,\r\n timerRef\r\n )\r\n );\r\n dispatch(setFirstPlay(false));\r\n};\r\n\r\nexport const handleStaticVideoTimeUpdate = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n dispatch(setDuration(event.target.duration));\r\n};\r\n\r\nexport const handleStaticVideoCanPlay = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setIsLoading(false));\r\n dispatch(setCanPlayVideo(true));\r\n};\r\n\r\nexport const handleStaticVideoLoadedData = (event: any, intervalRef: any) => {\r\n event.preventDefault();\r\n handleBufferedTime(event, intervalRef);\r\n};\r\n\r\nexport const handleStaticVideoEnded = (event: any) => {\r\n const { params } = store.getState().videoData;\r\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\r\n event.preventDefault();\r\n};\r\n\r\n// ************* Quiz Video Tag Handlers ************* //\r\nexport const handleQuizVideoTimeUpdate = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n};\r\n\r\nexport const handleQuizVideoPlaying = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setFirstPlay(false));\r\n};\r\n\r\n// ************* MultiLive Video Tag Handlers ************* //\r\nexport const handleMultiLiveManifestParsed = (hls: any) =>\r\n (hls.nextLevel = hls.levels.findIndex((level: any) => level.attrs.RESOLUTION!.split(\"x\")[1].trim() === \"144\"));\r\n\r\nexport const handleMultiLiveMediaAttached = async (Hls: any, hls: any) => {\r\n const { multiLives } = store.getState().videoData;\r\n const { stream_link } = await getLiveAndVodDetails(multiLives[0].user_id);\r\n hls.loadSource(stream_link);\r\n hls.on(Hls.Events.MANIFEST_PARSED, () => handleMultiLiveManifestParsed(hls));\r\n};\r\n\r\nexport const handleMultiLiveFragLoading = async (hls: any) => {\r\n const dispatch = store.dispatch;\r\n if (conditions(ConditionName.isLiveParam)) dispatch(setHlsLivePosition(hls.liveSyncPosition));\r\n};\r\n\r\nexport const handleVideoVisibilityChange = (hls: any) => {\r\n handleVideoTimeline(videoTag().currentTime);\r\n if (conditions(ConditionName.isVisibilityChange)) {\r\n if (document.hidden) hls.stopLoad();\r\n else hls.startLoad();\r\n }\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/videoPlayerLibrary/helpers/redux/actions/playerCore.actions.ts"],"names":["init_cjs_shims","handleAutoFullScreen","dispatch","store_default","params","launchFullScreen","element","setClearPopoversSlice","setIsFullScreen","appendQueryParamsToChunksIOS","fragmentExtension","originalOpen","getUUID","handleBufferedTime","event","intervalRef","bufferedTimeWidth","videoTag","setBufferedTimeWidth","handleHlsConfig","streamLinkParams","xhr","url","conditions","handleManifestParsed","hls","data","qualityLevels","qualityBitrates","resolutions","level","highestResolutionSupported","setQualityLevels","setQualityBitrates","eventType","sortedAudioTracks","a","setMultiAudio","handleManifestLoaded","handleMediaAttached","Hls","details","streamLink","handleLevels","setQualityLevel","settings","manualQuality","autoQuality","setAutoQuality","setManualQuality","setUserSettings","handleFragBuffered","handleFragLoading","setHlsLivePosition","handleFragChanged","multiAudio","selectedAudioId","handleFragParsed","type","handleHlsErrors","handlePreview","previewStart","previewEnd","setCurrentTime","handleVideoWaiting","waitingTimerRef","setIsLoading","handleVideoSeeking","handleVideoPlay","timerRef","videoSettings","setPlay","handleLockOrientation","setVideoTimelines","sendFluentLog","pausePlayLog","setSubtitleText","handleVideoPlaying","loadingCounterRef","loadingDurationRef","initialWaitingDurationRef","bannerLoadingDurationRef","waitingDurationRef","videoEntranceTimeRef","canPlayVideo","firstPlay","qualityLevel","waitingDuration","initLog","setFirstPlay","loadingLog","handleVideoPause","handleVideoTimeUpdate","selectedSubtitle","handleVideoCanPlay","setCanPlayVideo","setDuration","subtitle","setSubtitles","handleVideoEnded","setIsLiveError","setIsEnded","setActiveElements","handleVideoTimeline","handleIosVideoPlay","handleIosVideoPlaying","handleIosVideoTimeUpdate","handleIosVideoEnded","handleStaticVideoPause","handleStaticVideoPlay","handleStaticVideoPlaying","handleStaticVideoTimeUpdate","handleStaticVideoCanPlay","handleStaticVideoLoadedData","handleStaticVideoEnded","handleVideoVisibilityChange"],"mappings":"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","sourcesContent":["import { conditions } from \"../../conditions/conditions\";\r\nimport { videoTag } from \"../../constants\";\r\nimport { getUUID, highestResolutionSupported } from \"../../helpers\";\r\nimport { ConditionName } from \"../../interfaces/enums\";\r\nimport { sendFluentLog } from \"../../logs/fluentdLogger\";\r\nimport { initLog, loadingLog, pausePlayLog } from \"../../logs/logs\";\r\nimport {\r\n setActiveElements,\r\n setAutoQuality,\r\n setBufferedTimeWidth,\r\n setCanPlayVideo,\r\n setCurrentTime,\r\n setDuration,\r\n setFirstPlay,\r\n setHlsLivePosition,\r\n setIsEnded,\r\n setIsFullScreen,\r\n setIsLoading,\r\n setLoadedFragmentsCount,\r\n setManualQuality,\r\n setPlay,\r\n setQualityBitrates,\r\n setQualityLevels\r\n} from \"../slices/controllerSlice\";\r\nimport { setClearPopoversSlice } from \"../slices/popoversSlice\";\r\nimport { setUserSettings } from \"../slices/userSlice\";\r\nimport {\r\n setIsLiveError,\r\n setMultiAudio,\r\n setSubtitleText,\r\n setSubtitles,\r\n setVideoTimelines\r\n} from \"../slices/videoDataSlice\";\r\nimport store from \"../store\";\r\nimport { handleLockOrientation, handleVideoTimeline } from \"./controller.actions\";\r\nimport { getLiveAndVodDetails } from \"./videoData.actions\";\r\n\r\nexport const handleAutoFullScreen = () => {\r\n const dispatch = store.dispatch;\r\n const { params } = store.getState().videoData;\r\n const launchFullScreen = (element: any) => {\r\n if (element.requestFullScreen) element.requestFullScreen();\r\n else if (element.mozRequestFullScreen) element.mozRequestFullScreen();\r\n else if (element.webkitRequestFullScreen) element.webkitRequestFullScreen();\r\n };\r\n dispatch(setClearPopoversSlice());\r\n launchFullScreen(document.documentElement);\r\n dispatch(setIsFullScreen(params.fullscreen === \"true\"));\r\n};\r\n\r\nexport const appendQueryParamsToChunksIOS = () => {\r\n let fragmentExtension = \".ts\";\r\n let originalOpen = XMLHttpRequest.prototype.open;\r\n XMLHttpRequest.prototype.open = function () {\r\n if (arguments[1].endsWith(fragmentExtension)) arguments[1] = arguments[1] + \"?uuid=\" + getUUID!();\r\n originalOpen.apply(this, arguments as any);\r\n };\r\n};\r\n\r\nexport const handleBufferedTime = (event: any, intervalRef: any) => {\r\n const dispatch = store.dispatch;\r\n intervalRef.current = setInterval(() => {\r\n const bufferedTime = event.target.buffered.end(0);\r\n const bufferedTimeWidth = (bufferedTime / videoTag().duration) * 100;\r\n dispatch(setBufferedTimeWidth(bufferedTimeWidth));\r\n }, 500);\r\n};\r\n\r\n// ************* Hls Config Handlers ************* //\r\nexport const handleHlsConfig = () => {\r\n const { params, streamLinkParams } = store.getState().videoData;\r\n return {\r\n xhrSetup: (xhr: any, url: any) => {\r\n if (!url.split(\"m3u8\")[1]) url = `${url}${streamLinkParams}`;\r\n xhr.open(\"GET\", url, true);\r\n },\r\n startLevel: params.type === \"live\" ? 1 : -1,\r\n debug: false,\r\n enableWorker: true,\r\n liveDurationInfinity: conditions(ConditionName.hasQuizParams),\r\n maxLiveSyncPlaybackRate: conditions(ConditionName.hasQuizParams) ? 2 : 1,\r\n abrBandWidthUpFactor: conditions(ConditionName.hasQuizParams) ? 0.6 : 0.7,\r\n abrBandWidthFactor: conditions(ConditionName.hasQuizParams) ? 0.8 : 0.95,\r\n backBufferLength: conditions(ConditionName.hasQuizParams) ? 2 : Infinity,\r\n maxBufferLength: conditions(ConditionName.hasQuizParams) ? 12 : 30,\r\n maxMaxBufferLength: conditions(ConditionName.hasQuizParams) ? 600 : 60,\r\n liveMaxLatencyDuration: conditions(ConditionName.hasQuizParams) ? 8 : undefined,\r\n manifestLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: Infinity,\r\n maxLoadTimeMs: 20000,\r\n timeoutRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000\r\n },\r\n errorRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000\r\n }\r\n }\r\n },\r\n fragLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: 10000,\r\n maxLoadTimeMs: 120000,\r\n timeoutRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000\r\n },\r\n errorRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000\r\n }\r\n }\r\n },\r\n playlistLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: 10000,\r\n maxLoadTimeMs: 20000,\r\n timeoutRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000\r\n },\r\n errorRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000\r\n }\r\n }\r\n }\r\n };\r\n};\r\n\r\nexport const handleMultiLiveHlsConfig = () => {\r\n const { streamLinkParams } = store.getState().videoData;\r\n return {\r\n xhrSetup: (xhr: any, url: any) => {\r\n url = `${url}${streamLinkParams}`;\r\n xhr.open(\"GET\", url, true);\r\n },\r\n startLevel: 1,\r\n debug: false,\r\n maxMaxBufferLength: 60,\r\n playlistLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: 10000,\r\n maxLoadTimeMs: 20000,\r\n timeoutRetry: {\r\n maxNumRetry: 1000,\r\n retryDelayMs: 0,\r\n maxRetryDelayMs: 0\r\n },\r\n errorRetry: {\r\n maxNumRetry: 1000,\r\n retryDelayMs: 1000,\r\n maxRetryDelayMs: 1000\r\n }\r\n }\r\n }\r\n };\r\n};\r\n\r\n// ************* Manifest Handlers ************* //\r\n\r\nexport const handleManifestParsed = (hls: any, data: any) => {\r\n const dispatch = store.dispatch;\r\n let qualityLevels: any[] = [];\r\n let qualityBitrates: string[] = [\"\"];\r\n let resolutions: any[] = [];\r\n hls.levels.map((level: any) => {\r\n qualityLevels.push(level.attrs.RESOLUTION!.split(\"x\")[1].trim());\r\n qualityBitrates.push(`${(level.bitrate / 1000).toFixed(0)}kbps`);\r\n resolutions.push(level.attrs.RESOLUTION!);\r\n });\r\n hls.autoLevelCapping = highestResolutionSupported(resolutions, window.innerWidth, window.innerHeight);\r\n dispatch(setQualityLevels(qualityLevels));\r\n dispatch(setQualityBitrates(qualityBitrates));\r\n [\"fullscreenchange\", \"webkitfullscreenchange\", \"mozfullscreenchange\", \"msfullscreenchange\"].forEach((eventType) =>\r\n document.addEventListener(\r\n eventType,\r\n (event: any) => {\r\n if (conditions(ConditionName.isAutoQuality)) {\r\n hls.autoLevelCapping = highestResolutionSupported(resolutions, window.innerWidth, window.innerHeight);\r\n hls.nextLevel = -1;\r\n }\r\n },\r\n false\r\n )\r\n );\r\n if (data.audioTracks.length > 0) {\r\n const sortedAudioTracks = data.audioTracks.sort((a: any) => (a.default === true ? -1 : 1));\r\n dispatch(setMultiAudio(sortedAudioTracks));\r\n }\r\n};\r\n\r\nexport const handleManifestLoaded = (hls: any) => (hls.audioTrack = 0);\r\n\r\nexport const handleMediaAttached = (Hls: any, hls: any) => {\r\n const { params, details } = store.getState().videoData;\r\n let streamLink = conditions(ConditionName.isGeneral) ? params.src! : details.stream_link;\r\n hls.loadSource(streamLink);\r\n hls.on(Hls.Events.MANIFEST_PARSED, (event: any, data: any) => handleManifestParsed(hls, data));\r\n hls.on(Hls.Events.MANIFEST_LOADED, () => handleManifestLoaded(hls));\r\n};\r\n\r\n// ************* Level Handlers ************* //\r\n\r\nexport const handleLevels = (hls: any, data: any, setQualityLevel: any) => {\r\n if (data.frag.type !== \"audio\") {\r\n const dispatch = store.dispatch;\r\n const { settings } = store.getState().user;\r\n const { qualityLevels, manualQuality, autoQuality } = store.getState().controller;\r\n if (!conditions(ConditionName.isAutoQuality)) {\r\n if (data.frag.level !== manualQuality) hls.nextLevel = qualityLevels[settings.quality!] ? settings.quality : -1;\r\n if (qualityLevels[settings.quality!]) {\r\n dispatch(setManualQuality(settings.quality!));\r\n dispatch(setAutoQuality(undefined));\r\n } else {\r\n setQualityLevel(qualityLevels[data.frag.level]);\r\n dispatch(setAutoQuality(data.frag.level));\r\n dispatch(setUserSettings({ ...settings, quality: -1 }));\r\n }\r\n } else if (conditions(ConditionName.isAutoQuality) && autoQuality === undefined) {\r\n hls.nextLevel = -1;\r\n setQualityLevel(qualityLevels[data.frag.level]);\r\n dispatch(setAutoQuality(data.frag.level));\r\n } else if (conditions(ConditionName.isAutoQuality)) {\r\n setQualityLevel(qualityLevels[data.frag.level]);\r\n if (autoQuality !== data.frag.level) dispatch(setAutoQuality(data.frag.level));\r\n }\r\n }\r\n};\r\n\r\n// ************* Fragment Handlers ************* //\r\n\r\nexport const handleFragBuffered = (hls: any) => {\r\n const dispatch = store.dispatch;\r\n const bufferedTime = hls.mainForwardBufferInfo?.end;\r\n const bufferedTimeWidth = (bufferedTime! / videoTag().duration) * 100;\r\n dispatch(setBufferedTimeWidth(bufferedTimeWidth));\r\n};\r\n\r\nexport const handleFragLoading = (hls: any) => {\r\n const dispatch = store.dispatch;\r\n if (conditions(ConditionName.isLiveParam)) dispatch(setHlsLivePosition(hls.liveSyncPosition));\r\n};\r\n\r\nexport const handleFragChanged = (Hls: any, hls: any, data: any, setQualityLevel: any) => {\r\n const { params, multiAudio, selectedAudioId } = store.getState().videoData;\r\n\r\n if (multiAudio && selectedAudioId !== undefined && selectedAudioId !== hls.audioTrack) {\r\n hls.audioTrack = selectedAudioId;\r\n hls.trigger(Hls.Events.AUDIO_TRACK_LOADING, multiAudio[selectedAudioId]);\r\n }\r\n if (params.type || !conditions(ConditionName.isLiveParam)) handleLevels(hls, data, setQualityLevel);\r\n};\r\n\r\nexport const handleFragParsed = (hls: any, data: any, setQualityLevel: any) => {\r\n const { type } = store.getState().videoData.params;\r\n if (type || type === \"live\") handleLevels(hls, data, setQualityLevel);\r\n};\r\n\r\n// ************* HLS Error Handlers ************* //\r\n\r\nexport const handleHlsErrors = (Hls: any, data: any) => {\r\n if (data.event !== \"hlsAudioTrackLoading\") return { type: \"HLS_\" + data.type, message: data.error.message };\r\n return undefined;\r\n};\r\n\r\nexport const handlePreview = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { params, details } = store.getState().videoData;\r\n const previewStart = conditions(ConditionName.hasPreviewStart) ? details.preview_start : 0;\r\n const previewEnd = conditions(ConditionName.hasPreviewEnd) ? details.preview_end : videoTag() ? videoTag().duration : 0;\r\n if (params.preview === \"true\" && event.target.currentTime >= previewEnd!) {\r\n videoTag().currentTime = previewStart!;\r\n dispatch(setCurrentTime(previewStart!));\r\n }\r\n};\r\n\r\n// ************* Video Tag Handlers ************* //\r\n\r\nexport const handleVideoWaiting = (event: any, waitingTimerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n waitingTimerRef.current = Date.now();\r\n dispatch(setIsLoading(true));\r\n};\r\n\r\nexport const handleVideoSeeking = (event: any, waitingTimerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n waitingTimerRef.current = 0;\r\n dispatch(setIsLoading(true));\r\n};\r\n\r\nexport const handleVideoPlay = (event: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n const { details, params } = store.getState().videoData;\r\n const { videoSettings } = store.getState().user;\r\n event.preventDefault();\r\n timerRef.current = Date.now();\r\n dispatch(setPlay(true));\r\n if (conditions(ConditionName.isFirstPlay)) {\r\n if (!conditions(ConditionName.isLiveParam)) {\r\n videoTag().currentTime = params.t ? +params.t : videoSettings.time;\r\n dispatch(setCurrentTime(params.t ? +params.t : videoSettings.time));\r\n }\r\n if (conditions(ConditionName.hasFullScreenParams)) handleAutoFullScreen();\r\n if (conditions(ConditionName.isFullScreen)) handleLockOrientation();\r\n if (conditions(ConditionName.hasPreviewParams)) {\r\n const previewStart = details.preview_start ? details.preview_start : 0;\r\n videoTag().currentTime = previewStart;\r\n dispatch(setCurrentTime(previewStart));\r\n }\r\n dispatch(setVideoTimelines([Math.floor(videoTag().currentTime)]));\r\n }\r\n sendFluentLog(pausePlayLog(true));\r\n dispatch(setSubtitleText(\"\"));\r\n};\r\n\r\nexport const handleVideoPlaying = (\r\n loadingCounterRef: any,\r\n loadingDurationRef: any,\r\n initialWaitingDurationRef: any,\r\n bannerLoadingDurationRef: any,\r\n timerRef: any,\r\n waitingDurationRef: any,\r\n waitingTimerRef: any,\r\n videoEntranceTimeRef: any\r\n) => {\r\n const dispatch = store.dispatch;\r\n const { autoQuality, canPlayVideo, firstPlay, qualityLevels } = store.getState().controller;\r\n const { settings } = store.getState().user;\r\n const qualityLevel = settings.quality === -1 && autoQuality ? qualityLevels[autoQuality] : qualityLevels[settings.quality!];\r\n let waitingDuration = 0;\r\n if (!!waitingTimerRef.current) waitingDuration = Date.now() - waitingTimerRef.current;\r\n if (firstPlay && !!videoTag().played)\r\n sendFluentLog(\r\n initLog(\r\n loadingDurationRef.current,\r\n Date.now() - initialWaitingDurationRef.current,\r\n bannerLoadingDurationRef.current - initialWaitingDurationRef.current,\r\n Date.now() - timerRef.current,\r\n timerRef\r\n )\r\n );\r\n dispatch(setFirstPlay(false));\r\n if (canPlayVideo && waitingDuration > 0 && qualityLevel !== undefined) {\r\n waitingDurationRef.current = waitingDuration;\r\n waitingTimerRef.current = 0;\r\n sendFluentLog(loadingLog(waitingDuration, qualityLevel, timerRef, loadingCounterRef, videoEntranceTimeRef.current));\r\n loadingCounterRef.current = loadingCounterRef.current + 1;\r\n timerRef.current = Date.now();\r\n }\r\n};\r\n\r\nexport const handleVideoPause = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n sendFluentLog(pausePlayLog(false));\r\n dispatch(setPlay(false));\r\n};\r\n\r\nexport const handleVideoTimeUpdate = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { selectedSubtitle } = store.getState().videoData;\r\n event.preventDefault();\r\n handlePreview(event);\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n if (selectedSubtitle && selectedSubtitle.activeCues && selectedSubtitle.activeCues.length > 0)\r\n dispatch(setSubtitleText(selectedSubtitle.activeCues[0].text));\r\n};\r\n\r\nexport const handleVideoCanPlay = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { settings } = store.getState().user;\r\n event.preventDefault();\r\n dispatch(setIsLoading(false));\r\n dispatch(setCanPlayVideo(true));\r\n videoTag().volume = settings.volume / 100;\r\n if (!conditions(ConditionName.isIOSLive)) dispatch(setDuration(event.target.duration));\r\n if (conditions(ConditionName.isIOS)) {\r\n const subtitle: any = Object.values(event.target.textTracks);\r\n if (!!subtitle && subtitle.length) dispatch(setSubtitles(!!Object.values(subtitle[0]).length ? subtitle : []));\r\n } else dispatch(setSubtitles(Object.values(event.target.textTracks)));\r\n};\r\n\r\nexport const handleVideoEnded = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { params } = store.getState().videoData;\r\n event.preventDefault();\r\n dispatch(setIsLiveError(true));\r\n dispatch(setIsEnded(true));\r\n dispatch(setActiveElements(true));\r\n handleVideoTimeline(videoTag().duration);\r\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\r\n};\r\n\r\n// ************* IOS Video Tag Handlers ************* //\r\n\r\nexport const handleIosVideoPlay = (event: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n timerRef.current = Date.now();\r\n dispatch(setFirstPlay(false));\r\n};\r\n\r\nexport const handleIosVideoPlaying = () => {\r\n const dispatch = store.dispatch;\r\n dispatch(setIsLoading(false));\r\n};\r\n\r\nexport const handleIosVideoTimeUpdate = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n handlePreview(event);\r\n};\r\n\r\nexport const handleIosVideoEnded = () => {\r\n const { params } = store.getState().videoData;\r\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\r\n};\r\n\r\n// ************* Static Video Tag Handlers ************* //\r\n\r\nexport const handleStaticVideoPause = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setPlay(false));\r\n};\r\n\r\nexport const handleStaticVideoPlay = (event: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setPlay(true));\r\n timerRef.current = Date.now();\r\n if (conditions(ConditionName.isFirstPlay) && conditions(ConditionName.hasFullScreenParams)) handleAutoFullScreen();\r\n if (conditions(ConditionName.isFullScreen)) handleLockOrientation();\r\n};\r\n\r\nexport const handleStaticVideoPlaying = (loadingDurationRef: any, initialWaitingDurationRef: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n const { firstPlay } = store.getState().controller;\r\n dispatch(setIsLoading(false));\r\n if (firstPlay && !!videoTag().played)\r\n sendFluentLog(\r\n initLog(\r\n Math.round(loadingDurationRef.current),\r\n Date.now() - initialWaitingDurationRef.current,\r\n 0,\r\n Date.now() - timerRef.current,\r\n timerRef\r\n )\r\n );\r\n dispatch(setFirstPlay(false));\r\n};\r\n\r\nexport const handleStaticVideoTimeUpdate = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n dispatch(setDuration(event.target.duration));\r\n};\r\n\r\nexport const handleStaticVideoCanPlay = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setIsLoading(false));\r\n dispatch(setCanPlayVideo(true));\r\n};\r\n\r\nexport const handleStaticVideoLoadedData = (event: any, intervalRef: any) => {\r\n event.preventDefault();\r\n handleBufferedTime(event, intervalRef);\r\n};\r\n\r\nexport const handleStaticVideoEnded = (event: any) => {\r\n const { params } = store.getState().videoData;\r\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\r\n event.preventDefault();\r\n};\r\n\r\n// ************* Quiz Video Tag Handlers ************* //\r\nexport const handleQuizVideoTimeUpdate = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n};\r\n\r\nexport const handleQuizVideoPlaying = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setFirstPlay(false));\r\n};\r\n\r\n// ************* MultiLive Video Tag Handlers ************* //\r\nexport const handleMultiLiveManifestParsed = (hls: any) =>\r\n (hls.nextLevel = hls.levels.findIndex((level: any) => level.attrs.RESOLUTION!.split(\"x\")[1].trim() === \"144\"));\r\n\r\nexport const handleMultiLiveMediaAttached = async (Hls: any, hls: any) => {\r\n const { multiLives } = store.getState().videoData;\r\n const { stream_link } = await getLiveAndVodDetails(multiLives[0].user_id);\r\n hls.loadSource(stream_link);\r\n hls.on(Hls.Events.MANIFEST_PARSED, () => handleMultiLiveManifestParsed(hls));\r\n};\r\n\r\nexport const handleMultiLiveFragLoading = async (hls: any) => {\r\n const dispatch = store.dispatch;\r\n if (conditions(ConditionName.isLiveParam)) dispatch(setHlsLivePosition(hls.liveSyncPosition));\r\n};\r\n\r\nexport const handleVideoVisibilityChange = (hls: any) => {\r\n handleVideoTimeline(videoTag().currentTime);\r\n if (conditions(ConditionName.isVisibilityChange)) {\r\n if (document.hidden) hls.stopLoad();\r\n else hls.startLoad();\r\n }\r\n};\r\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var ce=Object.defineProperty;var er=Object.getOwnPropertyDescriptor;var tr=Object.getOwnPropertyNames;var rr=Object.prototype.hasOwnProperty;var Qe=(e,t)=>()=>(e&&(t=e(e=0)),t);var sr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ar=(e,t)=>{for(var r in t)ce(e,r,{get:t[r],enumerable:!0})},or=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of tr(t))!rr.call(e,o)&&o!==r&&ce(e,o,{get:()=>t[o],enumerable:!(s=er(t,o))||s.enumerable});return e};var ir=e=>or(ce({},"__esModule",{value:!0}),e);var l=Qe(()=>{});var mt=sr((Ua,ht)=>{l();ht.exports={NEXT_PUBLIC_HAMRAHI_PLAYER_SERVICES_STATUS:process.env.NEXT_PUBLIC_HAMRAHI_PLAYER_SERVICES_STATUS?process.env.NEXT_PUBLIC_HAMRAHI_PLAYER_SERVICES_STATUS:"development",status:"development",baseUrl:"https://hamrahi.cloud",driveRestAPI:"https://hamrahi.cloud/api",chatBaseUrl:"wss://hamrahi.cloud/",GA_MEASUREMENT_ID:"G-5JZ2S6WR6D",favIconUrl:"https://hamrahi.cloud/drive/hamrahi.svg",zarebinUserConfig:"https://hamrahi.cloud/get-header",trackerRestAPI:"https://hamrahi.cloud",aggregatorBaseUrl:"https://aggregator.hamrahi.cloud/",setAggregatorBaseUrl:"https://setaggregator.hamrahi.cloud/",fluentdUrl:"https://hamrahi.cloud",loginRedirectUrl:"zarebinlite://login",splusLoginRedirectUrl:"soroush://lookup?key=SplusCampaign",splusDownloadAppUrl:"https://splus.ir/p/download",cookieKey:"HAMRAHI_CLOUD_AUTH_TOKEN",whiteListTargets:"abrehamrahi.ir,hamrahi.cloud,sthamrahi.ir",whiteListGeneralUrl:"hamrahi.cloud,abrehamrahi.ir,zarebin.ir,mohtava.cloud,eshterak.cloud",sendXToken:"true",chatAPIBaseUrl:"https://hamrahi.cloud/chatapi/",zarebinNasle3Url:"https://bw3.zarebin.ir",assistant:!1,initialLoadedFragmentCount:"1",filmAndSerialAllowedUsers:JSON.stringify([{user_id:216},{user_id:196}]),keshtAllowedUsers:JSON.stringify([{user_id:98735}]),keshtBasePath:"/keshavarzi",keshtAppName:"\u06A9\u0634\u062A \u0642\u0631\u0627\u0631\u062F\u0627\u062F\u06CC",filmAndSerialBasePath:"/film-serial",hamrahiCloudLanding:"https://hamrahi.cloud/",commentPanel:"https://hamrahi.cloud/comments/"}});var gt={};ar(gt,{isNpmPackage:()=>vr});var vr,vt=Qe(()=>{l();vr=!1});l();var _toolkit = require('@reduxjs/toolkit');var Ke={play:!1,isAutoPlay:!0,duration:0,currentTime:0,mouseMoveTime:0,qualityLevels:[],qualityBitrates:[],manualQuality:void 0,autoQuality:void 0,activeElements:!0,isLive:!1,isLoading:!1,isFullScreen:!1,bufferedTimeWidth:0,firstPlay:!0,hlsLiveSyncPosition:0,activePointerProgressBar:!1,delayTurnOffControlbar:!1,canPlayVideo:!1,lock:!1,isEnded:!1,tooltipTime:0,showMiniPlayer:!1,isClickInnerCard:!1,loadedFragmentsCount:[]},He=_toolkit.createSlice.call(void 0, {name:"controller",initialState:Ke,reducers:{setPlay:(e,t)=>{e.play=t.payload},setIsAutoPlay:(e,t)=>{e.isAutoPlay=t.payload},setDuration:(e,t)=>{e.duration=t.payload},setCurrentTime:(e,t)=>{e.currentTime=t.payload},setMouseMoveTime:(e,t)=>{e.mouseMoveTime=t.payload},setManualQuality:(e,t)=>{e.manualQuality=t.payload},setAutoQuality:(e,t)=>{e.autoQuality=t.payload},setQualityLevels:(e,t)=>{e.qualityLevels=t.payload},setQualityBitrates:(e,t)=>{e.qualityBitrates=t.payload},setActiveElements:(e,t)=>{e.activeElements=t.payload},setIsLive:(e,t)=>{e.isLive=t.payload},setIsLoading:(e,t)=>{e.isLoading=t.payload},setIsFullScreen:(e,t)=>{e.isFullScreen=t.payload},setBufferedTimeWidth:(e,t)=>{e.bufferedTimeWidth=t.payload},setFirstPlay:(e,t)=>{e.firstPlay=t.payload},setHlsLivePosition:(e,t)=>{e.hlsLiveSyncPosition=t.payload},setActivePointerProgressBar:(e,t)=>{e.activePointerProgressBar=t.payload},setDelayTurnOffControlbar:(e,t)=>{e.delayTurnOffControlbar=t.payload},setCanPlayVideo:(e,t)=>{e.canPlayVideo=t.payload},setLock:(e,t)=>{e.lock=t.payload},setIsEnded:(e,t)=>{e.isEnded=t.payload},setTooltipTime:(e,t)=>{e.tooltipTime=t.payload},setShowMiniPlayer:(e,t)=>{e.showMiniPlayer=t.payload},setIsClickInnerCard:(e,t)=>{e.isClickInnerCard=t.payload},setLoadedFragmentsCount:(e,t)=>{e.loadedFragmentsCount=t.payload},setClearControllerSlice:()=>Ke}}),{setPlay:ue,setIsAutoPlay:Fr,setDuration:Vr,setCurrentTime:$r,setMouseMoveTime:Br,setQualityLevels:Or,setQualityBitrates:Cr,setAutoQuality:jr,setActiveElements:qr,setIsLive:Qr,setIsLoading:Kr,setIsFullScreen:de,setBufferedTimeWidth:Hr,setFirstPlay:Gr,setHlsLivePosition:Wr,setActivePointerProgressBar:Xr,setDelayTurnOffControlbar:Yr,setManualQuality:Jr,setCanPlayVideo:Zr,setLock:Ge,setIsEnded:zr,setTooltipTime:Nr,setShowMiniPlayer:es,setClearControllerSlice:We,setIsClickInnerCard:ts,setLoadedFragmentsCount:rs}=He.actions,Xe=He.reducer;l();var Ye={details:{stream_link:"",type:"",banner:"",id:void 0,title:void 0,description:void 0,viewers:void 0,live_viewers:void 0,like:void 0,start_time:void 0,tag:void 0,subtitles:void 0,vtt:void 0,vtt_mobile:void 0,preview_start:null,preview_end:null,download_links:[],pg_state:null,user_id:null,online_viewer_threshold:0,content_id:void 0,content_type:null,imdb_rate:null,release_year:null,duration:0},params:{src:"",type:"",id:"",fullscreen:"",autoplay:"",portrait:"",t:"",h:"",isGeneral:"",raw:"",theme:"dark",provider:"unknown",fullrate:"false",snapshot:"false",cover:"",user_id:"",user_ids:"",preview:"false",isAuth:"false",authentication:"true",site:"","e-url":"","e-cover":"",width:"",height:"",chart:"false",onFinished:void 0,showModuleTitle:"false",scrollElementId:void 0,onSnapshot:void 0,isMarkersChange:!1,quiz:"false",featureSet:void 0,uuid:"",homeButtonClickFlag:void 0},streamLinkParams:"",markers:[],liveId:void 0,vodId:void 0,onlineViewers:void 0,question:void 0,options:void 0,selectedOptionId:null,emojis:void 0,alternative_Lives:[],config:void 0,isLiveError:!0,emojiList1:[],emojiList2:[],gif:null,multiLives:[],multiAudio:[],selectedAudioId:0,subtitles:[],selectedSubtitle:void 0,subtitleText:void 0,subtitleColor:void 0,isComplexPortrait:void 0,isComplexDesktop:!1,videoElementSizeInfo:{bottom:0,top:0,right:0,left:0,width:0,height:0},recommendationList:void 0,token:"",isFetchDetails:!1,isValidAddress:!1,playList:void 0,videoTimelines:[],webListConfig:[],chartPoints:[],isReady:!1,showScreen:!1,trailer:[],hlsLiveSyncPosition:0,showCheckInternetSnackBar:!1},Je=_toolkit.createSlice.call(void 0, {name:"videoData",initialState:Ye,reducers:{setInfo:(e,t)=>{e.details=t.payload},setPlayerParams:(e,t)=>{e.params=t.payload},setStreamLinkParams:(e,t)=>{e.streamLinkParams=t.payload},setMarkers:(e,t)=>{e.markers=t.payload},setLiveId:(e,t)=>{e.liveId=t.payload},setVodId:(e,t)=>{e.liveId=t.payload},setOnlineViewers:(e,t)=>{e.onlineViewers=t.payload},setQuestion:(e,t)=>{e.question=t.payload},setSelectedOptionId:(e,t)=>{e.selectedOptionId=t.payload},setEmojis:(e,t)=>{e.emojis=t.payload},setAlternative_Lives:(e,t)=>{e.alternative_Lives=t.payload},setConfig:(e,t)=>{e.config=t.payload},setIsLiveError:(e,t)=>{e.isLiveError=t.payload},setEmojiList1:(e,t)=>{e.emojiList1=t.payload},setEmojiList2:(e,t)=>{e.emojiList2=t.payload},setGif:(e,t)=>{e.gif=t.payload},setErrorType:(e,t)=>{e.errorType=t.payload},setMultiLives:(e,t)=>{e.multiLives=t.payload},setMultiAudio:(e,t)=>{e.multiAudio=JSON.parse(JSON.stringify(t.payload))},setSelectedAudioId:(e,t)=>{e.selectedAudioId=t.payload},setSubtitles:(e,t)=>{e.subtitles=t.payload},setSelectedSubtitle:(e,t)=>{e.selectedSubtitle=t.payload},setSubtitleText:(e,t)=>{e.subtitleText=t.payload},setSubtitleColor:(e,t)=>{e.subtitleColor=t.payload},setIsComplexPortrait:(e,t)=>{e.isComplexPortrait=t.payload},setIsComplexDesktop:(e,t)=>{e.isComplexDesktop=t.payload},setVideoElementSizeInfo:(e,t)=>{e.videoElementSizeInfo=t.payload},setRecommendationList:(e,t)=>{e.recommendationList=t.payload},setToken:(e,t)=>{e.token=t.payload},setIsFetchDetails:(e,t)=>{e.isFetchDetails=t.payload},setIsValidAddress:(e,t)=>{e.isValidAddress=t.payload},setPlayList:(e,t)=>{e.playList=t.payload},setVideoTimelines:(e,t)=>{e.videoTimelines=t.payload},setWebListConfig:(e,t)=>{e.webListConfig=t.payload},setChartPoints:(e,t)=>{e.chartPoints=t.payload},setIsReady:(e,t)=>{e.isReady=t.payload},setShowScreen:(e,t)=>{e.showScreen=t.payload},setTrailer:(e,t)=>{e.trailer=t.payload},setShowCheckInternetSnackBar:(e,t)=>{e.showCheckInternetSnackBar=t.payload},setClearVideoDataSlice:e=>e=Ye}}),{setInfo:Ze,setPlayerParams:ns,setStreamLinkParams:ze,setMarkers:ls,setLiveId:cs,setVodId:us,setOnlineViewers:ds,setQuestion:ps,setSelectedOptionId:hs,setEmojis:ms,setAlternative_Lives:gs,setConfig:vs,setIsLiveError:Ne,setEmojiList1:fs,setEmojiList2:ys,setGif:Ps,setErrorType:et,setMultiLives:Ss,setMultiAudio:ws,setSelectedAudioId:ks,setSubtitles:bs,setSelectedSubtitle:cr,setSubtitleText:ur,setSubtitleColor:Ls,setIsComplexPortrait:pe,setIsComplexDesktop:As,setVideoElementSizeInfo:tt,setRecommendationList:Is,setToken:Ts,setIsFetchDetails:he,setIsValidAddress:me,setPlayList:xs,setVideoTimelines:N,setWebListConfig:_s,setChartPoints:Ms,setIsReady:Us,setClearVideoDataSlice:rt,setShowScreen:Ds,setTrailer:Es,setShowCheckInternetSnackBar:Rs}=Je.actions,st=Je.reducer;l();l();l();l();l();l();l();var pr={markersListPopover:!1,settingPopover:!1,sharePopover:!1,feedbackPopover:!1,multiLivesPopover:!1,pollPopover:!1,fullRatePopover:!0,autoPlayPopover:!1,recommendListPopover:!1,tagsPopover:!1,speedPopover:!1,playListPopover:!1,playListCardPopover:!1,commentPopover:!1,personalMarkersPopover:!1,bookmarksPopover:!1,chatPopover:!1,chatRulesPopover:!1,chatEmojisPopover:!1,trailerPopover:!1,loginPopover:!1,qualityLevelsPopover:!1},at=_toolkit.createSlice.call(void 0, {name:"popover",initialState:pr,reducers:{setMarkersListPopover:(e,t)=>{e.markersListPopover=t.payload},setSettingPopover:(e,t)=>{e.settingPopover=t.payload},setSharePopover:(e,t)=>{e.sharePopover=t.payload},setFeedbackPopover:(e,t)=>{e.feedbackPopover=t.payload},setMultiLivesPopovers:(e,t)=>{e.multiLivesPopover=t.payload},setPollPopover:(e,t)=>{e.pollPopover=t.payload},setFullRatePopover:(e,t)=>{e.fullRatePopover=t.payload},setAutoPlayPopover:(e,t)=>{e.autoPlayPopover=t.payload},setRecommendListPopover:(e,t)=>{e.recommendListPopover=t.payload},setTagsPopover:(e,t)=>{e.tagsPopover=t.payload},setSpeedPopover:(e,t)=>{e.speedPopover=t.payload},setPlayListPopover:(e,t)=>{e.playListPopover=t.payload},setPlayListCardPopover:(e,t)=>{e.playListCardPopover=t.payload},setCommentPopover:(e,t)=>{e.commentPopover=t.payload},setPersonalMarkersPopover:(e,t)=>{e.personalMarkersPopover=t.payload},setBookmarksPopover:(e,t)=>{e.bookmarksPopover=t.payload},setChatPopover:(e,t)=>{e.chatPopover=t.payload},setChatRulesPopover:(e,t)=>{e.chatRulesPopover=t.payload},setChatEmojisPopover:(e,t)=>{e.chatEmojisPopover=t.payload},setTrailerPopover:(e,t)=>{e.trailerPopover=t.payload},setLoginPopover:(e,t)=>{e.loginPopover=t.payload},setQualityLevelsPopover:(e,t)=>{e.qualityLevelsPopover=t.payload},setClearPopoversSlice:e=>{e.markersListPopover=!1,e.settingPopover=!1,e.sharePopover=!1,e.feedbackPopover=!1,e.multiLivesPopover=!1,e.pollPopover=!1,e.autoPlayPopover=!1,e.recommendListPopover=!1,e.tagsPopover=!1,e.speedPopover=!1,e.playListPopover=!1,e.playListCardPopover=!1,e.commentPopover=!1,e.personalMarkersPopover=!1,e.bookmarksPopover=!1,e.chatPopover=!1,e.chatRulesPopover=!1,e.chatEmojisPopover=!1,e.trailerPopover=!1,e.loginPopover=!1,e.qualityLevelsPopover=!1}}}),{setMarkersListPopover:js,setSettingPopover:qs,setSharePopover:Qs,setFeedbackPopover:Ks,setMultiLivesPopovers:Hs,setPollPopover:Gs,setFullRatePopover:Ws,setAutoPlayPopover:Xs,setRecommendListPopover:Ys,setTagsPopover:Js,setSpeedPopover:Zs,setCommentPopover:zs,setPlayListPopover:Ns,setPlayListCardPopover:ea,setPersonalMarkersPopover:ta,setBookmarksPopover:ra,setChatPopover:sa,setChatEmojisPopover:aa,setTrailerPopover:oa,setLoginPopover:ia,setChatRulesPopover:na,setQualityLevelsPopover:la,setClearPopoversSlice:H}=at.actions,ot=at.reducer;l();var it={userId:"",authToken:"",refreshToken:"",avatar_url:"",name:"",phone_number:"",isLogin:!1,selectedPersonalMarker:void 0,settings:{quality:-1,brightness:100,volume:100,speed:1,poll_emoji:!0},videoSettings:{is_like:null,time:0},bookmarks:[],bookmarkId:void 0,preFactor:void 0,factor:void 0,showContinuousePlayback:!1},nt=_toolkit.createSlice.call(void 0, {name:"user",initialState:it,reducers:{setUserId:(e,t)=>{e.userId=t.payload},setAuthToken:(e,t)=>{e.authToken=t.payload},setRefreshToken:(e,t)=>{e.refreshToken=t.payload},setUserInfo:(e,t)=>{e.avatar_url=t.payload.avatar_url,e.name=t.payload.name,e.phone_number=t.payload.phone_number,e.userId=t.payload.id,e.isLogin=!0},setSelectedPersonalMarker:(e,t)=>{e.selectedPersonalMarker=t.payload},setUserSettings:(e,t)=>{e.settings=t.payload},setVideoSettings:(e,t)=>{e.videoSettings=t.payload},setBookamrks:(e,t)=>{e.bookmarks=t.payload},setBookmarkId:(e,t)=>{e.bookmarkId=t.payload},setPreFactor:(e,t)=>{e.preFactor=t.payload},setFactor:(e,t)=>{e.factor=t.payload},setShowContinuousePlayback:(e,t)=>{e.showContinuousePlayback=t.payload},setClearUserSlice:()=>it}}),{setUserId:ha,setAuthToken:ma,setRefreshToken:ga,setUserInfo:va,setSelectedPersonalMarker:fa,setUserSettings:lt,setVideoSettings:ct,setBookamrks:ya,setBookmarkId:Pa,setPreFactor:Sa,setFactor:wa,setShowContinuousePlayback:ut,setClearUserSlice:dt}=nt.actions,pt=nt.reducer;var gr=_toolkit.configureStore.call(void 0, {reducer:{controller:Xe,videoData:st,popovers:ot,user:pt},devTools:!0,middleware:e=>e({serializableCheck:!1})}),a= exports.L =gr;l();var _axios = require('axios'); var _axios2 = _interopRequireDefault(_axios);l();var _jscookie = require('js-cookie'); var _jscookie2 = _interopRequireDefault(_jscookie);var b=mt(),L=(vt(),ir(gt));var ft=()=>L?b.aggregatorBaseUrl:process.env.aggregatorBaseUrl,G=()=>L?b.setAggregatorBaseUrl:process.env.setAggregatorBaseUrl,d=()=>(L?b.baseUrl:process.env.baseUrl)+"/live/api",ge=()=>(L?b.baseUrl:process.env.baseUrl)+"/api",B=()=>(L?b.baseUrl:process.env.baseUrl)+"/comment-service/api",ve=()=>L?b.fluentdUrl:process.env.fluentdUrl,yt=()=>(L?b.baseUrl:process.env.baseUrl)+"/emoji";var Pt=()=>L?b.baseUrl:process.env.baseUrl,W=()=>L?b.zarebinNasle3Url:process.env.zarebinNasle3Url,St=()=>L?b.chatBaseUrl:process.env.chatBaseUrl,O=()=>(L?b.trackerRestAPI:process.env.trackerRestAPI)+"/tracker-service/api",ee=()=>L?b.chatAPIBaseUrl:process.env.chatAPIBaseUrl,q=()=>(L?b.loginBaseUrl:process.env.loginBaseUrl)+"/api";var wt=()=>{let e=yr(),t=_jscookie2.default.get(e);return t?(L?b.status==="fars":process.env.status==="fars")?t:JSON.parse(t).access:!1},yr=()=>L?b.cookieKey:process.env.cookieKey;var _=async({url:e,method:t="GET",data:r,headers:s,retryCount:o=1,maxRetryCount:i=0,errorMessage:c,retryPolicy:u,errorCallback:y,timeoutCount:x})=>{let v={url:e,method:t,headers:{...s,"Content-Type":"application/json"},timeout:x?x*1e3:void 0};r?t==="GET"?v={...v,params:{uuid:a.getState().videoData.params.uuid,provider:a.getState().videoData.params.provider==="unknown"?void 0:a.getState().videoData.params.provider,...r}}:v={...v,data:{uuid:a.getState().videoData.params.uuid,provider:a.getState().videoData.params.provider==="unknown"?void 0:a.getState().videoData.params.provider,...r}}:t==="GET"?v={...v,params:{uuid:a.getState().videoData.params.uuid,provider:a.getState().videoData.params.provider==="unknown"?void 0:a.getState().videoData.params.provider}}:v={...v,data:{uuid:a.getState().videoData.params.uuid,provider:a.getState().videoData.params.provider==="unknown"?void 0:a.getState().videoData.params.provider}};try{return await _axios2.default.call(void 0, v)}catch(P){if(P&&P.response&&P.response.status===401){await kt();let T={...s,authorization:`Bearer ${wt()}`},f=o+1;return await te(f),_({url:e,method:t,data:r,headers:T,retryCount:f,maxRetryCount:i,errorMessage:c,retryPolicy:u,errorCallback:y})}else{y&&y(P.response.status,P.response.message);let T=0,f=0;if(u!==void 0){for(let A=0;A<u.length;A++)if((u[A].codeAbove&&P.response.status>=u[A].codeAbove||u[A].codeBelow&&P.response.status<=u[A].codeBelow)&&(u[A].excludeCodes.length===0||!u[A].excludeCodes.includes(P.response.status))||u[A].includeCodes.length===0||u[A].includeCodes.includes(P.response.status)){f=u[A].count,T=u[A].delay;break}}else f=i,T=o+1;if(o<f)return await te(T),_({url:e,method:t,data:r,headers:s,retryCount:o+1,newMaxRetryCount:f,errorMessage:c,retryPolicy:u,errorCallback:y});if(P.response)return{data:P.response.data?P.response.data:{detail:"\u0639\u0645\u0644\u06CC\u0627\u062A \u0628\u0627 \u062E\u0637\u0627 \u0645\u0648\u0627\u062C\u0647 \u0634\u062F\u0647 \u0627\u0633\u062A."},status:P.response.status}}}};var Sr=(e={})=>{let r={...{ANON_FAILURE_RETRY_DELAY_THROTTLE:"5",ANON_FAILURE_RETRY_COUNT_THROTTLE:"3",FAILURE_RETRY_DELAY_INTERNAL_SERVER_ERROR:"5",FAILURE_RETRY_COUNT_INTERNAL_SERVER_ERROR:"3",FAILURE_RETRY_DELAY_TIMEOUT:"5",FAILURE_RETRY_COUNT_TIMEOUT:"3",LANG:"fa",DIR:"rtl"},...e};return()=>r},ja=Sr();l();var k=()=>{let{params:e,details:t}=a.getState().videoData,{bookmarkId:r}=a.getState().user;return{Ad:{getVast:"https://vfetch.yektanet.com/api/v1/load/16e31ffa-10ac-40c3-b380-fa378f8ecbb8"},live:{anonListConfigs:"",getLiveUrl:`${d()}/v1/live/details/live/`,generalData:`${ft()}live/api/v1/get-aggregated/live/${e.id}/${t.id}`,postData:`${G()}live/api/v1/set-emoji-poll`,online_viewer:`${G()}live/api/v1/online-viewer/live/${t.id}/`,getArchiveUrl:`${d()}/v1/live/details/archive/`,getLiveMarkers:`${d()}/v1/live/list-event/live/`,multiLives:`${d()}/v1/live/viewers/live-archive-list/live/`,gifLinks:`${yt()}/gifs/gifConfig.json`,tempLink:`${d()}/v1/storage/temp_link/`,quiz:`${G()}live/api/v1/set-quiz`,quizUserRecoreds:(s,o)=>`${G()}live/api/v1/get-user-quiz-record/${s}/${o}/`,liveChat:{getMessageList:s=>`${ee()}v1/chat/anon-list-messages/${s}/`,chat:s=>`${St()}room/${s}/`,sendChatMessage:`${ee()}v1/chat/send-message/`,getRoomId:s=>`${ee()}v1/chat/get-active-room/${s}/`}},vod:{getVodUrl:`${d()}/v1/live/details/vod/`,getVodMarkers:`${d()}/v1/live/list-event/vod/`},archive:{getArchiveUrl:`${d()}/v1/live/details/archive/`,getArchiveMarkers:`${d()}/v1/live/list-event/live/`},clip:{getClipUrl:`${d()}/v1/live/details/clip/`,getClipMarkers:`${d()}/v1/live/list-event/clip/`},searchViewers:`${d()}/v2/live/viewers/search/`,viewersTagList:s=>`${d()}/v1/live/viewers-tag-list/${s}/`,viewCount:s=>`${d()}/v1/viewed/content/${s}`,like:`${d()}/v1/like/content/${t.content_id}`,dislike:`${d()}/v1/dislike/content/${t.content_id}`,unlike:`${d()}/v1/unlike/content/${t.content_id}`,undislike:`${d()}/v1/undislike/content/${t.content_id}`,recommendationList:()=>{let s=`${e.type}/${n("isLiveParam")?t.id:+e.id}`;return n("hasUserIds")?`${d()}/v1/live/recommend/${s}/?user_ids=${e.user_ids}`:`${d()}/v1/live/recommend/${s}/`},auth:{refresh:`${q()}/v2/profile/auth/token-refresh/`,login:(s="v5")=>`${q()}/${s}/profile/auth/login/`,loginNasle3:()=>`${W()}/auth/login`,verifyOtp:()=>`${W()}/auth/verifyOtp`,code:(s="v2")=>`${q()}/${s}/profile/auth/generate-code/`,validateCode:(s="v2")=>`${q()}/${s}/profile/auth/validate-otp/`,captcha:(s="v1")=>`${q()}/${s}/captcha/get-captcha/`},playList:`${d()}/v1/live/playlist/viewers-list-videos-playlists/${e.type}/${n("isLiveParam")?+t.id:+e.id}/`,playListVideos:s=>`${d()}/v2/live/list-viewers-playlist-videos/${s}/`,comment:{create:`${B()}/v1/comment/create/`,commentList:s=>`${B()}/v1/comment/list-content-comments/${s}/`,replyList:s=>`${B()}/v1/comment/list-comment-replies/${s}/`,canAddComment:s=>`${B()}/v1/content-get-update-delete/${s}/`,like:s=>`${d()}/v1/like/comment/${s}`,unlike:s=>`${d()}/v1/unlike/comment/${s}`,default_message:s=>`${B()}/v1/default-message/list/${s}/`,deleteComment:(s,o="v1")=>`${B()}/${o}/comment/delete-by-owner/${s}/`},serverTime:`${ge()}/v1/configuration/server-time/`,user:{profile:`${W()}/profile/users`,profileWithXToken:`${Pt()}/profiles/userprofile`,profileWithXTokenNasle3:`${W()}/profile`,settings:`${O()}/v1/detail-setting/`,createSettings:`${O()}/v1/create-setting/`,createPersonalMarker:`${O()}/v1/create-marker/`,createVideoMetaData:`${O()}/v1/video-metadata/`,bookmarks:`${O()}/v1/list-create-bookmark/`,deleteBookmark:s=>`${O()}/v1/retrieve-update-delete-bookmark/${_nullishCoalesce(s, () => (r))}/`},trailer:{getList:`${d()}/v1/live/detail-trailer/${e.type}/${n("isLiveParam")?+t.id:+e.id}/`},videoTimelineLog:`${ve()}/video-timeline.log`,logs:`${ve()}/drive-endpoint.log`,getViewersWindow:`${d()}/v1/vod/get-viewer-window/${e.type}/${e.id}/`,web_list_config:(s="v1")=>`${ge()}/${s}/configuration/list-web-configs/`}},fe=()=>{let e="",t="",{type:r}=a.getState().videoData.params;switch(r){case"live":e=k().live.getLiveUrl,t=k().live.getLiveMarkers;break;case"vod":e=k().vod.getVodUrl,t=k().vod.getVodMarkers;break;case"archive":e=k().archive.getArchiveUrl,t=k().archive.getArchiveMarkers;break;case"clip":e=k().clip.getClipUrl,t=k().clip.getClipMarkers;break;default:break}return{apiUrl:e,apiMarkerUrl:t}};l();var F={key:"HAMRAHI_CLOUD_AUTH_TOKEN",get:()=>{let e=_jscookie2.default.get(F.key);return e?JSON.parse(e):null},set:e=>_jscookie2.default.set(F.key,JSON.stringify(e),{expires:1095,sameSite:"none",secure:!0}),remove:()=>_jscookie2.default.remove(F.key)};var to=()=>{let{videoSettings:e}=a.getState().user,{params:t}=a.getState().videoData,r=t.type.toString(),s=p().currentTime;if(r!=="live"&&s!==0){let o=p().duration,i={video_id:+t.id,video_type:Pe(),time:s===o?0:Math.floor(p().currentTime),is_like:e.is_like},c=localStorage.getItem("viewedVideos");if(c){let u=JSON.parse(c);u=u.filter(y=>y.video_id!==i.video_id||y.video_type!==i.video_type),u.length<10||u.shift(),u.push(i),localStorage.setItem("viewedVideos",JSON.stringify(u))}else localStorage.setItem("viewedVideos",JSON.stringify([i]))}},ro= exports.V =()=>{let e=a.dispatch,{params:t}=a.getState().videoData,r=localStorage.getItem("viewedVideos");if(r){let o=JSON.parse(r).find(i=>i.video_id===Number(t.id)&&i.video_type===Pe());o&&(e(ct({is_like:o.is_like,time:o.time})),o.time!==0&&e(ut(!0)))}};var te=e=>new Promise(t=>setTimeout(t,e*1e3)),yo=e=>{let t=Math.floor(Date.now()/1e3-e),r=new Intl.RelativeTimeFormat("fa",{numeric:"auto"});switch(!0){case t<60:return r.format(-t,"second");case t<3600:return r.format(-Math.floor(t/60),"minute");case t<86400:return r.format(-Math.floor(t/3600),"hour");case t<2592e3:return r.format(-Math.floor(t/86400),"day");case t<31536e3:return r.format(-Math.floor(t/2592e3),"month");default:return r.format(-Math.floor(t/31536e3),"year")}},Po=(e,t)=>e.time<t.time?-1:e.time>t.time?1:0,re=e=>{e&&n("showModuleTitle")&&(document.title=e)},M= exports.W =()=>{let e=localStorage.getItem("hamrahiUUID");return e||(e=wr(),localStorage.setItem("hamrahiUUID",e)),e.toString()},wr=()=>{let e="xxxxxxxx-xxxx-Mxxx-Nxxx-x".replace(/[xMN]/g,t=>{let r;return t==="M"?r=Math.floor(1+Math.random()*5):t==="N"?r=Math.floor(8+Math.random()*4):r=Math.floor(Math.random()*16),r.toString(16)});return e+=Date.now().toString(16),e},kr=async(e,t)=>{await t(),await te(e),kr(e,t)},S= exports.X =()=>"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch,Y=()=>{let{isFullScreen:e}=a.getState().controller;return S()&&e},V=()=>{let{isFullScreen:e}=a.getState().controller;return S()&&!e},So=e=>!S()&&!document.fullscreenElement&&e,w=()=>["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document,wo={miniPlayer:15,miniPlayerFontAwesome:"pl-text-[15px]",other:20,otherFontAwesome:"pl-text-[22px]"},X=e=>(e<10?"0":"")+e,ko= exports.Y =e=>{let t=Math.floor(e/3600),r=Math.floor(e%3600/60),s=Math.floor(e%3600%60);return t<1?`${X(r)}:${X(s)}`:`${X(t)}:${X(r)}:${X(s)}`},bo=e=>{let t=Math.floor(e/3600),r=Math.floor(e%3600/60),s=Math.floor(e%3600%60),o=s?`${s} \u062B\u0627\u0646\u06CC\u0647`:null,i=r?`${r} \u062F\u0642\u06CC\u0642\u0647`:null;return[t?`${t} \u0633\u0627\u0639\u062A`:null,i,o].filter(u=>u!==null)},Lo=e=>{let t=e>=3600?Math.floor(e/3600):0,r=e>=60?Math.floor(e%3600/60):0,s=e<60*60?Math.floor(e%3600%60):0,o=s?`${s} \u062B\u0627\u0646\u06CC\u0647`:null,i=r?`${r} \u062F\u0642\u06CC\u0642\u0647`:null;return[t?`${t} \u0633\u0627\u0639\u062A`:null,i,o].filter(u=>u!==null).join(" \u0648 ")},E= exports.Z =e=>["mp4","mkv","mov","m4v"].includes(e)?"mp4":e==="webm"||e==="flv"?e:["mp3","ogg"].includes(e)?"mp3":!1,bt=e=>{let t=new URL(e),r=e;return t.search.length?r+=`&uuid=${M()}`:r+=`?uuid=${M()}`},Ao=e=>{let t=0;return e&&Object.keys(e).length>0&&e.options.length>0&&e.options.forEach(r=>{Se()&&Se().polls.filter(s=>s.qid===e.id&&s.oid===r.id&&s.sumOptionVotes===r.vote+1).length>0&&(t+=1),t+=r.vote}),t},Io= exports._ =(e,t)=>{try{return[e.target.id,e.target.parentNode.id,e.target.parentNode.parentNode.id,e.target.parentNode.parentNode.parentNode.id,e.target.parentNode.parentNode.parentNode.parentNode.id].includes(t)}catch (e2){return!1}},To=e=>e/1e3<1?{value:e,unit:""}:e/(1e3*1e3)<1?{value:Math.ceil(e/1e3*10)/10,unit:"K"}:e/(1e3*1e3*1e3)<1?{value:Math.ceil(e/(1e3*1e3)*10)/10,unit:"M"}:{value:0,unit:""},Lt=e=>{let t=a.dispatch,{token:r,params:s}=a.getState().videoData,o="";o=e.split("m3u8")[1],o?o=`${o}&uuid=${M()}`:o=`?uuid=${M()}`,n("isAuth")&&(br(o)?o=`${o}&token=${r}`:o=`?token=${r}`),t(ze(o))},xo=e=>{if(e){let t=e.offsetLeft,r=window.innerWidth-(e.offsetLeft+e.offsetWidth);if(t>=0&&r>=0)return"inViewport";if(t<0)return"OutViewPortFromLeft";if(r<0)return"OutViewPortFromRight"}},_o=e=>e.portrait==="true"&&V()&&e.isGeneral!=="true"&&e.raw!=="true",we=()=>{let{params:e,videoElementSizeInfo:t}=a.getState().videoData;return e.portrait!=="true"&&(+t.width.toFixed(0)===window.screen.width||+t.width.toFixed(0)===window.screen.availWidth)&&(window.screen.height>window.screen.width||window.screen.availHeight>window.screen.availWidth)},Mo= exports.$ =(e,t)=>{let r=document.getElementById(t),s=document.createElement("span");s.style.width=s.style.height="50px",s.style.left=`${e.touches[0].clientX-r.offsetLeft-25}px`,s.style.top=`${e.touches[0].clientY-r.offsetTop-25}px`,s.classList.add("pl-ripple");let o=r.getElementsByClassName("pl-ripple")[0];o&&o.remove(),r.appendChild(s)},Uo=(e,t,r=50)=>{let s=e.clientX!==void 0?e.clientX:e.touches[0].clientX,o=e.clientY!==void 0?e.clientY:e.touches[0].clientY,i=document.getElementById(t),c=document.createElement("span");c.style.width=c.style.height=`${r}px`,c.style.left=`${s-r/2}px`,c.style.top=`${o-i.getBoundingClientRect().top-r/2}px`,c.classList.add("pl-ripple");let u=i.getElementsByClassName("pl-ripple")[0];u&&u.remove(),i.appendChild(c)},Do=e=>window.btoa(unescape(encodeURIComponent(e))),br=e=>!!e.match(/\?/g),ke=e=>e>=200&&e<300,kt=async()=>{if(_optionalChain([F, 'access', _2 => _2.get, 'call', _3 => _3(), 'optionalAccess', _4 => _4.refresh])){let{data:e,status:t}=await _({url:k().auth.refresh,method:"POST",data:{refresh:_optionalChain([F, 'access', _5 => _5.get, 'call', _6 => _6(), 'optionalAccess', _7 => _7.refresh])}});if(ke(t)){let r={access:e.access,refresh:_optionalChain([F, 'access', _8 => _8.get, 'call', _9 => _9(), 'optionalAccess', _10 => _10.refresh]),token_id:e.token_id};F.set(r)}else throw F.remove(),new Error("")}},Eo=(e,t)=>{let r=e.split(","),s=r[0].match(/:(.*?);/)[1],o=window.atob(r[1]),i=o.length,c=new Uint8Array(i);for(;i--;)c[i]=o.charCodeAt(i);return new File([c],t,{type:s})},Ro=e=>{var t=e.split(".")[1],r=t.replace(/-/g,"+").replace(/_/g,"/"),s=decodeURIComponent(window.atob(r).split("").map(function(o){return"%"+("00"+o.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(s)},Fo=()=>{let{videoElementSizeInfo:e}=a.getState().videoData;return n("isMiniPlayer")&&!n("isFullMobilePortrait")?{top:e.top,height:e.height,left:e.left}:{}},Vo=["\u0627\u0648\u0644","\u062F\u0648\u0645","\u0633\u0648\u0645","\u0686\u0647\u0627\u0631\u0645","\u067E\u0646\u062C\u0645","\u0634\u0634\u0645","\u0647\u0641\u062A\u0645","\u0647\u0634\u062A\u0645","\u062A\u0647\u0645","\u062F\u0647\u0645","\u06CC\u0627\u0632\u062F\u0647\u0645","\u062F\u0648\u0627\u0632\u062F\u0647\u0645","\u0633\u06CC\u0632\u062F\u0647\u0645","\u0686\u0647\u0627\u0631\u062F\u0647\u0645","\u067E\u0627\u0646\u0632\u062F\u0647\u0645","\u0634\u0627\u0646\u0632\u062F\u0647\u0645","\u0647\u0641\u062F\u0647\u0645","\u0647\u062C\u062F\u0647\u0645","\u0646\u0648\u0632\u062F\u0647\u0645","\u0628\u06CC\u0633\u062A\u0645"],Pe=()=>{let{params:e}=a.getState().videoData;switch(e.type){case"vod":return 2;case"archive":case"live":return 1;case"clip":return 3;default:return 4}},$o=()=>{if(n("hasXTokenParamOrSendXToken"))return{"x-token":a.getState().videoData.params.xToken}};function Bo(e){let r=a.getState().videoData.webListConfig.find(s=>s.key===e);return r?r.value:""}var Oo=e=>{let t=e.split(".");return`${t[t.length-2]}.${t[t.length-1]}`},Co= exports.aa =()=>{let e=a.dispatch;e(rt()),e(We()),e(dt()),e(H())},be=e=>{let t,r=[];for(t=0;t<e.length;t++)r[t]=e[t].weight+(r[t-1]||0);let s=Math.random()*r[r.length-1];for(t=0;t<r.length&&!(r[t]>s);t++);return e[t].domain},jo=e=>Number(e.split(":")[0])*3600+Number(e.split(":")[1])*60+Number(e.split(":")[2]),qo=e=>["jpg","png","jpeg"].includes(e.toLowerCase().split(".")[e.toLowerCase().split(".").length-1]),Qo= exports.ba =e=>{let t=0;performance&&performance.getEntriesByType("navigation")&&(t=performance.getEntriesByType("navigation")[0].duration),e.current=t},Ko= exports.ca =(e,t,r)=>{let s=t*window.devicePixelRatio,o=r*window.devicePixelRatio,i=[];return n("isTouchScreenPortrait")?i=e.filter(c=>Number(c.split("x")[0].trim())<=s):i=e.filter(c=>Number(c.split("x")[0].trim())<=o||Number(c.split("x")[1].trim())<=s),i.indexOf(i[i.length-1])},Ho=e=>{let t;switch(e){case"fa":t="\u0641\u0627\u0631\u0633\u06CC";break;case"en":t="\u0627\u0646\u06AF\u0644\u06CC\u0633\u06CC";break;case"ar":t="\u0639\u0631\u0628\u06CC";break;case"tr":t="\u062A\u0631\u06A9\u06CC";break;default:break}return t},Go=()=>{let e=["Macintosh","MacIntel","MacPPC","Mac68K"],t=["Win32","Win64","Windows","WinCE"],r=["iPhone","iPad","iPod"],s=window.navigator.userAgent,o=window.navigator.platform,i="";return e.indexOf(o)!==-1?i="mac":r.indexOf(o)!==-1?i="ios":t.indexOf(o)!==-1?i="windows":/Android/.test(s)?i="android":/Linux/.test(o)&&(i="linux"),i},Wo=e=>{let t=new URL(window.location.href);t.searchParams.delete(e),history.pushState({},"",t.href)},Xo=(e,t)=>{let r=new URL(window.location.href);return r.searchParams.set("id",e),r.searchParams.set("type",t),history.pushState({},"",r.href)},Yo= exports.da =str=>{var obj={};if(str&&typeof str=="string"){var objStr=str.match(/\{(.)+\}/g);eval("obj ="+objStr)}return obj},Le=(e,t)=>{let r={};for(let s in e){let o=t?`${t}_${s}`:s;typeof e[s]=="object"&&!Array.isArray(e[s])?r={...r,...Le(e[s],o)}:r[o]=e[s]}return r},Jo=(e,t)=>e.filter(r=>!t.includes(r));var n=e=>{let{trailer:t,params:r,details:s,gif:o,isComplexPortrait:i,isComplexDesktop:c,markers:u,subtitles:y,question:x,emojis:v,onlineViewers:P,alternative_Lives:T,recommendationList:f,multiAudio:A,isLiveError:Ie,isValidAddress:Mt,isFetchDetails:$,token:Ut,selectedOptionId:Dt,emojiList1:Et,emojiList2:Rt,selectedSubtitle:Ft,playList:R,videoElementSizeInfo:Te,chartPoints:Vt,isReady:$t,showCheckInternetSnackBar:Bt}=a.getState().videoData,{firstPlay:h,lock:m,canPlayVideo:se,qualityLevels:ae,manualQuality:K,activeElements:xe,isLoading:Ot,isLive:Ct,isEnded:U,isAutoPlay:jt,play:qt,isFullScreen:j,autoQuality:_e,showMiniPlayer:I}=a.getState().controller,{trailerPopover:Me,settingPopover:oe,markersListPopover:ie,sharePopover:Ue,feedbackPopover:ne,multiLivesPopover:le,fullRatePopover:De,autoPlayPopover:Z,recommendListPopover:Ee,speedPopover:Re,tagsPopover:Fe,personalMarkersPopover:Ve,bookmarksPopover:$e,chatPopover:Be,loginPopover:Oe,chatEmojisPopover:Qt,commentPopover:Kt,playListCardPopover:Ht,playListPopover:Ce,pollPopover:Gt,qualityLevelsPopover:Wt}=a.getState().popovers,{isLogin:z,settings:D,bookmarkId:Xt,avatar_url:Yt,name:Jt,phone_number:Zt,videoSettings:zt,showContinuousePlayback:je}=a.getState().user;switch(e){case"showHeader":return!h&&se&&!Z;case"showMain":return!Bt&&(!m||h);case"showFooter":return!h&&se;case"showGif":return!h&&r.type==="live"&&D.poll_emoji&&o;case"showElapsedTime":return r.type!=="live"||E(r.type);case"showLiveStatus":return r.type==="live"&&!h&&!m&&(w()&&V()||!w())&&!U;case"showLiveStatusInComplexPortrait":return r.type==="live"&&!U;case"showTouchVolumeBrightness":return!h&&Y()&&!m&&!U&&r.raw!=="true";case"showBackwardForward":return!h&&S()&&!m&&r.raw!=="true"&&(!U||U&&r.type!=="live");case"showPoll":return D.poll_emoji&&!h&&x&&x.active&&!m&&r.type==="live"&&(w()&&V()||!w());case"showFullRate":return!E(r.type)&&!h&&r.fullrate==="true"&&De!==void 0;case"showTitle":return!E(r.type)&&j&&!m;case"showInstagramEmoji":return D.poll_emoji&&v&&r.type==="live"&&!h&&!i;case"showEmojiComplexPortrait":return D.poll_emoji&&v&&r.type==="live";case"showOnlineViewers":return!!P&&P>0&&(!i||r.quiz==="true");case"showMultiLivePopover":return le;case"showMarkerListPopover":return ie;case"showFullRatePopover":return De;case"showAutoPlayPopover":return Z&&U&&r.portrait==="true"&&!I&&f&&f.length>0;case"showRecommendListPopover":return Ee;case"showSettingPopover":return oe;case"showSpeedPopover":return Re;case"showQualityLevelsPopover":return Wt;case"showTagsPopover":return Fe;case"showPersonalMarkerPopover":return Ve;case"showBookmarksPopover":return!!$e;case"showFeedbackPopover":return ne;case"showChatPopover":return!!Be;case"showTrailerPopover":return Me;case"showLoginPopover":return Oe;case"showAutoPlayListTouchIcon":return U&&!Z&&Y()&&r.portrait==="true"&&!w()&&!m&&f&&f.length>0;case"showMultiLive":return T&&T.length>0&&D.poll_emoji;case"showBigReplayIcon":return U&&r.portrait==="true"&&S()&&(w()&&V()||!w());case"showReplayIcon":return r.portrait==="true"&&!w()&&!S()&&I!==!0;case"showPlayNextIcon":return r.portrait==="true"&&!w()&&(!S()||Y())&&r.isGeneral!=="true"&&I!==!0;case"showAutoPlayToggleIcon":return r.portrait==="true"&&r.isGeneral!=="true"&&(w()&&V()||!w())&&I!==!0;case"showSettingIcon":return!E(r.type)&&!w()&&!j;case"showLikeDislike":return!E(r.type)&&r.portrait==="true"&&r.isGeneral!=="true"&&!c&&!i;case"showBanner":return h&&s.banner;case"showBannerStaticFiles":return h&&r.cover;case"showShareInSetting":return!i&&!c;case"showPlayListIcon":return R&&R.length>0&&(j||!j&&r.portrait!=="true")&&I!==!0;case"showPlayListTabTouchscreen":return R&&R.length>0&&S();case"showModuleTitle":return r.showModuleTitle==="true";case"showProgressbar":return!(w()&&r.type==="live")&&!(r.type==="live"&&U);case"showAgeClassification":return s.pg_state&&!m;case"showMiniPlayer":return I;case"showPictureInPicture":return I!==!0&&!w()&&!S();case"showPersonalMarker":return r.authentication==="true"&&(r.featureSet===void 0||r.featureSet.personalMarker!=="false");case"showFeedback":return r.featureSet===void 0||r.featureSet.feedback!=="false";case"trackerEnabled":return(r.featureSet===void 0||r.featureSet.enableTracker!=="false")&&r.quiz!=="true";case"showTabNavigator":return r.authentication==="true"&&(r.featureSet===void 0||r.featureSet.profileFooter!=="false");case"showBookmark":return r.authentication==="true"&&(r.featureSet===void 0||r.featureSet.bookmark!=="false");case"showVideoUploadTime":return r.featureSet===void 0||r.featureSet.videoUploadTime!=="false";case"showVideoViewers":return r.featureSet===void 0||r.featureSet.videoViewers!=="false";case"showRecommendationList":return r.featureSet===void 0||r.featureSet.recommendationList!=="false";case"showPlaylist":return r.featureSet===void 0||r.featureSet.playlist!=="false";case"show_Chat":return r.featureSet===void 0||r.featureSet.chat!=="false";case"hidePopovers":return!ie&&!oe&&!ne&&!Ue&&!le;case"isRaw":return r.raw;case"isParamsPortrait":return r.portrait==="true";case"isComplexPortrait":return i;case"isComplexDarkModePortrait":return i&&r.theme==="dark";case"isComplexDesktop":return c;case"isLandscape":return window.innerHeight<=window.innerWidth;case"isTouchScreen":return S();case"isTouchScreenPortrait":return V();case"isTouchScreenLandscape":return Y();case"isActiveElements":return xe;case"isPlay":return qt;case"isFirstPlay":return h;case"isLock":return m;case"isIOS":return w();case"isIOSLive":return w()&&r.type==="live";case"isLoading":return Ot;case"isLive":return Ct;case"isLiveParam":return r.type==="live";case"isLiveError":return Ie;case"isDarkMode":return r.theme==="dark";case"isStaticFormat":return E(r.type);case"isEnded":return U;case"isAutoPlay":return jt;case"isFullScreen":return j;case"isGeneral":return r.isGeneral==="true";case"isValidAddress":return Mt;case"isFetchDetails":return $;case"isAutoQuality":return D.quality===-1;case"isAuth":return Ut&&r.isAuth==="true";case"isChildClassification":return s.pg_state&&s.pg_state<14;case"isTeenagerClassification":return s.pg_state&&s.pg_state>=14&&s.pg_state<18;case"isYoungClassification":return s.pg_state&&s.pg_state>=18;case"isSelectedSubtitle":return!!y&&y.length>0&&Ft;case"isZarebinSite":return r.site==="zarebin.ir";case"isUserIdsParamsEqualAll":return!!r.user_ids&&r.user_ids==="all";case"isMiniPlayer":return(r.portrait!=="true"||I)&&Te.width<520;case"isFullMobilePortrait":return we();case"isLogin":return z;case"isSpinSettingsIcon":return D.quality===-1?_e===void 0:D.quality!==K;case"isVttFitHeight":return Te.height<600||S();case"isBookmark":return Xt!==void 0;case"isPressKeySpace":return!m;case"isPressKeyK":return!m;case"isPressKeyI":return!m&&!h&&!I;case"isPressKeyF":return!m&&!h&&!I;case"isPressKeyS":return r.type!=="live"&&!m&&!h;case"isPressKeyC":return!m&&!h&&!I&&!!y&&y.length>0;case"isPressKeyArrowRight":return!h&&!m;case"isPressKeyArrowLeft":return!h&&!m;case"isPressKeyN":return f&&f.length>0&&!h&&!m;case"isPressKeyQ":return T&&T.length>0&&!h&&!m;case"isPressKeyE":return u.length!==0&&!h&&!m;case"isPressKeyM":return!h&&!m;case"isSendTimelineLog":return!E(r.type);case"isReady":return $t;case"isPopoverOpen":return[ie,oe,Ue,ne,le,Gt,Z,Ee,Fe,Re,Ce,Ht,Kt,Ve,$e,Be,Qt,Me,Oe].some(Nt=>!!Nt);case"backgroundColorInLightMode":return c||i;case"HeightScreen":return!i&&!c&&!r.height;case"playByClickPoster":return h&&s.banner&&!je;case"hasMarkers":return u.length!==0;case"hasTitle":return s.title;case"hasDescription":return s.description;case"hasClipboard":return navigator&&navigator.clipboard&&navigator.clipboard.writeText;case"hasRecommendationList":return f&&f.length>0;case"hasTags":return s.tag;case"hasPreviewTime":return r.preview==="true";case"hasEmojis":return v;case"hasEmojiList1Or2":return v&&!!v.emoji_list_1||v&&!!v.emoji_list_2;case"hasBanner":return s.banner;case"hasMultiAudio":return A.length>0;case"hasDownloadLinks":return s.download_links.length>0&&(r.featureSet===void 0||r.featureSet.downloadUrl!=="false");case"hasStreamLink":return s.stream_link;case"hasPoll":return x&&Object.keys(x).length>0;case"hasUserIds":return!!r.user_ids;case"hasAlternativeLives":return T&&T.length>0;case"hasManualQuality":return K!=null;case"hasSound":return!!D.volume;case"hasVtt":return!!s.vtt||!!s.vtt_mobile;case"hasAutoPlay":return r.autoplay==="true";case"hasPlayList":return R&&R.length>0&&(S()&&Ce||!S());case"hasXToken":return!!r.xToken;case"hasMovieDetails":return s.content_type!==null&&s.content_type!==void 0;case"hasMovieContentType":return s.content_type!==null;case"hasMovieReleaseYear":return!!s.release_year;case"hasSubtitle":return r.quiz!=="true"&&!!y&&y.length>0&&!I;case"hasIMDB":return s.imdb_rate!==null;case"hasFullScreenParams":return r.fullscreen==="true";case"hasPreviewParams":return r.preview==="true";case"hasChart":return r.chart==="true"&&!E(r.type);case"hasChartPoints":return!!Vt.length;case"hasOnFinishedParams":return!!r.onFinished;case"hasOnSnapshotParams":return!!r.onSnapshot;case"hasUserAvatar":return!!Yt;case"hasUserName":return!!Jt;case"hasUserPhoneNumber":return!!Zt;case"hasScrollElementId":return!!r.scrollElementId&&I!==void 0;case"hasSportProvider":return r.provider==="sport";case"hasSidebar":let qe=document.getElementById("__container");return c&&(R&&R.length>0&&(r.featureSet===void 0||r.featureSet.playlist!=="false")||r.featureSet===void 0||r.featureSet.chat!=="false"||f&&f.length>0&&(r.featureSet===void 0||r.featureSet.recommendationList!=="false")||z)&&(qe?qe.getBoundingClientRect().width:window.innerWidth)>900;case"isBeforeRequest_Playlist_Chat_Recommendation":return r.type!=="live"&&R===void 0&&(r.featureSet===void 0||r.featureSet.playlist!=="false")||(r.featureSet===void 0||r.featureSet.recommendationList!=="false")&&f===void 0;case"isVisibilityChange":return r.type==="live"&&!document.pictureInPictureElement;case"hasTrailer":return t.length!==0;case"hasHParam":return r.h==="true";case"hasPreviewStart":return s.preview_start;case"hasPreviewEnd":return s.preview_end;case"hasSubtitles":return s.subtitles&&s.subtitles.length>0&&r.quiz!=="true";case"hasHomeButtonClickFlag":return!!r.homeButtonClickFlag;case"hasContinuousPlayback":return!!zt.time&&je&&!r.t&&_optionalChain([r, 'access', _11 => _11.featureSet, 'optionalAccess', _12 => _12.continuousPlayback])==="true";case"getRecommendationList":return r.portrait==="true"&&r.quiz!=="true"&&$;case"getLiveDetailsInIntervals":return Ie&&r.type==="live"&&r.isGeneral!=="true";case"getDetails":return!!r.type&&r.id&&r.isGeneral!=="true";case"getMarkers":return["vod","archive","clip"].includes(String(r.type))&&r.id&&r.isGeneral!=="true"&&r.quiz!=="true"&&$;case"getPlayList":return!E(r.type)&&r.type!=="live"&&!we()&&$;case"firstGetDataIntervalAPI":return r.type==="live"&&r.isGeneral!=="true";case"getUserSetting":return z&&r.quiz!=="true"&&$;case"getVideoMetaData":return z&&r.quiz!=="true"&&$;case"getUserProfile":return!!r.xToken&&$;case"footerPaddingZero":return r.type!=="live"||r.type==="live"&&S()||V();case"manaulPostAPI":return!!Dt||Et.length>0||Rt.length>0;case"canPlayVideo":return se;case"filterLastGif":return+ae[ae.length-2]==+ae[D.quality===-1?_nullishCoalesce(_e, () => (K)):K];case"instagramEmojiAnimation":return!S()||S()&&!xe;case"handleOverflowHidden":return!c||c&&j;case"thresholdOnlineViewers":return!!P&&P>=s.online_viewer_threshold;default:break}};var ii=3e3,ni= exports.N =5e3,li= exports.O =1e4;var ci=6e4,At= exports.Q =()=>n("footerPaddingZero")?0:64;var p=()=>document.getElementById("player-tag");var mi=()=>document.getElementById("time-progress-bar"),gi= exports.T =()=>a.getState().videoData.videoElementSizeInfo.width-2*At();var Se=()=>JSON.parse(localStorage.getItem("live-poll"));l();var _reactredux = require('react-redux');var Si=()=>_reactredux.useDispatch.call(void 0, ),wi= exports.ga =_reactredux.useSelector;l();var Mi=e=>{let{params:t,details:r}=a.getState().videoData,{settings:s}=a.getState().user;return{category:"speedChange",previousSelectedSpeed:s.speed,selectedSpeed:e,id:Number(t.id),type:t.type,src:n("hasStreamLink")?r.stream_link:t.src,provider:t.provider}},Ui= exports.ia =e=>{let{params:t,details:r}=a.getState().videoData,{qualityLevels:s,manualQuality:o,autoQuality:i}=a.getState().controller;return{category:"qualityChangeRequest",currentPlayingQuality:`${s[n("isAutoQuality")?_nullishCoalesce(i, () => (o)):o]}P`,previousSelectedQuality:n("isAutoQuality")?"auto":`${s[o]}P`,selectedQuality:e,id:Number(t.id),type:t.type,src:n("hasStreamLink")?r.stream_link:t.src,provider:t.provider}},Di= exports.ja =e=>{let{params:t,details:r}=a.getState().videoData,{hlsLiveSyncPosition:s,qualityLevels:o,autoQuality:i}=a.getState().controller,{settings:c}=a.getState().user;return{category:"catchUpLoading",previousVideoTime:Number(sessionStorage.getItem("previousVideoTime")),currentVideoTime:s,duration:e,quality:`${n("isAutoQuality")?o[i]:o[c.quality]}P`,isAutoQuality:n("isAutoQuality"),id:Number(t.id),type:t.type,src:n("hasStreamLink")?r.stream_link:t.src,provider:t.provider}};var It=e=>{let{params:t,details:r}=a.getState().videoData;return{category:e==="backward"?"backward":"forward",id:Number(t.id),type:t.type,src:r.stream_link?r.stream_link:t.src,provider:t.provider}};var Ae=e=>{let{params:t,details:r}=a.getState().videoData;return{category:e,id:Number(t.id),type:t.type,src:n("hasStreamLink")?r.stream_link:t.src}},Ei= exports.la =(e,t)=>{let{params:r,details:s}=a.getState().videoData;return{category:"brightnessChange",source:e,target:t,id:Number(r.id),type:r.type,src:n("hasStreamLink")?s.stream_link:r.src}},Ri= exports.ma =(e,t)=>{let{params:r,details:s}=a.getState().videoData;return{category:"volumeChange",source:e,target:t,id:Number(r.id),type:r.type,src:n("hasStreamLink")?s.stream_link:r.src}};var Tt=e=>{let{params:t,details:r}=a.getState().videoData;return{category:e,id:Number(t.id),type:t.type,src:n("hasStreamLink")?r.stream_link:t.src}};var xt=(e,t)=>{let{params:r,details:s}=a.getState().videoData,{duration:o}=a.getState().controller;return{category:"video-timeline",video_id:n("isLiveParam")?s.id:+r.id,video_type:r.type==="archive"?"live":r.type,start:e,end:t,watchedDuration:t-e,video_duration:n("isLiveParam")?null:Math.floor(o),clientUUID:M(),user_id:n("isLiveParam")?r.id:s.user_id,content_type:s.content_type,content_id:s.content_id}};var Fi=(e,t,r)=>{let{params:s,details:o}=a.getState().videoData;return{category:"autoQualityChange",sourceQuality:e,targetQuality:t,diffQuality:r,id:Number(s.id),type:s.type,src:n("hasStreamLink")?o.stream_link:s.src,provider:s.provider}},Vi= exports.oa =(e,t)=>{let{params:r,details:s}=a.getState().videoData;return{category:"pingpong",id:Number(r.id),type:r.type,src:n("hasStreamLink")?s.stream_link:r.src,PingPongDuration:Number((new Date().getTime()-e).toFixed(2)),PingPongSourceQuality:`${t[0]}P`,PingPongTargetQuality:`${t[1]}P`,provider:r.provider}},$i= exports.pa =e=>{let{params:t,details:r}=a.getState().videoData;return{category:e?"playVideo":"pauseVideo",id:Number(t.id),type:t.type,src:r.stream_link?r.stream_link:t.src,provider:t.provider}},Bi= exports.qa =(e,t,r,s,o)=>{let{params:i,details:c}=a.getState().videoData,u=Date.now()-o.current+e+t,y=window.performance.memory,x=JSON.parse(JSON.stringify(window.performance.timing));return{category:"initLog",id:Number(i.id),type:i.type,origin:new URL(n("hasStreamLink")?c.stream_link:i.src).origin,src:n("hasStreamLink")?c.stream_link:i.src,loading:e,bannerLoading:!n("hasBanner")||r<0?0:r,waiting:t,firstChunkPlaying:s<0?0:s,totalTime:u,provider:i.provider,performance:Le({memory:y,timing:x},"performance"),userAgent:window.navigator.userAgent}},Oi= exports.ra =(e,t,r,s,o)=>{let{params:i,details:c,hlsLiveSyncPosition:u}=a.getState().videoData,{settings:y}=a.getState().user,x=n("isLiveParam")?u:p().currentTime,v=Date.now()-r.current;return{category:"loading",id:Number(i.id),type:i.type,src:n("hasStreamLink")?c.stream_link:i.src,duration:e,quality:`${t}P`,isAutoQuality:n("isAutoQuality"),previousLoaderDiff:v,counter:s.current,loadingPercentile:Number((e/v).toFixed(2)),videoTime:x,videoEntranceTime:o,speed:y.speed,provider:i.provider}};l();var Q=e=>{let{params:t,details:r}=a.getState().videoData,s={...e,timestamp:Date.now(),clientUUID:M(),uuid:M(),link:window.location.href,user_id:n("isLiveParam")?Number(t.id):r.user_id,live_id:n("isLiveParam")?r.id:null,format:e.category==="feedback"?n("isStaticFormat")?"static":"hls":void 0,content_type:r.content_type,content_id:r.content_id};_({url:k().logs,method:"post",data:s})};l();var un=e=>{let t=a.dispatch;(e===null||e.target.nodeName!=="INPUT")&&(e!==null&&(e.stopPropagation(),e.preventDefault()),p().paused?p().play():p().pause(),t(ue(!p().paused)))};var dn=e=>{let t=a.dispatch,{settings:r}=a.getState().user;t(lt({...r,volume:e})),n("isIOS")?p().muted=!p().muted:p().volume=e/100},pn= exports.va =(e,t=15,r)=>{if(e==="touchBackward"?e="backward":e==="touchForward"&&(e="forward"),r&&r.target.nodeName==="INPUT"||e==="backward"&&p().currentTime<15||e==="forward"&&p().duration-p().currentTime<15)return;Q(It(e));let s=0;e==="backward"?t===0?s=0:s=p().currentTime-t:e==="forward"&&(t===p().duration?s=t:s=p().currentTime+t),p().currentTime=s},hn= exports.wa =()=>{let e=a.dispatch,t=document.fullscreenElement;n("isIOS")?p().webkitEnterFullScreen?(e(ue(!1)),p().webkitEnterFullScreen()):(e(H()),Q(Ae("fullScreen"))):t?(e(de(!1)),document.exitFullscreen(),n("isTouchScreen")&&n("isParamsPortrait")&&e(pe(!0))):(e(H()),document.documentElement.requestFullscreen(),e(de(!0)),Q(Ae("fullScreen")),n("isTouchScreen")&&n("isParamsPortrait")&&e(pe(!1)))},mn= exports.xa =()=>{n("isTouchScreen")&&!n("isIOS")&&(n("isLandscape")&&!n("isFullScreen")?window.screen.orientation.lock("portrait"):window.screen.orientation.lock("landscape"))},gn= exports.ya =e=>{let t=a.dispatch;t(Ge(e==="lock")),Q(Tt(e)),e==="unlock"&&localStorage.setItem("unlock-click","true")},vn= exports.za =(e,t)=>{if(n("isSendTimelineLog")){let r=a.dispatch,{videoTimelines:s}=a.getState().videoData,o=Math.floor(e),i=Math.floor(t);s.length===0?r(N([o>=p().duration&&!n("isLive")?i:o])):(s[0]<o&&_({url:k().videoTimelineLog,method:"post",data:xt(s[0],o)}),i&&i>=p().duration?r(N([])):r(N([i])))}},fn= exports.Aa =()=>{let e=a.dispatch,t=_optionalChain([document, 'access', _13 => _13.getElementById, 'call', _14 => _14("video-area"), 'optionalAccess', _15 => _15.getBoundingClientRect, 'call', _16 => _16()]);t.height=t.width*9/16,t&&e(tt(t))};l();l();var Ir=e=>{let{params:t}=a.getState().videoData;return fe().apiUrl+(e||t.id)},J={url:"",maxRetryCount:0,headers:{},retryPolicy:[],errorCallback:void 0},Tr=()=>(J.url=Ir(),J.maxRetryCount=3,J.retryPolicy=[{codeAbove:500,codeBelow:null,excludeCodes:[],includeCodes:[409],delay:1,count:3},{codeAbove:null,codeBelow:404,excludeCodes:[403,402,401,400],includeCodes:[],delay:10,count:6}],J),_t=e=>(Tr(),J);var _r=e=>_({url:k().viewCount(e),data:{uuid:M()}}),Jn= exports.Ba =async e=>{let t=a.dispatch;try{let r=await _({..._t(e)});if(ke(r.status)){if(Lt(r.data.stream_link),await _axios2.default.head("https://"+be(r.data.hls_links)+r.data.path),e)return r.data;_r(r.data.content_id),Mr(r.data)}else throw new Error(JSON.stringify({status:r.status,message:r.data}))}catch (e3){if(e)return;let{params:s}=a.getState().videoData;n("isLiveParam")&&t(Ne(!0)),re(String(s.id)),t(he(!0)),t(et("liveAndVod")),t(me(!1))}},Mr=e=>{let t=a.dispatch,{params:r}=a.getState().videoData;e.title?re(e.title):re(String(r.id)),t(Ze({...e,stream_link:!!e.stream_link&&bt("https://"+be(e.hls_links)+e.path)})),t(he(!0)),t(me(!0))};exports.a = sr; exports.b = l; exports.c = ue; exports.d = Vr; exports.e = $r; exports.f = Or; exports.g = Cr; exports.h = jr; exports.i = qr; exports.j = Kr; exports.k = de; exports.l = Hr; exports.m = Gr; exports.n = Wr; exports.o = Xr; exports.p = Yr; exports.q = Jr; exports.r = Zr; exports.s = zr; exports.t = Nr; exports.u = es; exports.v = Ze; exports.w = ns; exports.x = Ne; exports.y = ws; exports.z = bs; exports.A = ur; exports.B = tt; exports.C = N; exports.D = Us; exports.E = Ds; exports.F = Rs; exports.G = qs; exports.H = Zs; exports.I = la; exports.J = H; exports.K = lt; exports.L = a; exports.M = ii; exports.N = ni; exports.O = li; exports.P = ci; exports.Q = At; exports.R = p; exports.S = mi; exports.T = gi; exports.U = to; exports.V = ro; exports.W = M; exports.X = S; exports.Y = ko; exports.Z = E; exports._ = Io; exports.$ = Mo; exports.aa = Co; exports.ba = Qo; exports.ca = Ko; exports.da = Yo; exports.ea = n; exports.fa = Si; exports.ga = wi; exports.ha = Mi; exports.ia = Ui; exports.ja = Di; exports.ka = Ae; exports.la = Ei; exports.ma = Ri; exports.na = Fi; exports.oa = Vi; exports.pa = $i; exports.qa = Bi; exports.ra = Oi; exports.sa = Q; exports.ta = un; exports.ua = dn; exports.va = pn; exports.wa = hn; exports.xa = mn; exports.ya = gn; exports.za = vn; exports.Aa = fn; exports.Ba = Jn;
|
|
2
|
+
//# sourceMappingURL=chunk-MGBXTCBU.js.map
|