cafe-video-player 1.8.0 → 1.9.0
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/backwardForward-OQJYFAQ4.mjs +7 -0
- package/backwardForward-OQJYFAQ4.mjs.map +1 -0
- package/backwardForward-P3P4S2ZE.js +13 -0
- package/backwardForward-P3P4S2ZE.js.map +1 -0
- package/chunk-6NSC465P.js +37 -0
- package/chunk-6NSC465P.js.map +1 -0
- package/chunk-7LB4RAGD.js +11 -0
- package/chunk-7LB4RAGD.js.map +1 -0
- package/chunk-BJ4CIJKZ.js +90 -0
- package/chunk-BJ4CIJKZ.js.map +1 -0
- package/chunk-CWMVHGXS.mjs +9 -0
- package/chunk-CWMVHGXS.mjs.map +1 -0
- package/chunk-CY73TBOJ.mjs +8 -0
- package/chunk-CY73TBOJ.mjs.map +1 -0
- package/chunk-DBPGS72Q.mjs +5 -0
- package/chunk-DBPGS72Q.mjs.map +1 -0
- package/chunk-K2JG5NRS.js +21 -0
- package/chunk-K2JG5NRS.js.map +1 -0
- package/chunk-KCRYSZI6.mjs +9 -0
- package/chunk-KCRYSZI6.mjs.map +1 -0
- package/chunk-LJQ3BDPD.js +16 -0
- package/chunk-LJQ3BDPD.js.map +1 -0
- package/chunk-PEF62RSW.mjs +8 -0
- package/chunk-PEF62RSW.mjs.map +1 -0
- package/chunk-PPTHLXJQ.mjs +7 -0
- package/chunk-PPTHLXJQ.mjs.map +1 -0
- package/chunk-SPUHJYDE.js +11 -0
- package/chunk-SPUHJYDE.js.map +1 -0
- package/chunk-U23ZPGF2.js +9 -0
- package/chunk-U23ZPGF2.js.map +1 -0
- package/chunk-U6HUFFUL.js +18 -0
- package/chunk-U6HUFFUL.js.map +1 -0
- package/chunk-UIPWLWLK.js +32 -0
- package/chunk-UIPWLWLK.js.map +1 -0
- package/chunk-V2LZHMTD.mjs +25 -0
- package/chunk-V2LZHMTD.mjs.map +1 -0
- package/chunk-YB4NYTRZ.mjs +7 -0
- package/chunk-YB4NYTRZ.mjs.map +1 -0
- package/chunk-YRJREWER.mjs +15 -0
- package/chunk-YRJREWER.mjs.map +1 -0
- package/chunk-YZ2YUV52.mjs +10 -0
- package/chunk-YZ2YUV52.mjs.map +1 -0
- package/chunk-Z6CUWQ7X.js +11 -0
- package/chunk-Z6CUWQ7X.js.map +1 -0
- package/index.d.mts +26 -0
- package/index.d.ts +26 -0
- package/index.js +20 -0
- package/index.js.map +1 -0
- package/index.mjs +14 -0
- package/index.mjs.map +1 -0
- package/nonStaticVideoTag-X2LHNAWU.js +24 -0
- package/nonStaticVideoTag-X2LHNAWU.js.map +1 -0
- package/nonStaticVideoTag-X6VPLYIO.mjs +17 -0
- package/nonStaticVideoTag-X6VPLYIO.mjs.map +1 -0
- package/notActive-2FUSVSVU.mjs +10 -0
- package/notActive-2FUSVSVU.mjs.map +1 -0
- package/notActive-E4FZWQIO.js +16 -0
- package/notActive-E4FZWQIO.js.map +1 -0
- package/package.json +1 -1
- package/staticPlayer-N22SKV2E.mjs +15 -0
- package/staticPlayer-N22SKV2E.mjs.map +1 -0
- package/staticPlayer-NVMVGIGQ.js +17 -0
- package/staticPlayer-NVMVGIGQ.js.map +1 -0
- package/staticVideoTag-5ACODYQR.mjs +13 -0
- package/staticVideoTag-5ACODYQR.mjs.map +1 -0
- package/staticVideoTag-6JYTTN5M.js +15 -0
- package/staticVideoTag-6JYTTN5M.js.map +1 -0
- package/touchVolumeBrightness-S4HPNA43.js +19 -0
- package/touchVolumeBrightness-S4HPNA43.js.map +1 -0
- package/touchVolumeBrightness-S7DYCEN7.mjs +13 -0
- package/touchVolumeBrightness-S7DYCEN7.mjs.map +1 -0
- package/videoArea-LJCSMRSQ.mjs +10 -0
- package/videoArea-LJCSMRSQ.mjs.map +1 -0
- package/videoArea-V4TOL4SD.js +16 -0
- package/videoArea-V4TOL4SD.js.map +1 -0
- package/videoPlayerStyles.css +4165 -0
- package/vodPlayer-7LYIUN25.mjs +14 -0
- package/vodPlayer-7LYIUN25.mjs.map +1 -0
- package/vodPlayer-U3MOJUJ5.js +20 -0
- package/vodPlayer-U3MOJUJ5.js.map +1 -0
- package/.eslintrc.json +0 -3
- package/next.config.mjs +0 -12
- package/postcss.config.mjs +0 -8
- package/public/next.svg +0 -1
- package/public/vercel.svg +0 -1
- package/src/app/favicon.ico +0 -0
- package/src/app/globals.css +0 -6
- package/src/app/layout.tsx +0 -24
- package/src/app/page.tsx +0 -58
- package/src/videoPlayerLibrary/components/custom-components/backwardForward/backwardForward.tsx +0 -155
- package/src/videoPlayerLibrary/components/custom-components/elapsedTime/elapsedTime.tsx +0 -30
- package/src/videoPlayerLibrary/components/custom-components/footer/controllbar/controllbar.tsx +0 -53
- package/src/videoPlayerLibrary/components/custom-components/footer/controllbar/controllbarTooltip.tsx +0 -13
- package/src/videoPlayerLibrary/components/custom-components/footer/footer.tsx +0 -47
- package/src/videoPlayerLibrary/components/custom-components/footer/progressbar/progressbar.tsx +0 -76
- package/src/videoPlayerLibrary/components/custom-components/fullScreen/fullScreen.tsx +0 -47
- package/src/videoPlayerLibrary/components/custom-components/header/header.tsx +0 -19
- package/src/videoPlayerLibrary/components/custom-components/loader/loader.tsx +0 -20
- package/src/videoPlayerLibrary/components/custom-components/lockUnlock/lock.tsx +0 -23
- package/src/videoPlayerLibrary/components/custom-components/lockUnlock/unlock.tsx +0 -18
- package/src/videoPlayerLibrary/components/custom-components/main/main.tsx +0 -64
- package/src/videoPlayerLibrary/components/custom-components/notActive/notActive.tsx +0 -23
- package/src/videoPlayerLibrary/components/custom-components/pictureInPicture/pictureInPicture.tsx +0 -34
- package/src/videoPlayerLibrary/components/custom-components/playPause/playPause.tsx +0 -31
- package/src/videoPlayerLibrary/components/custom-components/popover/popover.tsx +0 -151
- package/src/videoPlayerLibrary/components/custom-components/qualityLevels/qualityLevels.tsx +0 -135
- package/src/videoPlayerLibrary/components/custom-components/settings/settings.tsx +0 -122
- package/src/videoPlayerLibrary/components/custom-components/soundVolume/soundVolume.tsx +0 -83
- package/src/videoPlayerLibrary/components/custom-components/speed/speed.tsx +0 -120
- package/src/videoPlayerLibrary/components/custom-components/subtitles/displaySubtitle.tsx +0 -43
- package/src/videoPlayerLibrary/components/custom-components/subtitles/subtitleIcon.tsx +0 -34
- package/src/videoPlayerLibrary/components/custom-components/title/title.tsx +0 -20
- package/src/videoPlayerLibrary/components/custom-components/toggle/toggle.tsx +0 -14
- package/src/videoPlayerLibrary/components/custom-components/tooltip/tooltip.tsx +0 -43
- package/src/videoPlayerLibrary/components/custom-components/touchVolumeBrightness/touchVolumeBrightness.tsx +0 -176
- package/src/videoPlayerLibrary/components/custom-components/videoArea/videoArea.tsx +0 -138
- package/src/videoPlayerLibrary/components/custom-components/videoAreaShadow.tsx/videoAreaShadow.tsx +0 -19
- package/src/videoPlayerLibrary/components/custom-components/videoTag/nonStaticVideoTag.tsx +0 -181
- package/src/videoPlayerLibrary/components/custom-components/videoTag/staticVideoTag.tsx +0 -57
- package/src/videoPlayerLibrary/components/custom-components/videoTag/videoTag.tsx +0 -12
- package/src/videoPlayerLibrary/components/icon-components/mute.tsx +0 -14
- package/src/videoPlayerLibrary/components/icon-components/unMute.tsx +0 -11
- package/src/videoPlayerLibrary/components/videoPlayer/staticPlayer/staticPlayer.tsx +0 -17
- package/src/videoPlayerLibrary/components/videoPlayer/videoPlayer.tsx +0 -50
- package/src/videoPlayerLibrary/components/videoPlayer/vodPlayer/vodPlayer.tsx +0 -41
- package/src/videoPlayerLibrary/helpers/conditions/conditions.ts +0 -163
- package/src/videoPlayerLibrary/helpers/configs/nextConfigs/next.config.js +0 -4
- package/src/videoPlayerLibrary/helpers/configs/npmPackage/npmPackage.ts +0 -1
- package/src/videoPlayerLibrary/helpers/configs/npmPackage/npmPackage_lib.ts +0 -1
- package/src/videoPlayerLibrary/helpers/constants.ts +0 -5
- package/src/videoPlayerLibrary/helpers/environment.ts +0 -11
- package/src/videoPlayerLibrary/helpers/getDetailsConfigs.ts +0 -46
- package/src/videoPlayerLibrary/helpers/helpers.ts +0 -212
- package/src/videoPlayerLibrary/helpers/hooks/useActiveInActive.tsx +0 -97
- package/src/videoPlayerLibrary/helpers/hooks/useBeforeUnload.tsx +0 -15
- package/src/videoPlayerLibrary/helpers/hooks/useContinuousPlaybackInterval.tsx +0 -24
- package/src/videoPlayerLibrary/helpers/hooks/useFullScreen.tsx +0 -41
- package/src/videoPlayerLibrary/helpers/hooks/useGetData/useGetData.tsx +0 -7
- package/src/videoPlayerLibrary/helpers/hooks/useGetData/useGetDetails.tsx +0 -20
- package/src/videoPlayerLibrary/helpers/hooks/useHandleKeyPress.tsx +0 -36
- package/src/videoPlayerLibrary/helpers/hooks/useHandleParams.tsx +0 -66
- package/src/videoPlayerLibrary/helpers/hooks/useHandleResize.tsx +0 -45
- package/src/videoPlayerLibrary/helpers/hooks/useHandleScroll.tsx +0 -34
- package/src/videoPlayerLibrary/helpers/hooks/useHideSubtitle.tsx +0 -33
- package/src/videoPlayerLibrary/helpers/hooks/useKeyPress.tsx +0 -20
- package/src/videoPlayerLibrary/helpers/hooks/useLongPress.tsx +0 -26
- package/src/videoPlayerLibrary/helpers/hooks/useOnClickOutside.tsx +0 -19
- package/src/videoPlayerLibrary/helpers/hooks/usePingPong.tsx +0 -59
- package/src/videoPlayerLibrary/helpers/hooks/useSetSubtitleFirstPlay.tsx +0 -18
- package/src/videoPlayerLibrary/helpers/interfaces/enums.ts +0 -85
- package/src/videoPlayerLibrary/helpers/interfaces/interfaces.ts +0 -217
- package/src/videoPlayerLibrary/helpers/logs/fluentdLogger.ts +0 -21
- package/src/videoPlayerLibrary/helpers/logs/logs.ts +0 -228
- package/src/videoPlayerLibrary/helpers/redux/actions/controller.actions.ts +0 -128
- package/src/videoPlayerLibrary/helpers/redux/actions/playerCore.actions.ts +0 -419
- package/src/videoPlayerLibrary/helpers/redux/actions/progressbar.actions.ts +0 -328
- package/src/videoPlayerLibrary/helpers/redux/actions/user.actions.ts +0 -45
- package/src/videoPlayerLibrary/helpers/redux/actions/videoData.actions.ts +0 -67
- package/src/videoPlayerLibrary/helpers/redux/hooks.ts +0 -5
- package/src/videoPlayerLibrary/helpers/redux/slices/controllerSlice.ts +0 -115
- package/src/videoPlayerLibrary/helpers/redux/slices/popoversSlice.ts +0 -37
- package/src/videoPlayerLibrary/helpers/redux/slices/userSlice.ts +0 -38
- package/src/videoPlayerLibrary/helpers/redux/slices/videoDataSlice.ts +0 -111
- package/src/videoPlayerLibrary/helpers/redux/store.ts +0 -21
- package/src/videoPlayerLibrary/helpers/services/apiCaller.ts +0 -111
- package/src/videoPlayerLibrary/helpers/services/baseUrl.ts +0 -5
- package/src/videoPlayerLibrary/helpers/services/services.ts +0 -15
- package/src/videoPlayerLibrary/images/importImages.ts +0 -29
- package/src/videoPlayerLibrary/images/svg/ArrowLeft.svg +0 -3
- package/src/videoPlayerLibrary/images/svg/Backward15.svg +0 -5
- package/src/videoPlayerLibrary/images/svg/BigPause.svg +0 -4
- package/src/videoPlayerLibrary/images/svg/BigPlay.svg +0 -3
- package/src/videoPlayerLibrary/images/svg/ChevronLeft.svg +0 -3
- package/src/videoPlayerLibrary/images/svg/CloseSquare.svg +0 -5
- package/src/videoPlayerLibrary/images/svg/Forward15.svg +0 -5
- package/src/videoPlayerLibrary/images/svg/FullScreen.svg +0 -6
- package/src/videoPlayerLibrary/images/svg/Lock.svg +0 -5
- package/src/videoPlayerLibrary/images/svg/Mute.svg +0 -4
- package/src/videoPlayerLibrary/images/svg/NonFullScreen.svg +0 -6
- package/src/videoPlayerLibrary/images/svg/NotFound.svg +0 -34
- package/src/videoPlayerLibrary/images/svg/PictureInPicture.svg +0 -4
- package/src/videoPlayerLibrary/images/svg/QualitySetting.svg +0 -3
- package/src/videoPlayerLibrary/images/svg/QualitySetting1.svg +0 -3
- package/src/videoPlayerLibrary/images/svg/Settings.svg +0 -4
- package/src/videoPlayerLibrary/images/svg/Speed.svg +0 -7
- package/src/videoPlayerLibrary/images/svg/Speed1.svg +0 -4
- package/src/videoPlayerLibrary/images/svg/SubtitleFill.svg +0 -3
- package/src/videoPlayerLibrary/images/svg/SubtitleOutline.svg +0 -5
- package/src/videoPlayerLibrary/images/svg/SubtitleOutlineGray.svg +0 -5
- package/src/videoPlayerLibrary/images/svg/Sun.svg +0 -4
- package/src/videoPlayerLibrary/images/svg/Tick.svg +0 -3
- package/src/videoPlayerLibrary/images/svg/UnMute.svg +0 -5
- package/src/videoPlayerLibrary/images/svg/Unlock.svg +0 -5
- package/src/videoPlayerLibrary/index.ts +0 -1
- package/src/videoPlayerLibrary/styles/custom-styles/index.css +0 -4
- package/src/videoPlayerLibrary/styles/custom-styles/loader.css +0 -78
- package/src/videoPlayerLibrary/styles/custom-styles/progressBar.css +0 -14
- package/src/videoPlayerLibrary/styles/custom-styles/scrollbar.css +0 -32
- package/src/videoPlayerLibrary/styles/custom-styles/soundVolume.css +0 -57
- package/src/videoPlayerLibrary/styles/fonts.css +0 -20
- package/src/videoPlayerLibrary/styles/styles.css +0 -106
- package/src/videoPlayerLibrary/videoPlayerLibrary.tsx +0 -16
- package/tailwind.config.ts +0 -55
- package/tsconfig.json +0 -23
- package/tsconfig.library.json +0 -23
- package/tsup.config.ts +0 -18
- /package/{src/videoPlayerLibrary/styles/font → font}/IRANSansXFaNum-Bold.woff2 +0 -0
- /package/{src/videoPlayerLibrary/styles/font → font}/IRANSansXFaNum-Medium.woff2 +0 -0
- /package/{src/videoPlayerLibrary/styles/font → font}/IRANSansXFaNum-Regular.woff2 +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { a as default } from './chunk-YRJREWER.mjs';
|
|
2
|
+
import './chunk-PEF62RSW.mjs';
|
|
3
|
+
import './chunk-YZ2YUV52.mjs';
|
|
4
|
+
import './chunk-PPTHLXJQ.mjs';
|
|
5
|
+
import './chunk-DBPGS72Q.mjs';
|
|
6
|
+
//# sourceMappingURL=out.js.map
|
|
7
|
+
//# sourceMappingURL=backwardForward-OQJYFAQ4.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkK2JG5NRS_js = require('./chunk-K2JG5NRS.js');
|
|
4
|
+
require('./chunk-U6HUFFUL.js');
|
|
5
|
+
require('./chunk-BJ4CIJKZ.js');
|
|
6
|
+
require('./chunk-U23ZPGF2.js');
|
|
7
|
+
require('./chunk-SPUHJYDE.js');
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
module.exports = chunkK2JG5NRS_js.a;
|
|
12
|
+
//# sourceMappingURL=out.js.map
|
|
13
|
+
//# sourceMappingURL=backwardForward-P3P4S2ZE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkU6HUFFUL_js = require('./chunk-U6HUFFUL.js');
|
|
4
|
+
var chunkBJ4CIJKZ_js = require('./chunk-BJ4CIJKZ.js');
|
|
5
|
+
var chunkSPUHJYDE_js = require('./chunk-SPUHJYDE.js');
|
|
6
|
+
|
|
7
|
+
chunkSPUHJYDE_js.e();var H=()=>{let t=chunkBJ4CIJKZ_js.I.dispatch,{params:e}=chunkBJ4CIJKZ_js.I.getState().videoData,a=n=>{n.requestFullScreen?n.requestFullScreen():n.mozRequestFullScreen?n.mozRequestFullScreen():n.webkitRequestFullScreen&&n.webkitRequestFullScreen();};t(chunkBJ4CIJKZ_js.F()),a(document.documentElement),t(chunkBJ4CIJKZ_js.h(e.fullscreen==="true"));},de=()=>{let t=".ts",e=XMLHttpRequest.prototype.open;XMLHttpRequest.prototype.open=function(){arguments[1].endsWith(t)&&(arguments[1]=arguments[1]+"?uuid="+chunkBJ4CIJKZ_js.J()),e.apply(this,arguments);};},$=(t,e)=>{let a=chunkBJ4CIJKZ_js.I.dispatch;e.current=setInterval(()=>{let s=t.target.buffered.end(0)/chunkBJ4CIJKZ_js.aa().duration*100;a(chunkBJ4CIJKZ_js.i(s));},500);},ue=()=>{let{params:t,streamLinkParams:e}=chunkBJ4CIJKZ_js.I.getState().videoData;return {xhrSetup:(a,n)=>{n.split("m3u8")[1]||(n=`${n}${e}`),a.open("GET",n,!0);},startLevel:-1,debug:!1,enableWorker:!0,abrBandWidthUpFactor:.7,abrBandWidthFactor:.95,backBufferLength:1/0,maxBufferLength:30,maxMaxBufferLength:60,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}}}}},G=(t,e)=>{let a=chunkBJ4CIJKZ_js.I.dispatch,n=[],s=[];t.levels.map(o=>{n.push(o.attrs.RESOLUTION.split("x")[1].trim()),s.push(o.attrs.RESOLUTION);}),t.autoLevelCapping=chunkBJ4CIJKZ_js.V(s,window.innerWidth,window.innerHeight),a(chunkBJ4CIJKZ_js.d(n)),["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","msfullscreenchange"].forEach(o=>document.addEventListener(o,c=>{chunkBJ4CIJKZ_js.Z("isAutoQuality")&&(t.autoLevelCapping=chunkBJ4CIJKZ_js.V(s,window.innerWidth,window.innerHeight),t.nextLevel=-1);},!1));},ye=(t,e)=>{let{params:a,details:n}=chunkBJ4CIJKZ_js.I.getState().videoData,s=n.stream_link;e.loadSource(s),e.on(t.Events.MANIFEST_PARSED,(o,c)=>G(e));},j=(t,e,a)=>{if(e.frag.type!=="audio"){let n=chunkBJ4CIJKZ_js.I.dispatch,{settings:s}=chunkBJ4CIJKZ_js.I.getState().user,{qualityLevels:o,manualQuality:c,autoQuality:h}=chunkBJ4CIJKZ_js.I.getState().controller;chunkBJ4CIJKZ_js.Z("isAutoQuality")?chunkBJ4CIJKZ_js.Z("isAutoQuality")&&h===void 0?(t.nextLevel=-1,a(o[e.frag.level]),n(chunkBJ4CIJKZ_js.e(e.frag.level))):chunkBJ4CIJKZ_js.Z("isAutoQuality")&&(a(o[e.frag.level]),h!==e.frag.level&&n(chunkBJ4CIJKZ_js.e(e.frag.level))):(e.frag.level!==c&&(t.nextLevel=o[s.quality]?s.quality:-1),o[s.quality]?(n(chunkBJ4CIJKZ_js.m(s.quality)),n(chunkBJ4CIJKZ_js.e(void 0))):(a(o[e.frag.level]),n(chunkBJ4CIJKZ_js.e(e.frag.level)),n(chunkBJ4CIJKZ_js.G({...s,quality:-1}))));}},pe=t=>{let e=chunkBJ4CIJKZ_js.I.dispatch,n=t.mainForwardBufferInfo?.end/chunkBJ4CIJKZ_js.aa().duration*100;e(chunkBJ4CIJKZ_js.i(n));},fe=(t,e,a)=>{let{params:n}=chunkBJ4CIJKZ_js.I.getState().videoData;n.type&&j(t,e,a);},he=(t,e,a)=>{let{type:n}=chunkBJ4CIJKZ_js.I.getState().videoData.params;n&&j(t,e,a);},me=(t,e)=>{if(e.event!=="hlsAudioTrackLoading")return {type:"HLS_"+e.type,message:e.error.message}},ge=(t,e)=>{let a=chunkBJ4CIJKZ_js.I.dispatch;t.preventDefault(),e.current=Date.now(),a(chunkBJ4CIJKZ_js.g(!0));},xe=(t,e)=>{let a=chunkBJ4CIJKZ_js.I.dispatch;t.preventDefault(),e.current=0,a(chunkBJ4CIJKZ_js.g(!0));},Se=(t,e)=>{let a=chunkBJ4CIJKZ_js.I.dispatch,{videoSettings:n}=chunkBJ4CIJKZ_js.I.getState().user,{params:s}=chunkBJ4CIJKZ_js.I.getState().videoData;t.preventDefault(),e.current=Date.now(),a(chunkBJ4CIJKZ_js.a(!0)),chunkBJ4CIJKZ_js.Z("isFirstPlay")&&(chunkBJ4CIJKZ_js.aa().currentTime=n.time,a(chunkBJ4CIJKZ_js.c(n.time)),chunkBJ4CIJKZ_js.Z("hasFullScreenParams")&&H(),chunkBJ4CIJKZ_js.Z("isFullScreen")&&chunkU6HUFFUL_js.e(),a(chunkBJ4CIJKZ_js.x([Math.floor(chunkBJ4CIJKZ_js.aa().currentTime)]))),chunkBJ4CIJKZ_js.ua(chunkBJ4CIJKZ_js.qa(!0)),a(chunkBJ4CIJKZ_js.A("")),chunkBJ4CIJKZ_js.Z("hasOnPlayParams")&&s.onPlay();},ve=(t,e,a,n,s,o,c,h)=>{let z=chunkBJ4CIJKZ_js.I.dispatch,{autoQuality:q,canPlayVideo:_,firstPlay:X,qualityLevels:R}=chunkBJ4CIJKZ_js.I.getState().controller,{settings:I}=chunkBJ4CIJKZ_js.I.getState().user,E=I.quality===-1&&q?R[q]:R[I.quality],m=0;c.current&&(m=Date.now()-c.current),X&&chunkBJ4CIJKZ_js.aa().played&&chunkBJ4CIJKZ_js.ua(chunkBJ4CIJKZ_js.ra(e.current,Date.now()-a.current,n.current-a.current,Date.now()-s.current,s)),z(chunkBJ4CIJKZ_js.j(!1)),_&&m>0&&E!==void 0&&(o.current=m,c.current=0,chunkBJ4CIJKZ_js.ua(chunkBJ4CIJKZ_js.sa(m,E,s,t,h.current)),t.current=t.current+1,s.current=Date.now());},De=t=>{let e=chunkBJ4CIJKZ_js.I.dispatch,{params:a}=chunkBJ4CIJKZ_js.I.getState().videoData;t.preventDefault(),chunkBJ4CIJKZ_js.ua(chunkBJ4CIJKZ_js.qa(!1)),e(chunkBJ4CIJKZ_js.a(!1)),chunkBJ4CIJKZ_js.Z("hasOnPlayParams")&&a.onPause();},Pe=t=>{let e=chunkBJ4CIJKZ_js.I.dispatch,{selectedSubtitle:a}=chunkBJ4CIJKZ_js.I.getState().videoData;t.preventDefault(),e(chunkBJ4CIJKZ_js.c(t.target.currentTime)),chunkBJ4CIJKZ_js.Z("hasActiveCue")&&e(chunkBJ4CIJKZ_js.A(a.activeCues[0].text));},Te=t=>{let e=chunkBJ4CIJKZ_js.I.dispatch,{settings:a}=chunkBJ4CIJKZ_js.I.getState().user;if(t.preventDefault(),e(chunkBJ4CIJKZ_js.g(!1)),e(chunkBJ4CIJKZ_js.n(!0)),chunkBJ4CIJKZ_js.aa().volume=a.volume/100,e(chunkBJ4CIJKZ_js.b(t.target.duration)),chunkBJ4CIJKZ_js.Z("isIOS")){let n=Object.values(t.target.textTracks);n&&n.length&&e(chunkBJ4CIJKZ_js.z(Object.values(n[0]).length?n:[]));}else e(chunkBJ4CIJKZ_js.z(Object.values(t.target.textTracks)));},Le=t=>{let e=chunkBJ4CIJKZ_js.I.dispatch,{params:a}=chunkBJ4CIJKZ_js.I.getState().videoData;t.preventDefault(),e(chunkBJ4CIJKZ_js.p(!0)),e(chunkBJ4CIJKZ_js.f(!0)),chunkU6HUFFUL_js.g(chunkBJ4CIJKZ_js.aa().duration),chunkBJ4CIJKZ_js.Z("hasOnFinishedParams")&&a.onFinished();},Fe=(t,e)=>{let a=chunkBJ4CIJKZ_js.I.dispatch;t.preventDefault(),e.current=Date.now(),a(chunkBJ4CIJKZ_js.j(!1));},Me=()=>{let t=chunkBJ4CIJKZ_js.I.dispatch;t(chunkBJ4CIJKZ_js.g(!1));},Ve=t=>{let e=chunkBJ4CIJKZ_js.I.dispatch;t.preventDefault(),e(chunkBJ4CIJKZ_js.c(t.target.currentTime));},be=()=>{let t=chunkBJ4CIJKZ_js.I.dispatch,{params:e}=chunkBJ4CIJKZ_js.I.getState().videoData;t(chunkBJ4CIJKZ_js.p(!0)),t(chunkBJ4CIJKZ_js.f(!0)),chunkBJ4CIJKZ_js.Z("hasOnFinishedParams")&&e.onFinished();},we=t=>{let e=chunkBJ4CIJKZ_js.I.dispatch;t.preventDefault(),e(chunkBJ4CIJKZ_js.a(!1));},qe=(t,e)=>{let a=chunkBJ4CIJKZ_js.I.dispatch;t.preventDefault(),a(chunkBJ4CIJKZ_js.a(!0)),e.current=Date.now(),chunkBJ4CIJKZ_js.Z("isFirstPlay")&&chunkBJ4CIJKZ_js.Z("hasFullScreenParams")&&H(),chunkBJ4CIJKZ_js.Z("isFullScreen")&&chunkU6HUFFUL_js.e();},Re=(t,e,a)=>{let n=chunkBJ4CIJKZ_js.I.dispatch,{firstPlay:s}=chunkBJ4CIJKZ_js.I.getState().controller;n(chunkBJ4CIJKZ_js.g(!1)),s&&chunkBJ4CIJKZ_js.aa().played&&chunkBJ4CIJKZ_js.ua(chunkBJ4CIJKZ_js.ra(Math.round(t.current),Date.now()-e.current,0,Date.now()-a.current,a)),n(chunkBJ4CIJKZ_js.j(!1));},Ie=t=>{let e=chunkBJ4CIJKZ_js.I.dispatch;t.preventDefault(),e(chunkBJ4CIJKZ_js.c(t.target.currentTime)),e(chunkBJ4CIJKZ_js.b(t.target.duration));},Ee=t=>{let e=chunkBJ4CIJKZ_js.I.dispatch;t.preventDefault(),e(chunkBJ4CIJKZ_js.g(!1)),e(chunkBJ4CIJKZ_js.n(!0));},Oe=(t,e)=>{t.preventDefault(),$(t,e);};var ke=t=>{chunkU6HUFFUL_js.g(chunkBJ4CIJKZ_js.aa().currentTime);};
|
|
8
|
+
|
|
9
|
+
exports.A = ke;
|
|
10
|
+
exports.a = de;
|
|
11
|
+
exports.b = ue;
|
|
12
|
+
exports.c = G;
|
|
13
|
+
exports.d = ye;
|
|
14
|
+
exports.e = pe;
|
|
15
|
+
exports.f = fe;
|
|
16
|
+
exports.g = he;
|
|
17
|
+
exports.h = me;
|
|
18
|
+
exports.i = ge;
|
|
19
|
+
exports.j = xe;
|
|
20
|
+
exports.k = Se;
|
|
21
|
+
exports.l = ve;
|
|
22
|
+
exports.m = De;
|
|
23
|
+
exports.n = Pe;
|
|
24
|
+
exports.o = Te;
|
|
25
|
+
exports.p = Le;
|
|
26
|
+
exports.q = Fe;
|
|
27
|
+
exports.r = Me;
|
|
28
|
+
exports.s = Ve;
|
|
29
|
+
exports.t = be;
|
|
30
|
+
exports.u = we;
|
|
31
|
+
exports.v = qe;
|
|
32
|
+
exports.w = Re;
|
|
33
|
+
exports.x = Ie;
|
|
34
|
+
exports.y = Ee;
|
|
35
|
+
exports.z = Oe;
|
|
36
|
+
//# sourceMappingURL=out.js.map
|
|
37
|
+
//# sourceMappingURL=chunk-6NSC465P.js.map
|
|
@@ -0,0 +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","handleManifestParsed","hls","data","qualityLevels","resolutions","level","highestResolutionSupported","setQualityLevels","eventType","conditions","handleMediaAttached","Hls","details","streamLink","handleLevels","setQualityLevel","settings","manualQuality","autoQuality","setAutoQuality","setManualQuality","setUserSettings","handleFragBuffered","handleFragChanged","handleFragParsed","type","handleHlsErrors","handleVideoWaiting","waitingTimerRef","setIsLoading","handleVideoSeeking","handleVideoPlay","timerRef","videoSettings","setPlay","setCurrentTime","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","setIsEnded","setActiveElements","handleVideoTimeline","handleIosVideoPlay","handleIosVideoPlaying","handleIosVideoTimeUpdate","handleIosVideoEnded","handleStaticVideoPause","handleStaticVideoPlay","handleStaticVideoPlaying","handleStaticVideoTimeUpdate","handleStaticVideoCanPlay","handleStaticVideoLoadedData","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 setIsEnded,\r\n setIsFullScreen,\r\n setIsLoading,\r\n setManualQuality,\r\n setPlay,\r\n setQualityLevels\r\n} from \"../slices/controllerSlice\";\r\nimport { setClearPopoversSlice } from \"../slices/popoversSlice\";\r\nimport { setUserSettings } from \"../slices/userSlice\";\r\nimport {\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\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: -1,\r\n debug: false,\r\n enableWorker: true,\r\n abrBandWidthUpFactor: 0.7,\r\n abrBandWidthFactor: 0.95,\r\n backBufferLength: Infinity,\r\n maxBufferLength: 30,\r\n maxMaxBufferLength: 60,\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\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 resolutions: any[] = [];\r\n hls.levels.map((level: any) => {\r\n qualityLevels.push(level.attrs.RESOLUTION!.split(\"x\")[1].trim());\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 [\"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};\r\n\r\nexport const handleMediaAttached = (Hls: any, hls: any) => {\r\n const { params, details } = store.getState().videoData;\r\n let streamLink = 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};\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 handleFragChanged = (hls: any, data: any, setQualityLevel: any) => {\r\n const { params } = store.getState().videoData;\r\n\r\n if (params.type) 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) 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\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 { videoSettings } = store.getState().user;\r\n const { params } = store.getState().videoData;\r\n event.preventDefault();\r\n timerRef.current = Date.now();\r\n dispatch(setPlay(true));\r\n if (conditions(ConditionName.isFirstPlay)) {\r\n videoTag().currentTime = videoSettings.time;\r\n dispatch(setCurrentTime(videoSettings.time));\r\n if (conditions(ConditionName.hasFullScreenParams)) handleAutoFullScreen();\r\n if (conditions(ConditionName.isFullScreen)) handleLockOrientation();\r\n dispatch(setVideoTimelines([Math.floor(videoTag().currentTime)]));\r\n }\r\n sendFluentLog(pausePlayLog(true));\r\n dispatch(setSubtitleText(\"\"));\r\n if(conditions(ConditionName.hasOnPlayParams)) params.onPlay!();\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 const { params } = store.getState().videoData;\r\n event.preventDefault();\r\n sendFluentLog(pausePlayLog(false));\r\n dispatch(setPlay(false));\r\n if(conditions(ConditionName.hasOnPlayParams)) params.onPause!();\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 dispatch(setCurrentTime(event.target.currentTime));\r\n if (conditions(ConditionName.hasActiveCue)) dispatch(setSubtitleText((selectedSubtitle!.activeCues![0] as any).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 dispatch(setDuration(event.target.duration));\r\n if (conditions(ConditionName.isIOS)) {\r\n const subtitle: TextTrack[] = 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(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};\r\n\r\nexport const handleIosVideoEnded = () => {\r\n const dispatch = store.dispatch;\r\n const { params } = store.getState().videoData;\r\n dispatch(setIsEnded(true));\r\n dispatch(setActiveElements(true));\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\nexport const handleVideoVisibilityChange = (hls: any) => {\r\n handleVideoTimeline(videoTag().currentTime);\r\n};\r\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/videoPlayerLibrary/helpers/environment.ts"],"names":["init_cjs_shims","activeElementsTime","showLoaderTime","continuousePlaybackIntervalTime"],"mappings":"mCAAAA,IAMO,IAAMC,EAAqB,IAErBC,EAAiB,IAEjBC,EAAkC","sourcesContent":["import { IEnvironment } from \"./interfaces/interfaces\";\r\n\r\nexport const ENVIRONMENT: IEnvironment = {\r\n reduxDevTool: true\r\n};\r\n\r\nexport const activeElementsTime = 3000;\r\n\r\nexport const showLoaderTime = 3000;\r\n\r\nexport const continuousePlaybackIntervalTime = 60000;\r\n"]}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkSPUHJYDE_js = require('./chunk-SPUHJYDE.js');
|
|
4
|
+
var toolkit = require('@reduxjs/toolkit');
|
|
5
|
+
var reactRedux = require('react-redux');
|
|
6
|
+
var Le = require('axios');
|
|
7
|
+
|
|
8
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
|
|
10
|
+
var Le__default = /*#__PURE__*/_interopDefault(Le);
|
|
11
|
+
|
|
12
|
+
var ee=chunkSPUHJYDE_js.b((qr,N)=>{chunkSPUHJYDE_js.e();N.exports={baseUrl:"https://hamrahi.cloud",fluentdUrl:"https://hamrahi.cloud"};});var te={};chunkSPUHJYDE_js.c(te,{isNpmPackage:()=>xe});var xe,re=chunkSPUHJYDE_js.a(()=>{chunkSPUHJYDE_js.e();xe=!1;});chunkSPUHJYDE_js.e();var U={play:!1,isAutoPlay:!0,duration:0,currentTime:0,qualityLevels:[],manualQuality:void 0,autoQuality:void 0,activeElements:!0,isLoading:!1,isFullScreen:!1,bufferedTimeWidth:0,firstPlay:!0,activePointerProgressBar:!1,delayTurnOffControlbar:!1,canPlayVideo:!1,lock:!1,isEnded:!1,tooltipTime:0,showMiniPlayer:!1},_=toolkit.createSlice({name:"controller",initialState:U,reducers:{setPlay:(t,e)=>{t.play=e.payload;},setIsAutoPlay:(t,e)=>{t.isAutoPlay=e.payload;},setDuration:(t,e)=>{t.duration=e.payload;},setCurrentTime:(t,e)=>{t.currentTime=e.payload;},setManualQuality:(t,e)=>{t.manualQuality=e.payload;},setAutoQuality:(t,e)=>{t.autoQuality=e.payload;},setQualityLevels:(t,e)=>{t.qualityLevels=e.payload;},setActiveElements:(t,e)=>{t.activeElements=e.payload;},setIsLoading:(t,e)=>{t.isLoading=e.payload;},setIsFullScreen:(t,e)=>{t.isFullScreen=e.payload;},setBufferedTimeWidth:(t,e)=>{t.bufferedTimeWidth=e.payload;},setFirstPlay:(t,e)=>{t.firstPlay=e.payload;},setActivePointerProgressBar:(t,e)=>{t.activePointerProgressBar=e.payload;},setDelayTurnOffControlbar:(t,e)=>{t.delayTurnOffControlbar=e.payload;},setCanPlayVideo:(t,e)=>{t.canPlayVideo=e.payload;},setLock:(t,e)=>{t.lock=e.payload;},setIsEnded:(t,e)=>{t.isEnded=e.payload;},setTooltipTime:(t,e)=>{t.tooltipTime=e.payload;},setShowMiniPlayer:(t,e)=>{t.showMiniPlayer=e.payload;},setClearControllerSlice:()=>U}}),{setPlay:ke,setIsAutoPlay:Ie,setDuration:Fe,setCurrentTime:Ee,setQualityLevels:Qe,setAutoQuality:Ve,setActiveElements:Ue,setIsLoading:_e,setIsFullScreen:Me,setBufferedTimeWidth:Be,setFirstPlay:Re,setActivePointerProgressBar:$e,setDelayTurnOffControlbar:Ke,setManualQuality:Oe,setCanPlayVideo:qe,setLock:He,setIsEnded:We,setTooltipTime:je,setShowMiniPlayer:Xe,setClearControllerSlice:M}=_.actions,B=_.reducer;chunkSPUHJYDE_js.e();var R={details:{stream_link:"",type:"",banner:"",id:void 0,title:void 0,vtt:void 0,vtt_mobile:void 0,user_id:null,content_id:void 0,content_type:null,duration:0,subtitles:void 0},params:{src:"",type:"",id:"",bannerAlt:"",fullscreen:"",autoplay:"",cover:"","e-url":"","e-cover":"",scrollElementId:void 0,provider:"cafevdo",onFinished:void 0,onPlay:void 0,onPause:void 0,playStatus:void 0},streamLinkParams:"",videoElementSizeInfo:{bottom:0,top:0,right:0,left:0,width:0,height:0},isFetchDetails:!1,isValidAddress:!1,videoTimelines:[],isReady:!1,subtitles:[],selectedSubtitle:void 0,subtitleText:void 0},$=toolkit.createSlice({name:"videoData",initialState:R,reducers:{setInfo:(t,e)=>{t.details=e.payload;},setPlayerParams:(t,e)=>{t.params=e.payload;},setStreamLinkParams:(t,e)=>{t.streamLinkParams=e.payload;},setVideoElementSizeInfo:(t,e)=>{t.videoElementSizeInfo=e.payload;},setIsFetchDetails:(t,e)=>{t.isFetchDetails=e.payload;},setIsValidAddress:(t,e)=>{t.isValidAddress=e.payload;},setVideoTimelines:(t,e)=>{t.videoTimelines=e.payload;},setIsReady:(t,e)=>{t.isReady=e.payload;},setSubtitles:(t,e)=>{t.subtitles=e.payload;},setSelectedSubtitle:(t,e)=>{t.selectedSubtitle=e.payload;},setSubtitleText:(t,e)=>{t.subtitleText=e.payload;},setClearVideoDataSlice:t=>R}}),{setInfo:Ze,setPlayerParams:ze,setStreamLinkParams:K,setVideoElementSizeInfo:Ne,setIsFetchDetails:et,setIsValidAddress:tt,setVideoTimelines:rt,setIsReady:st,setSubtitles:at,setSubtitleText:ot,setSelectedSubtitle:it,setClearVideoDataSlice:O}=$.actions,q=$.reducer;chunkSPUHJYDE_js.e();var H={settings:{quality:-1,brightness:100,volume:100,speed:1},videoSettings:{time:0}},W=toolkit.createSlice({name:"user",initialState:H,reducers:{setUserSettings:(t,e)=>{t.settings=e.payload;},setVideoSettings:(t,e)=>{t.videoSettings=e.payload;},setClearUserSlice:()=>H}}),{setUserSettings:dt,setVideoSettings:pt,setClearUserSlice:j}=W.actions,X=W.reducer;chunkSPUHJYDE_js.e();chunkSPUHJYDE_js.e();var Pe={settingPopover:!1,speedPopover:!1,qualityLevelsPopover:!1},Y=toolkit.createSlice({name:"popover",initialState:Pe,reducers:{setSettingPopover:(t,e)=>{t.settingPopover=e.payload;},setSpeedPopover:(t,e)=>{t.speedPopover=e.payload;},setQualityLevelsPopover:(t,e)=>{t.qualityLevelsPopover=e.payload;},setClearPopoversSlice:t=>{t.settingPopover=!1,t.speedPopover=!1,t.qualityLevelsPopover=!1;}}}),{setSettingPopover:St,setSpeedPopover:Pt,setQualityLevelsPopover:ft,setClearPopoversSlice:G}=Y.actions,C=Y.reducer;var ve=toolkit.configureStore({reducer:{controller:B,videoData:q,popovers:C,user:X},devTools:!0,middleware:t=>t({serializableCheck:!1})}),a=ve;chunkSPUHJYDE_js.e();chunkSPUHJYDE_js.e();chunkSPUHJYDE_js.e();var u=t=>{let{params:e,details:r,isValidAddress:s,isFetchDetails:i,isReady:n,subtitles:d,selectedSubtitle:c}=a.getState().videoData,{firstPlay:l,lock:p,canPlayVideo:h,manualQuality:y,activeElements:w,isLoading:f,isEnded:g,isAutoPlay:ie,play:ne,isFullScreen:x,showMiniPlayer:P}=a.getState().controller,{settingPopover:Q,speedPopover:le,qualityLevelsPopover:ce}=a.getState().popovers,{settings:V}=a.getState().user;switch(t){case"showHeader":return !l&&h;case"showMain":return !p||l;case"showFooter":return !l&&h;case"showTouchVolumeBrightness":return !l&&T()&&!p&&!g;case"showBackwardForward":return !l&&b()&&!p;case"showTitle":return !v(e.type)&&x&&!p;case"showSettingPopover":return Q;case"showSpeedPopover":return le;case"showQualityLevelsPopover":return ce;case"showSettingIcon":return !v(e.type)&&!A()&&!x;case"showBanner":return l&&(r.banner||e.cover);case"showProgressbar":return !A();case"showMiniPlayer":return P;case"showPictureInPicture":return P!==!0&&!A()&&!b();case"showSubtitle":return !!c&&!P;case"hidePopovers":return !Q;case"isLandscape":return window.innerHeight<=window.innerWidth;case"isTouchScreen":return b();case"isTouchScreenPortrait":return Z();case"isTouchScreenLandscape":return T();case"isActiveElements":return w;case"isPlay":return ne;case"isFirstPlay":return l;case"isLock":return p;case"isIOS":return A();case"isLoading":return f;case"isStaticFormat":return v(e.type);case"isEnded":return g;case"isAutoPlay":return ie;case"isFullScreen":return x;case"isValidAddress":return s;case"isFetchDetails":return i;case"isAutoQuality":return V.quality===-1;case"isPressKeySpace":return !p;case"isPressKeyI":return !p&&!l&&!P;case"isPressKeyF":return !p&&!l&&!P;case"isPressKeyS":return !p&&!l;case"isPressKeyArrowRight":return !l&&!p;case"isPressKeyArrowLeft":return !l&&!p;case"isPressKeyM":return !l&&!p;case"isPressKeyC":return !p&&!l&&!P&&!!d&&d.length>0;case"isSendTimelineLog":return !v(e.type);case"isReady":return n;case"isSelectedSubtitle":return !!d&&d.length>0&&c;case"hasTitle":return r.title;case"hasBanner":return r.banner;case"hasStreamLink":return r.stream_link;case"hasManualQuality":return y!=null;case"hasSound":return !!V.volume;case"hasAutoPlay":return e.autoplay==="true";case"hasFullScreenParams":return e.fullscreen==="true";case"hasScrollElementId":return !!e.scrollElementId&&P!==void 0;case"hasOnFinishedParams":return !!e.onFinished;case"hasSubtitles":return !!d&&d.length>0&&!P;case"hasSubtitlesInDetails":return r.subtitles&&r.subtitles.length>0;case"hasActiveCue":return c&&c.activeCues&&c.activeCues.length>0;case"hasOnPlayParams":return !!e.onPlay;case"hasOnPauseParams":return !!e.onPause;case"hasPlayStatusParams":return e.playStatus!==void 0;case"getDetails":return !!e.type&&e.id;case"canPlayVideo":return h;case"setSubtitleFirstPlay":return r.subtitles&&r.subtitles.length>0&&!l&&!v(e.type);}};var z=t=>new Promise(e=>setTimeout(e,t*1e3)),S=()=>{let t=localStorage.getItem("hamrahiUUID");return t||(t=be(),localStorage.setItem("hamrahiUUID",t)),t.toString()},be=()=>{let t="xxxxxxxx-xxxx-Mxxx-Nxxx-x".replace(/[xMN]/g,e=>{let r;return e==="M"?r=Math.floor(1+Math.random()*5):e==="N"?r=Math.floor(8+Math.random()*4):r=Math.floor(Math.random()*16),r.toString(16)});return t+=Date.now().toString(16),t},b=()=>"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch,T=()=>{let{isFullScreen:t}=a.getState().controller;return b()&&t},Z=()=>{let{isFullScreen:t}=a.getState().controller;return b()&&!t},A=()=>["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document,L=t=>(t<10?"0":"")+t,Ht=t=>{let e=Math.floor(t/3600),r=Math.floor(t%3600/60),s=Math.floor(t%3600%60);return e<1?`${L(r)}:${L(s)}`:`${L(e)}:${L(r)}:${L(s)}`},v=t=>["mp4","mkv","mov","m4v"].includes(t)?"mp4":t==="webm"||t==="flv"?t:["mp3","ogg"].includes(t)?"mp3":!1,Wt=t=>{let e=new URL(t),r=t;return e.search.length?r+=`&uuid=${S()}`:r+=`?uuid=${S()}`},jt=(t,e)=>{try{return [t.target.id,t.target.parentNode.id,t.target.parentNode.parentNode.id,t.target.parentNode.parentNode.parentNode.id,t.target.parentNode.parentNode.parentNode.parentNode.id].includes(e)}catch{return !1}},Xt=t=>{let e=a.dispatch,r="";r=t.split("m3u8")[1],r?r=`${r}&uuid=${S()}`:r=`?uuid=${S()}`,e(K(r));},Yt=(t,e)=>{let r=document.getElementById(e),s=document.createElement("span");s.style.width=s.style.height="50px",s.style.left=`${t.touches[0].clientX-r.offsetLeft-25}px`,s.style.top=`${t.touches[0].clientY-r.offsetTop-25}px`,s.classList.add("pl-ripple");let i=r.getElementsByClassName("pl-ripple")[0];i&&i.remove(),r.appendChild(s);};var Gt=t=>t>=200&&t<300,Ct=()=>{let t=a.dispatch;t(O()),t(M()),t(j()),t(G());},Jt=t=>{let e,r=[];for(e=0;e<t.length;e++)r[e]=t[e].weight+(r[e-1]||0);let s=Math.random()*r[r.length-1];for(e=0;e<r.length&&!(r[e]>s);e++);return t[e].domain},Zt=t=>{let e=0;performance&&performance.getEntriesByType("navigation")&&(e=performance.getEntriesByType("navigation")[0].duration),t.current=e;},zt=(t,e,r)=>{let s=e*window.devicePixelRatio,i=r*window.devicePixelRatio,n=[];return u("isTouchScreenPortrait")?n=t.filter(d=>Number(d.split("x")[0].trim())<=s):n=t.filter(d=>Number(d.split("x")[0].trim())<=i||Number(d.split("x")[1].trim())<=s),n.indexOf(n[n.length-1])},D=(t,e)=>{let r={};for(let s in t){let i=e?`${e}_${s}`:s;typeof t[s]=="object"&&!Array.isArray(t[s])?r={...r,...D(t[s],i)}:r[i]=t[s];}return r},Nt=t=>{let e={fa:1,en:2};return t.slice().sort((r,s)=>{let i=e[r.lang]||999,n=e[s.lang]||999;return i-n})},er=t=>{let e;switch(t){case"fa":e="\u0641\u0627\u0631\u0633\u06CC";break;case"en":e="\u0627\u0646\u06AF\u0644\u06CC\u0633\u06CC";break;case"ar":e="\u0639\u0631\u0628\u06CC";break;case"tr":e="\u062A\u0631\u06A9\u06CC";break;}return e},tr=t=>t.split(/\r?\n|\r|\n/g);chunkSPUHJYDE_js.e();var ir=()=>reactRedux.useDispatch(),nr=reactRedux.useSelector;chunkSPUHJYDE_js.e();var k=()=>document.getElementById("player-tag"),dr=()=>document.getElementById("time-progress-bar"),pr=()=>a.getState().videoData.videoElementSizeInfo.width-2;chunkSPUHJYDE_js.e();var vr=t=>{let{params:e,details:r}=a.getState().videoData,{settings:s}=a.getState().user;return {category:"speedChange",previousSelectedSpeed:s.speed,selectedSpeed:t,id:Number(e.id),type:e.type,src:u("hasStreamLink")?r.stream_link:e.src,provider:e.provider}},br=t=>{let{params:e,details:r}=a.getState().videoData,{qualityLevels:s,manualQuality:i,autoQuality:n}=a.getState().controller;return {category:"qualityChangeRequest",currentPlayingQuality:`${s[u("isAutoQuality")?n??i:i]}P`,previousSelectedQuality:u("isAutoQuality")?"auto":`${s[i]}P`,selectedQuality:t,id:Number(e.id),type:e.type,src:u("hasStreamLink")?r.stream_link:e.src,provider:e.provider}},wr=t=>{let{params:e,details:r}=a.getState().videoData,{qualityLevels:s,autoQuality:i}=a.getState().controller,{settings:n}=a.getState().user;return {category:"catchUpLoading",previousVideoTime:Number(sessionStorage.getItem("previousVideoTime")),currentVideoTime:k().currentTime,duration:t,quality:`${u("isAutoQuality")?s[i]:s[n.quality]}P`,isAutoQuality:u("isAutoQuality"),id:Number(e.id),type:e.type,src:u("hasStreamLink")?r.stream_link:e.src,provider:e.provider}},Ar=t=>{let{params:e,details:r}=a.getState().videoData;return {category:t==="backward"?"backward":"forward",id:Number(e.id),type:e.type,src:r.stream_link?r.stream_link:e.src,provider:e.provider}},Lr=t=>{let{params:e,details:r}=a.getState().videoData;return {category:t,id:Number(e.id),type:e.type,src:u("hasStreamLink")?r.stream_link:e.src}},xr=(t,e)=>{let{params:r,details:s}=a.getState().videoData;return {category:"brightnessChange",source:t,target:e,id:Number(r.id),type:r.type,src:u("hasStreamLink")?s.stream_link:r.src}},Tr=(t,e)=>{let{params:r,details:s}=a.getState().videoData;return {category:"volumeChange",source:t,target:e,id:Number(r.id),type:r.type,src:u("hasStreamLink")?s.stream_link:r.src}},Dr=t=>{let{params:e,details:r}=a.getState().videoData;return {category:t,id:Number(e.id),type:e.type,src:u("hasStreamLink")?r.stream_link:e.src}};var kr=(t,e)=>{let{params:r,details:s}=a.getState().videoData,{duration:i}=a.getState().controller;return {category:"video-timeline",video_id:+r.id,video_type:r.type,start:t,end:e,watchedDuration:e-t,video_duration:Math.floor(i),clientUUID:S(),user_id:s.user_id,content_type:s.content_type,content_id:s.content_id}},Ir=(t,e,r)=>{let{params:s,details:i}=a.getState().videoData;return {category:"autoQualityChange",sourceQuality:t,targetQuality:e,diffQuality:r,id:Number(s.id),type:s.type,src:u("hasStreamLink")?i.stream_link:s.src,provider:s.provider}},Fr=(t,e)=>{let{params:r,details:s}=a.getState().videoData;return {category:"pingpong",id:Number(r.id),type:r.type,src:u("hasStreamLink")?s.stream_link:r.src,PingPongDuration:Number((new Date().getTime()-t).toFixed(2)),PingPongSourceQuality:`${e[0]}P`,PingPongTargetQuality:`${e[1]}P`,provider:r.provider}},Er=t=>{let{params:e,details:r}=a.getState().videoData;return {category:t?"playVideo":"pauseVideo",id:Number(e.id),type:e.type,src:r.stream_link?r.stream_link:e.src,provider:e.provider}},Qr=(t,e,r,s,i)=>{let{params:n,details:d}=a.getState().videoData,c=Date.now()-i.current+t+e,l=window.performance.memory,p=JSON.parse(JSON.stringify(window.performance.timing));return {category:"initLog",id:Number(n.id),type:n.type,origin:new URL(u("hasStreamLink")?d.stream_link:n.src).origin,src:u("hasStreamLink")?d.stream_link:n.src,loading:t,bannerLoading:!u("hasBanner")||r<0?0:r,waiting:e,firstChunkPlaying:s<0?0:s,totalTime:c,provider:n.provider,performance:D({memory:l,timing:p},"performance"),userAgent:window.navigator.userAgent}},Vr=(t,e,r,s,i)=>{let{params:n,details:d}=a.getState().videoData,{settings:c}=a.getState().user,l=Date.now()-r.current;return {category:"loading",id:Number(n.id),type:n.type,src:u("hasStreamLink")?d.stream_link:n.src,duration:t,quality:`${e}P`,isAutoQuality:u("isAutoQuality"),previousLoaderDiff:l,counter:s.current,loadingPercentile:Number((t/l).toFixed(2)),videoTime:k().currentTime,videoEntranceTime:i,speed:c.speed,provider:n.provider}},Ur=t=>{let{params:e,details:r}=a.getState().videoData;return {category:"subtitle",language:t,id:Number(e.id),type:e.type,src:u("hasStreamLink")?r.stream_link:e.src}};chunkSPUHJYDE_js.e();chunkSPUHJYDE_js.e();var I=async({url:t,method:e="GET",data:r,headers:s,retryCount:i=1,maxRetryCount:n=0,errorMessage:d,retryPolicy:c,errorCallback:l,timeoutCount:p})=>{let h={url:t,method:e,headers:{...s,"Content-Type":"application/json"},timeout:p?p*1e3:void 0};r?e==="GET"?h={...h,params:{uuid:a.getState().videoData.params.uuid,provider:a.getState().videoData.params.provider==="unknown"?void 0:a.getState().videoData.params.provider,...r}}:h={...h,data:{uuid:a.getState().videoData.params.uuid,provider:a.getState().videoData.params.provider==="unknown"?void 0:a.getState().videoData.params.provider,...r}}:e==="GET"?h={...h,params:{uuid:a.getState().videoData.params.uuid,provider:a.getState().videoData.params.provider==="unknown"?void 0:a.getState().videoData.params.provider}}:h={...h,data:{uuid:a.getState().videoData.params.uuid,provider:a.getState().videoData.params.provider==="unknown"?void 0:a.getState().videoData.params.provider}};try{return await Le__default.default(h)}catch(y){if(!(y&&y.response&&y.response.status===401)){l&&l(y.response.status,y.response.message);let w=0,f=0;if(c!==void 0){for(let g=0;g<c.length;g++)if((c[g].codeAbove&&y.response.status>=c[g].codeAbove||c[g].codeBelow&&y.response.status<=c[g].codeBelow)&&(c[g].excludeCodes.length===0||!c[g].excludeCodes.includes(y.response.status))||c[g].includeCodes.length===0||c[g].includeCodes.includes(y.response.status)){f=c[g].count,w=c[g].delay;break}}else f=n,w=i+1;if(i<f)return await z(w),I({url:t,method:e,data:r,headers:s,retryCount:i+1,newMaxRetryCount:f,errorMessage:d,retryPolicy:c,errorCallback:l});if(y.response)return {data:y.response.data?y.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:y.response.status}}}};chunkSPUHJYDE_js.e();chunkSPUHJYDE_js.e();var se=ee(),ae=(re(),chunkSPUHJYDE_js.d(te)),F=()=>(ae?se.baseUrl:process.env.baseUrl)+"/live/api",E=()=>ae?se.fluentdUrl:process.env.fluentdUrl;var oe=()=>({vod:{getVodUrl:`${F()}/v1/live/details/vod/`},viewCount:t=>`${F()}/v1/viewed/content/${t}`,videoTimelineLog:`${E()}/video-timeline.log`,logs:`${E()}/drive-endpoint.log`});var es=t=>{let{details:e}=a.getState().videoData,r={...t,timestamp:Date.now(),clientUUID:S(),uuid:S(),link:window.location.href,user_id:e.user_id,live_id:null,format:void 0,content_type:e.content_type,content_id:e.content_id};I({url:oe().logs,method:"post",data:r});};
|
|
13
|
+
|
|
14
|
+
exports.$ = nr;
|
|
15
|
+
exports.A = ot;
|
|
16
|
+
exports.B = it;
|
|
17
|
+
exports.C = St;
|
|
18
|
+
exports.D = Pt;
|
|
19
|
+
exports.E = ft;
|
|
20
|
+
exports.F = G;
|
|
21
|
+
exports.G = dt;
|
|
22
|
+
exports.H = pt;
|
|
23
|
+
exports.I = a;
|
|
24
|
+
exports.J = S;
|
|
25
|
+
exports.K = b;
|
|
26
|
+
exports.L = Ht;
|
|
27
|
+
exports.M = v;
|
|
28
|
+
exports.N = Wt;
|
|
29
|
+
exports.O = jt;
|
|
30
|
+
exports.P = Xt;
|
|
31
|
+
exports.Q = Yt;
|
|
32
|
+
exports.R = Gt;
|
|
33
|
+
exports.S = Ct;
|
|
34
|
+
exports.T = Jt;
|
|
35
|
+
exports.U = Zt;
|
|
36
|
+
exports.V = zt;
|
|
37
|
+
exports.W = Nt;
|
|
38
|
+
exports.X = er;
|
|
39
|
+
exports.Y = tr;
|
|
40
|
+
exports.Z = u;
|
|
41
|
+
exports._ = ir;
|
|
42
|
+
exports.a = ke;
|
|
43
|
+
exports.aa = k;
|
|
44
|
+
exports.b = Fe;
|
|
45
|
+
exports.ba = dr;
|
|
46
|
+
exports.c = Ee;
|
|
47
|
+
exports.ca = pr;
|
|
48
|
+
exports.d = Qe;
|
|
49
|
+
exports.da = I;
|
|
50
|
+
exports.e = Ve;
|
|
51
|
+
exports.ea = oe;
|
|
52
|
+
exports.f = Ue;
|
|
53
|
+
exports.fa = vr;
|
|
54
|
+
exports.g = _e;
|
|
55
|
+
exports.ga = br;
|
|
56
|
+
exports.h = Me;
|
|
57
|
+
exports.ha = wr;
|
|
58
|
+
exports.i = Be;
|
|
59
|
+
exports.ia = Ar;
|
|
60
|
+
exports.j = Re;
|
|
61
|
+
exports.ja = Lr;
|
|
62
|
+
exports.k = $e;
|
|
63
|
+
exports.ka = xr;
|
|
64
|
+
exports.l = Ke;
|
|
65
|
+
exports.la = Tr;
|
|
66
|
+
exports.m = Oe;
|
|
67
|
+
exports.ma = Dr;
|
|
68
|
+
exports.n = qe;
|
|
69
|
+
exports.na = kr;
|
|
70
|
+
exports.o = He;
|
|
71
|
+
exports.oa = Ir;
|
|
72
|
+
exports.p = We;
|
|
73
|
+
exports.pa = Fr;
|
|
74
|
+
exports.q = je;
|
|
75
|
+
exports.qa = Er;
|
|
76
|
+
exports.r = Xe;
|
|
77
|
+
exports.ra = Qr;
|
|
78
|
+
exports.s = Ze;
|
|
79
|
+
exports.sa = Vr;
|
|
80
|
+
exports.t = ze;
|
|
81
|
+
exports.ta = Ur;
|
|
82
|
+
exports.u = Ne;
|
|
83
|
+
exports.ua = es;
|
|
84
|
+
exports.v = et;
|
|
85
|
+
exports.w = tt;
|
|
86
|
+
exports.x = rt;
|
|
87
|
+
exports.y = st;
|
|
88
|
+
exports.z = at;
|
|
89
|
+
//# sourceMappingURL=out.js.map
|
|
90
|
+
//# sourceMappingURL=chunk-BJ4CIJKZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/videoPlayerLibrary/helpers/configs/nextConfigs/next.config.js","../src/videoPlayerLibrary/helpers/configs/npmPackage/npmPackage.ts","../src/videoPlayerLibrary/helpers/redux/slices/controllerSlice.ts","../src/videoPlayerLibrary/helpers/redux/slices/videoDataSlice.ts","../src/videoPlayerLibrary/helpers/redux/slices/userSlice.ts","../src/videoPlayerLibrary/helpers/redux/store.ts","../src/videoPlayerLibrary/helpers/redux/slices/popoversSlice.ts","../src/videoPlayerLibrary/helpers/interfaces/enums.ts","../src/videoPlayerLibrary/helpers/helpers.ts","../src/videoPlayerLibrary/helpers/conditions/conditions.ts","../src/videoPlayerLibrary/helpers/redux/hooks.ts","../src/videoPlayerLibrary/helpers/constants.ts","../src/videoPlayerLibrary/helpers/logs/logs.ts","../src/videoPlayerLibrary/helpers/logs/fluentdLogger.ts","../src/videoPlayerLibrary/helpers/services/apiCaller.ts","../src/videoPlayerLibrary/helpers/services/services.ts","../src/videoPlayerLibrary/helpers/services/baseUrl.ts"],"names":["require_next_config","__commonJSMin","exports","module","init_cjs_shims","npmPackage_exports","__export","isNpmPackage","init_npmPackage","__esmMin","createSlice","ControllerSliceState","controllerSlice","state","action","setPlay","setIsAutoPlay","setDuration","setCurrentTime","setQualityLevels","setAutoQuality","setActiveElements","setIsLoading","setIsFullScreen","setBufferedTimeWidth","setFirstPlay","setActivePointerProgressBar","setDelayTurnOffControlbar","setManualQuality","setCanPlayVideo","setLock","setIsEnded","setTooltipTime","setShowMiniPlayer","setClearControllerSlice","controllerSlice_default","VideoDataSliceState","videoDataSlice","setInfo","setPlayerParams","setStreamLinkParams","setVideoElementSizeInfo","setIsFetchDetails","setIsValidAddress","setVideoTimelines","setIsReady","setSubtitles","setSubtitleText","setSelectedSubtitle","setClearVideoDataSlice","videoDataSlice_default","UserSliceState","userSlice","setUserSettings","setVideoSettings","setClearUserSlice","userSlice_default","PopOversSliceState","popoversSlice","setSettingPopover","setSpeedPopover","setQualityLevelsPopover","setClearPopoversSlice","popoversSlice_default","configureStore","store","getDefaultMiddleware","store_default","conditions","type","params","details","isValidAddress","isFetchDetails","isReady","subtitles","selectedSubtitle","firstPlay","lock","canPlayVideo","manualQuality","activeElements","isLoading","isEnded","isAutoPlay","play","isFullScreen","showMiniPlayer","settingPopover","speedPopover","qualityLevelsPopover","settings","isTouchScreenLandscape","isTouchScreen","staticFormats","isIOS","isTouchScreenPortrait","wait","s","resolve","getUUID","uuid","uuidGenerator","char","val","addZeroBefore","n","secondsToHMS","seconds","h","m","realFormat","addUuidToSrc","src","urlObject","urlSrc","checkParentTarget","event","target","appendQueryParamsToChunks","link","dispatch","queryParams","handleRippleCircle","id","element","circle","ripple","responseValidator","status","clearRedux","weighted_random","options","i","weights","random","handlePageLoadTime","loadingDurationRef","pageLoadTime","highestResolutionSupported","resolutions","width","height","w","filteredResolutions","resolution","flattenObject","input","keyName","result","key","newKey","sortLanguages","array","priority","a","b","prioA","prioB","getSubtitleLabel","subtitleLanguage","label","spliteStringPerLine","str","useDispatch","useSelector","useAppDispatch","useAppSelector","videoTag","progressBar","progressBarWidth","speedChangeLog","selectedSpeed","qualityChangeRequestLog","selectedQuality","qualityLevels","autoQuality","catchUpLoadingLog","duration","backwardForwardLog","fullscreenLog","category","brightnessLog","source","volumeLog","lockLog","videoTimelineLog","start","end","autoQualityChangeLog","sourceQuality","targetQuality","diffQuality","pingpongLog","startTimer","qualityHistory","pausePlayLog","isPlay","initLog","loadingTime","waitingTime","bannerLoadingTime","firstChunkPlayingTime","timerRef","totalTime","memory","timing","loadingLog","waitingDuration","qualityLevel","loadingCounterRef","videoEntranceTime","previousLoaderDiff","subtitleLog","language","axios","apiCaller","url","method","data","headers","retryCount","maxRetryCount","errorMessage","retryPolicy","errorCallback","timeoutCount","axiosConfig","error","newRetryDelay","newMaxRetryCount","envs","getRestApiLiveUrl","getFluentdUrl","API","content_id","sendFluentLog","_data"],"mappings":"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","sourcesContent":["module.exports = {\r\n baseUrl: \"https://hamrahi.cloud\",\r\n fluentdUrl: \"https://hamrahi.cloud\",\r\n};\r\n","export const isNpmPackage = false;\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\nimport { IControllerSlice } from \"../../interfaces/interfaces\";\r\n\r\nconst ControllerSliceState: IControllerSlice = {\r\n play: false,\r\n isAutoPlay: true,\r\n duration: 0,\r\n currentTime: 0,\r\n qualityLevels: [],\r\n manualQuality: undefined,\r\n autoQuality: undefined,\r\n activeElements: true,\r\n isLoading: false,\r\n isFullScreen: false,\r\n bufferedTimeWidth: 0,\r\n firstPlay: true,\r\n activePointerProgressBar: false,\r\n delayTurnOffControlbar: false,\r\n canPlayVideo: false,\r\n lock: false,\r\n isEnded: false,\r\n tooltipTime: 0,\r\n showMiniPlayer: false,\r\n};\r\n\r\nexport const controllerSlice = createSlice({\r\n name: \"controller\",\r\n initialState: ControllerSliceState,\r\n reducers: {\r\n setPlay: (state, action: PayloadAction<boolean>) => {\r\n state.play = action.payload;\r\n },\r\n setIsAutoPlay: (state, action: PayloadAction<boolean>) => {\r\n state.isAutoPlay = action.payload;\r\n },\r\n setDuration: (state, action: PayloadAction<number>) => {\r\n state.duration = action.payload;\r\n },\r\n setCurrentTime: (state, action: PayloadAction<number>) => {\r\n state.currentTime = action.payload;\r\n },\r\n setManualQuality: (state, action: PayloadAction<number | undefined>) => {\r\n state.manualQuality = action.payload;\r\n },\r\n setAutoQuality: (state, action: PayloadAction<number | undefined>) => {\r\n state.autoQuality = action.payload;\r\n },\r\n setQualityLevels: (state, action: PayloadAction<any[]>) => {\r\n state.qualityLevels = action.payload;\r\n },\r\n setActiveElements: (state, action: PayloadAction<boolean>) => {\r\n state.activeElements = action.payload;\r\n },\r\n setIsLoading: (state, action: PayloadAction<boolean>) => {\r\n state.isLoading = action.payload;\r\n },\r\n setIsFullScreen: (state, action: PayloadAction<boolean>) => {\r\n state.isFullScreen = action.payload;\r\n },\r\n setBufferedTimeWidth: (state, action: PayloadAction<number>) => {\r\n state.bufferedTimeWidth = action.payload;\r\n },\r\n setFirstPlay: (state, action: PayloadAction<boolean>) => {\r\n state.firstPlay = action.payload;\r\n },\r\n setActivePointerProgressBar: (state, action: PayloadAction<boolean>) => {\r\n state.activePointerProgressBar = action.payload;\r\n },\r\n setDelayTurnOffControlbar: (state, action: PayloadAction<boolean>) => {\r\n state.delayTurnOffControlbar = action.payload;\r\n },\r\n setCanPlayVideo: (state, action: PayloadAction<boolean>) => {\r\n state.canPlayVideo = action.payload;\r\n },\r\n setLock: (state, action: PayloadAction<boolean>) => {\r\n state.lock = action.payload;\r\n },\r\n setIsEnded: (state, action: PayloadAction<boolean>) => {\r\n state.isEnded = action.payload;\r\n },\r\n setTooltipTime: (state, action: PayloadAction<number>) => {\r\n state.tooltipTime = action.payload;\r\n },\r\n setShowMiniPlayer: (state, action: PayloadAction<boolean | undefined>) => {\r\n state.showMiniPlayer = action.payload;\r\n },\r\n setClearControllerSlice: () => {\r\n return ControllerSliceState;\r\n }\r\n }\r\n});\r\n\r\nexport const {\r\n setPlay,\r\n setIsAutoPlay,\r\n setDuration,\r\n setCurrentTime,\r\n setQualityLevels,\r\n setAutoQuality,\r\n setActiveElements,\r\n setIsLoading,\r\n setIsFullScreen,\r\n setBufferedTimeWidth,\r\n setFirstPlay,\r\n setActivePointerProgressBar,\r\n setDelayTurnOffControlbar,\r\n setManualQuality,\r\n setCanPlayVideo,\r\n setLock,\r\n setIsEnded,\r\n setTooltipTime,\r\n setShowMiniPlayer,\r\n setClearControllerSlice,\r\n} = controllerSlice.actions;\r\nexport default controllerSlice.reducer;\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\nimport { IVideoElementSizeInfo, IDetails, IVideoDataSlice } from \"../../interfaces/interfaces\";\r\n\r\nexport const VideoDataSliceState: IVideoDataSlice = {\r\n details: {\r\n stream_link: \"\",\r\n type: \"\",\r\n banner: \"\",\r\n id: undefined,\r\n title: undefined,\r\n vtt: undefined,\r\n vtt_mobile: undefined,\r\n user_id: null,\r\n content_id: undefined,\r\n content_type: null,\r\n duration: 0,\r\n subtitles: undefined,\r\n },\r\n params: {\r\n src: \"\",\r\n type: \"\",\r\n id: \"\",\r\n bannerAlt: \"\",\r\n fullscreen: \"\",\r\n autoplay: \"\",\r\n cover: \"\",\r\n \"e-url\": \"\",\r\n \"e-cover\": \"\",\r\n scrollElementId: undefined,\r\n provider: \"cafevdo\",\r\n onFinished: undefined,\r\n onPlay: undefined,\r\n onPause: undefined,\r\n playStatus: undefined\r\n },\r\n streamLinkParams: \"\",\r\n videoElementSizeInfo: {\r\n bottom: 0,\r\n top: 0,\r\n right: 0,\r\n left: 0,\r\n width: 0,\r\n height: 0\r\n },\r\n isFetchDetails: false,\r\n isValidAddress: false,\r\n videoTimelines: [],\r\n isReady: false,\r\n subtitles: [],\r\n selectedSubtitle: undefined,\r\n subtitleText: undefined,\r\n};\r\n\r\nexport const videoDataSlice = createSlice({\r\n name: \"videoData\",\r\n initialState: VideoDataSliceState,\r\n reducers: {\r\n setInfo: (state, action: PayloadAction<IDetails>) => {\r\n state.details = action.payload;\r\n },\r\n setPlayerParams: (state, action: PayloadAction<any>) => {\r\n state.params = action.payload;\r\n },\r\n setStreamLinkParams: (state, action: PayloadAction<string>) => {\r\n state.streamLinkParams = action.payload;\r\n },\r\n setVideoElementSizeInfo: (state, action: PayloadAction<IVideoElementSizeInfo>) => {\r\n state.videoElementSizeInfo = action.payload;\r\n },\r\n setIsFetchDetails: (state, action: PayloadAction<boolean>) => {\r\n state.isFetchDetails = action.payload;\r\n },\r\n setIsValidAddress: (state, action: PayloadAction<boolean>) => {\r\n state.isValidAddress = action.payload;\r\n },\r\n setVideoTimelines: (state, action: PayloadAction<number[]>) => {\r\n state.videoTimelines = action.payload;\r\n },\r\n setIsReady: (state, action: PayloadAction<boolean>) => {\r\n state.isReady = action.payload;\r\n },\r\n setSubtitles: (state, action: PayloadAction<TextTrack[]>) => {\r\n state.subtitles = action.payload;\r\n },\r\n setSelectedSubtitle: (state, action: PayloadAction<any>) => {\r\n state.selectedSubtitle = action.payload;\r\n },\r\n setSubtitleText: (state, action: PayloadAction<string>) => {\r\n state.subtitleText = action.payload;\r\n },\r\n setClearVideoDataSlice: (state) => {\r\n return (state = VideoDataSliceState);\r\n }\r\n }\r\n});\r\n\r\nexport const {\r\n setInfo,\r\n setPlayerParams,\r\n setStreamLinkParams,\r\n setVideoElementSizeInfo,\r\n setIsFetchDetails,\r\n setIsValidAddress,\r\n setVideoTimelines,\r\n setIsReady,\r\n setSubtitles,\r\n setSubtitleText,\r\n setSelectedSubtitle,\r\n setClearVideoDataSlice\r\n} = videoDataSlice.actions;\r\nexport default videoDataSlice.reducer;\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\nimport { IUserSettings, IUserSlice, IVideoSettings } from \"../../interfaces/interfaces\";\r\n\r\nconst UserSliceState: IUserSlice = {\r\n settings: {\r\n quality: -1,\r\n brightness: 100,\r\n volume: 100,\r\n speed: 1,\r\n },\r\n videoSettings: {\r\n time: 0\r\n },\r\n};\r\n\r\nexport const userSlice = createSlice({\r\n name: \"user\",\r\n initialState: UserSliceState,\r\n reducers: {\r\n setUserSettings: (state, action: PayloadAction<IUserSettings>) => {\r\n state.settings = action.payload;\r\n },\r\n setVideoSettings: (state, action: PayloadAction<IVideoSettings>) => {\r\n state.videoSettings = action.payload;\r\n },\r\n setClearUserSlice: () => {\r\n return UserSliceState;\r\n }\r\n }\r\n});\r\n\r\nexport const {\r\n setUserSettings,\r\n setVideoSettings,\r\n setClearUserSlice\r\n} = userSlice.actions;\r\n\r\nexport default userSlice.reducer;\r\n","import controllerReducer from \"./slices/controllerSlice\";\r\nimport videoDataReducer from \"./slices/videoDataSlice\";\r\nimport popoversReducer from \"./slices/popoversSlice\";\r\nimport userReducer from \"./slices/userSlice\";\r\n\r\nimport { configureStore } from \"@reduxjs/toolkit\";\r\n\r\nconst store = configureStore({\r\n reducer: {\r\n controller: controllerReducer,\r\n videoData: videoDataReducer,\r\n popovers: popoversReducer,\r\n user: userReducer,\r\n },\r\n devTools: true,\r\n middleware: (getDefaultMiddleware) => getDefaultMiddleware({ serializableCheck: false })\r\n});\r\n\r\nexport type RootState = ReturnType<typeof store.getState>;\r\nexport type AppDispatch = typeof store.dispatch;\r\nexport default store;\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\nimport { IPopoversSlice } from \"../../interfaces/interfaces\";\r\n\r\nconst PopOversSliceState: IPopoversSlice = {\r\n settingPopover: false,\r\n speedPopover: false,\r\n qualityLevelsPopover: false\r\n};\r\nexport const popoversSlice = createSlice({\r\n name: \"popover\",\r\n initialState: PopOversSliceState,\r\n reducers: {\r\n setSettingPopover: (state, action: PayloadAction<boolean>) => {\r\n state.settingPopover = action.payload;\r\n },\r\n setSpeedPopover: (state, action: PayloadAction<boolean>) => {\r\n state.speedPopover = action.payload;\r\n },\r\n setQualityLevelsPopover: (state, action: PayloadAction<boolean>) => {\r\n state.qualityLevelsPopover = action.payload;\r\n },\r\n setClearPopoversSlice: (state) => {\r\n state.settingPopover = false;\r\n state.speedPopover = false;\r\n state.qualityLevelsPopover = false;\r\n }\r\n }\r\n});\r\n\r\nexport const {\r\n setSettingPopover,\r\n setSpeedPopover,\r\n setQualityLevelsPopover,\r\n setClearPopoversSlice\r\n} = popoversSlice.actions;\r\n\r\nexport default popoversSlice.reducer;\r\n","export const enum zIndex {\r\n vttDisable = -2,\r\n backwardForwardInActive = 1,\r\n videoPlayer,\r\n mainIcons,\r\n footer,\r\n vtt,\r\n videoPlayerInFullScreen = 1000000,\r\n popoverBlurBackground,\r\n backwardForwardActive,\r\n popoverContent,\r\n maxPopover,\r\n videoPlayerInPictureInPicture,\r\n}\r\n\r\nexport const enum SettingSections {\r\n main = \"main\",\r\n qualityLevels = \"qualityLevels\",\r\n speed = \"speed\"\r\n}\r\n\r\nexport const enum ConditionName {\r\n showHeader = \"showHeader\",\r\n showMain = \"showMain\",\r\n showFooter = \"showFooter\",\r\n showTouchVolumeBrightness = \"showTouchVolumeBrightness\",\r\n showBackwardForward = \"showBackwardForward\",\r\n showTitle = \"showTitle\",\r\n showSettingPopover = \"showSettingPopover\",\r\n showSpeedPopover = \"showSpeedPopover\",\r\n showQualityLevelsPopover = \"showQualityLevelsPopover\",\r\n showSettingIcon = \"showSettingIcon\",\r\n showBanner = \"showBanner\",\r\n showProgressbar = \"showProgressbar\",\r\n showMiniPlayer = \"showMiniPlayer\",\r\n showPictureInPicture = \"showPictureInPicture\",\r\n showSubtitle = \"showSubtitle\",\r\n hidePopovers = \"hidePopovers\",\r\n isLandscape = \"isLandscape\",\r\n isTouchScreen = \"isTouchScreen\",\r\n isTouchScreenPortrait = \"isTouchScreenPortrait\",\r\n isTouchScreenLandscape = \"isTouchScreenLandscape\",\r\n isActiveElements = \"isActiveElements\",\r\n isPlay = \"isPlay\",\r\n isFirstPlay = \"isFirstPlay\",\r\n isLock = \"isLock\",\r\n isIOS = \"isIOS\",\r\n isLoading = \"isLoading\",\r\n isStaticFormat = \"isStaticFormat\",\r\n isEnded = \"isEnded\",\r\n isAutoPlay = \"isAutoPlay\",\r\n isFullScreen = \"isFullScreen\",\r\n isValidAddress = \"isValidAddress\",\r\n isFetchDetails = \"isFetchDetails\",\r\n isAutoQuality = \"isAutoQuality\",\r\n isPressKeySpace = \"isPressKeySpace\",\r\n isPressKeyI = \"isPressKeyI\",\r\n isPressKeyF = \"isPressKeyF\",\r\n isPressKeyS = \"isPressKeyS\",\r\n isPressKeyArrowRight = \"isPressKeyArrowRight\",\r\n isPressKeyArrowLeft = \"isPressKeyArrowLeft\",\r\n isPressKeyM = \"isPressKeyM\",\r\n isPressKeyC = \"isPressKeyC\",\r\n isSendTimelineLog = \"isSendTimelineLog\",\r\n isReady = \"isReady\",\r\n isSelectedSubtitle = \"isSelectedSubtitle\",\r\n hasTitle = \"hasTitle\",\r\n hasBanner = \"hasBanner\",\r\n hasStreamLink = \"hasStreamLink\",\r\n hasManualQuality = \"hasManualQuality\",\r\n hasSound = \"hasSound\",\r\n hasAutoPlay = \"hasAutoPlay\",\r\n hasFullScreenParams = \"hasFullScreenParams\",\r\n hasScrollElementId = \"hasScrollElementId\",\r\n hasOnFinishedParams = \"hasOnFinishedParams\",\r\n hasSubtitles = \"hasSubtitles\",\r\n hasSubtitlesInDetails = \"hasSubtitlesInDetails\",\r\n hasActiveCue = \"hasActiveCue\",\r\n hasOnPlayParams = \"hasOnPlayParams\",\r\n hasOnPauseParams = \"hasOnPauseParams\",\r\n hasPlayStatusParams = \"hasPlayStatusParams\",\r\n getDetails = \"getDetails\",\r\n canPlayVideo = \"canPlayVideo\",\r\n setSubtitleFirstPlay = \"setSubtitleFirstPlay\"\r\n}","import { conditions } from \"./conditions/conditions\";\r\nimport { ConditionName } from \"./interfaces/enums\";\r\nimport store from \"./redux/store\";\r\nimport { setClearVideoDataSlice, setStreamLinkParams } from \"./redux/slices/videoDataSlice\";\r\nimport { setClearControllerSlice } from \"./redux/slices/controllerSlice\";\r\nimport { setClearUserSlice } from \"./redux/slices/userSlice\";\r\nimport { setClearPopoversSlice } from \"./redux/slices/popoversSlice\";\r\n\r\nexport const wait = (s: number) => new Promise((resolve) => setTimeout(resolve, s * 1000));\r\n\r\nexport const getUUID = () => {\r\n let uuid = localStorage.getItem(\"hamrahiUUID\");\r\n if (!uuid) {\r\n uuid = uuidGenerator();\r\n localStorage.setItem(\"hamrahiUUID\", uuid);\r\n }\r\n return uuid.toString();\r\n};\r\n\r\nexport const uuidGenerator = () => {\r\n let uuid = \"xxxxxxxx-xxxx-Mxxx-Nxxx-x\".replace(/[xMN]/g, (char) => {\r\n let val: number;\r\n if (char === \"M\") val = Math.floor(1 + Math.random() * 5);\r\n else if (char === \"N\") val = Math.floor(8 + Math.random() * 4);\r\n else val = Math.floor(Math.random() * 16);\r\n return val.toString(16);\r\n });\r\n uuid += Date.now().toString(16);\r\n return uuid;\r\n};\r\n\r\nexport const isTouchScreen = () =>\r\n \"ontouchstart\" in window || ((window as any)[\"DocumentTouch\"] && document instanceof (window as any)[\"DocumentTouch\"]);\r\nexport const isTouchScreenLandscape = () => {\r\n const { isFullScreen } = store.getState().controller;\r\n return isTouchScreen() && isFullScreen;\r\n};\r\nexport const isTouchScreenPortrait = () => {\r\n const { isFullScreen } = store.getState().controller;\r\n return isTouchScreen() && !isFullScreen;\r\n};\r\n\r\nexport const isIOS = () => {\r\n return (\r\n [\"iPad Simulator\", \"iPhone Simulator\", \"iPod Simulator\", \"iPad\", \"iPhone\", \"iPod\"].includes(navigator.platform) ||\r\n // iPad on iOS 13 detection\r\n (navigator.userAgent.includes(\"Mac\") && \"ontouchend\" in document)\r\n );\r\n};\r\n\r\nexport const addZeroBefore = (n: number) => {\r\n return (n < 10 ? \"0\" : \"\") + n;\r\n};\r\n\r\nexport const secondsToHMS = (seconds: number) => {\r\n const h = Math.floor(seconds / 3600);\r\n const m = Math.floor((seconds % 3600) / 60);\r\n const s = Math.floor((seconds % 3600) % 60);\r\n return h < 1 ? `${addZeroBefore(m)}:${addZeroBefore(s)}` : `${addZeroBefore(h)}:${addZeroBefore(m)}:${addZeroBefore(s)}`;\r\n};\r\n\r\nexport const staticFormats = (realFormat: string) => {\r\n if ([\"mp4\", \"mkv\", \"mov\", \"m4v\"].includes(realFormat)) return \"mp4\";\r\n else if (realFormat === \"webm\" || realFormat === \"flv\") return realFormat;\r\n else if ([\"mp3\", \"ogg\"].includes(realFormat)) return \"mp3\";\r\n else return false;\r\n};\r\n\r\nexport const addUuidToSrc = (src: string) => {\r\n const urlObject = new URL(src);\r\n let urlSrc = src;\r\n if (urlObject.search.length) return (urlSrc += `&uuid=${getUUID()}`);\r\n else return (urlSrc += `?uuid=${getUUID()}`);\r\n};\r\n\r\nexport const checkParentTarget = (event: any, target: string) => {\r\n try {\r\n return [\r\n event.target.id,\r\n event.target.parentNode.id,\r\n event.target.parentNode.parentNode.id,\r\n event.target.parentNode.parentNode.parentNode.id,\r\n event.target.parentNode.parentNode.parentNode.parentNode.id\r\n ].includes(target);\r\n } catch (error) {\r\n return false;\r\n }\r\n};\r\n\r\nexport const appendQueryParamsToChunks = (link: string) => {\r\n const dispatch = store.dispatch;\r\n let queryParams: string = \"\";\r\n queryParams = link.split(\"m3u8\")[1];\r\n if (queryParams) queryParams = `${queryParams}&uuid=${getUUID()}`;\r\n else queryParams = `?uuid=${getUUID()}`;\r\n dispatch(setStreamLinkParams(queryParams));\r\n};\r\n\r\nexport const handleRippleCircle = (event: any, id: string) => {\r\n const element: any = document.getElementById(id);\r\n const circle = document.createElement(\"span\");\r\n circle.style.width = circle.style.height = `50px`;\r\n circle.style.left = `${event.touches[0].clientX - element.offsetLeft - 25}px`;\r\n circle.style.top = `${event.touches[0].clientY - element.offsetTop - 25}px`;\r\n circle.classList.add(\"pl-ripple\");\r\n const ripple = element.getElementsByClassName(\"pl-ripple\")[0];\r\n if (ripple) ripple.remove();\r\n element.appendChild(circle);\r\n};\r\n\r\nexport const handleRipple = (event: any, id: string, size: number = 50) => {\r\n const clientX = event.clientX !== undefined ? event.clientX : event.touches[0].clientX;\r\n const clientY = event.clientY !== undefined ? event.clientY : event.touches[0].clientY;\r\n const element: any = document.getElementById(id);\r\n const circle = document.createElement(\"span\");\r\n circle.style.width = circle.style.height = `${size}px`;\r\n circle.style.left = `${clientX - size / 2}px`;\r\n circle.style.top = `${clientY - element.getBoundingClientRect().top - size / 2}px`;\r\n circle.classList.add(\"pl-ripple\");\r\n const ripple = element.getElementsByClassName(\"pl-ripple\")[0];\r\n if (ripple) ripple.remove();\r\n element.appendChild(circle);\r\n};\r\n\r\nexport const responseValidator = (status: number): boolean => status >= 200 && status < 300;\r\n\r\nexport const clearRedux = () => {\r\n const dispatch = store.dispatch;\r\n dispatch(setClearVideoDataSlice());\r\n dispatch(setClearControllerSlice());\r\n dispatch(setClearUserSlice());\r\n dispatch(setClearPopoversSlice());\r\n};\r\n\r\nexport const weighted_random = (options: any) => {\r\n let i;\r\n\r\n let weights: any[] = [];\r\n\r\n for (i = 0; i < options.length; i++) weights[i] = options[i].weight + (weights[i - 1] || 0);\r\n\r\n let random = Math.random() * weights[weights.length - 1];\r\n\r\n for (i = 0; i < weights.length; i++) if (weights[i] > random) break;\r\n\r\n return options[i].domain;\r\n};\r\n\r\n// ***** Player Core *****\r\n\r\nexport const handlePageLoadTime = (loadingDurationRef: any) => {\r\n let pageLoadTime = 0;\r\n if (performance && performance.getEntriesByType(\"navigation\")) pageLoadTime = performance.getEntriesByType(\"navigation\")[0].duration;\r\n loadingDurationRef.current = pageLoadTime;\r\n};\r\n\r\nexport const highestResolutionSupported = (resolutions: string[], width: number, height: number) => {\r\n const w = width * window.devicePixelRatio;\r\n const h = height * window.devicePixelRatio;\r\n let filteredResolutions: string[] = [];\r\n if (conditions(ConditionName.isTouchScreenPortrait))\r\n filteredResolutions = resolutions.filter((resolution: string) => Number(resolution.split(\"x\")[0].trim()) <= w);\r\n else\r\n filteredResolutions = resolutions.filter(\r\n (resolution: string) => Number(resolution.split(\"x\")[0].trim()) <= h || Number(resolution.split(\"x\")[1].trim()) <= w\r\n );\r\n return filteredResolutions.indexOf(filteredResolutions[filteredResolutions.length - 1]);\r\n};\r\n\r\nexport const flattenObject = (input: any, keyName?: string) => {\r\n let result: any = {};\r\n for (const key in input) {\r\n const newKey = keyName ? `${keyName}_${key}` : key;\r\n if (typeof input[key] === \"object\" && !Array.isArray(input[key])) result = { ...result, ...flattenObject(input[key], newKey) };\r\n else result[newKey] = input[key];\r\n }\r\n return result;\r\n};\r\n\r\nexport const sortLanguages = (array: any) => {\r\n const priority: any = { fa: 1, en: 2 };\r\n\r\n return array.slice().sort((a: any, b: any) => {\r\n const prioA = priority[a.lang] || 999;\r\n const prioB = priority[b.lang] || 999;\r\n\r\n return prioA - prioB;\r\n });\r\n};\r\n\r\nexport const getSubtitleLabel = (subtitleLanguage: string) => {\r\n let label;\r\n switch (subtitleLanguage) {\r\n case \"fa\":\r\n label = \"فارسی\";\r\n break;\r\n case \"en\":\r\n label = \"انگلیسی\";\r\n break;\r\n case \"ar\":\r\n label = \"عربی\";\r\n break;\r\n case \"tr\":\r\n label = \"ترکی\";\r\n break;\r\n default:\r\n break;\r\n }\r\n return label;\r\n};\r\n\r\nexport const spliteStringPerLine = (str: string) => str.split(/\\r?\\n|\\r|\\n/g);","import { isIOS, isTouchScreen, isTouchScreenLandscape, isTouchScreenPortrait, staticFormats } from \"../helpers\";\r\nimport { ConditionName } from \"../interfaces/enums\";\r\nimport store from \"../redux/store\";\r\n\r\nexport const conditions = (type: string) => {\r\n const {\r\n params,\r\n details,\r\n isValidAddress,\r\n isFetchDetails,\r\n isReady,\r\n subtitles,\r\n selectedSubtitle\r\n } = store.getState().videoData;\r\n const {\r\n firstPlay,\r\n lock,\r\n canPlayVideo,\r\n manualQuality,\r\n activeElements,\r\n isLoading,\r\n isEnded,\r\n isAutoPlay,\r\n play,\r\n isFullScreen,\r\n showMiniPlayer,\r\n } = store.getState().controller;\r\n const {\r\n settingPopover,\r\n speedPopover,\r\n qualityLevelsPopover\r\n } = store.getState().popovers;\r\n const { settings } = store.getState().user;\r\n\r\n switch (type) {\r\n case ConditionName.showHeader:\r\n return !firstPlay && canPlayVideo;\r\n case ConditionName.showMain:\r\n return !lock || firstPlay;\r\n case ConditionName.showFooter:\r\n return !firstPlay && canPlayVideo;\r\n case ConditionName.showTouchVolumeBrightness:\r\n return !firstPlay && isTouchScreenLandscape() && !lock && !isEnded;\r\n case ConditionName.showBackwardForward:\r\n return !firstPlay && isTouchScreen() && !lock;\r\n case ConditionName.showTitle:\r\n return !staticFormats(params.type!) && isFullScreen && !lock;\r\n case ConditionName.showSettingPopover:\r\n return settingPopover;\r\n case ConditionName.showSpeedPopover:\r\n return speedPopover;\r\n case ConditionName.showQualityLevelsPopover:\r\n return qualityLevelsPopover;\r\n case ConditionName.showSettingIcon:\r\n return !staticFormats(params.type!) && !isIOS() && !isFullScreen;\r\n case ConditionName.showBanner:\r\n return firstPlay && (details.banner || params.cover);\r\n case ConditionName.showProgressbar:\r\n return !isIOS();\r\n case ConditionName.showMiniPlayer:\r\n return showMiniPlayer;\r\n case ConditionName.showPictureInPicture:\r\n return showMiniPlayer !== true && !isIOS() && !isTouchScreen();\r\n case ConditionName.showSubtitle:\r\n return !!selectedSubtitle && !showMiniPlayer;\r\n case ConditionName.hidePopovers:\r\n return !settingPopover;\r\n case ConditionName.isLandscape:\r\n return window.innerHeight <= window.innerWidth;\r\n case ConditionName.isTouchScreen:\r\n return isTouchScreen();\r\n case ConditionName.isTouchScreenPortrait:\r\n return isTouchScreenPortrait();\r\n case ConditionName.isTouchScreenLandscape:\r\n return isTouchScreenLandscape();\r\n case ConditionName.isActiveElements:\r\n return activeElements;\r\n case ConditionName.isPlay:\r\n return play;\r\n case ConditionName.isFirstPlay:\r\n return firstPlay;\r\n case ConditionName.isLock:\r\n return lock;\r\n case ConditionName.isIOS:\r\n return isIOS();\r\n case ConditionName.isLoading:\r\n return isLoading;\r\n case ConditionName.isStaticFormat:\r\n return staticFormats(params.type!);\r\n case ConditionName.isEnded:\r\n return isEnded;\r\n case ConditionName.isAutoPlay:\r\n return isAutoPlay;\r\n case ConditionName.isFullScreen:\r\n return isFullScreen;\r\n case ConditionName.isValidAddress:\r\n return isValidAddress;\r\n case ConditionName.isFetchDetails:\r\n return isFetchDetails;\r\n case ConditionName.isAutoQuality:\r\n return settings.quality === -1;\r\n case ConditionName.isPressKeySpace:\r\n return !lock;\r\n case ConditionName.isPressKeyI:\r\n return !lock && !firstPlay && !showMiniPlayer;\r\n case ConditionName.isPressKeyF:\r\n return !lock && !firstPlay && !showMiniPlayer;\r\n case ConditionName.isPressKeyS:\r\n return !lock && !firstPlay;\r\n case ConditionName.isPressKeyArrowRight:\r\n return !firstPlay && !lock;\r\n case ConditionName.isPressKeyArrowLeft:\r\n return !firstPlay && !lock;\r\n case ConditionName.isPressKeyM:\r\n return !firstPlay && !lock;\r\n case ConditionName.isPressKeyC:\r\n return !lock && !firstPlay && !showMiniPlayer && !!subtitles && subtitles.length > 0;\r\n case ConditionName.isSendTimelineLog:\r\n return !staticFormats(params.type!);\r\n case ConditionName.isReady:\r\n return isReady;\r\n case ConditionName.isSelectedSubtitle:\r\n return !!subtitles && subtitles.length > 0 && selectedSubtitle;\r\n case ConditionName.hasTitle:\r\n return details.title;\r\n case ConditionName.hasBanner:\r\n return details.banner;\r\n case ConditionName.hasStreamLink:\r\n return details.stream_link;\r\n case ConditionName.hasManualQuality:\r\n return manualQuality !== undefined && manualQuality !== null;\r\n case ConditionName.hasSound:\r\n return !!settings.volume;\r\n case ConditionName.hasAutoPlay:\r\n return params.autoplay === \"true\";\r\n case ConditionName.hasFullScreenParams:\r\n return params.fullscreen === \"true\";\r\n case ConditionName.hasScrollElementId:\r\n return !!params.scrollElementId && showMiniPlayer !== undefined;\r\n case ConditionName.hasOnFinishedParams:\r\n return !!params.onFinished;\r\n case ConditionName.hasSubtitles:\r\n return !!subtitles && subtitles.length > 0 && !showMiniPlayer;\r\n case ConditionName.hasSubtitlesInDetails:\r\n return details.subtitles && details.subtitles.length > 0;\r\n case ConditionName.hasActiveCue:\r\n return selectedSubtitle && selectedSubtitle.activeCues && selectedSubtitle.activeCues.length > 0;\r\n case ConditionName.hasOnPlayParams:\r\n return !!params.onPlay;\r\n case ConditionName.hasOnPauseParams:\r\n return !!params.onPause;\r\n case ConditionName.hasPlayStatusParams:\r\n return params.playStatus !== undefined;\r\n case ConditionName.getDetails:\r\n return !!params.type && params.id;\r\n case ConditionName.canPlayVideo:\r\n return canPlayVideo;\r\n case ConditionName.setSubtitleFirstPlay:\r\n return details.subtitles && details.subtitles.length > 0 && !firstPlay && !staticFormats(params.type!);\r\n default:\r\n break;\r\n }\r\n};\r\n","import { AppDispatch, RootState } from \"./store\";\r\nimport { TypedUseSelectorHook, useDispatch, useSelector } from \"react-redux\";\r\n\r\nexport const useAppDispatch: any = () => useDispatch<AppDispatch>();\r\nexport const useAppSelector: TypedUseSelectorHook<RootState> = useSelector;\r\n","import store from \"./redux/store\";\r\n\r\nexport const videoTag = () => document.getElementById(\"player-tag\") as HTMLVideoElement;\r\nexport const progressBar = () => document.getElementById(\"time-progress-bar\") as any;\r\nexport const progressBarWidth = () => store.getState().videoData.videoElementSizeInfo.width - 2;","import { conditions } from \"../conditions/conditions\";\r\nimport { videoTag } from \"../constants\";\r\nimport { flattenObject, getUUID } from \"../helpers\";\r\nimport { ConditionName } from \"../interfaces/enums\";\r\nimport store from \"../redux/store\";\r\n\r\nexport const speedChangeLog = (selectedSpeed: Number) => {\r\n const { params, details } = store.getState().videoData;\r\n const { settings } = store.getState().user;\r\n return {\r\n category: \"speedChange\",\r\n previousSelectedSpeed: settings.speed,\r\n selectedSpeed: selectedSpeed,\r\n id: Number(params.id),\r\n type: params.type,\r\n src: conditions(ConditionName.hasStreamLink) ? details.stream_link : params.src,\r\n provider: params.provider\r\n };\r\n};\r\n\r\nexport const qualityChangeRequestLog = (selectedQuality: String) => {\r\n const { params, details } = store.getState().videoData;\r\n const { qualityLevels, manualQuality, autoQuality } = store.getState().controller;\r\n return {\r\n category: \"qualityChangeRequest\",\r\n currentPlayingQuality: `${qualityLevels[conditions(ConditionName.isAutoQuality) ? autoQuality ?? manualQuality! : manualQuality!]}P`,\r\n previousSelectedQuality: conditions(ConditionName.isAutoQuality) ? \"auto\" : `${qualityLevels[manualQuality!]}P`,\r\n selectedQuality: selectedQuality,\r\n id: Number(params.id),\r\n type: params.type,\r\n src: conditions(ConditionName.hasStreamLink) ? details.stream_link : params.src,\r\n provider: params.provider\r\n };\r\n};\r\n\r\nexport const catchUpLoadingLog = (duration: number) => {\r\n const { params, details } = store.getState().videoData;\r\n const { qualityLevels, autoQuality } = store.getState().controller;\r\n const { settings } = store.getState().user;\r\n\r\n return {\r\n category: \"catchUpLoading\",\r\n previousVideoTime: Number(sessionStorage.getItem(\"previousVideoTime\")),\r\n currentVideoTime: videoTag().currentTime,\r\n duration: duration,\r\n quality: `${conditions(ConditionName.isAutoQuality) ? qualityLevels[autoQuality!] : qualityLevels[settings.quality]}P`,\r\n isAutoQuality: conditions(ConditionName.isAutoQuality),\r\n id: Number(params.id),\r\n type: params.type,\r\n src: conditions(ConditionName.hasStreamLink) ? details.stream_link : params.src,\r\n provider: params.provider\r\n };\r\n};\r\n\r\nexport const backwardForwardLog = (type: string) => {\r\n const { params, details } = store.getState().videoData;\r\n return {\r\n category: type === \"backward\" ? \"backward\" : \"forward\",\r\n id: Number(params.id),\r\n type: params.type,\r\n src: details.stream_link ? details.stream_link : params.src,\r\n provider: params.provider\r\n };\r\n};\r\n\r\nexport const fullscreenLog = (category: string) => {\r\n const { params, details } = store.getState().videoData;\r\n return {\r\n category: category,\r\n id: Number(params.id),\r\n type: params.type,\r\n src: conditions(ConditionName.hasStreamLink) ? details.stream_link : params.src\r\n };\r\n};\r\n\r\nexport const brightnessLog = (source: number, target: number) => {\r\n const { params, details } = store.getState().videoData;\r\n return {\r\n category: \"brightnessChange\",\r\n source: source,\r\n target: target,\r\n id: Number(params.id),\r\n type: params.type,\r\n src: conditions(ConditionName.hasStreamLink) ? details.stream_link : params.src\r\n };\r\n};\r\n\r\nexport const volumeLog = (source: number, target: number) => {\r\n const { params, details } = store.getState().videoData;\r\n return {\r\n category: \"volumeChange\",\r\n source: source,\r\n target: target,\r\n id: Number(params.id),\r\n type: params.type,\r\n src: conditions(ConditionName.hasStreamLink) ? details.stream_link : params.src\r\n };\r\n};\r\n\r\nexport const lockLog = (category: string) => {\r\n const { params, details } = store.getState().videoData;\r\n return {\r\n category: category,\r\n id: Number(params.id),\r\n type: params.type,\r\n src: conditions(ConditionName.hasStreamLink) ? details.stream_link : params.src\r\n };\r\n};\r\n\r\nexport const ExceptionsLog = (type: string, message: string) => {\r\n return {\r\n category: \"error\",\r\n type: type,\r\n message: message\r\n };\r\n};\r\n\r\nexport const videoTimelineLog = (start: number, end: number) => {\r\n const { params, details } = store.getState().videoData;\r\n const { duration } = store.getState().controller;\r\n return {\r\n category: \"video-timeline\",\r\n video_id: +params.id!,\r\n video_type: params.type,\r\n start: start,\r\n end: end,\r\n watchedDuration: end - start,\r\n video_duration: Math.floor(duration),\r\n clientUUID: getUUID(),\r\n user_id: details.user_id,\r\n content_type: details.content_type,\r\n content_id: details.content_id\r\n };\r\n};\r\n\r\nexport const autoQualityChangeLog = (sourceQuality: String, targetQuality: String, diffQuality: number) => {\r\n const { params, details } = store.getState().videoData;\r\n return {\r\n category: \"autoQualityChange\",\r\n sourceQuality: sourceQuality,\r\n targetQuality: targetQuality,\r\n diffQuality: diffQuality,\r\n id: Number(params.id),\r\n type: params.type,\r\n src: conditions(ConditionName.hasStreamLink) ? details.stream_link : params.src,\r\n provider: params.provider\r\n };\r\n};\r\n\r\nexport const pingpongLog = (startTimer: number, qualityHistory: number[]) => {\r\n const { params, details } = store.getState().videoData;\r\n return {\r\n category: \"pingpong\",\r\n id: Number(params.id),\r\n type: params.type,\r\n src: conditions(ConditionName.hasStreamLink) ? details.stream_link : params.src,\r\n PingPongDuration: Number((new Date().getTime() - startTimer).toFixed(2)),\r\n PingPongSourceQuality: `${qualityHistory[0]}P`, // A A->B && B->A\r\n PingPongTargetQuality: `${qualityHistory[1]}P`, // B,\r\n provider: params.provider\r\n };\r\n};\r\n\r\nexport const pausePlayLog = (isPlay: boolean) => {\r\n const { params, details } = store.getState().videoData;\r\n return {\r\n category: isPlay ? \"playVideo\" : \"pauseVideo\",\r\n id: Number(params.id),\r\n type: params.type,\r\n src: details.stream_link ? details.stream_link : params.src,\r\n provider: params.provider\r\n };\r\n};\r\n\r\nexport const initLog = (loadingTime: number, waitingTime: number, bannerLoadingTime: number, firstChunkPlayingTime: number, timerRef: any) => {\r\n const { params, details } = store.getState().videoData;\r\n const totalTime = Date.now() - timerRef.current + loadingTime + waitingTime;\r\n const memory = (window.performance as any).memory;\r\n const timing = JSON.parse(JSON.stringify((window.performance as any).timing));\r\n return {\r\n category: \"initLog\",\r\n id: Number(params.id),\r\n type: params.type,\r\n origin: new URL(conditions(ConditionName.hasStreamLink) ? details.stream_link : params.src!).origin,\r\n src: conditions(ConditionName.hasStreamLink) ? details.stream_link : params.src,\r\n loading: loadingTime,\r\n bannerLoading: !conditions(ConditionName.hasBanner) || bannerLoadingTime < 0 ? 0 : bannerLoadingTime,\r\n waiting: waitingTime,\r\n firstChunkPlaying: firstChunkPlayingTime < 0 ? 0 : firstChunkPlayingTime,\r\n totalTime: totalTime,\r\n provider: params.provider,\r\n performance: flattenObject({ memory, timing }, \"performance\"),\r\n userAgent: window.navigator.userAgent\r\n };\r\n};\r\n\r\nexport const loadingLog = (waitingDuration: number, qualityLevel: number, timerRef: any, loadingCounterRef: any, videoEntranceTime: number) => {\r\n const { params, details } = store.getState().videoData;\r\n const { settings } = store.getState().user;\r\n const previousLoaderDiff = Date.now() - timerRef.current;\r\n return {\r\n category: \"loading\",\r\n id: Number(params.id),\r\n type: params.type,\r\n src: conditions(ConditionName.hasStreamLink) ? details.stream_link : params.src,\r\n duration: waitingDuration,\r\n quality: `${qualityLevel}P`,\r\n isAutoQuality: conditions(ConditionName.isAutoQuality),\r\n previousLoaderDiff: previousLoaderDiff,\r\n counter: loadingCounterRef.current,\r\n loadingPercentile: Number((waitingDuration / previousLoaderDiff).toFixed(2)),\r\n videoTime: videoTag().currentTime,\r\n videoEntranceTime: videoEntranceTime,\r\n speed: settings.speed,\r\n provider: params.provider\r\n };\r\n};\r\n\r\nexport const subtitleLog = (language: string) => {\r\n const { params, details } = store.getState().videoData;\r\n return {\r\n category: \"subtitle\",\r\n language: language,\r\n id: Number(params.id),\r\n type: params.type,\r\n src: conditions(ConditionName.hasStreamLink) ? details.stream_link : params.src\r\n };\r\n};","import store from \"../redux/store\";\r\nimport { apiCaller } from \"../services/apiCaller\";\r\nimport { API } from \"../services/services\";\r\nimport { getUUID } from \"../helpers\";\r\n\r\nexport const sendFluentLog = (data: any) => {\r\n const { details } = store.getState().videoData;\r\n let _data = {\r\n ...data,\r\n timestamp: Date.now(),\r\n clientUUID: getUUID(),\r\n uuid: getUUID(),\r\n link: window.location.href,\r\n user_id: details.user_id,\r\n live_id: null,\r\n format: undefined,\r\n content_type: details.content_type,\r\n content_id: details.content_id\r\n };\r\n apiCaller({ url: API().logs, method: \"post\", data: _data });\r\n};\r\n","import axios from \"axios\";\r\nimport { IApiCaller, IAxiosConfig } from \"../interfaces/interfaces\";\r\nimport store from \"../redux/store\";\r\nimport { wait } from \"../helpers\";\r\n\r\nexport const apiCaller: any = async ({\r\n url,\r\n method = \"GET\",\r\n data,\r\n headers,\r\n retryCount = 1,\r\n maxRetryCount = 0,\r\n errorMessage,\r\n retryPolicy,\r\n errorCallback,\r\n timeoutCount\r\n}: IApiCaller) => {\r\n let axiosConfig: IAxiosConfig = {\r\n url: url,\r\n method: method,\r\n headers: {\r\n ...headers,\r\n \"Content-Type\": \"application/json\"\r\n },\r\n timeout: timeoutCount ? timeoutCount * 1000 : undefined\r\n };\r\n if (data) {\r\n if (method === \"GET\")\r\n axiosConfig = {\r\n ...axiosConfig,\r\n params: {\r\n uuid: store.getState().videoData.params.uuid,\r\n provider: store.getState().videoData.params.provider === \"unknown\" ? undefined : store.getState().videoData.params.provider,\r\n ...data\r\n }\r\n };\r\n else\r\n axiosConfig = {\r\n ...axiosConfig,\r\n data: {\r\n uuid: store.getState().videoData.params.uuid,\r\n provider: store.getState().videoData.params.provider === \"unknown\" ? undefined : store.getState().videoData.params.provider,\r\n ...data\r\n }\r\n };\r\n } else {\r\n if (method === \"GET\")\r\n axiosConfig = {\r\n ...axiosConfig,\r\n params: {\r\n uuid: store.getState().videoData.params.uuid,\r\n provider: store.getState().videoData.params.provider === \"unknown\" ? undefined : store.getState().videoData.params.provider\r\n }\r\n };\r\n else\r\n axiosConfig = {\r\n ...axiosConfig,\r\n data: {\r\n uuid: store.getState().videoData.params.uuid,\r\n provider: store.getState().videoData.params.provider === \"unknown\" ? undefined : store.getState().videoData.params.provider\r\n }\r\n };\r\n }\r\n try {\r\n return await axios(axiosConfig);\r\n } catch (error: any) {\r\n if (error && error.response && error.response.status === 401) {\r\n // \r\n } else {\r\n if (errorCallback) errorCallback(error.response.status, error.response.message);\r\n let newRetryDelay = 0,\r\n newMaxRetryCount = 0;\r\n if (retryPolicy !== undefined) {\r\n for (let i = 0; i < retryPolicy.length; i++) {\r\n if (\r\n (((retryPolicy[i].codeAbove && error.response.status >= retryPolicy[i].codeAbove!) ||\r\n (retryPolicy[i].codeBelow && error.response.status <= retryPolicy[i].codeBelow!)) &&\r\n (retryPolicy[i].excludeCodes.length === 0 || !retryPolicy[i].excludeCodes.includes(error.response.status))) ||\r\n retryPolicy[i].includeCodes.length === 0 ||\r\n retryPolicy[i].includeCodes.includes(error.response.status)\r\n ) {\r\n newMaxRetryCount = retryPolicy[i].count;\r\n newRetryDelay = retryPolicy[i].delay;\r\n break;\r\n }\r\n }\r\n } else {\r\n newMaxRetryCount = maxRetryCount;\r\n newRetryDelay = retryCount + 1;\r\n }\r\n if (retryCount < newMaxRetryCount) {\r\n await wait(newRetryDelay);\r\n return apiCaller({\r\n url,\r\n method,\r\n data,\r\n headers,\r\n retryCount: retryCount + 1,\r\n newMaxRetryCount,\r\n errorMessage,\r\n retryPolicy,\r\n errorCallback\r\n });\r\n } else if (error.response)\r\n return {\r\n data: error.response.data ? error.response.data : { detail: \"عملیات با خطا مواجه شده است.\" },\r\n status: error.response.status\r\n };\r\n }\r\n }\r\n};\r\n","import {\r\n getFluentdUrl,\r\n getRestApiLiveUrl,\r\n} from \"./baseUrl\";\r\n\r\nexport const API = () => {\r\n return {\r\n vod: {\r\n getVodUrl: `${getRestApiLiveUrl()}/v1/live/details/vod/`,\r\n },\r\n viewCount: (content_id: number) => `${getRestApiLiveUrl()}/v1/viewed/content/${content_id}`,\r\n videoTimelineLog: `${getFluentdUrl()}/video-timeline.log`,\r\n logs: `${getFluentdUrl()}/drive-endpoint.log`,\r\n };\r\n};","const envs = require(\"../configs/nextConfigs/next.config.js\");\r\nconst isNpmPackage = require(\"../configs/npmPackage/npmPackage\");\r\n\r\nexport const getRestApiLiveUrl = () => (isNpmPackage ? envs.baseUrl : (process.env.baseUrl as string)) + \"/live/api\";\r\nexport const getFluentdUrl = () => (isNpmPackage ? envs.fluentdUrl : (process.env.fluentdUrl as string));\r\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { e as e$1, g as g$1 } from './chunk-PEF62RSW.mjs';
|
|
2
|
+
import { J, I, V, d, Z, aa, i, g, a, c, x, ua, qa, A, ra, j as j$1, sa, n, b, z, p, f, F, h, e as e$2, m, G as G$1 } from './chunk-YZ2YUV52.mjs';
|
|
3
|
+
import { e } from './chunk-DBPGS72Q.mjs';
|
|
4
|
+
|
|
5
|
+
e();var H=()=>{let t=I.dispatch,{params:e}=I.getState().videoData,a=n=>{n.requestFullScreen?n.requestFullScreen():n.mozRequestFullScreen?n.mozRequestFullScreen():n.webkitRequestFullScreen&&n.webkitRequestFullScreen();};t(F()),a(document.documentElement),t(h(e.fullscreen==="true"));},ue=()=>{let t=".ts",e=XMLHttpRequest.prototype.open;XMLHttpRequest.prototype.open=function(){arguments[1].endsWith(t)&&(arguments[1]=arguments[1]+"?uuid="+J()),e.apply(this,arguments);};},$=(t,e)=>{let a=I.dispatch;e.current=setInterval(()=>{let s=t.target.buffered.end(0)/aa().duration*100;a(i(s));},500);},ye=()=>{let{params:t,streamLinkParams:e}=I.getState().videoData;return {xhrSetup:(a,n)=>{n.split("m3u8")[1]||(n=`${n}${e}`),a.open("GET",n,!0);},startLevel:-1,debug:!1,enableWorker:!0,abrBandWidthUpFactor:.7,abrBandWidthFactor:.95,backBufferLength:1/0,maxBufferLength:30,maxMaxBufferLength:60,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}}}}},G=(t,e)=>{let a=I.dispatch,n=[],s=[];t.levels.map(o=>{n.push(o.attrs.RESOLUTION.split("x")[1].trim()),s.push(o.attrs.RESOLUTION);}),t.autoLevelCapping=V(s,window.innerWidth,window.innerHeight),a(d(n)),["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","msfullscreenchange"].forEach(o=>document.addEventListener(o,c=>{Z("isAutoQuality")&&(t.autoLevelCapping=V(s,window.innerWidth,window.innerHeight),t.nextLevel=-1);},!1));},pe=(t,e)=>{let{params:a,details:n}=I.getState().videoData,s=n.stream_link;e.loadSource(s),e.on(t.Events.MANIFEST_PARSED,(o,c)=>G(e));},j=(t,e,a)=>{if(e.frag.type!=="audio"){let n=I.dispatch,{settings:s}=I.getState().user,{qualityLevels:o,manualQuality:c,autoQuality:h}=I.getState().controller;Z("isAutoQuality")?Z("isAutoQuality")&&h===void 0?(t.nextLevel=-1,a(o[e.frag.level]),n(e$2(e.frag.level))):Z("isAutoQuality")&&(a(o[e.frag.level]),h!==e.frag.level&&n(e$2(e.frag.level))):(e.frag.level!==c&&(t.nextLevel=o[s.quality]?s.quality:-1),o[s.quality]?(n(m(s.quality)),n(e$2(void 0))):(a(o[e.frag.level]),n(e$2(e.frag.level)),n(G$1({...s,quality:-1}))));}},fe=t=>{let e=I.dispatch,n=t.mainForwardBufferInfo?.end/aa().duration*100;e(i(n));},he=(t,e,a)=>{let{params:n}=I.getState().videoData;n.type&&j(t,e,a);},me=(t,e,a)=>{let{type:n}=I.getState().videoData.params;n&&j(t,e,a);},ge=(t,e)=>{if(e.event!=="hlsAudioTrackLoading")return {type:"HLS_"+e.type,message:e.error.message}},xe=(t,e)=>{let a=I.dispatch;t.preventDefault(),e.current=Date.now(),a(g(!0));},Se=(t,e)=>{let a=I.dispatch;t.preventDefault(),e.current=0,a(g(!0));},ve=(t,e)=>{let a$1=I.dispatch,{videoSettings:n}=I.getState().user,{params:s}=I.getState().videoData;t.preventDefault(),e.current=Date.now(),a$1(a(!0)),Z("isFirstPlay")&&(aa().currentTime=n.time,a$1(c(n.time)),Z("hasFullScreenParams")&&H(),Z("isFullScreen")&&e$1(),a$1(x([Math.floor(aa().currentTime)]))),ua(qa(!0)),a$1(A("")),Z("hasOnPlayParams")&&s.onPlay();},De=(t,e,a,n,s,o,c,h)=>{let z=I.dispatch,{autoQuality:q,canPlayVideo:_,firstPlay:X,qualityLevels:R}=I.getState().controller,{settings:I$1}=I.getState().user,E=I$1.quality===-1&&q?R[q]:R[I$1.quality],m=0;c.current&&(m=Date.now()-c.current),X&&aa().played&&ua(ra(e.current,Date.now()-a.current,n.current-a.current,Date.now()-s.current,s)),z(j$1(!1)),_&&m>0&&E!==void 0&&(o.current=m,c.current=0,ua(sa(m,E,s,t,h.current)),t.current=t.current+1,s.current=Date.now());},Pe=t=>{let e=I.dispatch,{params:a$1}=I.getState().videoData;t.preventDefault(),ua(qa(!1)),e(a(!1)),Z("hasOnPlayParams")&&a$1.onPause();},Te=t=>{let e=I.dispatch,{selectedSubtitle:a}=I.getState().videoData;t.preventDefault(),e(c(t.target.currentTime)),Z("hasActiveCue")&&e(A(a.activeCues[0].text));},Le=t=>{let e=I.dispatch,{settings:a}=I.getState().user;if(t.preventDefault(),e(g(!1)),e(n(!0)),aa().volume=a.volume/100,e(b(t.target.duration)),Z("isIOS")){let n=Object.values(t.target.textTracks);n&&n.length&&e(z(Object.values(n[0]).length?n:[]));}else e(z(Object.values(t.target.textTracks)));},Fe=t=>{let e=I.dispatch,{params:a}=I.getState().videoData;t.preventDefault(),e(p(!0)),e(f(!0)),g$1(aa().duration),Z("hasOnFinishedParams")&&a.onFinished();},Me=(t,e)=>{let a=I.dispatch;t.preventDefault(),e.current=Date.now(),a(j$1(!1));},Ve=()=>{let t=I.dispatch;t(g(!1));},be=t=>{let e=I.dispatch;t.preventDefault(),e(c(t.target.currentTime));},we=()=>{let t=I.dispatch,{params:e}=I.getState().videoData;t(p(!0)),t(f(!0)),Z("hasOnFinishedParams")&&e.onFinished();},qe=t=>{let e=I.dispatch;t.preventDefault(),e(a(!1));},Re=(t,e)=>{let a$1=I.dispatch;t.preventDefault(),a$1(a(!0)),e.current=Date.now(),Z("isFirstPlay")&&Z("hasFullScreenParams")&&H(),Z("isFullScreen")&&e$1();},Ie=(t,e,a)=>{let n=I.dispatch,{firstPlay:s}=I.getState().controller;n(g(!1)),s&&aa().played&&ua(ra(Math.round(t.current),Date.now()-e.current,0,Date.now()-a.current,a)),n(j$1(!1));},Ee=t=>{let e=I.dispatch;t.preventDefault(),e(c(t.target.currentTime)),e(b(t.target.duration));},Oe=t=>{let e=I.dispatch;t.preventDefault(),e(g(!1)),e(n(!0));},ke=(t,e)=>{t.preventDefault(),$(t,e);};var Ae=t=>{g$1(aa().currentTime);};
|
|
6
|
+
|
|
7
|
+
export { Ae as A, ue as a, ye as b, G as c, pe as d, fe as e, he as f, me as g, ge as h, xe as i, Se as j, ve as k, De as l, Pe as m, Te as n, Le as o, Fe as p, Me as q, Ve as r, be as s, we as t, qe as u, Re as v, Ie as w, Ee as x, Oe as y, ke as z };
|
|
8
|
+
//# sourceMappingURL=out.js.map
|
|
9
|
+
//# sourceMappingURL=chunk-CWMVHGXS.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/videoPlayerLibrary/helpers/redux/actions/playerCore.actions.ts"],"names":["init_esm_shims","handleAutoFullScreen","dispatch","store_default","params","launchFullScreen","element","setClearPopoversSlice","setIsFullScreen","appendQueryParamsToChunksIOS","fragmentExtension","originalOpen","getUUID","handleBufferedTime","event","intervalRef","bufferedTimeWidth","videoTag","setBufferedTimeWidth","handleHlsConfig","streamLinkParams","xhr","url","handleManifestParsed","hls","data","qualityLevels","resolutions","level","highestResolutionSupported","setQualityLevels","eventType","conditions","handleMediaAttached","Hls","details","streamLink","handleLevels","setQualityLevel","settings","manualQuality","autoQuality","setAutoQuality","setManualQuality","setUserSettings","handleFragBuffered","handleFragChanged","handleFragParsed","type","handleHlsErrors","handleVideoWaiting","waitingTimerRef","setIsLoading","handleVideoSeeking","handleVideoPlay","timerRef","videoSettings","setPlay","setCurrentTime","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","setIsEnded","setActiveElements","handleVideoTimeline","handleIosVideoPlay","handleIosVideoPlaying","handleIosVideoTimeUpdate","handleIosVideoEnded","handleStaticVideoPause","handleStaticVideoPlay","handleStaticVideoPlaying","handleStaticVideoTimeUpdate","handleStaticVideoCanPlay","handleStaticVideoLoadedData","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 setIsEnded,\r\n setIsFullScreen,\r\n setIsLoading,\r\n setManualQuality,\r\n setPlay,\r\n setQualityLevels\r\n} from \"../slices/controllerSlice\";\r\nimport { setClearPopoversSlice } from \"../slices/popoversSlice\";\r\nimport { setUserSettings } from \"../slices/userSlice\";\r\nimport {\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\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: -1,\r\n debug: false,\r\n enableWorker: true,\r\n abrBandWidthUpFactor: 0.7,\r\n abrBandWidthFactor: 0.95,\r\n backBufferLength: Infinity,\r\n maxBufferLength: 30,\r\n maxMaxBufferLength: 60,\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\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 resolutions: any[] = [];\r\n hls.levels.map((level: any) => {\r\n qualityLevels.push(level.attrs.RESOLUTION!.split(\"x\")[1].trim());\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 [\"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};\r\n\r\nexport const handleMediaAttached = (Hls: any, hls: any) => {\r\n const { params, details } = store.getState().videoData;\r\n let streamLink = 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};\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 handleFragChanged = (hls: any, data: any, setQualityLevel: any) => {\r\n const { params } = store.getState().videoData;\r\n\r\n if (params.type) 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) 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\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 { videoSettings } = store.getState().user;\r\n const { params } = store.getState().videoData;\r\n event.preventDefault();\r\n timerRef.current = Date.now();\r\n dispatch(setPlay(true));\r\n if (conditions(ConditionName.isFirstPlay)) {\r\n videoTag().currentTime = videoSettings.time;\r\n dispatch(setCurrentTime(videoSettings.time));\r\n if (conditions(ConditionName.hasFullScreenParams)) handleAutoFullScreen();\r\n if (conditions(ConditionName.isFullScreen)) handleLockOrientation();\r\n dispatch(setVideoTimelines([Math.floor(videoTag().currentTime)]));\r\n }\r\n sendFluentLog(pausePlayLog(true));\r\n dispatch(setSubtitleText(\"\"));\r\n if(conditions(ConditionName.hasOnPlayParams)) params.onPlay!();\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 const { params } = store.getState().videoData;\r\n event.preventDefault();\r\n sendFluentLog(pausePlayLog(false));\r\n dispatch(setPlay(false));\r\n if(conditions(ConditionName.hasOnPlayParams)) params.onPause!();\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 dispatch(setCurrentTime(event.target.currentTime));\r\n if (conditions(ConditionName.hasActiveCue)) dispatch(setSubtitleText((selectedSubtitle!.activeCues![0] as any).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 dispatch(setDuration(event.target.duration));\r\n if (conditions(ConditionName.isIOS)) {\r\n const subtitle: TextTrack[] = 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(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};\r\n\r\nexport const handleIosVideoEnded = () => {\r\n const dispatch = store.dispatch;\r\n const { params } = store.getState().videoData;\r\n dispatch(setIsEnded(true));\r\n dispatch(setActiveElements(true));\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\nexport const handleVideoVisibilityChange = (hls: any) => {\r\n handleVideoTimeline(videoTag().currentTime);\r\n};\r\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { I, aa, H } from './chunk-YZ2YUV52.mjs';
|
|
2
|
+
import { e } from './chunk-DBPGS72Q.mjs';
|
|
3
|
+
|
|
4
|
+
e();var f=()=>{let{params:r}=I.getState().videoData,t=aa().currentTime;if(t!==0){let d=aa().duration,i={video_id:+r.id,video_type:2,time:t===d?0:Math.floor(aa().currentTime)},o=localStorage.getItem("viewedVideos");if(o){let e=JSON.parse(o);e=e.filter(n=>n.video_id!==i.video_id||n.video_type!==i.video_type),e.length<10||e.shift(),e.push(i),localStorage.setItem("viewedVideos",JSON.stringify(e));}else localStorage.setItem("viewedVideos",JSON.stringify([i]));}},g=()=>{let r=I.dispatch,{params:t}=I.getState().videoData,d=localStorage.getItem("viewedVideos");if(d){let o=JSON.parse(d).find(e=>e.video_id===Number(t.id)&&e.video_type===2);o&&r(H({time:o.time}));}};
|
|
5
|
+
|
|
6
|
+
export { f as a, g as b };
|
|
7
|
+
//# sourceMappingURL=out.js.map
|
|
8
|
+
//# sourceMappingURL=chunk-CY73TBOJ.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/videoPlayerLibrary/helpers/redux/actions/user.actions.ts"],"names":["init_esm_shims","handleContinuousPlayback","params","store_default","currentTime","videoTag","duration","viewedVideo","viewedVideosInLocalStorage","viewedVideos","video","handleApplyContinuousPlayback","dispatch","setVideoSettings"],"mappings":"iGAAAA,IAKO,IAAMC,EAA2B,IAAM,CAC1C,GAAM,CAAE,OAAAC,CAAO,EAAIC,EAAM,SAAS,EAAE,UAC9BC,EAAcC,EAAS,EAAE,YAC/B,GAAID,IAAgB,EAAG,CACnB,IAAME,EAAWD,EAAS,EAAE,SACtBE,EAA4B,CAC9B,SAAU,CAACL,EAAO,GAClB,WAAY,EACZ,KAAME,IAAgBE,EAAW,EAAI,KAAK,MAAMD,EAAS,EAAE,WAAW,CAC1E,EACIG,EAA6B,aAAa,QAAQ,cAAc,EACpE,GAAIA,EAA4B,CAC5B,IAAIC,EAA+B,KAAK,MAAMD,CAA0B,EACxEC,EAAeA,EAAa,OACvBC,GAAwBA,EAAM,WAAaH,EAAY,UAAYG,EAAM,aAAeH,EAAY,UACzG,EACIE,EAAa,OAAS,IAEtBA,EAAa,MAAM,EACnBA,EAAa,KAAKF,CAAW,EAEjC,aAAa,QAAQ,eAAgB,KAAK,UAAUE,CAAY,CAAC,CACrE,MAAO,aAAa,QAAQ,eAAgB,KAAK,UAAU,CAACF,CAAW,CAAC,CAAC,CAC7E,CACJ,EAEaI,EAAgC,IAAM,CAC/C,IAAMC,EAAWT,EAAM,SACjB,CAAE,OAAAD,CAAO,EAAIC,EAAM,SAAS,EAAE,UAChCK,EAA6B,aAAa,QAAQ,cAAc,EACpE,GAAIA,EAA4B,CAE5B,IAAMD,EAD+B,KAAK,MAAMC,CAA0B,EACzC,KAC5BE,GAAwBA,EAAM,WAAa,OAAOR,EAAO,EAAE,GAAKQ,EAAM,aAAe,CAC1F,EAEIH,GAAaK,EAASC,EAAiB,CAAE,KAAMN,EAAY,IAAK,CAAC,CAAC,CAC1E,CACJ","sourcesContent":["import { IViewedVideo } from \"../../interfaces/interfaces\";\r\nimport store from \"../store\";\r\nimport { videoTag } from \"../../constants\";\r\nimport { setVideoSettings } from \"../slices/userSlice\";\r\n\r\nexport const handleContinuousPlayback = () => {\r\n const { params } = store.getState().videoData;\r\n const currentTime = videoTag().currentTime;\r\n if (currentTime !== 0) {\r\n const duration = videoTag().duration;\r\n const viewedVideo: IViewedVideo = {\r\n video_id: +params.id!,\r\n video_type: 2,\r\n time: currentTime === duration ? 0 : Math.floor(videoTag().currentTime),\r\n };\r\n let viewedVideosInLocalStorage = localStorage.getItem(\"viewedVideos\");\r\n if (viewedVideosInLocalStorage) {\r\n let viewedVideos: IViewedVideo[] = JSON.parse(viewedVideosInLocalStorage);\r\n viewedVideos = viewedVideos.filter(\r\n (video: IViewedVideo) => video.video_id !== viewedVideo.video_id || video.video_type !== viewedVideo.video_type\r\n );\r\n if (viewedVideos.length < 10) viewedVideos.push(viewedVideo);\r\n else {\r\n viewedVideos.shift();\r\n viewedVideos.push(viewedVideo);\r\n }\r\n localStorage.setItem(\"viewedVideos\", JSON.stringify(viewedVideos));\r\n } else localStorage.setItem(\"viewedVideos\", JSON.stringify([viewedVideo]));\r\n }\r\n};\r\n\r\nexport const handleApplyContinuousPlayback = () => {\r\n const dispatch = store.dispatch;\r\n const { params } = store.getState().videoData;\r\n let viewedVideosInLocalStorage = localStorage.getItem(\"viewedVideos\");\r\n if (viewedVideosInLocalStorage) {\r\n const viewedVideos: IViewedVideo[] = JSON.parse(viewedVideosInLocalStorage);\r\n const viewedVideo = viewedVideos.find(\r\n (video: IViewedVideo) => video.video_id === Number(params.id) && video.video_type === 2\r\n );\r\n\r\n if (viewedVideo) dispatch(setVideoSettings({ time: viewedVideo.time }));\r\n }\r\n};\r\n\r\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
var r=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var c=(e,t)=>()=>(e&&(t=e(e=0)),t);var s=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),_=(e,t)=>{for(var m in t)r(e,m,{get:t[m],enumerable:!0});},f=(e,t,m,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of a(t))!p.call(e,o)&&o!==m&&r(e,o,{get:()=>t[o],enumerable:!(i=n(t,o))||i.enumerable});return e};var d=e=>f(r({},"__esModule",{value:!0}),e);var l=c(()=>{});
|
|
2
|
+
|
|
3
|
+
export { c as a, s as b, _ as c, d, l as e };
|
|
4
|
+
//# sourceMappingURL=out.js.map
|
|
5
|
+
//# sourceMappingURL=chunk-DBPGS72Q.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../node_modules/tsup/assets/esm_shims.js"],"names":["init_esm_shims","__esmMin"],"mappings":"yfAAA,IAAAA,EAAAC,EAAA","sourcesContent":["// Shim globals in esm bundle\nimport { fileURLToPath } from 'url'\nimport path from 'path'\n\nconst getFilename = () => fileURLToPath(import.meta.url)\nconst getDirname = () => path.dirname(getFilename())\n\nexport const __dirname = /* @__PURE__ */ getDirname()\nexport const __filename = /* @__PURE__ */ getFilename()\n"]}
|