cafe-video-player 2.1.2 → 2.2.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/{VideoHighLighter-J244P4R6.mjs → VideoHighLighter-U4GGV66X.mjs} +2 -2
- package/{VideoHighLighter-J244P4R6.mjs.map → VideoHighLighter-U4GGV66X.mjs.map} +1 -1
- package/{VideoHighLighter-KS4OF7LU.js → VideoHighLighter-ZAC6DXOM.js} +2 -2
- package/{VideoHighLighter-KS4OF7LU.js.map → VideoHighLighter-ZAC6DXOM.js.map} +1 -1
- package/backwardForward-BVIUUMYX.js +2 -0
- package/{backwardForward-T5I2BG67.js.map → backwardForward-BVIUUMYX.js.map} +1 -1
- package/backwardForward-Y5UZHDBP.mjs +2 -0
- package/{backwardForward-ZA22U5BK.mjs.map → backwardForward-Y5UZHDBP.mjs.map} +1 -1
- package/chunk-5FTEBU6O.js +3 -0
- package/{chunk-CXFHM7DX.js.map → chunk-5FTEBU6O.js.map} +1 -1
- package/{chunk-TTR6HY3N.js → chunk-7GSH5XMZ.js} +2 -2
- package/{chunk-TTR6HY3N.js.map → chunk-7GSH5XMZ.js.map} +1 -1
- package/{chunk-4SCALKDT.mjs → chunk-A7MEJC4F.mjs} +2 -2
- package/{chunk-4SCALKDT.mjs.map → chunk-A7MEJC4F.mjs.map} +1 -1
- package/chunk-BOS4UPEA.js +2 -0
- package/{chunk-IQGFJNGO.js.map → chunk-BOS4UPEA.js.map} +1 -1
- package/chunk-C4TEAPRX.js +9 -0
- package/chunk-C4TEAPRX.js.map +1 -0
- package/chunk-D7CTAABP.js +2 -0
- package/{chunk-AZTVBGMR.js.map → chunk-D7CTAABP.js.map} +1 -1
- package/chunk-EDQKSY4F.js +3 -0
- package/{chunk-FSNZMZHV.js.map → chunk-EDQKSY4F.js.map} +1 -1
- package/chunk-HME64W2O.js +3 -0
- package/chunk-HME64W2O.js.map +1 -0
- package/chunk-IGINC4KI.js +2 -0
- package/chunk-IGINC4KI.js.map +1 -0
- package/chunk-J6UYAT2V.mjs +2 -0
- package/chunk-J6UYAT2V.mjs.map +1 -0
- package/chunk-KIC75NSX.mjs +2 -0
- package/{chunk-TRTBWCNM.mjs.map → chunk-KIC75NSX.mjs.map} +1 -1
- package/chunk-MW3CX523.mjs +9 -0
- package/chunk-MW3CX523.mjs.map +1 -0
- package/{chunk-YYDUT7ZK.mjs → chunk-MZP43FH7.mjs} +2 -2
- package/{chunk-YYDUT7ZK.mjs.map → chunk-MZP43FH7.mjs.map} +1 -1
- package/chunk-O6OWG7HM.mjs +2 -0
- package/{chunk-PMXQ6WK2.mjs.map → chunk-O6OWG7HM.mjs.map} +1 -1
- package/chunk-PJVN7RKN.mjs +2 -0
- package/{chunk-IROHCKSH.mjs.map → chunk-PJVN7RKN.mjs.map} +1 -1
- package/chunk-TDHILUXF.js +2 -0
- package/{chunk-SRJT46V7.js.map → chunk-TDHILUXF.js.map} +1 -1
- package/chunk-TM66GJCG.mjs +3 -0
- package/{chunk-XNVWDQSS.mjs.map → chunk-TM66GJCG.mjs.map} +1 -1
- package/chunk-VIQ5L73J.js +2 -0
- package/{chunk-IT4ECGGR.js.map → chunk-VIQ5L73J.js.map} +1 -1
- package/chunk-VIUNI5PQ.mjs +3 -0
- package/{chunk-OJ4PZQN5.mjs.map → chunk-VIUNI5PQ.mjs.map} +1 -1
- package/chunk-YZYTKWCY.mjs +3 -0
- package/chunk-YZYTKWCY.mjs.map +1 -0
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/index.mjs +1 -1
- package/index.mjs.map +1 -1
- package/nonStaticVideoTag-C2LVXINP.mjs +2 -0
- package/nonStaticVideoTag-C2LVXINP.mjs.map +1 -0
- package/nonStaticVideoTag-C6MCWMG2.js +2 -0
- package/nonStaticVideoTag-C6MCWMG2.js.map +1 -0
- package/{notActive-ZFPGLIIJ.mjs → notActive-FNSATJST.mjs} +2 -2
- package/{notActive-ZFPGLIIJ.mjs.map → notActive-FNSATJST.mjs.map} +1 -1
- package/{notActive-FQ2SLLCT.js → notActive-YTLKQJYE.js} +2 -2
- package/{notActive-FQ2SLLCT.js.map → notActive-YTLKQJYE.js.map} +1 -1
- package/package.json +1 -1
- package/staticPlayer-44ZMIIEA.mjs +2 -0
- package/{staticPlayer-QLINPHLK.mjs.map → staticPlayer-44ZMIIEA.mjs.map} +1 -1
- package/staticPlayer-7X27HEUG.js +2 -0
- package/{staticPlayer-G3WOD5RT.js.map → staticPlayer-7X27HEUG.js.map} +1 -1
- package/staticVideoTag-TO5HBYDE.mjs +2 -0
- package/{staticVideoTag-G5TJQQNF.mjs.map → staticVideoTag-TO5HBYDE.mjs.map} +1 -1
- package/staticVideoTag-YUBA5OAZ.js +2 -0
- package/{staticVideoTag-2HZWMOBA.js.map → staticVideoTag-YUBA5OAZ.js.map} +1 -1
- package/touchVolumeBrightness-27EBEX5W.mjs +3 -0
- package/{touchVolumeBrightness-DE5TFYAG.mjs.map → touchVolumeBrightness-27EBEX5W.mjs.map} +1 -1
- package/{touchVolumeBrightness-ZXFRYAIE.js → touchVolumeBrightness-KAAGMQWI.js} +3 -3
- package/{touchVolumeBrightness-ZXFRYAIE.js.map → touchVolumeBrightness-KAAGMQWI.js.map} +1 -1
- package/videoArea-IKP3GXLH.mjs +2 -0
- package/{videoArea-SDEAP3WB.mjs.map → videoArea-IKP3GXLH.mjs.map} +1 -1
- package/videoArea-W56PTQDS.js +2 -0
- package/{videoArea-WZH7URSO.js.map → videoArea-W56PTQDS.js.map} +1 -1
- package/videoPlayerStyles.css +39 -4
- package/vodPlayer-ANBY5ULF.mjs +2 -0
- package/{vodPlayer-3E5EY62P.mjs.map → vodPlayer-ANBY5ULF.mjs.map} +1 -1
- package/vodPlayer-QPIJN45L.js +2 -0
- package/{vodPlayer-X4YM6IG5.js.map → vodPlayer-QPIJN45L.js.map} +1 -1
- package/backwardForward-T5I2BG67.js +0 -2
- package/backwardForward-ZA22U5BK.mjs +0 -2
- package/chunk-AZTVBGMR.js +0 -2
- package/chunk-BC2TZBZ7.mjs +0 -2
- package/chunk-BC2TZBZ7.mjs.map +0 -1
- package/chunk-BZEHB5TW.js +0 -9
- package/chunk-BZEHB5TW.js.map +0 -1
- package/chunk-CXFHM7DX.js +0 -3
- package/chunk-ERJKVJY6.js +0 -2
- package/chunk-ERJKVJY6.js.map +0 -1
- package/chunk-FSNZMZHV.js +0 -3
- package/chunk-IDNCPTFE.mjs +0 -3
- package/chunk-IDNCPTFE.mjs.map +0 -1
- package/chunk-IQGFJNGO.js +0 -2
- package/chunk-IROHCKSH.mjs +0 -2
- package/chunk-IT4ECGGR.js +0 -2
- package/chunk-M2G4MENQ.js +0 -3
- package/chunk-M2G4MENQ.js.map +0 -1
- package/chunk-OJ4PZQN5.mjs +0 -3
- package/chunk-PMXQ6WK2.mjs +0 -2
- package/chunk-QVD3Z4ML.mjs +0 -9
- package/chunk-QVD3Z4ML.mjs.map +0 -1
- package/chunk-SRJT46V7.js +0 -2
- package/chunk-TRTBWCNM.mjs +0 -2
- package/chunk-XNVWDQSS.mjs +0 -3
- package/nonStaticVideoTag-JNQPPLGJ.js +0 -2
- package/nonStaticVideoTag-JNQPPLGJ.js.map +0 -1
- package/nonStaticVideoTag-YD6SV7LK.mjs +0 -2
- package/nonStaticVideoTag-YD6SV7LK.mjs.map +0 -1
- package/staticPlayer-G3WOD5RT.js +0 -2
- package/staticPlayer-QLINPHLK.mjs +0 -2
- package/staticVideoTag-2HZWMOBA.js +0 -2
- package/staticVideoTag-G5TJQQNF.mjs +0 -2
- package/touchVolumeBrightness-DE5TFYAG.mjs +0 -3
- package/videoArea-SDEAP3WB.mjs +0 -2
- package/videoArea-WZH7URSO.js +0 -2
- package/vodPlayer-3E5EY62P.mjs +0 -2
- package/vodPlayer-X4YM6IG5.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/videoPlayerLibrary/helpers/redux/actions/videoData.actions.ts","../src/videoPlayerLibrary/helpers/getDetailsConfigs.ts"],"names":["init_cjs_shims","detailAPI","id","params","store_default","API","detailsConfig","vodDetailsConfig","videoId","handleDetailsConfig","getVodDetails","dispatch","d","apiCaller","responseValidator","axios","weighted_random","setDetailsMiniPlayer","detailSetter","setIsFetchDetails","setIsValidAddress","data","setInfo","conditions","addUuidToSrc","handleSubtitle","subtitles","selectedSubtitle","faSubtitle","subtitle","mainPlayerVideoTag","textTrack","setSelectedSubtitle","sendFluentLog","subtitleLog"],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/videoPlayerLibrary/helpers/redux/actions/videoData.actions.ts","../src/videoPlayerLibrary/helpers/getDetailsConfigs.ts"],"names":["init_cjs_shims","detailAPI","id","params","store_default","API","detailsConfig","vodDetailsConfig","videoId","handleDetailsConfig","getVodDetails","dispatch","d","apiCaller","responseValidator","axios","weighted_random","setDetailsMiniPlayer","detailSetter","setIsFetchDetails","setIsValidAddress","data","setInfo","conditions","addUuidToSrc","handleSubtitle","subtitles","selectedSubtitle","faSubtitle","subtitle","mainPlayerVideoTag","textTrack","setSelectedSubtitle","sendFluentLog","subtitleLog"],"mappings":"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","file":"chunk-EDQKSY4F.js","sourcesContent":["import { apiCaller, getAll } from \"../../services/apiCaller\";\r\nimport { API } from \"../../services/services\";\r\nimport {\r\n setInfo,\r\n setIsFetchDetails,\r\n setIsValidAddress,\r\n setSelectedSubtitle,\r\n} from \"../slices/videoDataSlice\";\r\nimport store from \"../store\";\r\nimport {\r\n addUuidToSrc,\r\n getUUID,\r\n responseValidator,\r\n weighted_random,\r\n} from \"../../helpers\";\r\nimport axios from \"axios\";\r\nimport { handleDetailsConfig } from \"../../getDetailsConfigs\";\r\nimport { subtitleLog } from \"../../logs/logs\";\r\nimport { sendFluentLog } from \"../../logs/fluentdLogger\";\r\nimport { mainPlayerVideoTag } from \"../../constants\";\r\nimport { setDetailsMiniPlayer } from \"../slices/miniPlayerSlice\";\r\nimport { conditions } from \"../../conditions/conditions\";\r\nimport { ConditionName } from \"../../interfaces/enums\";\r\n\r\nexport const getVodDetails = async (videoId?: string) => {\r\n const dispatch = store.dispatch;\r\n try {\r\n const d = await apiCaller({ ...handleDetailsConfig(videoId) });\r\n if (responseValidator(d.status)) {\r\n await axios.head(\r\n \"https://\" + weighted_random(d.data.hls_links) + d.data.path\r\n );\r\n if (videoId) return dispatch(setDetailsMiniPlayer(d.data));\r\n detailSetter(d.data);\r\n } else\r\n throw new Error(JSON.stringify({ status: d.status, message: d.data }));\r\n } catch (error: any) {\r\n dispatch(setIsFetchDetails(true));\r\n dispatch(setIsValidAddress(false));\r\n }\r\n};\r\n\r\nexport const detailSetter = (data: any) => {\r\n const dispatch = store.dispatch;\r\n const {params} = store.getState().videoData;\r\n dispatch(\r\n setInfo({\r\n ...data,\r\n subtitles: conditions(ConditionName.hasSubtitlesInParams) ? params.subtitles : data.subtitles,\r\n stream_link:\r\n !!data.stream_link &&\r\n addUuidToSrc(\"https://\" + weighted_random(data.hls_links) + data.path),\r\n })\r\n );\r\n dispatch(setIsFetchDetails(true));\r\n dispatch(setIsValidAddress(true));\r\n};\r\n\r\nexport const handleSubtitle = () => {\r\n const dispatch = store.dispatch;\r\n const { subtitles, selectedSubtitle } = store.getState().videoData;\r\n\r\n const faSubtitle: any = subtitles.find(\r\n (subtitle: any) => subtitle.language === \"fa\"\r\n );\r\n if (selectedSubtitle) {\r\n Object.values(mainPlayerVideoTag().textTracks).find(\r\n (textTrack: any) => textTrack.mode === \"showing\"\r\n )!.mode = \"disabled\";\r\n dispatch(setSelectedSubtitle(undefined));\r\n sendFluentLog(subtitleLog(\"empty\"));\r\n } else {\r\n if (faSubtitle) {\r\n faSubtitle.mode = \"showing\";\r\n dispatch(setSelectedSubtitle(faSubtitle));\r\n sendFluentLog(subtitleLog(faSubtitle.language));\r\n } else {\r\n mainPlayerVideoTag().textTracks[0].mode = \"showing\";\r\n dispatch(setSelectedSubtitle(mainPlayerVideoTag().textTracks[0]));\r\n sendFluentLog(subtitleLog(mainPlayerVideoTag().textTracks[0].language));\r\n }\r\n }\r\n};\r\n\r\nexport const getAllGeneralMarker = async (url: string) => {\r\n const response: any = await getAll(url, [\r\n {\r\n codeAbove: 400,\r\n codeBelow: null,\r\n excludeCodes: [],\r\n includeCodes: [],\r\n delay: 2,\r\n count: 3\r\n }\r\n ]);\r\n return response;\r\n};\r\n","import { IDetailsConfig } from \"./interfaces/interfaces\";\r\nimport store from \"./redux/store\";\r\nimport { API } from \"./services/services\";\r\n\r\nexport const detailAPI = (id?: string) => {\r\n const { params } = store.getState().videoData;\r\n return API().vod.getVodUrl + (id ? id : params.id);\r\n};\r\n\r\nconst detailsConfig: IDetailsConfig = {\r\n url: \"\",\r\n maxRetryCount: 0,\r\n headers: {},\r\n retryPolicy: [],\r\n errorCallback: undefined\r\n};\r\n\r\nconst vodDetailsConfig = (videoId?:string) => {\r\n detailsConfig.url = detailAPI(videoId);\r\n detailsConfig.maxRetryCount = 3;\r\n detailsConfig.retryPolicy = [\r\n {\r\n codeAbove: 500,\r\n codeBelow: null,\r\n excludeCodes: [],\r\n includeCodes: [409],\r\n delay: 1,\r\n count: 3\r\n },\r\n {\r\n codeAbove: null,\r\n codeBelow: 404,\r\n excludeCodes: [403, 402, 401, 400],\r\n includeCodes: [],\r\n delay: 10,\r\n count: 6\r\n }\r\n ];\r\n return detailsConfig;\r\n};\r\n\r\n\r\nexport const handleDetailsConfig = (videoId?: string) => {\r\n vodDetailsConfig(videoId);\r\n return detailsConfig;\r\n};\r\n"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
'use strict';var chunkWO4IQUGO_js=require('./chunk-WO4IQUGO.js'),toolkit=require('@reduxjs/toolkit'),reactRedux=require('react-redux'),_e=require('axios');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var _e__default=/*#__PURE__*/_interopDefault(_e);var ne=chunkWO4IQUGO_js.b((va,ie)=>{chunkWO4IQUGO_js.e();ie.exports={baseUrl:"https://hamrahi.cloud",fluentdUrl:"https://hamrahi.cloud"};});var le={};chunkWO4IQUGO_js.c(le,{isNpmPackage:()=>Re});var Re,ue=chunkWO4IQUGO_js.a(()=>{chunkWO4IQUGO_js.e();Re=false;});chunkWO4IQUGO_js.e();var E={play:false,isAutoPlay:true,duration:0,currentTime:0,qualityLevels:[],manualQuality:void 0,autoQuality:void 0,activeElements:true,isLoading:false,isFullScreen:false,bufferedTimeWidth:0,firstPlay:true,activePointerProgressBar:false,delayTurnOffControlbar:false,canPlayVideo:false,lock:false,isEnded:false,tooltipTime:0},Q=toolkit.createSlice({name:"controller",initialState:E,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;},setClearControllerSlice:()=>E}}),{setPlay:Qe,setIsAutoPlay:Be,setDuration:Oe,setCurrentTime:$e,setQualityLevels:Ke,setAutoQuality:qe,setActiveElements:Ce,setIsLoading:He,setIsFullScreen:je,setBufferedTimeWidth:We,setFirstPlay:Xe,setActivePointerProgressBar:Ye,setDelayTurnOffControlbar:Ge,setManualQuality:Je,setCanPlayVideo:Ze,setLock:ze,setIsEnded:Ne,setTooltipTime:et,setClearControllerSlice:B}=Q.actions,O=Q.reducer;chunkWO4IQUGO_js.e();var $={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:{type:"",id:"",bannerAlt:"",fullscreen:"",autoplay:"",banner:"",provider:"cafevdo",onFinished:void 0,onPlay:void 0,onPause:void 0,playStatus:void 0,currentTime:void 0,daaniHashCode:void 0},markers:[],videoElementSizeInfo:{bottom:0,top:0,right:0,left:0,width:0,height:0},isFetchDetails:false,isValidAddress:false,videoTimelines:[],isReady:false,subtitles:[],selectedSubtitle:void 0,subtitleText:void 0,multiAudio:[],selectedAudioId:0},K=toolkit.createSlice({name:"videoData",initialState:$,reducers:{setInfo:(t,e)=>{t.details=e.payload;},setPlayerParams:(t,e)=>{t.params=e.payload;},setMarkers:(t,e)=>{t.markers=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;},setMultiAudio:(t,e)=>{t.multiAudio=JSON.parse(JSON.stringify(e.payload));},setSelectedAudioId:(t,e)=>{t.selectedAudioId=e.payload;},setClearVideoDataSlice:t=>$}}),{setInfo:ot,setPlayerParams:it,setVideoElementSizeInfo:nt,setMarkers:lt,setIsFetchDetails:ut,setIsValidAddress:dt,setVideoTimelines:ct,setIsReady:pt,setSubtitles:mt,setSubtitleText:yt,setSelectedSubtitle:gt,setMultiAudio:ht,setSelectedAudioId:Pt,setClearVideoDataSlice:q}=K.actions,C=K.reducer;chunkWO4IQUGO_js.e();var H={settings:{quality:-1,brightness:100,volume:100,speed:1},videoSettings:{time:0}},j=toolkit.createSlice({name:"user",initialState:H,reducers:{setUserSettings:(t,e)=>{t.settings=e.payload;},setVideoSettings:(t,e)=>{t.videoSettings=e.payload;},setClearUserSlice:()=>H}}),{setUserSettings:At,setVideoSettings:wt,setClearUserSlice:W}=j.actions,X=j.reducer;chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();var ke={settingPopover:false,speedPopover:false,qualityLevelsPopover:false,markersListPopover:false,multiAudioPopover:false},Y=toolkit.createSlice({name:"popover",initialState:ke,reducers:{setSettingPopover:(t,e)=>{t.settingPopover=e.payload;},setSpeedPopover:(t,e)=>{t.speedPopover=e.payload;},setQualityLevelsPopover:(t,e)=>{t.qualityLevelsPopover=e.payload;},setMarkersListPopover:(t,e)=>{t.markersListPopover=e.payload;},setMultiAudioPopover:(t,e)=>{t.multiAudioPopover=e.payload;},setClearPopoversSlice:t=>{t.settingPopover=false,t.speedPopover=false,t.qualityLevelsPopover=false,t.markersListPopover=false,t.multiAudioPopover=false;}}}),{setSettingPopover:It,setSpeedPopover:Ft,setQualityLevelsPopover:Vt,setMarkersListPopover:_t,setMultiAudioPopover:Rt,setClearPopoversSlice:G}=Y.actions,J=Y.reducer;chunkWO4IQUGO_js.e();var Z={params:{id:"0",type:"",currentTime:0,autoPlay:false,onClose:()=>{}},details:{},play:false},z=toolkit.createSlice({name:"user",initialState:Z,reducers:{setMiniPlayerInfo:(t,e)=>{t.params={...e.payload,id:e.payload.type==="static"?window.atob(e.payload.id):e.payload.id,banner:e.payload.banner?e.payload.banner:void 0};},setDetailsMiniPlayer:(t,e)=>{t.details=e.payload;},setPlayMiniPlayer:(t,e)=>{t.play=e.payload;},setClearMiniPlayerSlice:t=>Z}}),{setMiniPlayerInfo:$t,setDetailsMiniPlayer:Kt,setPlayMiniPlayer:qt,setClearMiniPlayerSlice:Ct}=z.actions,N=z.reducer;var Me=toolkit.configureStore({reducer:{controller:O,videoData:C,popovers:J,user:X,miniPlayer:N},devTools:true,middleware:t=>t({serializableCheck:false})}),s=Me;chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();var c=t=>{let{params:e,details:r,isValidAddress:a,isFetchDetails:i,isReady:l,subtitles:p,selectedSubtitle:d,markers:g,multiAudio:P}=s.getState().videoData,{firstPlay:u,lock:n,canPlayVideo:f,manualQuality:S,activeElements:y,isLoading:ce,isEnded:_,isAutoPlay:pe,play:me,isFullScreen:w}=s.getState().controller,{settingPopover:R,speedPopover:ye,qualityLevelsPopover:ge,markersListPopover:he}=s.getState().popovers,{settings:U}=s.getState().user,L=s.getState().miniPlayer;switch(t){case "showHeader":return !u&&f;case "showMain":return !n||u;case "showFooter":return !u&&f;case "showTouchVolumeBrightness":return !u&&k()&&!n&&!_;case "showBackwardForward":return !u&&v()&&!n;case "showTitle":return e.type!=="static"&&w&&!n;case "showSettingPopover":return R;case "showSpeedPopover":return ye;case "showQualityLevelsPopover":return ge;case "showSettingIcon":return e.type!=="static"&&!b()&&!w;case "showBanner":return u&&(r.banner||e.banner);case "showProgressbar":return !b();case "showPictureInPicture":return !b()&&!v();case "showSubtitle":return !!d;case "showMarkerListPopover":return he;case "hidePopovers":return !R;case "isLandscape":return window.innerHeight<=window.innerWidth;case "isTouchScreen":return v();case "isTouchScreenPortrait":return te();case "isTouchScreenLandscape":return k();case "isActiveElements":return y;case "isPlay":return me;case "isPlayMiniPlayer":return L.play;case "isFirstPlay":return u;case "isLock":return n;case "isIOS":return b();case "isLoading":return ce;case "isStaticFormat":return e.type==="static";case "isEnded":return _;case "isAutoPlay":return pe;case "isFullScreen":return w;case "isValidAddress":return a;case "isFetchDetails":return i;case "isAutoQuality":return U.quality===-1;case "isPressKeySpace":return !n;case "isPressKeyI":return !n&&!u;case "isPressKeyF":return !n&&!u||!!e.vhl_status;case "isPressKeyS":return !n&&!u;case "isPressKeyArrowRight":return !u&&!n;case "isPressKeyArrowLeft":return !u&&!n;case "isPressKeyM":return !u&&!n;case "isPressKeyC":return !n&&!u&&!!p&&p.length>0;case "isSendTimelineLog":return e.type!=="static";case "isReady":return l;case "isSelectedSubtitle":return !!p&&p.length>0&&d;case "isMiniPlayerAndMainPlayerSame":return e.id===L.params.id;case "isVideoHighLighter":return !!e.vhl_status;case "hasTitle":return r.title;case "hasBanner":return r.banner;case "hasStreamLink":return r.stream_link;case "hasManualQuality":return S!=null;case "hasSound":return !!U.volume;case "hasAutoPlay":return e.autoplay==="true";case "hasFullScreenParams":return e.fullscreen==="true";case "hasOnFinishedParams":return !!e.onFinished;case "hasSubtitles":return !!p&&p.length>0;case "hasSubtitlesInDetails":return r.subtitles&&r.subtitles.length>0;case "hasActiveCue":return d&&d.activeCues&&d.activeCues.length>0;case "hasOnPlayParams":return !!e.onPlay;case "hasOnPauseParams":return !!e.onPause;case "hasPlayStatusParams":return e.playStatus!==void 0;case "hasMiniPlayer":return L.params.id;case "hasCurrentTimeParams":return e.currentTime!==void 0;case "hasMarkers":return g.length!==0;case "hasSubtitlesInParams":return e.subtitles&&e.subtitles.length;case "hasOnChangeCurrentTime":return !!e.onChangeCurrentTime;case "hasMultiAudio":return P&&!!P.length;case "skeletonStatusInVhl":return e.vhl_status==="skeleton";case "getDetails":return !!e.type&&e.id;case "getMarkers":return String(e.type)==="vod"&&e.id&&i;case "canPlayVideo":return f;case "setSubtitleFirstPlay":return r.subtitles&&r.subtitles.length>0&&!u&&e.type!=="static";}};var re=t=>new Promise(e=>setTimeout(e,t*1e3)),h=()=>{let t=localStorage.getItem("hamrahiUUID");return t||(t=Ie(),localStorage.setItem("hamrahiUUID",t)),t.toString()},Ie=()=>{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},v=()=>typeof window<"u"&&("ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),k=()=>{let{isFullScreen:t}=s.getState().controller;return v()&&t},te=()=>{let{isFullScreen:t}=s.getState().controller;return v()&&!t},b=()=>["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document,A=t=>(t<10?"0":"")+t,pr=t=>{let e=Math.floor(t/3600),r=Math.floor(t%3600/60),a=Math.floor(t%3600%60);return e<1?`${A(r)}:${A(a)}`:`${A(e)}:${A(r)}:${A(a)}`},mr=t=>{let e=new URL(t),r=t;return e.search.length?r+=`&uuid=${h()}`:r+=`?uuid=${h()}`},yr=(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 false}},gr=t=>{let e="";t==="mainPlayer"?e=s.getState().videoData.details.stream_link:e=s.getState().miniPlayer.details.stream_link;let r="";return e&&(r=e.split("m3u8")[1]),r?r=`${r}&uuid=${h()}`:r=`?uuid=${h()}`,r},hr=(t,e)=>{let r=document.getElementById(e),a=document.createElement("span");a.style.width=a.style.height="50px",a.style.left=`${t.touches[0].clientX-r.offsetLeft-25}px`,a.style.top=`${t.touches[0].clientY-r.offsetTop-25}px`,a.classList.add("pl-ripple");let i=r.getElementsByClassName("pl-ripple")[0];i&&i.remove(),r.appendChild(a);};var Pr=t=>t>=200&&t<300,fr=()=>{let t=s.dispatch;t(q()),t(B()),t(W()),t(G());},Sr=t=>{let e,r=[];for(e=0;e<t.length;e++)r[e]=t[e].weight+(r[e-1]||0);let a=Math.random()*r[r.length-1];for(e=0;e<r.length&&!(r[e]>a);e++);return t[e].domain},vr=t=>{let e=0;performance&&performance.getEntriesByType("navigation")&&(e=performance.getEntriesByType("navigation")[0].duration),t.current=e;},br=(t,e,r)=>{let a=e*window.devicePixelRatio,i=r*window.devicePixelRatio,l=[];return c("isTouchScreenPortrait")?l=t.filter(p=>Number(p.split("x")[0].trim())<=a):l=t.filter(p=>Number(p.split("x")[0].trim())<=i||Number(p.split("x")[1].trim())<=a),l.indexOf(l[l.length-1])},x=(t,e)=>{let r={};for(let a in t){let i=e?`${e}_${a}`:a;typeof t[a]=="object"&&!Array.isArray(t[a])?r={...r,...x(t[a],i)}:r[i]=t[a];}return r},Ar=t=>{let e={fa:1,en:2};return t.slice().sort((r,a)=>{let i=e[r.lang]||999,l=e[a.lang]||999;return i-l})},wr=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},Lr=t=>t.split(/\r?\n|\r|\n/g),kr=t=>{if(t){let e=t.offsetLeft-t.offsetWidth/2,r=window.innerWidth-(t.offsetLeft+t.offsetWidth);if(e>=0&&r>=0)return "inViewport";if(e<0)return "OutViewPortFromLeft";if(r<0)return "OutViewPortFromRight"}};var xr=t=>(t=t.replace(/\d{2}:\d{2}:\d{2}\.\d{3} --> \d{2}:\d{2}:\d{2}\.\d{3}.*\n/g,""),t=t.replace(/<[^>]+>/g,""),t=t.replace(/\n+/g,`
|
|
2
|
+
`),t=t.trim(),t);chunkWO4IQUGO_js.e();var Fr=()=>reactRedux.useDispatch(),Vr=reactRedux.useSelector;chunkWO4IQUGO_js.e();var T=()=>document.getElementById("player-tag"),Er=()=>document.getElementById("mini-player-video-tag"),Qr=()=>document.getElementById("time-progress-bar"),Br=()=>s.getState().videoData.videoElementSizeInfo.width-2;chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();var Wr=t=>{let{params:e,details:r}=s.getState().videoData,{settings:a}=s.getState().user;return {category:"speedChange",previousSelectedSpeed:a.speed,selectedSpeed:t,id:Number(e.id),type:e.type,src:c("hasStreamLink")?r.stream_link:e.id,provider:e.provider}},Xr=t=>{let{params:e,details:r}=s.getState().videoData,{qualityLevels:a,manualQuality:i,autoQuality:l}=s.getState().controller;return {category:"qualityChangeRequest",currentPlayingQuality:`${a[c("isAutoQuality")?l??i:i]}P`,previousSelectedQuality:c("isAutoQuality")?"auto":`${a[i]}P`,selectedQuality:t,id:Number(e.id),type:e.type,src:c("hasStreamLink")?r.stream_link:e.id,provider:e.provider}},Yr=t=>{let{params:e,details:r}=s.getState().videoData,{qualityLevels:a,autoQuality:i}=s.getState().controller,{settings:l}=s.getState().user;return {category:"catchUpLoading",previousVideoTime:Number(sessionStorage.getItem("previousVideoTime")),currentVideoTime:T().currentTime,duration:t,quality:`${c("isAutoQuality")?a[i]:a[l.quality]}P`,isAutoQuality:c("isAutoQuality"),id:Number(e.id),type:e.type,src:c("hasStreamLink")?r.stream_link:e.id,provider:e.provider}},Gr=t=>{let{params:e,details:r}=s.getState().videoData;return {category:t==="backward"?"backward":"forward",id:Number(e.id),type:e.type,src:r.stream_link?r.stream_link:e.id,provider:e.provider}},Jr=t=>{let{params:e,details:r}=s.getState().videoData;return {category:t,id:Number(e.id),type:e.type,src:c("hasStreamLink")?r.stream_link:e.id}},Zr=(t,e)=>{let{params:r,details:a}=s.getState().videoData;return {category:"brightnessChange",source:t,target:e,id:Number(r.id),type:r.type,src:c("hasStreamLink")?a.stream_link:r.id}},zr=(t,e)=>{let{params:r,details:a}=s.getState().videoData;return {category:"volumeChange",source:t,target:e,id:Number(r.id),type:r.type,src:c("hasStreamLink")?a.stream_link:r.id}},Nr=t=>{let{params:e,details:r}=s.getState().videoData;return {category:t,id:Number(e.id),type:e.type,src:c("hasStreamLink")?r.stream_link:e.id}},ae=(t,e,r,a)=>({category:"player-error",type:t,message:e,statusCode:r,url:a}),ea=(t,e)=>{let{params:r,details:a}=s.getState().videoData,{duration:i}=s.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:h(),user_id:a.user_id,content_type:a.content_type,content_id:a.content_id}},ta=(t,e,r)=>{let{params:a,details:i}=s.getState().videoData;return {category:"autoQualityChange",sourceQuality:t,targetQuality:e,diffQuality:r,id:Number(a.id),type:a.type,src:c("hasStreamLink")?i.stream_link:a.id,provider:a.provider}},ra=(t,e)=>{let{params:r,details:a}=s.getState().videoData;return {category:"pingpong",id:Number(r.id),type:r.type,src:c("hasStreamLink")?a.stream_link:r.id,PingPongDuration:Number((new Date().getTime()-t).toFixed(2)),PingPongSourceQuality:`${e[0]}P`,PingPongTargetQuality:`${e[1]}P`,provider:r.provider}},aa=t=>{let{params:e,details:r}=s.getState().videoData;return {category:t?"playVideo":"pauseVideo",id:Number(e.id),type:e.type,src:r.stream_link?r.stream_link:e.id,provider:e.provider}},sa=(t,e,r,a,i)=>{let{params:l,details:p}=s.getState().videoData,d=Date.now()-i.current+t+e,g=window.performance.memory,P=JSON.parse(JSON.stringify(window.performance.timing));return {category:"initLog",id:Number(l.id),type:l.type,origin:new URL(c("hasStreamLink")?p.stream_link:l.id).origin,src:c("hasStreamLink")?p.stream_link:l.id,loading:t,bannerLoading:!c("hasBanner")||r<0?0:r,waiting:e,firstChunkPlaying:a<0?0:a,totalTime:d,provider:l.provider,performance:x({memory:g,timing:P},"performance"),userAgent:window.navigator.userAgent}},oa=(t,e,r,a,i)=>{let{params:l,details:p}=s.getState().videoData,{settings:d}=s.getState().user,g=Date.now()-r.current;return {category:"loading",id:Number(l.id),type:l.type,src:c("hasStreamLink")?p.stream_link:l.id,duration:t,quality:`${e}P`,isAutoQuality:c("isAutoQuality"),previousLoaderDiff:g,counter:a.current,loadingPercentile:Number((t/g).toFixed(2)),videoTime:T().currentTime,videoEntranceTime:i,speed:d.speed,provider:l.provider}},ia=t=>{let{params:e,details:r}=s.getState().videoData;return {category:"subtitle",language:t,id:Number(e.id),type:e.type,src:c("hasStreamLink")?r.stream_link:e.id}},na=(t,e,r,a,i)=>{let{params:l,details:p}=s.getState().videoData;return {category:"eventMarkerClick",video_id:Number(l.id),markerId:t,markerTime:e,markerTitle:r,markerDescription:a,markerSticker:i,type:l.type,src:c("hasStreamLink")?p.stream_link:l.id,provider:l.provider}};var oe=t=>{t&&se(ae(t.type,t.message,t.statusCode,t.url));};var D=async({url:t,method:e="GET",data:r,headers:a,retryCount:i=1,maxRetryCount:l=0,errorMessage:p,retryPolicy:d,errorCallback:g,timeoutCount:P})=>{let u={url:t,method:e,headers:{...a,"Content-Type":"application/json"},timeout:P?P*1e3:void 0};r?e==="GET"?u={...u,params:{uuid:s.getState().videoData.params.uuid,provider:s.getState().videoData.params.provider==="unknown"?void 0:s.getState().videoData.params.provider,...r}}:u={...u,data:{uuid:s.getState().videoData.params.uuid,provider:s.getState().videoData.params.provider==="unknown"?void 0:s.getState().videoData.params.provider,...r}}:e==="GET"?u={...u,params:{uuid:s.getState().videoData.params.uuid,provider:s.getState().videoData.params.provider==="unknown"?void 0:s.getState().videoData.params.provider}}:u={...u,data:{uuid:s.getState().videoData.params.uuid,provider:s.getState().videoData.params.provider==="unknown"?void 0:s.getState().videoData.params.provider}};try{return await _e__default.default(u)}catch(n){if(oe({type:"API-ERROR",message:n.message?n.message:"",statusCode:n.response&&n.response.status?n.response.status:void 0,url:t}),!(n&&n.response&&n.response.status===401)){g&&g(n.response.status,n.response.message);let f=0,S=0;if(d!==void 0){for(let y=0;y<d.length;y++)if((d[y].codeAbove&&n.response.status>=d[y].codeAbove||d[y].codeBelow&&n.response.status<=d[y].codeBelow)&&(d[y].excludeCodes.length===0||!d[y].excludeCodes.includes(n.response.status))||d[y].includeCodes.length===0||d[y].includeCodes.includes(n.response.status)){S=d[y].count,f=d[y].delay;break}}else S=l,f=i+1;if(i<S)return await re(f),D({url:t,method:e,data:r,headers:a,retryCount:i+1,errorMessage:p,retryPolicy:d,errorCallback:g});if(n.response)return {data:n.response.data?n.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:n.response.status}}}};chunkWO4IQUGO_js.e();chunkWO4IQUGO_js.e();var M=ne(),I=(ue(),chunkWO4IQUGO_js.d(le)),F=()=>(I?M.baseUrl:process.env.baseUrl)+"/live/api",V=()=>I?M.fluentdUrl:process.env.fluentdUrl,wa=()=>(I?M.baseUrl:process.env.baseUrl)+"/emoji";var de=()=>({vod:{getVodUrl:`${F()}/v1/live/details/vod/`,getMarkerUrl:t=>`${F()}/v1/live/list-event/vod/${t}/`},videoTimelineLog:`${V()}/video-timeline.log`,logs:`${V()}/cafevideo-endpoint.log`});var se=t=>{let{details:e,params:r}=s.getState().videoData,a={...t,timestamp:Date.now(),clientUUID:h(),uuid:h(),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,daaniHashCode:r.daaniHashCode};D({url:de().logs,method:"post",data:a});};exports.$=br;exports.A=gt;exports.Aa=aa;exports.B=ht;exports.Ba=sa;exports.C=Pt;exports.Ca=oa;exports.D=It;exports.Da=ia;exports.E=Ft;exports.Ea=na;exports.F=Vt;exports.Fa=oe;exports.G=_t;exports.Ga=D;exports.H=Rt;exports.I=G;exports.J=At;exports.K=wt;exports.L=$t;exports.M=Kt;exports.N=qt;exports.O=Ct;exports.P=s;exports.Q=h;exports.R=v;exports.S=pr;exports.T=mr;exports.U=yr;exports.V=gr;exports.W=hr;exports.X=Pr;exports.Y=fr;exports.Z=Sr;exports._=vr;exports.a=Qe;exports.aa=Ar;exports.b=Oe;exports.ba=wr;exports.c=$e;exports.ca=Lr;exports.d=Ke;exports.da=kr;exports.e=qe;exports.ea=xr;exports.f=Ce;exports.fa=c;exports.g=He;exports.ga=Fr;exports.h=je;exports.ha=Vr;exports.i=We;exports.ia=T;exports.j=Xe;exports.ja=Er;exports.k=Ye;exports.ka=Qr;exports.l=Ge;exports.la=Br;exports.m=Je;exports.ma=wa;exports.n=Ze;exports.na=de;exports.o=ze;exports.oa=se;exports.p=Ne;exports.pa=Wr;exports.q=et;exports.qa=Xr;exports.r=ot;exports.ra=Yr;exports.s=it;exports.sa=Gr;exports.t=nt;exports.ta=Jr;exports.u=ut;exports.ua=Zr;exports.v=dt;exports.va=zr;exports.w=ct;exports.wa=Nr;exports.x=pt;exports.xa=ea;exports.y=mt;exports.ya=ta;exports.z=yt;exports.za=ra;//# sourceMappingURL=chunk-HME64W2O.js.map
|
|
3
|
+
//# sourceMappingURL=chunk-HME64W2O.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/interfaces/enums.ts","../src/videoPlayerLibrary/helpers/redux/store.ts","../src/videoPlayerLibrary/helpers/redux/slices/popoversSlice.ts","../src/videoPlayerLibrary/helpers/redux/slices/miniPlayerSlice.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/fluentdLogger.ts","../src/videoPlayerLibrary/helpers/services/apiCaller.ts","../src/videoPlayerLibrary/helpers/errorBoundary/errorBoundaryFunctions.ts","../src/videoPlayerLibrary/helpers/logs/logs.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","ControllerSliceState","controllerSlice","createSlice","state","action","setPlay","setIsAutoPlay","setDuration","setCurrentTime","setQualityLevels","setAutoQuality","setActiveElements","setIsLoading","setIsFullScreen","setBufferedTimeWidth","setFirstPlay","setActivePointerProgressBar","setDelayTurnOffControlbar","setManualQuality","setCanPlayVideo","setLock","setIsEnded","setTooltipTime","setClearControllerSlice","controllerSlice_default","VideoDataSliceState","videoDataSlice","setInfo","setPlayerParams","setVideoElementSizeInfo","setMarkers","setIsFetchDetails","setIsValidAddress","setVideoTimelines","setIsReady","setSubtitles","setSubtitleText","setSelectedSubtitle","setMultiAudio","setSelectedAudioId","setClearVideoDataSlice","videoDataSlice_default","UserSliceState","userSlice","setUserSettings","setVideoSettings","setClearUserSlice","userSlice_default","PopOversSliceState","popoversSlice","setSettingPopover","setSpeedPopover","setQualityLevelsPopover","setMarkersListPopover","setMultiAudioPopover","setClearPopoversSlice","popoversSlice_default","MiniPlayerSliceState","setMiniPlayerInfo","setDetailsMiniPlayer","setPlayMiniPlayer","setClearMiniPlayerSlice","miniPlayerSlice_default","store","configureStore","getDefaultMiddleware","store_default","conditions","type","params","details","isValidAddress","isFetchDetails","isReady","subtitles","selectedSubtitle","markers","multiAudio","firstPlay","lock","canPlayVideo","manualQuality","activeElements","isLoading","isEnded","isAutoPlay","play","isFullScreen","settingPopover","speedPopover","qualityLevelsPopover","markersListPopover","settings","miniPlayer","isTouchScreenLandscape","isTouchScreen","isIOS","isTouchScreenPortrait","wait","s","resolve","getUUID","uuid","uuidGenerator","char","val","addZeroBefore","n","secondsToHMS","seconds","h","m","addUuidToSrc","src","urlObject","urlSrc","checkParentTarget","event","target","splitQueryParamsFromStreamLink","playerType","streamLink","queryParams","handleRippleCircle","id","element","circle","ripple","responseValidator","status","clearRedux","dispatch","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","inViewPort","positionLeft","positionRight","cleanVTT","vttText","useAppDispatch","useDispatch","useAppSelector","useSelector","mainPlayerVideoTag","miniPlayerVideoTag","progressBar","progressBarWidth","speedChangeLog","selectedSpeed","qualityChangeRequestLog","selectedQuality","qualityLevels","autoQuality","catchUpLoadingLog","duration","backwardForwardLog","fullscreenLog","category","brightnessLog","source","volumeLog","lockLog","ExceptionsLog","message","statusCode","url","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","eventMarkerClickLog","markerId","markerTime","markerTitle","markerDescription","markerSticker","errorLogProvider","data","sendFluentLog","apiCaller","method","headers","retryCount","maxRetryCount","errorMessage","retryPolicy","errorCallback","timeoutCount","axiosConfig","axios","error","newRetryDelay","newMaxRetryCount","envs","getRestApiLiveUrl","getFluentdUrl","getEmojiUrl","API","videoId","_data"],"mappings":"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","file":"chunk-HME64W2O.js","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};\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 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 setClearControllerSlice,\r\n} = controllerSlice.actions;\r\nexport default controllerSlice.reducer;\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\nimport { IVideoElementSizeInfo, IDetails, IVideoDataSlice, IParams, IMarker } 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 type: \"\",\r\n id: \"\",\r\n bannerAlt: \"\",\r\n fullscreen: \"\",\r\n autoplay: \"\",\r\n banner: \"\",\r\n provider: \"cafevdo\",\r\n onFinished: undefined,\r\n onPlay: undefined,\r\n onPause: undefined,\r\n playStatus: undefined,\r\n currentTime: undefined,\r\n daaniHashCode: undefined,\r\n },\r\n markers: [],\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 multiAudio: [],\r\n selectedAudioId: 0,\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<IParams>) => {\r\n state.params = action.payload;\r\n },\r\n setMarkers: (state, action: PayloadAction<IMarker[]>) => {\r\n state.markers = 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 setMultiAudio: (state, action: PayloadAction<any>) => {\r\n state.multiAudio = JSON.parse(JSON.stringify(action.payload));\r\n },\r\n setSelectedAudioId: (state, action: PayloadAction<number>) => {\r\n state.selectedAudioId = 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 setVideoElementSizeInfo,\r\n setMarkers,\r\n setIsFetchDetails,\r\n setIsValidAddress,\r\n setVideoTimelines,\r\n setIsReady,\r\n setSubtitles,\r\n setSubtitleText,\r\n setSelectedSubtitle,\r\n setMultiAudio,\r\n setSelectedAudioId,\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","export const enum zIndex {\r\n vttDisable = -2,\r\n backwardForwardInActive = 1,\r\n videoPlayer,\r\n footer,\r\n mainIcons,\r\n vtt,\r\n markers,\r\n videoPlayerInFullScreen = 1000000,\r\n popoverBlurBackground,\r\n backwardForwardActive,\r\n miniPlayer,\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 subtitles = \"subtitles\",\r\n multiAudio = \"multiAudio\"\r\n}\r\n\r\nexport const enum PlayerTypes {\r\n static = \"static\",\r\n vod = \"vod\"\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 showPictureInPicture = \"showPictureInPicture\",\r\n showSubtitle = \"showSubtitle\",\r\n showMarkerListPopover = \"showMarkerListPopover\",\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 isPlayMiniPlayer = \"isPlayMiniPlayer\",\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 isMiniPlayerAndMainPlayerSame = \"isMiniPlayerAndMainPlayerSame\",\r\n isVideoHighLighter = \"isVideoHighLighter\",\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 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 hasMiniPlayer = \"hasMiniPlayer\",\r\n hasCurrentTimeParams = \"hasCurrentTimeParams\",\r\n hasMarkers = \"hasMarkers\",\r\n hasSubtitlesInParams = \"hasSubtitlesInParams\",\r\n hasOnChangeCurrentTime = \"hasOnChangeCurrentTime\",\r\n hasMultiAudio = \"hasMultiAudio\",\r\n skeletonStatusInVhl = \"skeletonStatusInVhl\",\r\n getDetails = \"getDetails\",\r\n getMarkers = \"getMarkers\",\r\n canPlayVideo = \"canPlayVideo\",\r\n setSubtitleFirstPlay = \"setSubtitleFirstPlay\"\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\nimport miniPlayerReducer from \"./slices/miniPlayerSlice\";\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 miniPlayer: miniPlayerReducer,\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 markersListPopover: false,\r\n multiAudioPopover: 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 setMarkersListPopover: (state, action: PayloadAction<boolean>) => {\r\n state.markersListPopover = action.payload;\r\n },\r\n setMultiAudioPopover: (state, action: PayloadAction<boolean>) => {\r\n state.multiAudioPopover = 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 state.markersListPopover = false;\r\n state.multiAudioPopover = false;\r\n },\r\n },\r\n});\r\n\r\nexport const { setSettingPopover, setSpeedPopover, setQualityLevelsPopover, setMarkersListPopover, setMultiAudioPopover, setClearPopoversSlice } = popoversSlice.actions;\r\n\r\nexport default popoversSlice.reducer;\r\n","import { createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\nimport {\r\n IDetails,\r\n IMiniPlayerParams,\r\n IMiniPlayerSlice,\r\n} from \"../../interfaces/interfaces\";\r\nimport { PlayerTypes } from \"../../interfaces/enums\";\r\n\r\nconst MiniPlayerSliceState: IMiniPlayerSlice = {\r\n params: {\r\n id: \"0\",\r\n type: \"\",\r\n currentTime: 0,\r\n autoPlay: false,\r\n onClose: () => {},\r\n },\r\n details: {},\r\n play: false,\r\n};\r\n\r\nexport const userSlice = createSlice({\r\n name: \"user\",\r\n initialState: MiniPlayerSliceState,\r\n reducers: {\r\n setMiniPlayerInfo: (state, action: PayloadAction<IMiniPlayerParams>) => {\r\n state.params = {\r\n ...action.payload,\r\n id:\r\n action.payload.type === PlayerTypes.static\r\n ? window.atob(action.payload.id)\r\n : action.payload.id,\r\n banner: action.payload.banner ? action.payload.banner : undefined,\r\n };\r\n },\r\n setDetailsMiniPlayer: (state, action: PayloadAction<IDetails>) => {\r\n state.details = action.payload;\r\n },\r\n setPlayMiniPlayer: (state, action: PayloadAction<boolean>) => {\r\n state.play = action.payload;\r\n },\r\n setClearMiniPlayerSlice: (state) => {\r\n return (state = MiniPlayerSliceState);\r\n },\r\n },\r\n});\r\n\r\nexport const {\r\n setMiniPlayerInfo,\r\n setDetailsMiniPlayer,\r\n setPlayMiniPlayer,\r\n setClearMiniPlayerSlice,\r\n} = userSlice.actions;\r\n\r\nexport default userSlice.reducer;\r\n","import { conditions } from \"./conditions/conditions\";\r\nimport { ConditionName } from \"./interfaces/enums\";\r\nimport store from \"./redux/store\";\r\nimport { setClearVideoDataSlice } 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 typeof window !== \"undefined\" && (\"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 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 splitQueryParamsFromStreamLink = (playerType: \"mainPlayer\" | \"miniPlayer\") => {\r\n let streamLink = \"\";\r\n if(playerType === \"mainPlayer\") streamLink = store.getState().videoData.details.stream_link!;\r\n else streamLink = store.getState().miniPlayer.details.stream_link!;\r\n let queryParams: string = \"\";\r\n if(streamLink) queryParams = streamLink.split(\"m3u8\")[1];\r\n if (queryParams) queryParams = `${queryParams}&uuid=${getUUID()}`;\r\n else queryParams = `?uuid=${getUUID()}`;\r\n return 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);\r\n\r\nexport const inViewPort = (element: any) => {\r\n if (element) {\r\n const positionLeft = element.offsetLeft - element.offsetWidth / 2;\r\n const positionRight = window.innerWidth - (element.offsetLeft + element.offsetWidth);\r\n if (positionLeft >= 0 && positionRight >= 0) return \"inViewport\";\r\n else if (positionLeft < 0) return \"OutViewPortFromLeft\";\r\n else if (positionRight < 0) return \"OutViewPortFromRight\";\r\n }\r\n};\r\n\r\nexport const compare = (a: any, b: any) => {\r\n if (a.time < b.time) return -1;\r\n if (a.time > b.time) return 1;\r\n return 0;\r\n};\r\n\r\nexport const cleanVTT = (vttText:string) => {\r\n // Remove all timestamps and alignment/position data\r\n vttText = vttText.replace(/\\d{2}:\\d{2}:\\d{2}\\.\\d{3} --> \\d{2}:\\d{2}:\\d{2}\\.\\d{3}.*\\n/g, '');\r\n \r\n // Remove all HTML tags like <c> and </c>\r\n vttText = vttText.replace(/<[^>]+>/g, '');\r\n \r\n // Remove extra blank lines\r\n vttText = vttText.replace(/\\n+/g, '\\n');\r\n \r\n // Trim leading and trailing whitespace\r\n vttText = vttText.trim();\r\n\r\n return vttText;\r\n}","import { isIOS, isTouchScreen, isTouchScreenLandscape, isTouchScreenPortrait } from \"../helpers\";\r\nimport { ConditionName, PlayerTypes } from \"../interfaces/enums\";\r\nimport store from \"../redux/store\";\r\n\r\nexport const conditions = (type: string) => {\r\n const { params, details, isValidAddress, isFetchDetails, isReady, subtitles, selectedSubtitle, markers, multiAudio } = store.getState().videoData;\r\n const { firstPlay, lock, canPlayVideo, manualQuality, activeElements, isLoading, isEnded, isAutoPlay, play, isFullScreen } =\r\n store.getState().controller;\r\n const { settingPopover, speedPopover, qualityLevelsPopover, markersListPopover } = store.getState().popovers;\r\n const { settings } = store.getState().user;\r\n const miniPlayer = store.getState().miniPlayer;\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 params.type !== \"static\" && 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 params.type !== \"static\" && !isIOS() && !isFullScreen;\r\n case ConditionName.showBanner:\r\n return firstPlay && (details.banner || params.banner);\r\n case ConditionName.showProgressbar:\r\n return !isIOS();\r\n case ConditionName.showPictureInPicture:\r\n return !isIOS() && !isTouchScreen();\r\n case ConditionName.showSubtitle:\r\n return !!selectedSubtitle;\r\n case ConditionName.showMarkerListPopover:\r\n return markersListPopover;\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.isPlayMiniPlayer:\r\n return miniPlayer.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 params.type === PlayerTypes.static;\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;\r\n case ConditionName.isPressKeyF:\r\n return (!lock && !firstPlay) || !!params.vhl_status;\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 && !!subtitles && subtitles.length > 0;\r\n case ConditionName.isSendTimelineLog:\r\n return params.type !== \"static\";\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.isMiniPlayerAndMainPlayerSame:\r\n return params.id === miniPlayer.params.id;\r\n case ConditionName.isVideoHighLighter:\r\n return !!params.vhl_status;\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.hasOnFinishedParams:\r\n return !!params.onFinished;\r\n case ConditionName.hasSubtitles:\r\n return !!subtitles && subtitles.length > 0;\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.hasMiniPlayer:\r\n return miniPlayer.params.id;\r\n case ConditionName.hasCurrentTimeParams:\r\n return params.currentTime !== undefined;\r\n case ConditionName.hasMarkers:\r\n return markers.length !== 0;\r\n case ConditionName.hasSubtitlesInParams:\r\n return params.subtitles && params.subtitles.length;\r\n case ConditionName.hasOnChangeCurrentTime:\r\n return !!params.onChangeCurrentTime;\r\n case ConditionName.hasMultiAudio:\r\n return multiAudio && !!multiAudio.length;\r\n case ConditionName.skeletonStatusInVhl:\r\n return params.vhl_status === \"skeleton\";\r\n case ConditionName.getDetails:\r\n return !!params.type && params.id;\r\n case ConditionName.getMarkers:\r\n return String(params.type) === \"vod\" && params.id && isFetchDetails;\r\n case ConditionName.canPlayVideo:\r\n return canPlayVideo;\r\n case ConditionName.setSubtitleFirstPlay:\r\n return details.subtitles && details.subtitles.length > 0 && !firstPlay && params.type !== \"static\";\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 mainPlayerVideoTag = () => document.getElementById(\"player-tag\") as HTMLVideoElement;\r\nexport const miniPlayerVideoTag = () => document.getElementById(\"mini-player-video-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 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, params } = 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 daaniHashCode: params.daaniHashCode\r\n };\r\n apiCaller({ url: API().logs, method: \"post\", data: _data });\r\n};\r\n","import axios from \"axios\";\r\nimport { IApiCaller, IAxiosConfig, IRetryPolicy } from \"../interfaces/interfaces\";\r\nimport store from \"../redux/store\";\r\nimport { wait } from \"../helpers\";\r\nimport { errorLogProvider } from \"../errorBoundary/errorBoundaryFunctions\";\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 errorLogProvider({ type: \"API-ERROR\", message: error.message ? error.message : \"\", statusCode:error.response && error.response.status ? error.response.status : undefined, url });\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\r\nexport function getAll(path: string, retryPolicy?: IRetryPolicy[], params?: any, retryCount: number = 1, maxRetryCount: number = 0) {\r\n return new Promise(async (resolve, reject) => {\r\n // Added reject to the Promise executor function.\r\n try {\r\n const url = new URL(path);\r\n const limit = 1000;\r\n if (params) {\r\n Object.keys(params).forEach((key) => {\r\n if (params[key]) {\r\n url.searchParams.set(key, params[key]);\r\n }\r\n });\r\n }\r\n url.searchParams.set(\"limit\", limit.toString());\r\n const response = await fetch(url.href);\r\n if (!response.ok) {\r\n // Check if the response was not ok (status not in the range 200-299).\r\n throw response;\r\n }\r\n const data = await response.json();\r\n const count = data.count;\r\n const requestCount = Math.ceil(count / limit) - 1;\r\n const promises: Array<Promise<any>> = [];\r\n for (let i = 0; i < requestCount; i++) {\r\n const offset = i * limit; // Fixed the offset calculation.\r\n url.searchParams.set(\"offset\", offset.toString());\r\n const promise: Promise<any> = fetch(url.href).then((res) => {\r\n if (res.ok) {\r\n return res.json();\r\n }\r\n return res.json().then((err) => Promise.reject(err));\r\n });\r\n promises.push(promise);\r\n }\r\n Promise.all(promises)\r\n .then((res) => {\r\n const results = res.flatMap((item) => item.results);\r\n resolve([...data.results, ...results]);\r\n })\r\n .catch(reject); // Added catch to handle any errors in the Promise.all.\r\n } catch (error: any) {\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.status >= retryPolicy[i].codeAbove!) ||\r\n (retryPolicy[i].codeBelow && error.status <= retryPolicy[i].codeBelow!)) &&\r\n (retryPolicy[i].excludeCodes.length === 0 || !retryPolicy[i].excludeCodes.includes(error.status)) &&\r\n (retryPolicy[i].includeCodes.length === 0 || retryPolicy[i].includeCodes.includes(error.status))\r\n ) {\r\n newMaxRetryCount = retryPolicy[i].count;\r\n newRetryDelay = retryPolicy[i].delay;\r\n break;\r\n }\r\n }\r\n if (retryCount < newMaxRetryCount) {\r\n await wait(newRetryDelay);\r\n getAll(path, retryPolicy, params, retryCount + 1, newMaxRetryCount);\r\n }\r\n }\r\n }\r\n });\r\n}","import { sendFluentLog } from \"../logs/fluentdLogger\";\r\nimport { ExceptionsLog } from \"../logs/logs\";\r\n\r\nexport const errorLogProvider = (data?: {type:string, message:string, statusCode?:number, url?:string}) => {\r\n if(data) sendFluentLog(ExceptionsLog(data.type, data.message, data.statusCode, data.url));\r\n}\r\n","import { conditions } from \"../conditions/conditions\";\r\nimport { mainPlayerVideoTag } 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.id,\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.id,\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: mainPlayerVideoTag().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.id,\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.id,\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.id\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.id\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.id\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.id\r\n };\r\n};\r\n\r\nexport const ExceptionsLog = (type: string, message: string, statusCode?:number, url?:string) => {\r\n return {\r\n category: \"player-error\",\r\n type,\r\n message,\r\n statusCode,\r\n url\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.id,\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.id,\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.id,\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.id!).origin,\r\n src: conditions(ConditionName.hasStreamLink) ? details.stream_link : params.id,\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.id,\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: mainPlayerVideoTag().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.id\r\n };\r\n};\r\n\r\nexport const eventMarkerClickLog = (markerId: Number, markerTime: Number, markerTitle: String, markerDescription: String, markerSticker: String) => {\r\n const { params, details } = store.getState().videoData;\r\n return {\r\n category: \"eventMarkerClick\",\r\n video_id: Number(params.id),\r\n markerId: markerId,\r\n markerTime: markerTime,\r\n markerTitle: markerTitle,\r\n markerDescription: markerDescription,\r\n markerSticker: markerSticker,\r\n type: params.type,\r\n src: conditions(ConditionName.hasStreamLink) ? details.stream_link : params.id,\r\n provider: params.provider\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 getMarkerUrl: (videoId:number) => `${getRestApiLiveUrl()}/v1/live/list-event/vod/${videoId}/`\r\n },\r\n videoTimelineLog: `${getFluentdUrl()}/video-timeline.log`,\r\n logs: `${getFluentdUrl()}/cafevideo-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\nexport const getEmojiUrl = () => (isNpmPackage ? envs.baseUrl : (process.env.baseUrl as string)) + \"/emoji\";\r\n\r\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunkVIQ5L73J_js=require('./chunk-VIQ5L73J.js'),chunkHME64W2O_js=require('./chunk-HME64W2O.js'),chunkWO4IQUGO_js=require('./chunk-WO4IQUGO.js');chunkWO4IQUGO_js.e();var fe=e=>{e.preventDefault();let t=(chunkHME64W2O_js.ia()||chunkHME64W2O_js.ja()).error;if(t)switch(t.code){case t.MEDIA_ERR_ABORTED:chunkHME64W2O_js.Fa({type:"videoTagError",message:"You aborted the video playback."});break;case t.MEDIA_ERR_NETWORK:chunkHME64W2O_js.Fa({type:"videoTagError",message:"A network error caused the video download to fail part-way."});break;case t.MEDIA_ERR_DECODE:chunkHME64W2O_js.Fa({type:"videoTagError",message:"The video playback was aborted due to a corruption problem or because the video used features your browser did not support."});break;case t.MEDIA_ERR_SRC_NOT_SUPPORTED:chunkHME64W2O_js.Fa({type:"videoTagError",message:"The video could not be loaded, either because the server or network failed or because the format is not supported."});break;default:chunkHME64W2O_js.Fa({type:"videoTagError",message:"An unknown error occurred."});break}else chunkHME64W2O_js.Fa({type:"videoTagError",message:"An error occurred, but the error object is not available."});},z=()=>{let e=chunkHME64W2O_js.P.dispatch,{params:t}=chunkHME64W2O_js.P.getState().videoData,a=n=>{n.requestFullScreen?n.requestFullScreen():n.mozRequestFullScreen?n.mozRequestFullScreen():n.webkitRequestFullScreen&&n.webkitRequestFullScreen();};e(chunkHME64W2O_js.I()),a(document.documentElement),e(chunkHME64W2O_js.h(t.fullscreen==="true"));},he=()=>{let e=".ts",t=XMLHttpRequest.prototype.open;XMLHttpRequest.prototype.open=function(){arguments[1].endsWith(e)&&(arguments[1]=arguments[1]+"?uuid="+chunkHME64W2O_js.Q()),t.apply(this,arguments);};},J=(e,t)=>{let a=chunkHME64W2O_js.P.dispatch;t.current=setInterval(()=>{let s=e.target.buffered.end(0)/chunkHME64W2O_js.ia().duration*100;a(chunkHME64W2O_js.i(s));},500);},ge=()=>{let e=chunkHME64W2O_js.V("mainPlayer");return {xhrSetup:(t,a)=>{a.split("m3u8")[1]||(a=`${a}${e}`),t.open("GET",a,true);},startLevel:-1,debug:false,enableWorker:true,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}}}}},xe=()=>{let e=chunkHME64W2O_js.V("miniPlayer");return {xhrSetup:(t,a)=>{a=`${a}${e}`,t.open("GET",a,true);},startLevel:1,debug:false,maxMaxBufferLength:60,playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1e3,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1e3,retryDelayMs:1e3,maxRetryDelayMs:1e3}}}}},Z=(e,t)=>{let a=chunkHME64W2O_js.P.dispatch,n=[],s=[];if(e.levels.map(i=>{n.push(i.attrs.RESOLUTION.split("x")[1].trim()),s.push(i.attrs.RESOLUTION);}),e.autoLevelCapping=chunkHME64W2O_js.$(s,window.innerWidth,window.innerHeight),a(chunkHME64W2O_js.d(n)),["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","msfullscreenchange"].forEach(i=>document.addEventListener(i,()=>{chunkHME64W2O_js.fa("isAutoQuality")&&(e.autoLevelCapping=chunkHME64W2O_js.$(s,window.innerWidth,window.innerHeight),e.nextLevel=-1);},false)),t.audioTracks.length>0){let i=t.audioTracks.sort(c=>c.default===true?-1:1);a(chunkHME64W2O_js.B(i));}},Te=(e,t)=>{let{details:a}=chunkHME64W2O_js.P.getState().videoData,n=a.stream_link;t.loadSource(n),t.on(e.Events.MANIFEST_PARSED,(s,i)=>Z(t,i));},G=(e,t,a)=>{if(t.frag.type!=="audio"){let n=chunkHME64W2O_js.P.dispatch,{settings:s}=chunkHME64W2O_js.P.getState().user,{qualityLevels:i,manualQuality:c,autoQuality:x}=chunkHME64W2O_js.P.getState().controller;chunkHME64W2O_js.fa("isAutoQuality")?chunkHME64W2O_js.fa("isAutoQuality")&&x===void 0?(e.nextLevel=-1,a(i[t.frag.level]),n(chunkHME64W2O_js.e(t.frag.level))):chunkHME64W2O_js.fa("isAutoQuality")&&(a(i[t.frag.level]),x!==t.frag.level&&n(chunkHME64W2O_js.e(t.frag.level))):(t.frag.level!==c&&(e.nextLevel=i[s.quality]?s.quality:-1),i[s.quality]?(n(chunkHME64W2O_js.m(s.quality)),n(chunkHME64W2O_js.e(void 0))):(a(i[t.frag.level]),n(chunkHME64W2O_js.e(t.frag.level)),n(chunkHME64W2O_js.J({...s,quality:-1}))));}},ve=e=>{let t=chunkHME64W2O_js.P.dispatch,n=e.mainForwardBufferInfo?.end/chunkHME64W2O_js.ia().duration*100;t(chunkHME64W2O_js.i(n));},De=(e,t,a)=>{let{params:n,multiAudio:s,selectedAudioId:i}=chunkHME64W2O_js.P.getState().videoData;s&&i!==void 0&&i!==e.audioTrack&&(e.audioTrack=i),n.type&&G(e,t,a);},Se=(e,t,a)=>{let{type:n}=chunkHME64W2O_js.P.getState().videoData.params;n&&G(e,t,a);},Pe=e=>{if(e.event!=="hlsAudioTrackLoading")return {type:"HLS_"+e.type,message:e.error.message}},be=(e,t)=>{let a=chunkHME64W2O_js.P.dispatch;e.preventDefault(),t.current=Date.now(),a(chunkHME64W2O_js.g(true));},Le=(e,t)=>{let a=chunkHME64W2O_js.P.dispatch;e.preventDefault(),t.current=0,a(chunkHME64W2O_js.g(true));},Me=(e,t)=>{let a=chunkHME64W2O_js.P.dispatch,{videoSettings:n}=chunkHME64W2O_js.P.getState().user,{params:s}=chunkHME64W2O_js.P.getState().videoData;e.preventDefault(),t.current=Date.now(),a(chunkHME64W2O_js.a(true)),chunkHME64W2O_js.fa("hasOnPlayParams")&&s.onPlay(),chunkHME64W2O_js.fa("isFirstPlay")&&(chunkHME64W2O_js.fa("hasCurrentTimeParams")||(chunkHME64W2O_js.ia().currentTime=n.time,a(chunkHME64W2O_js.c(n.time))),chunkHME64W2O_js.fa("hasFullScreenParams")&&z(),chunkHME64W2O_js.fa("isFullScreen")&&chunkVIQ5L73J_js.g(),a(chunkHME64W2O_js.w([Math.floor(chunkHME64W2O_js.ia().currentTime)]))),chunkHME64W2O_js.oa(chunkHME64W2O_js.Aa(true)),a(chunkHME64W2O_js.z(""));},Ee=(e,t,a,n,s,i,c,x)=>{let X=chunkHME64W2O_js.P.dispatch,{autoQuality:w,canPlayVideo:K,firstPlay:Y,qualityLevels:O}=chunkHME64W2O_js.P.getState().controller,{settings:V}=chunkHME64W2O_js.P.getState().user,A=V.quality===-1&&w?O[w]:O[V.quality],T=0;c.current&&(T=Date.now()-c.current),Y&&chunkHME64W2O_js.ia().played&&chunkHME64W2O_js.oa(chunkHME64W2O_js.Ba(t.current,Date.now()-a.current,n.current-a.current,Date.now()-s.current,s)),X(chunkHME64W2O_js.j(false)),K&&T>0&&A!==void 0&&(i.current=T,c.current=0,chunkHME64W2O_js.oa(chunkHME64W2O_js.Ca(T,A,s,e,x.current)),e.current=e.current+1,s.current=Date.now());},Re=e=>{let t=chunkHME64W2O_js.P.dispatch,{params:a}=chunkHME64W2O_js.P.getState().videoData;e.preventDefault(),chunkHME64W2O_js.oa(chunkHME64W2O_js.Aa(false)),t(chunkHME64W2O_js.a(false)),chunkHME64W2O_js.fa("hasOnPauseParams")&&a.onPause();},ke=e=>{let t=chunkHME64W2O_js.P.dispatch,{onChangeCurrentTime:a}=chunkHME64W2O_js.P.getState().videoData.params,{selectedSubtitle:n}=chunkHME64W2O_js.P.getState().videoData;e.preventDefault(),t(chunkHME64W2O_js.c(e.target.currentTime)),chunkHME64W2O_js.fa("hasOnChangeCurrentTime")&&a(e.target.currentTime),chunkHME64W2O_js.fa("hasActiveCue")&&t(chunkHME64W2O_js.z(n.activeCues[0].text));},Fe=e=>{let t=chunkHME64W2O_js.P.dispatch,{settings:a}=chunkHME64W2O_js.P.getState().user;if(e.preventDefault(),t(chunkHME64W2O_js.g(false)),t(chunkHME64W2O_js.n(true)),chunkHME64W2O_js.ia().volume=a.volume/100,t(chunkHME64W2O_js.b(e.target.duration)),chunkHME64W2O_js.fa("isIOS")){let n=Object.values(e.target.textTracks);n&&n.length&&t(chunkHME64W2O_js.y(Object.values(n[0]).length?n:[]));}else t(chunkHME64W2O_js.y(Object.values(e.target.textTracks)));},Ce=e=>{let t=chunkHME64W2O_js.P.dispatch,{params:a}=chunkHME64W2O_js.P.getState().videoData;e.preventDefault(),t(chunkHME64W2O_js.p(true)),t(chunkHME64W2O_js.f(true)),chunkVIQ5L73J_js.i(chunkHME64W2O_js.ia().duration),chunkHME64W2O_js.fa("hasOnFinishedParams")&&a.onFinished();},we=(e,t)=>{let a=chunkHME64W2O_js.P.dispatch;e.preventDefault(),t.current=Date.now(),a(chunkHME64W2O_js.j(false));},Oe=()=>{let e=chunkHME64W2O_js.P.dispatch;e(chunkHME64W2O_js.g(false));},Ve=e=>{let{onChangeCurrentTime:t}=chunkHME64W2O_js.P.getState().videoData.params,a=chunkHME64W2O_js.P.dispatch;e.preventDefault(),chunkHME64W2O_js.fa("hasOnChangeCurrentTime")&&t(e.target.currentTime),a(chunkHME64W2O_js.c(e.target.currentTime));},Ae=()=>{let e=chunkHME64W2O_js.P.dispatch,{params:t}=chunkHME64W2O_js.P.getState().videoData;e(chunkHME64W2O_js.p(true)),e(chunkHME64W2O_js.f(true)),chunkHME64W2O_js.fa("hasOnFinishedParams")&&t.onFinished();},Ie=e=>{let t=chunkHME64W2O_js.P.dispatch;e.preventDefault(),t(chunkHME64W2O_js.a(false));},qe=(e,t)=>{let a=chunkHME64W2O_js.P.dispatch;e.preventDefault(),a(chunkHME64W2O_js.a(true)),t.current=Date.now(),a(chunkHME64W2O_js.z("")),chunkHME64W2O_js.fa("isFirstPlay")&&chunkHME64W2O_js.fa("hasFullScreenParams")&&(z(),chunkHME64W2O_js.fa("isFullScreen")&&chunkVIQ5L73J_js.g());},Be=(e,t,a)=>{let n=chunkHME64W2O_js.P.dispatch,{firstPlay:s}=chunkHME64W2O_js.P.getState().controller;n(chunkHME64W2O_js.g(false)),s&&chunkHME64W2O_js.ia().played&&chunkHME64W2O_js.oa(chunkHME64W2O_js.Ba(Math.round(e.current),Date.now()-t.current,0,Date.now()-a.current,a)),n(chunkHME64W2O_js.j(false));},_e=e=>{let{onChangeCurrentTime:t}=chunkHME64W2O_js.P.getState().videoData.params,a=chunkHME64W2O_js.P.dispatch,{selectedSubtitle:n}=chunkHME64W2O_js.P.getState().videoData;e.preventDefault(),a(chunkHME64W2O_js.c(e.target.currentTime)),a(chunkHME64W2O_js.b(e.target.duration)),chunkHME64W2O_js.fa("hasOnChangeCurrentTime")&&t(e.target.currentTime),chunkHME64W2O_js.fa("hasActiveCue")&&a(chunkHME64W2O_js.z(n.activeCues[0].text));},Ne=e=>{let t=chunkHME64W2O_js.P.dispatch;if(e.preventDefault(),t(chunkHME64W2O_js.g(false)),t(chunkHME64W2O_js.n(true)),chunkHME64W2O_js.fa("isIOS")){let a=Object.values(e.target.textTracks);a&&a.length&&t(chunkHME64W2O_js.y(Object.values(a[0]).length?a:[]));}else t(chunkHME64W2O_js.y(Object.values(e.target.textTracks)));},Qe=(e,t)=>{e.preventDefault(),J(e,t);};var Ue=async e=>{let{stream_link:t}=chunkHME64W2O_js.P.getState().miniPlayer.details;e.loadSource(t);},We=()=>{chunkVIQ5L73J_js.i(chunkHME64W2O_js.ia().currentTime);};exports.A=Ne;exports.B=Qe;exports.C=Ue;exports.D=We;exports.a=fe;exports.b=he;exports.c=ge;exports.d=xe;exports.e=Z;exports.f=Te;exports.g=ve;exports.h=De;exports.i=Se;exports.j=Pe;exports.k=be;exports.l=Le;exports.m=Me;exports.n=Ee;exports.o=Re;exports.p=ke;exports.q=Fe;exports.r=Ce;exports.s=we;exports.t=Oe;exports.u=Ve;exports.v=Ae;exports.w=Ie;exports.x=qe;exports.y=Be;exports.z=_e;//# sourceMappingURL=chunk-IGINC4KI.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-IGINC4KI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/videoPlayerLibrary/helpers/redux/actions/playerCore.actions.ts"],"names":["init_cjs_shims","handleVideoError","event","error","mainPlayerVideoTag","miniPlayerVideoTag","errorLogProvider","handleAutoFullScreen","dispatch","store_default","params","launchFullScreen","element","setClearPopoversSlice","setIsFullScreen","appendQueryParamsToChunksIOS","fragmentExtension","originalOpen","getUUID","handleBufferedTime","intervalRef","bufferedTimeWidth","setBufferedTimeWidth","handleHlsConfig","streamLinkParams","splitQueryParamsFromStreamLink","xhr","url","handleMiniPlayerHlsConfig","handleManifestParsed","hls","data","qualityLevels","resolutions","level","highestResolutionSupported","setQualityLevels","eventType","conditions","sortedAudioTracks","a","setMultiAudio","handleMediaAttached","Hls","details","streamLink","_event","handleLevels","setQualityLevel","settings","manualQuality","autoQuality","setAutoQuality","setManualQuality","setUserSettings","handleFragBuffered","handleFragChanged","multiAudio","selectedAudioId","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","onChangeCurrentTime","selectedSubtitle","handleVideoCanPlay","setCanPlayVideo","setDuration","subtitle","setSubtitles","handleVideoEnded","setIsEnded","setActiveElements","handleVideoTimeline","handleIosVideoPlay","handleIosVideoPlaying","handleIosVideoTimeUpdate","handleIosVideoEnded","handleStaticVideoPause","handleStaticVideoPlay","handleStaticVideoPlaying","handleStaticVideoTimeUpdate","handleStaticVideoCanPlay","handleStaticVideoLoadedData","handleMiniPlayerMediaAttached","stream_link","handleVideoVisibilityChange"],"mappings":"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","file":"chunk-IGINC4KI.js","sourcesContent":["import { conditions } from \"../../conditions/conditions\";\r\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../constants\";\r\nimport { errorLogProvider } from \"../../errorBoundary/errorBoundaryFunctions\";\r\nimport { getUUID, highestResolutionSupported, splitQueryParamsFromStreamLink } 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 { setMultiAudio, setSubtitleText, setSubtitles, setVideoTimelines } from \"../slices/videoDataSlice\";\r\nimport store from \"../store\";\r\nimport { handleLockOrientation, handleVideoTimeline } from \"./controller.actions\";\r\n\r\nexport const handleVideoError = (event: any) => {\r\n event.preventDefault();\r\n // Access the error property from the video element\r\n let error = (mainPlayerVideoTag() || miniPlayerVideoTag()).error;\r\n if (error) {\r\n switch (error.code) {\r\n case error.MEDIA_ERR_ABORTED:\r\n errorLogProvider({ type: \"videoTagError\", message: \"You aborted the video playback.\" });\r\n break;\r\n case error.MEDIA_ERR_NETWORK:\r\n errorLogProvider({ type: \"videoTagError\", message: \"A network error caused the video download to fail part-way.\" });\r\n break;\r\n case error.MEDIA_ERR_DECODE:\r\n errorLogProvider({\r\n type: \"videoTagError\",\r\n message: \"The video playback was aborted due to a corruption problem or because the video used features your browser did not support.\",\r\n });\r\n break;\r\n case error.MEDIA_ERR_SRC_NOT_SUPPORTED:\r\n errorLogProvider({\r\n type: \"videoTagError\",\r\n message: \"The video could not be loaded, either because the server or network failed or because the format is not supported.\",\r\n });\r\n break;\r\n default:\r\n errorLogProvider({ type: \"videoTagError\", message: \"An unknown error occurred.\" });\r\n break;\r\n }\r\n } else {\r\n errorLogProvider({ type: \"videoTagError\", message: \"An error occurred, but the error object is not available.\" });\r\n }\r\n};\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 / mainPlayerVideoTag().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 streamLinkParams = splitQueryParamsFromStreamLink(\"mainPlayer\");\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\nexport const handleMiniPlayerHlsConfig = () => {\r\n const streamLinkParams = splitQueryParamsFromStreamLink(\"miniPlayer\");\r\n return {\r\n xhrSetup: (xhr: any, url: any) => {\r\n url = `${url}${streamLinkParams}`;\r\n xhr.open(\"GET\", url, true);\r\n },\r\n startLevel: 1,\r\n debug: false,\r\n maxMaxBufferLength: 60,\r\n playlistLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: 10000,\r\n maxLoadTimeMs: 20000,\r\n timeoutRetry: {\r\n maxNumRetry: 1000,\r\n retryDelayMs: 0,\r\n maxRetryDelayMs: 0,\r\n },\r\n errorRetry: {\r\n maxNumRetry: 1000,\r\n retryDelayMs: 1000,\r\n maxRetryDelayMs: 1000,\r\n },\r\n },\r\n },\r\n };\r\n};\r\n\r\n// ************* Manifest Handlers ************* //\r\n\r\nexport const handleManifestParsed = (hls: any, data: any) => {\r\n const dispatch = store.dispatch;\r\n let qualityLevels: any[] = [];\r\n let 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 () => {\r\n if (conditions(ConditionName.isAutoQuality)) {\r\n hls.autoLevelCapping = highestResolutionSupported(resolutions, window.innerWidth, window.innerHeight);\r\n hls.nextLevel = -1;\r\n }\r\n },\r\n false\r\n )\r\n );\r\n if (data.audioTracks.length > 0) {\r\n const sortedAudioTracks = data.audioTracks.sort((a: any) => (a.default === true ? -1 : 1));\r\n dispatch(setMultiAudio(sortedAudioTracks));\r\n }\r\n};\r\n\r\nexport const handleMediaAttached = (Hls: any, hls: any) => {\r\n const { 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! / mainPlayerVideoTag().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, multiAudio, selectedAudioId } = store.getState().videoData;\r\n\r\n if (multiAudio && selectedAudioId !== undefined && selectedAudioId !== hls.audioTrack) hls.audioTrack = selectedAudioId;\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 = (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.hasOnPlayParams)) params.onPlay!();\r\n if (conditions(ConditionName.isFirstPlay)) {\r\n if (!conditions(ConditionName.hasCurrentTimeParams)) {\r\n mainPlayerVideoTag().currentTime = videoSettings.time;\r\n dispatch(setCurrentTime(videoSettings.time));\r\n }\r\n if (conditions(ConditionName.hasFullScreenParams)) handleAutoFullScreen();\r\n if (conditions(ConditionName.isFullScreen)) handleLockOrientation();\r\n dispatch(setVideoTimelines([Math.floor(mainPlayerVideoTag().currentTime)]));\r\n }\r\n sendFluentLog(pausePlayLog(true));\r\n dispatch(setSubtitleText(\"\"));\r\n};\r\n\r\nexport const handleVideoPlaying = (\r\n loadingCounterRef: any,\r\n loadingDurationRef: any,\r\n initialWaitingDurationRef: any,\r\n bannerLoadingDurationRef: any,\r\n timerRef: any,\r\n waitingDurationRef: any,\r\n waitingTimerRef: any,\r\n videoEntranceTimeRef: any\r\n) => {\r\n const dispatch = store.dispatch;\r\n const { autoQuality, canPlayVideo, firstPlay, qualityLevels } = store.getState().controller;\r\n const { settings } = store.getState().user;\r\n const qualityLevel = settings.quality === -1 && autoQuality ? qualityLevels[autoQuality] : qualityLevels[settings.quality!];\r\n let waitingDuration = 0;\r\n if (!!waitingTimerRef.current) waitingDuration = Date.now() - waitingTimerRef.current;\r\n if (firstPlay && !!mainPlayerVideoTag().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.hasOnPauseParams)) params.onPause!();\r\n};\r\n\r\nexport const handleVideoTimeUpdate = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { onChangeCurrentTime } = store.getState().videoData.params;\r\n const { selectedSubtitle } = store.getState().videoData;\r\n event.preventDefault();\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n if (conditions(ConditionName.hasOnChangeCurrentTime)) onChangeCurrentTime!(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 mainPlayerVideoTag().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(mainPlayerVideoTag().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 { onChangeCurrentTime } = store.getState().videoData.params;\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n if (conditions(ConditionName.hasOnChangeCurrentTime)) onChangeCurrentTime!(event.target.currentTime);\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 dispatch(setSubtitleText(\"\"));\r\n\r\n if (conditions(ConditionName.isFirstPlay) && conditions(ConditionName.hasFullScreenParams)) {\r\n handleAutoFullScreen();\r\n if (conditions(ConditionName.isFullScreen)) handleLockOrientation();\r\n }\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 && !!mainPlayerVideoTag().played)\r\n sendFluentLog(\r\n initLog(Math.round(loadingDurationRef.current), Date.now() - initialWaitingDurationRef.current, 0, Date.now() - timerRef.current, timerRef)\r\n );\r\n dispatch(setFirstPlay(false));\r\n};\r\n\r\nexport const handleStaticVideoTimeUpdate = (event: any) => {\r\n const { onChangeCurrentTime } = store.getState().videoData.params;\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 dispatch(setDuration(event.target.duration));\r\n if (conditions(ConditionName.hasOnChangeCurrentTime)) onChangeCurrentTime!(event.target.currentTime);\r\n if (conditions(ConditionName.hasActiveCue)) dispatch(setSubtitleText((selectedSubtitle!.activeCues![0] as any).text));\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 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 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 handleMiniPlayerMediaAttached = async (hls: any) => {\r\n const { stream_link } = store.getState().miniPlayer.details;\r\n hls.loadSource(stream_link);\r\n};\r\n\r\nexport const handleVideoVisibilityChange = () => {\r\n handleVideoTimeline(mainPlayerVideoTag().currentTime);\r\n};\r\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {g as g$1,i as i$1}from'./chunk-PJVN7RKN.mjs';import {ia,ja,Fa,Q,V,P,$,d,fa,B,i,g,a,c,w,oa,Aa,z as z$1,Ba,j,Ca,n,b,y,p,f,e as e$1,m,J as J$1,I,h}from'./chunk-YZYTKWCY.mjs';import {e}from'./chunk-NXC6LNWJ.mjs';e();var he=e=>{e.preventDefault();let t=(ia()||ja()).error;if(t)switch(t.code){case t.MEDIA_ERR_ABORTED:Fa({type:"videoTagError",message:"You aborted the video playback."});break;case t.MEDIA_ERR_NETWORK:Fa({type:"videoTagError",message:"A network error caused the video download to fail part-way."});break;case t.MEDIA_ERR_DECODE:Fa({type:"videoTagError",message:"The video playback was aborted due to a corruption problem or because the video used features your browser did not support."});break;case t.MEDIA_ERR_SRC_NOT_SUPPORTED:Fa({type:"videoTagError",message:"The video could not be loaded, either because the server or network failed or because the format is not supported."});break;default:Fa({type:"videoTagError",message:"An unknown error occurred."});break}else Fa({type:"videoTagError",message:"An error occurred, but the error object is not available."});},z=()=>{let e=P.dispatch,{params:t}=P.getState().videoData,a=n=>{n.requestFullScreen?n.requestFullScreen():n.mozRequestFullScreen?n.mozRequestFullScreen():n.webkitRequestFullScreen&&n.webkitRequestFullScreen();};e(I()),a(document.documentElement),e(h(t.fullscreen==="true"));},ge=()=>{let e=".ts",t=XMLHttpRequest.prototype.open;XMLHttpRequest.prototype.open=function(){arguments[1].endsWith(e)&&(arguments[1]=arguments[1]+"?uuid="+Q()),t.apply(this,arguments);};},J=(e,t)=>{let a=P.dispatch;t.current=setInterval(()=>{let s=e.target.buffered.end(0)/ia().duration*100;a(i(s));},500);},xe=()=>{let e=V("mainPlayer");return {xhrSetup:(t,a)=>{a.split("m3u8")[1]||(a=`${a}${e}`),t.open("GET",a,true);},startLevel:-1,debug:false,enableWorker:true,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}}}}},Te=()=>{let e=V("miniPlayer");return {xhrSetup:(t,a)=>{a=`${a}${e}`,t.open("GET",a,true);},startLevel:1,debug:false,maxMaxBufferLength:60,playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1e3,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1e3,retryDelayMs:1e3,maxRetryDelayMs:1e3}}}}},Z=(e,t)=>{let a=P.dispatch,n=[],s=[];if(e.levels.map(i=>{n.push(i.attrs.RESOLUTION.split("x")[1].trim()),s.push(i.attrs.RESOLUTION);}),e.autoLevelCapping=$(s,window.innerWidth,window.innerHeight),a(d(n)),["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","msfullscreenchange"].forEach(i=>document.addEventListener(i,()=>{fa("isAutoQuality")&&(e.autoLevelCapping=$(s,window.innerWidth,window.innerHeight),e.nextLevel=-1);},false)),t.audioTracks.length>0){let i=t.audioTracks.sort(c=>c.default===true?-1:1);a(B(i));}},ve=(e,t)=>{let{details:a}=P.getState().videoData,n=a.stream_link;t.loadSource(n),t.on(e.Events.MANIFEST_PARSED,(s,i)=>Z(t,i));},G=(e,t,a)=>{if(t.frag.type!=="audio"){let n=P.dispatch,{settings:s}=P.getState().user,{qualityLevels:i,manualQuality:c,autoQuality:x}=P.getState().controller;fa("isAutoQuality")?fa("isAutoQuality")&&x===void 0?(e.nextLevel=-1,a(i[t.frag.level]),n(e$1(t.frag.level))):fa("isAutoQuality")&&(a(i[t.frag.level]),x!==t.frag.level&&n(e$1(t.frag.level))):(t.frag.level!==c&&(e.nextLevel=i[s.quality]?s.quality:-1),i[s.quality]?(n(m(s.quality)),n(e$1(void 0))):(a(i[t.frag.level]),n(e$1(t.frag.level)),n(J$1({...s,quality:-1}))));}},De=e=>{let t=P.dispatch,n=e.mainForwardBufferInfo?.end/ia().duration*100;t(i(n));},Se=(e,t,a)=>{let{params:n,multiAudio:s,selectedAudioId:i}=P.getState().videoData;s&&i!==void 0&&i!==e.audioTrack&&(e.audioTrack=i),n.type&&G(e,t,a);},Pe=(e,t,a)=>{let{type:n}=P.getState().videoData.params;n&&G(e,t,a);},be=e=>{if(e.event!=="hlsAudioTrackLoading")return {type:"HLS_"+e.type,message:e.error.message}},Le=(e,t)=>{let a=P.dispatch;e.preventDefault(),t.current=Date.now(),a(g(true));},Me=(e,t)=>{let a=P.dispatch;e.preventDefault(),t.current=0,a(g(true));},Ee=(e,t)=>{let a$1=P.dispatch,{videoSettings:n}=P.getState().user,{params:s}=P.getState().videoData;e.preventDefault(),t.current=Date.now(),a$1(a(true)),fa("hasOnPlayParams")&&s.onPlay(),fa("isFirstPlay")&&(fa("hasCurrentTimeParams")||(ia().currentTime=n.time,a$1(c(n.time))),fa("hasFullScreenParams")&&z(),fa("isFullScreen")&&g$1(),a$1(w([Math.floor(ia().currentTime)]))),oa(Aa(true)),a$1(z$1(""));},Re=(e,t,a,n,s,i,c,x)=>{let X=P.dispatch,{autoQuality:w,canPlayVideo:K,firstPlay:Y,qualityLevels:O}=P.getState().controller,{settings:V}=P.getState().user,A=V.quality===-1&&w?O[w]:O[V.quality],T=0;c.current&&(T=Date.now()-c.current),Y&&ia().played&&oa(Ba(t.current,Date.now()-a.current,n.current-a.current,Date.now()-s.current,s)),X(j(false)),K&&T>0&&A!==void 0&&(i.current=T,c.current=0,oa(Ca(T,A,s,e,x.current)),e.current=e.current+1,s.current=Date.now());},ke=e=>{let t=P.dispatch,{params:a$1}=P.getState().videoData;e.preventDefault(),oa(Aa(false)),t(a(false)),fa("hasOnPauseParams")&&a$1.onPause();},Fe=e=>{let t=P.dispatch,{onChangeCurrentTime:a}=P.getState().videoData.params,{selectedSubtitle:n}=P.getState().videoData;e.preventDefault(),t(c(e.target.currentTime)),fa("hasOnChangeCurrentTime")&&a(e.target.currentTime),fa("hasActiveCue")&&t(z$1(n.activeCues[0].text));},Ce=e=>{let t=P.dispatch,{settings:a}=P.getState().user;if(e.preventDefault(),t(g(false)),t(n(true)),ia().volume=a.volume/100,t(b(e.target.duration)),fa("isIOS")){let n=Object.values(e.target.textTracks);n&&n.length&&t(y(Object.values(n[0]).length?n:[]));}else t(y(Object.values(e.target.textTracks)));},we=e=>{let t=P.dispatch,{params:a}=P.getState().videoData;e.preventDefault(),t(p(true)),t(f(true)),i$1(ia().duration),fa("hasOnFinishedParams")&&a.onFinished();},Oe=(e,t)=>{let a=P.dispatch;e.preventDefault(),t.current=Date.now(),a(j(false));},Ve=()=>{let e=P.dispatch;e(g(false));},Ae=e=>{let{onChangeCurrentTime:t}=P.getState().videoData.params,a=P.dispatch;e.preventDefault(),fa("hasOnChangeCurrentTime")&&t(e.target.currentTime),a(c(e.target.currentTime));},Ie=()=>{let e=P.dispatch,{params:t}=P.getState().videoData;e(p(true)),e(f(true)),fa("hasOnFinishedParams")&&t.onFinished();},qe=e=>{let t=P.dispatch;e.preventDefault(),t(a(false));},Be=(e,t)=>{let a$1=P.dispatch;e.preventDefault(),a$1(a(true)),t.current=Date.now(),a$1(z$1("")),fa("isFirstPlay")&&fa("hasFullScreenParams")&&(z(),fa("isFullScreen")&&g$1());},_e=(e,t,a)=>{let n=P.dispatch,{firstPlay:s}=P.getState().controller;n(g(false)),s&&ia().played&&oa(Ba(Math.round(e.current),Date.now()-t.current,0,Date.now()-a.current,a)),n(j(false));},Ne=e=>{let{onChangeCurrentTime:t}=P.getState().videoData.params,a=P.dispatch,{selectedSubtitle:n}=P.getState().videoData;e.preventDefault(),a(c(e.target.currentTime)),a(b(e.target.duration)),fa("hasOnChangeCurrentTime")&&t(e.target.currentTime),fa("hasActiveCue")&&a(z$1(n.activeCues[0].text));},Qe=e=>{let t=P.dispatch;if(e.preventDefault(),t(g(false)),t(n(true)),fa("isIOS")){let a=Object.values(e.target.textTracks);a&&a.length&&t(y(Object.values(a[0]).length?a:[]));}else t(y(Object.values(e.target.textTracks)));},Ue=(e,t)=>{e.preventDefault(),J(e,t);};var We=async e=>{let{stream_link:t}=P.getState().miniPlayer.details;e.loadSource(t);},He=()=>{i$1(ia().currentTime);};export{Qe as A,Ue as B,We as C,He as D,he as a,ge as b,xe as c,Te as d,Z as e,ve as f,De as g,Se as h,Pe as i,be as j,Le as k,Me as l,Ee as m,Re as n,ke as o,Fe as p,Ce as q,we as r,Oe as s,Ve as t,Ae as u,Ie as v,qe as w,Be as x,_e as y,Ne as z};//# sourceMappingURL=chunk-J6UYAT2V.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-J6UYAT2V.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/videoPlayerLibrary/helpers/redux/actions/playerCore.actions.ts"],"names":["init_esm_shims","handleVideoError","event","error","mainPlayerVideoTag","miniPlayerVideoTag","errorLogProvider","handleAutoFullScreen","dispatch","store_default","params","launchFullScreen","element","setClearPopoversSlice","setIsFullScreen","appendQueryParamsToChunksIOS","fragmentExtension","originalOpen","getUUID","handleBufferedTime","intervalRef","bufferedTimeWidth","setBufferedTimeWidth","handleHlsConfig","streamLinkParams","splitQueryParamsFromStreamLink","xhr","url","handleMiniPlayerHlsConfig","handleManifestParsed","hls","data","qualityLevels","resolutions","level","highestResolutionSupported","setQualityLevels","eventType","conditions","sortedAudioTracks","a","setMultiAudio","handleMediaAttached","Hls","details","streamLink","_event","handleLevels","setQualityLevel","settings","manualQuality","autoQuality","setAutoQuality","setManualQuality","setUserSettings","handleFragBuffered","handleFragChanged","multiAudio","selectedAudioId","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","onChangeCurrentTime","selectedSubtitle","handleVideoCanPlay","setCanPlayVideo","setDuration","subtitle","setSubtitles","handleVideoEnded","setIsEnded","setActiveElements","handleVideoTimeline","handleIosVideoPlay","handleIosVideoPlaying","handleIosVideoTimeUpdate","handleIosVideoEnded","handleStaticVideoPause","handleStaticVideoPlay","handleStaticVideoPlaying","handleStaticVideoTimeUpdate","handleStaticVideoCanPlay","handleStaticVideoLoadedData","handleMiniPlayerMediaAttached","stream_link","handleVideoVisibilityChange"],"mappings":"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","file":"chunk-J6UYAT2V.mjs","sourcesContent":["import { conditions } from \"../../conditions/conditions\";\r\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../constants\";\r\nimport { errorLogProvider } from \"../../errorBoundary/errorBoundaryFunctions\";\r\nimport { getUUID, highestResolutionSupported, splitQueryParamsFromStreamLink } 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 { setMultiAudio, setSubtitleText, setSubtitles, setVideoTimelines } from \"../slices/videoDataSlice\";\r\nimport store from \"../store\";\r\nimport { handleLockOrientation, handleVideoTimeline } from \"./controller.actions\";\r\n\r\nexport const handleVideoError = (event: any) => {\r\n event.preventDefault();\r\n // Access the error property from the video element\r\n let error = (mainPlayerVideoTag() || miniPlayerVideoTag()).error;\r\n if (error) {\r\n switch (error.code) {\r\n case error.MEDIA_ERR_ABORTED:\r\n errorLogProvider({ type: \"videoTagError\", message: \"You aborted the video playback.\" });\r\n break;\r\n case error.MEDIA_ERR_NETWORK:\r\n errorLogProvider({ type: \"videoTagError\", message: \"A network error caused the video download to fail part-way.\" });\r\n break;\r\n case error.MEDIA_ERR_DECODE:\r\n errorLogProvider({\r\n type: \"videoTagError\",\r\n message: \"The video playback was aborted due to a corruption problem or because the video used features your browser did not support.\",\r\n });\r\n break;\r\n case error.MEDIA_ERR_SRC_NOT_SUPPORTED:\r\n errorLogProvider({\r\n type: \"videoTagError\",\r\n message: \"The video could not be loaded, either because the server or network failed or because the format is not supported.\",\r\n });\r\n break;\r\n default:\r\n errorLogProvider({ type: \"videoTagError\", message: \"An unknown error occurred.\" });\r\n break;\r\n }\r\n } else {\r\n errorLogProvider({ type: \"videoTagError\", message: \"An error occurred, but the error object is not available.\" });\r\n }\r\n};\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 / mainPlayerVideoTag().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 streamLinkParams = splitQueryParamsFromStreamLink(\"mainPlayer\");\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\nexport const handleMiniPlayerHlsConfig = () => {\r\n const streamLinkParams = splitQueryParamsFromStreamLink(\"miniPlayer\");\r\n return {\r\n xhrSetup: (xhr: any, url: any) => {\r\n url = `${url}${streamLinkParams}`;\r\n xhr.open(\"GET\", url, true);\r\n },\r\n startLevel: 1,\r\n debug: false,\r\n maxMaxBufferLength: 60,\r\n playlistLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: 10000,\r\n maxLoadTimeMs: 20000,\r\n timeoutRetry: {\r\n maxNumRetry: 1000,\r\n retryDelayMs: 0,\r\n maxRetryDelayMs: 0,\r\n },\r\n errorRetry: {\r\n maxNumRetry: 1000,\r\n retryDelayMs: 1000,\r\n maxRetryDelayMs: 1000,\r\n },\r\n },\r\n },\r\n };\r\n};\r\n\r\n// ************* Manifest Handlers ************* //\r\n\r\nexport const handleManifestParsed = (hls: any, data: any) => {\r\n const dispatch = store.dispatch;\r\n let qualityLevels: any[] = [];\r\n let 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 () => {\r\n if (conditions(ConditionName.isAutoQuality)) {\r\n hls.autoLevelCapping = highestResolutionSupported(resolutions, window.innerWidth, window.innerHeight);\r\n hls.nextLevel = -1;\r\n }\r\n },\r\n false\r\n )\r\n );\r\n if (data.audioTracks.length > 0) {\r\n const sortedAudioTracks = data.audioTracks.sort((a: any) => (a.default === true ? -1 : 1));\r\n dispatch(setMultiAudio(sortedAudioTracks));\r\n }\r\n};\r\n\r\nexport const handleMediaAttached = (Hls: any, hls: any) => {\r\n const { 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! / mainPlayerVideoTag().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, multiAudio, selectedAudioId } = store.getState().videoData;\r\n\r\n if (multiAudio && selectedAudioId !== undefined && selectedAudioId !== hls.audioTrack) hls.audioTrack = selectedAudioId;\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 = (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.hasOnPlayParams)) params.onPlay!();\r\n if (conditions(ConditionName.isFirstPlay)) {\r\n if (!conditions(ConditionName.hasCurrentTimeParams)) {\r\n mainPlayerVideoTag().currentTime = videoSettings.time;\r\n dispatch(setCurrentTime(videoSettings.time));\r\n }\r\n if (conditions(ConditionName.hasFullScreenParams)) handleAutoFullScreen();\r\n if (conditions(ConditionName.isFullScreen)) handleLockOrientation();\r\n dispatch(setVideoTimelines([Math.floor(mainPlayerVideoTag().currentTime)]));\r\n }\r\n sendFluentLog(pausePlayLog(true));\r\n dispatch(setSubtitleText(\"\"));\r\n};\r\n\r\nexport const handleVideoPlaying = (\r\n loadingCounterRef: any,\r\n loadingDurationRef: any,\r\n initialWaitingDurationRef: any,\r\n bannerLoadingDurationRef: any,\r\n timerRef: any,\r\n waitingDurationRef: any,\r\n waitingTimerRef: any,\r\n videoEntranceTimeRef: any\r\n) => {\r\n const dispatch = store.dispatch;\r\n const { autoQuality, canPlayVideo, firstPlay, qualityLevels } = store.getState().controller;\r\n const { settings } = store.getState().user;\r\n const qualityLevel = settings.quality === -1 && autoQuality ? qualityLevels[autoQuality] : qualityLevels[settings.quality!];\r\n let waitingDuration = 0;\r\n if (!!waitingTimerRef.current) waitingDuration = Date.now() - waitingTimerRef.current;\r\n if (firstPlay && !!mainPlayerVideoTag().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.hasOnPauseParams)) params.onPause!();\r\n};\r\n\r\nexport const handleVideoTimeUpdate = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { onChangeCurrentTime } = store.getState().videoData.params;\r\n const { selectedSubtitle } = store.getState().videoData;\r\n event.preventDefault();\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n if (conditions(ConditionName.hasOnChangeCurrentTime)) onChangeCurrentTime!(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 mainPlayerVideoTag().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(mainPlayerVideoTag().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 { onChangeCurrentTime } = store.getState().videoData.params;\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n if (conditions(ConditionName.hasOnChangeCurrentTime)) onChangeCurrentTime!(event.target.currentTime);\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 dispatch(setSubtitleText(\"\"));\r\n\r\n if (conditions(ConditionName.isFirstPlay) && conditions(ConditionName.hasFullScreenParams)) {\r\n handleAutoFullScreen();\r\n if (conditions(ConditionName.isFullScreen)) handleLockOrientation();\r\n }\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 && !!mainPlayerVideoTag().played)\r\n sendFluentLog(\r\n initLog(Math.round(loadingDurationRef.current), Date.now() - initialWaitingDurationRef.current, 0, Date.now() - timerRef.current, timerRef)\r\n );\r\n dispatch(setFirstPlay(false));\r\n};\r\n\r\nexport const handleStaticVideoTimeUpdate = (event: any) => {\r\n const { onChangeCurrentTime } = store.getState().videoData.params;\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 dispatch(setDuration(event.target.duration));\r\n if (conditions(ConditionName.hasOnChangeCurrentTime)) onChangeCurrentTime!(event.target.currentTime);\r\n if (conditions(ConditionName.hasActiveCue)) dispatch(setSubtitleText((selectedSubtitle!.activeCues![0] as any).text));\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 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 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 handleMiniPlayerMediaAttached = async (hls: any) => {\r\n const { stream_link } = store.getState().miniPlayer.details;\r\n hls.loadSource(stream_link);\r\n};\r\n\r\nexport const handleVideoVisibilityChange = () => {\r\n handleVideoTimeline(mainPlayerVideoTag().currentTime);\r\n};\r\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {P,ia,K}from'./chunk-YZYTKWCY.mjs';import {e}from'./chunk-NXC6LNWJ.mjs';e();var f=()=>{let{params:r}=P.getState().videoData,t=ia().currentTime;if(t!==0){let d=ia().duration,i={video_id:+r.id,video_type:2,time:t===d?0:Math.floor(ia().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=P.dispatch,{params:t}=P.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(K({time:o.time}));}};export{f as a,g as b};//# sourceMappingURL=chunk-KIC75NSX.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-KIC75NSX.mjs.map
|