cafe-video-player 3.0.13 → 3.0.15
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-T2LVURER.mjs → VideoHighLighter-JYEEHSUY.mjs} +2 -2
- package/{VideoHighLighter-T2LVURER.mjs.map → VideoHighLighter-JYEEHSUY.mjs.map} +1 -1
- package/{VideoHighLighter-OBD2IGA6.js → VideoHighLighter-SIOPEIR2.js} +2 -2
- package/{VideoHighLighter-OBD2IGA6.js.map → VideoHighLighter-SIOPEIR2.js.map} +1 -1
- package/{backwardForward-ZUVULGGJ.mjs → backwardForward-3X63XNNJ.mjs} +2 -2
- package/{backwardForward-ZUVULGGJ.mjs.map → backwardForward-3X63XNNJ.mjs.map} +1 -1
- package/{backwardForward-S6ZHVC75.js → backwardForward-HTLSZBXC.js} +2 -2
- package/{backwardForward-S6ZHVC75.js.map → backwardForward-HTLSZBXC.js.map} +1 -1
- package/chunk-3TPEXSZV.js +2 -0
- package/{chunk-ZWGZGWEB.js.map → chunk-3TPEXSZV.js.map} +1 -1
- package/{chunk-SKRDEKL2.mjs → chunk-4NYDCAYH.mjs} +4 -4
- package/{chunk-SKRDEKL2.mjs.map → chunk-4NYDCAYH.mjs.map} +1 -1
- package/chunk-5UGSCO4K.js +3 -0
- package/{chunk-BFE2RKVK.js.map → chunk-5UGSCO4K.js.map} +1 -1
- package/{chunk-4XKL6TLO.mjs → chunk-6LGS5W4B.mjs} +2 -2
- package/{chunk-4XKL6TLO.mjs.map → chunk-6LGS5W4B.mjs.map} +1 -1
- package/chunk-7FHLAPSR.js +2 -0
- package/chunk-7FHLAPSR.js.map +1 -0
- package/{chunk-CCO6GDG2.mjs → chunk-HOAJ3EFI.mjs} +3 -3
- package/{chunk-CCO6GDG2.mjs.map → chunk-HOAJ3EFI.mjs.map} +1 -1
- package/chunk-HZASW2B2.js +2 -0
- package/{chunk-DJ6KVZRK.js.map → chunk-HZASW2B2.js.map} +1 -1
- package/{chunk-WFHA2FPC.js → chunk-IKMA6LUH.js} +5 -5
- package/{chunk-WFHA2FPC.js.map → chunk-IKMA6LUH.js.map} +1 -1
- package/chunk-JU5IQH3S.mjs +2 -0
- package/chunk-JU5IQH3S.mjs.map +1 -0
- package/{chunk-IBV5SFIT.js → chunk-K4YPVDEE.js} +2 -2
- package/{chunk-IBV5SFIT.js.map → chunk-K4YPVDEE.js.map} +1 -1
- package/{chunk-QM3W7EYS.js → chunk-KSZ35TPK.js} +2 -2
- package/{chunk-QM3W7EYS.js.map → chunk-KSZ35TPK.js.map} +1 -1
- package/{chunk-BC4366GN.mjs → chunk-NLCBOGTI.mjs} +2 -2
- package/{chunk-BC4366GN.mjs.map → chunk-NLCBOGTI.mjs.map} +1 -1
- package/{chunk-GYUGYOVP.mjs → chunk-P4O3IKAQ.mjs} +2 -2
- package/{chunk-GYUGYOVP.mjs.map → chunk-P4O3IKAQ.mjs.map} +1 -1
- package/{chunk-73KLK4QU.mjs → chunk-QFADUEGX.mjs} +2 -2
- package/{chunk-73KLK4QU.mjs.map → chunk-QFADUEGX.mjs.map} +1 -1
- package/{chunk-PKXJEXKI.mjs → chunk-UL5LQB3G.mjs} +2 -2
- package/{chunk-PKXJEXKI.mjs.map → chunk-UL5LQB3G.mjs.map} +1 -1
- package/{chunk-U3VFRU6R.js → chunk-VUHZVVMS.js} +2 -2
- package/{chunk-U3VFRU6R.js.map → chunk-VUHZVVMS.js.map} +1 -1
- package/chunk-XCFESDIY.js +2 -0
- package/chunk-XCFESDIY.js.map +1 -0
- package/chunk-ZI6O72OM.mjs +2 -0
- package/chunk-ZI6O72OM.mjs.map +1 -0
- package/index.js +1 -1
- package/index.mjs +1 -1
- package/{nonStaticVideoTag-6OHMSJEH.js → nonStaticVideoTag-5HEUBWAN.js} +2 -2
- package/{nonStaticVideoTag-6OHMSJEH.js.map → nonStaticVideoTag-5HEUBWAN.js.map} +1 -1
- package/{nonStaticVideoTag-J6JNATM6.mjs → nonStaticVideoTag-P47FI6UV.mjs} +2 -2
- package/{nonStaticVideoTag-J6JNATM6.mjs.map → nonStaticVideoTag-P47FI6UV.mjs.map} +1 -1
- package/package.json +1 -1
- package/staticPlayer-JLBPTEWE.js +2 -0
- package/{staticPlayer-TNS4JFRP.js.map → staticPlayer-JLBPTEWE.js.map} +1 -1
- package/{staticPlayer-2IO6XEKM.mjs → staticPlayer-W6TBVD5A.mjs} +2 -2
- package/{staticPlayer-2IO6XEKM.mjs.map → staticPlayer-W6TBVD5A.mjs.map} +1 -1
- package/{staticVideoTag-2YYZBRPY.mjs → staticVideoTag-JOPHGL3R.mjs} +2 -2
- package/{staticVideoTag-2YYZBRPY.mjs.map → staticVideoTag-JOPHGL3R.mjs.map} +1 -1
- package/{staticVideoTag-VLNCYNKV.js → staticVideoTag-OZZU5MWF.js} +2 -2
- package/{staticVideoTag-VLNCYNKV.js.map → staticVideoTag-OZZU5MWF.js.map} +1 -1
- package/videoArea-6UF3GOX7.mjs +2 -0
- package/{videoArea-2F2NDD76.mjs.map → videoArea-6UF3GOX7.mjs.map} +1 -1
- package/videoArea-J6ITRRDQ.js +2 -0
- package/{videoArea-35ABV3CM.js.map → videoArea-J6ITRRDQ.js.map} +1 -1
- package/videoPlayerStyles.css +0 -8
- package/{vodPlayer-JTS4WVOB.mjs → vodPlayer-BJ7FLFUB.mjs} +2 -2
- package/{vodPlayer-JTS4WVOB.mjs.map → vodPlayer-BJ7FLFUB.mjs.map} +1 -1
- package/{vodPlayer-337TYSU4.js → vodPlayer-PFFEBJFX.js} +2 -2
- package/{vodPlayer-337TYSU4.js.map → vodPlayer-PFFEBJFX.js.map} +1 -1
- package/chunk-BFE2RKVK.js +0 -3
- package/chunk-DJ6KVZRK.js +0 -2
- package/chunk-OGCKLRYP.js +0 -2
- package/chunk-OGCKLRYP.js.map +0 -1
- package/chunk-WU4GN63P.mjs +0 -2
- package/chunk-WU4GN63P.mjs.map +0 -1
- package/chunk-Y7BIYTQP.mjs +0 -2
- package/chunk-Y7BIYTQP.mjs.map +0 -1
- package/chunk-ZSSCZTW3.js +0 -2
- package/chunk-ZSSCZTW3.js.map +0 -1
- package/chunk-ZWGZGWEB.js +0 -2
- package/staticPlayer-TNS4JFRP.js +0 -2
- package/videoArea-2F2NDD76.mjs +0 -2
- package/videoArea-35ABV3CM.js +0 -2
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
'use strict';var chunkVUHZVVMS_js=require('./chunk-VUHZVVMS.js'),chunkAN6JAJSI_js=require('./chunk-AN6JAJSI.js'),M=require('axios');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var M__default=/*#__PURE__*/_interopDefault(M);chunkAN6JAJSI_js.e();chunkAN6JAJSI_js.e();var L=t=>{let{params:s}=chunkVUHZVVMS_js.Aa.getState().videoData;return chunkVUHZVVMS_js.v().vod.getVodUrl+(t||s.id)},a={url:"",maxRetryCount:0,headers:{},retryPolicy:[],errorCallback:void 0},F=t=>(a.url=L(t),a.maxRetryCount=3,a.retryPolicy=[{codeAbove:500,codeBelow:null,excludeCodes:[],includeCodes:[409],delay:1,count:3},{codeAbove:null,codeBelow:404,excludeCodes:[403,402,401,400],includeCodes:[],delay:10,count:6}],a),A=t=>(F(t),a);var it=async t=>{let s=chunkVUHZVVMS_js.Aa.dispatch;try{let e=await chunkVUHZVVMS_js.Q({...A(t)});if(chunkVUHZVVMS_js.na(e.status)){if(await M__default.default.head("https://"+chunkVUHZVVMS_js.pa(e.data.hls_links)+e.data.path),t)return s(chunkVUHZVVMS_js.S(e.data));N(e.data),!chunkVUHZVVMS_js.t("hasRawSubtitles")&&e?.data?.subtitles&&U(e.data.subtitles);}else throw new Error(JSON.stringify({status:e.status,message:e.data}))}catch{s(chunkVUHZVVMS_js.d(true)),s(chunkVUHZVVMS_js.e(false));}},N=async t=>{let s=chunkVUHZVVMS_js.Aa.dispatch,e={...t,subtitles:void 0,stream_link:!!t.stream_link&&chunkVUHZVVMS_js.ja("https://"+chunkVUHZVVMS_js.pa(t.hls_links)+t.path)};s(chunkVUHZVVMS_js.a(e)),s(chunkVUHZVVMS_js.d(true)),s(chunkVUHZVVMS_js.e(true));},U=async t=>{let s=chunkVUHZVVMS_js.Aa.dispatch,e=await G(t);s(chunkVUHZVVMS_js.h(e));},at=t=>{let s=chunkVUHZVVMS_js.Aa.dispatch,{subtitles:e,selectedSubtitle:l,params:r}=chunkVUHZVVMS_js.Aa.getState().videoData,i=chunkVUHZVVMS_js.x();if(!i)return null;let k=()=>{let o=Array.from(i.textTracks).find(u=>u.mode==="showing");o&&(o.mode="disabled");},b=(o,u)=>{let _=chunkVUHZVVMS_js.Aa.getState().videoData.rawSubtitles;r.onSubtitleStatusChange?.(o?_?.find(B=>B.lang===o)??null:null,u);},P=o=>{o&&(o.mode="showing",s(chunkVUHZVVMS_js.k(o)),chunkVUHZVVMS_js.w(chunkVUHZVVMS_js.N(o.language)),b(o.language,true));};if(l&&!t){k(),s(chunkVUHZVVMS_js.k(void 0)),chunkVUHZVVMS_js.w(chunkVUHZVVMS_js.N("empty")),b(null,false);return}let V=t??"fa",R=e.find(o=>o.language===V)??i?.textTracks?.[0];P(R);},G=async t=>{let s=t.map(async r=>{try{return (await fetch(r.url,{method:"HEAD"})).ok?r:null}catch(i){return console.error("Error fetching subtitle:",r.url,i),null}}),l=(await Promise.all(s)).filter(r=>r!==null);return l.length?l:null};
|
|
2
|
+
exports.a=it;exports.b=at;exports.c=G;//# sourceMappingURL=chunk-5UGSCO4K.js.map
|
|
3
|
+
//# sourceMappingURL=chunk-5UGSCO4K.js.map
|
|
@@ -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","conditions","handleRawSubtitles","setIsFetchDetails","setIsValidAddress","data","info","addUuidToSrc","setInfo","subtitles","validSubtitles","filterValidSubtitles","setRawSubtitles","handleSubtitle","activeSubtitle","selectedSubtitle","videoTag","mainPlayerVideoTag","disableCurrentSubtitle","activeTrack","track","notifyStatusChange","lang","enabled","sub","showSubtitle","setSelectedSubtitle","sendFluentLog","subtitleLog","targetLang","subtitleToShow","s","checks","subtitle","err"],"mappings":"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","file":"chunk-BFE2RKVK.js","sourcesContent":["import { apiCaller, getAll } from \"../../services/apiCaller\";\nimport { setInfo, setIsFetchDetails, setIsValidAddress, setRawSubtitles, setSelectedSubtitle } from \"../slices/videoDataSlice\";\nimport store from \"../store\";\nimport { addUuidToSrc, responseValidator, weighted_random } from \"../../helpers\";\nimport axios from \"axios\";\nimport { handleDetailsConfig } from \"../../getDetailsConfigs\";\nimport { subtitleLog } from \"../../logs/logs\";\nimport { sendFluentLog } from \"../../logs/fluentdLogger\";\nimport { mainPlayerVideoTag } from \"../../constants\";\nimport { setDetailsMiniPlayer } from \"../slices/miniPlayerSlice\";\nimport { conditions } from \"../../conditions/conditions\";\nimport { ConditionName } from \"../../interfaces/enums\";\nimport { ISubtitle } from \"../../interfaces/interfaces\";\n\nexport const getVodDetails = async (videoId?: string) => {\n const dispatch = store.dispatch;\n\n try {\n const d = await apiCaller({ ...handleDetailsConfig(videoId) });\n if (responseValidator(d.status)) {\n await axios.head(\"https://\" + weighted_random(d.data.hls_links) + d.data.path);\n if (videoId) return dispatch(setDetailsMiniPlayer(d.data));\n detailSetter(d.data);\n if (!conditions(ConditionName.hasRawSubtitles) && d?.data?.subtitles) handleRawSubtitles(d.data.subtitles);\n } else throw new Error(JSON.stringify({ status: d.status, message: d.data }));\n } catch (error: any) {\n dispatch(setIsFetchDetails(true));\n dispatch(setIsValidAddress(false));\n }\n};\n\nexport const detailSetter = async (data: any) => {\n const dispatch = store.dispatch;\n let info = {\n ...data,\n subtitles: undefined,\n stream_link: !!data.stream_link && addUuidToSrc(\"https://\" + weighted_random(data.hls_links) + data.path),\n };\n\n dispatch(setInfo(info));\n dispatch(setIsFetchDetails(true));\n dispatch(setIsValidAddress(true));\n};\n\nconst handleRawSubtitles = async (subtitles: ISubtitle[]) => {\n const dispatch = store.dispatch;\n const validSubtitles = await filterValidSubtitles(subtitles);\n dispatch(setRawSubtitles(validSubtitles));\n};\n\nexport const handleSubtitle = (activeSubtitle?: string) => {\n const dispatch = store.dispatch;\n const { subtitles, selectedSubtitle, params } = store.getState().videoData;\n const videoTag = mainPlayerVideoTag();\n\n if (!videoTag) return null;\n\n const disableCurrentSubtitle = () => {\n const activeTrack = Array.from(videoTag.textTracks).find((track) => track.mode === \"showing\");\n if (activeTrack) activeTrack.mode = \"disabled\";\n };\n\n const notifyStatusChange = (lang: string | null, enabled: boolean) => {\n const subtitles = store.getState().videoData.rawSubtitles;\n params.onSubtitleStatusChange?.(lang ? (subtitles?.find((sub) => sub.lang === lang) ?? null) : null, enabled);\n };\n\n const showSubtitle = (track: TextTrack | undefined) => {\n if (!track) return;\n track.mode = \"showing\";\n dispatch(setSelectedSubtitle(track));\n sendFluentLog(subtitleLog(track.language));\n notifyStatusChange(track.language, true);\n };\n if (selectedSubtitle && !activeSubtitle) {\n disableCurrentSubtitle();\n dispatch(setSelectedSubtitle(undefined));\n sendFluentLog(subtitleLog(\"empty\"));\n notifyStatusChange(null, false);\n return;\n }\n\n const targetLang = activeSubtitle ?? \"fa\";\n const foundSubtitle = subtitles.find((s) => s.language === targetLang);\n const subtitleToShow = foundSubtitle ?? (videoTag?.textTracks?.[0] as TextTrack | undefined);\n\n showSubtitle(subtitleToShow);\n};\n\nexport const filterValidSubtitles = async (subtitles: ISubtitle[]): Promise<ISubtitle[] | null> => {\n const checks = subtitles.map(async (subtitle) => {\n try {\n const response = await fetch(subtitle.url, { method: \"HEAD\" });\n if (response.ok) return subtitle;\n else return null;\n } catch (err) {\n console.error(`Error fetching subtitle:`, subtitle.url, err);\n return null;\n }\n });\n\n const results = await Promise.all(checks);\n const validSubtitles = results.filter((s): s is ISubtitle => s !== null);\n return validSubtitles.length ? validSubtitles : null;\n};\n\nexport const getAllGeneralMarker = async (url: string) => {\n const response: any = await getAll(url, [\n {\n codeAbove: 400,\n codeBelow: null,\n excludeCodes: [],\n includeCodes: [],\n delay: 2,\n count: 3,\n },\n ]);\n return response;\n};\n","import { IDetailsConfig } from \"./interfaces/interfaces\";\nimport store from \"./redux/store\";\nimport { API } from \"./services/services\";\n\nexport const detailAPI = (id?: string) => {\n const { params } = store.getState().videoData;\n return API().vod.getVodUrl + (id ? id : params.id);\n};\n\nconst detailsConfig: IDetailsConfig = {\n url: \"\",\n maxRetryCount: 0,\n headers: {},\n retryPolicy: [],\n errorCallback: undefined\n};\n\nconst vodDetailsConfig = (videoId?:string) => {\n detailsConfig.url = detailAPI(videoId);\n detailsConfig.maxRetryCount = 3;\n detailsConfig.retryPolicy = [\n {\n codeAbove: 500,\n codeBelow: null,\n excludeCodes: [],\n includeCodes: [409],\n delay: 1,\n count: 3\n },\n {\n codeAbove: null,\n codeBelow: 404,\n excludeCodes: [403, 402, 401, 400],\n includeCodes: [],\n delay: 10,\n count: 6\n }\n ];\n return detailsConfig;\n};\n\n\nexport const handleDetailsConfig = (videoId?: string) => {\n vodDetailsConfig(videoId);\n return detailsConfig;\n};\n"]}
|
|
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","conditions","handleRawSubtitles","setIsFetchDetails","setIsValidAddress","data","info","addUuidToSrc","setInfo","subtitles","validSubtitles","filterValidSubtitles","setRawSubtitles","handleSubtitle","activeSubtitle","selectedSubtitle","videoTag","mainPlayerVideoTag","disableCurrentSubtitle","activeTrack","track","notifyStatusChange","lang","enabled","sub","showSubtitle","setSelectedSubtitle","sendFluentLog","subtitleLog","targetLang","subtitleToShow","s","checks","subtitle","err"],"mappings":"oPAAAA,kBAAAA,EAAAA,CCAAA,kBAAAA,EAAAA,CAIO,IAAMC,EAAaC,CAAAA,EAAgB,CACtC,GAAM,CAAE,MAAA,CAAAC,CAAO,EAAIC,mBAAAA,CAAM,QAAA,EAAS,CAAE,SAAA,CACpC,OAAOC,kBAAAA,GAAM,GAAA,CAAI,SAAA,EAAaH,CAAAA,EAAUC,CAAAA,CAAO,EAAA,CACnD,CAAA,CAEMG,EAAgC,CAClC,GAAA,CAAK,EAAA,CACL,aAAA,CAAe,CAAA,CACf,OAAA,CAAS,EAAC,CACV,WAAA,CAAa,EAAC,CACd,aAAA,CAAe,MACnB,EAEMC,CAAAA,CAAoBC,CAAAA,GACtBF,CAAAA,CAAc,GAAA,CAAML,CAAAA,CAAUO,CAAO,CAAA,CACrCF,CAAAA,CAAc,aAAA,CAAgB,CAAA,CAC9BA,CAAAA,CAAc,WAAA,CAAc,CACxB,CACI,UAAW,GAAA,CACX,SAAA,CAAW,IAAA,CACX,YAAA,CAAc,EAAC,CACf,aAAc,CAAC,GAAG,CAAA,CAClB,KAAA,CAAO,CAAA,CACP,KAAA,CAAO,CACX,CAAA,CACA,CACI,SAAA,CAAW,IAAA,CACX,SAAA,CAAW,GAAA,CACX,YAAA,CAAc,CAAC,GAAA,CAAK,GAAA,CAAK,GAAA,CAAK,GAAG,CAAA,CACjC,YAAA,CAAc,EAAC,CACf,KAAA,CAAO,EAAA,CACP,KAAA,CAAO,CACX,CACJ,EACOA,CAAAA,CAAAA,CAIEG,CAAAA,CAAuBD,CAAAA,GAChCD,CAAAA,CAAiBC,CAAO,CAAA,CACjBF,GD9BJ,IAAMI,EAAAA,CAAgB,MAAOF,CAAAA,EAAqB,CACvD,IAAMG,CAAAA,CAAWP,mBAAAA,CAAM,QAAA,CAEvB,GAAI,CACF,IAAMQ,CAAAA,CAAI,MAAMC,mBAAU,CAAE,GAAGJ,CAAAA,CAAoBD,CAAO,CAAE,CAAC,EAC7D,GAAIM,mBAAAA,CAAkBF,CAAAA,CAAE,MAAM,CAAA,CAAG,CAE/B,GADA,MAAMG,kBAAAA,CAAM,IAAA,CAAK,UAAA,CAAaC,mBAAAA,CAAgBJ,CAAAA,CAAE,KAAK,SAAS,CAAA,CAAIA,CAAAA,CAAE,IAAA,CAAK,IAAI,CAAA,CACzEJ,EAAS,OAAOG,CAAAA,CAASM,kBAAAA,CAAqBL,CAAAA,CAAE,IAAI,CAAC,EACzDM,CAAAA,CAAaN,CAAAA,CAAE,IAAI,CAAA,CACf,CAACO,kBAAAA,CAAAA,iBAAwC,GAAKP,CAAAA,EAAG,IAAA,EAAM,SAAA,EAAWQ,CAAAA,CAAmBR,CAAAA,CAAE,IAAA,CAAK,SAAS,EAC3G,CAAA,KAAO,MAAM,IAAI,KAAA,CAAM,IAAA,CAAK,SAAA,CAAU,CAAE,MAAA,CAAQA,CAAAA,CAAE,MAAA,CAAQ,OAAA,CAASA,CAAAA,CAAE,IAAK,CAAC,CAAC,CAC9E,CAAA,KAAqB,CACnBD,CAAAA,CAASU,kBAAAA,CAAkB,IAAI,CAAC,CAAA,CAChCV,CAAAA,CAASW,kBAAAA,CAAkB,KAAK,CAAC,EACnC,CACF,CAAA,CAEaJ,CAAAA,CAAe,MAAOK,CAAAA,EAAc,CAC/C,IAAMZ,EAAWP,mBAAAA,CAAM,QAAA,CACnBoB,CAAAA,CAAO,CACT,GAAGD,CAAAA,CACH,UAAW,MAAA,CACX,WAAA,CAAa,CAAC,CAACA,CAAAA,CAAK,WAAA,EAAeE,oBAAa,UAAA,CAAaT,mBAAAA,CAAgBO,CAAAA,CAAK,SAAS,CAAA,CAAIA,CAAAA,CAAK,IAAI,CAC1G,CAAA,CAEAZ,CAAAA,CAASe,kBAAAA,CAAQF,CAAI,CAAC,CAAA,CACtBb,EAASU,kBAAAA,CAAkB,IAAI,CAAC,CAAA,CAChCV,CAAAA,CAASW,kBAAAA,CAAkB,IAAI,CAAC,EAClC,CAAA,CAEMF,CAAAA,CAAqB,MAAOO,CAAAA,EAA2B,CAC3D,IAAMhB,CAAAA,CAAWP,mBAAAA,CAAM,QAAA,CACjBwB,CAAAA,CAAiB,MAAMC,EAAqBF,CAAS,CAAA,CAC3DhB,CAAAA,CAASmB,kBAAAA,CAAgBF,CAAc,CAAC,EAC1C,CAAA,CAEaG,EAAAA,CAAkBC,CAAAA,EAA4B,CACzD,IAAMrB,CAAAA,CAAWP,oBAAM,QAAA,CACjB,CAAE,SAAA,CAAAuB,CAAAA,CAAW,gBAAA,CAAAM,CAAAA,CAAkB,OAAA9B,CAAO,CAAA,CAAIC,mBAAAA,CAAM,QAAA,EAAS,CAAE,SAAA,CAC3D8B,CAAAA,CAAWC,kBAAAA,EAAmB,CAEpC,GAAI,CAACD,CAAAA,CAAU,OAAO,IAAA,CAEtB,IAAME,CAAAA,CAAyB,IAAM,CACnC,IAAMC,CAAAA,CAAc,KAAA,CAAM,KAAKH,CAAAA,CAAS,UAAU,CAAA,CAAE,IAAA,CAAMI,CAAAA,EAAUA,CAAAA,CAAM,OAAS,SAAS,CAAA,CACxFD,CAAAA,GAAaA,CAAAA,CAAY,IAAA,CAAO,UAAA,EACtC,CAAA,CAEME,CAAAA,CAAqB,CAACC,CAAAA,CAAqBC,CAAAA,GAAqB,CACpE,IAAMd,CAAAA,CAAYvB,oBAAM,QAAA,EAAS,CAAE,SAAA,CAAU,YAAA,CAC7CD,CAAAA,CAAO,sBAAA,GAAyBqC,EAAQb,CAAAA,EAAW,IAAA,CAAMe,CAAAA,EAAQA,CAAAA,CAAI,IAAA,GAASF,CAAI,GAAK,IAAA,CAAQ,IAAA,CAAMC,CAAO,EAC9G,CAAA,CAEME,CAAAA,CAAgBL,CAAAA,EAAiC,CAChDA,CAAAA,GACLA,CAAAA,CAAM,IAAA,CAAO,SAAA,CACb3B,CAAAA,CAASiC,kBAAAA,CAAoBN,CAAK,CAAC,CAAA,CACnCO,kBAAAA,CAAcC,kBAAAA,CAAYR,CAAAA,CAAM,QAAQ,CAAC,CAAA,CACzCC,CAAAA,CAAmBD,CAAAA,CAAM,QAAA,CAAU,IAAI,CAAA,EACzC,EACA,GAAIL,CAAAA,EAAoB,CAACD,CAAAA,CAAgB,CACvCI,CAAAA,GACAzB,CAAAA,CAASiC,kBAAAA,CAAoB,MAAS,CAAC,CAAA,CACvCC,kBAAAA,CAAcC,mBAAY,OAAO,CAAC,CAAA,CAClCP,CAAAA,CAAmB,IAAA,CAAM,KAAK,EAC9B,MACF,CAEA,IAAMQ,CAAAA,CAAaf,CAAAA,EAAkB,IAAA,CAE/BgB,EADgBrB,CAAAA,CAAU,IAAA,CAAMsB,CAAAA,EAAMA,CAAAA,CAAE,QAAA,GAAaF,CAAU,CAAA,EAC5Bb,CAAAA,EAAU,UAAA,GAAa,CAAC,CAAA,CAEjES,CAAAA,CAAaK,CAAc,EAC7B,EAEanB,CAAAA,CAAuB,MAAOF,CAAAA,EAAwD,CACjG,IAAMuB,CAAAA,CAASvB,EAAU,GAAA,CAAI,MAAOwB,CAAAA,EAAa,CAC/C,GAAI,CAEF,QADiB,MAAM,KAAA,CAAMA,CAAAA,CAAS,GAAA,CAAK,CAAE,MAAA,CAAQ,MAAO,CAAC,CAAA,EAChD,EAAA,CAAWA,CAAAA,CACZ,IACd,CAAA,MAASC,CAAAA,CAAK,CACZ,OAAA,OAAA,CAAQ,KAAA,CAAM,0BAAA,CAA4BD,CAAAA,CAAS,GAAA,CAAKC,CAAG,EACpD,IACT,CACF,CAAC,CAAA,CAGKxB,CAAAA,CAAAA,CADU,MAAM,QAAQ,GAAA,CAAIsB,CAAM,CAAA,EACT,MAAA,CAAQD,CAAAA,EAAsBA,CAAAA,GAAM,IAAI,CAAA,CACvE,OAAOrB,CAAAA,CAAe,MAAA,CAASA,CAAAA,CAAiB,IAClD","file":"chunk-5UGSCO4K.js","sourcesContent":["import { apiCaller, getAll } from \"../../services/apiCaller\";\nimport { setInfo, setIsFetchDetails, setIsValidAddress, setRawSubtitles, setSelectedSubtitle } from \"../slices/videoDataSlice\";\nimport store from \"../store\";\nimport { addUuidToSrc, responseValidator, weighted_random } from \"../../helpers\";\nimport axios from \"axios\";\nimport { handleDetailsConfig } from \"../../getDetailsConfigs\";\nimport { subtitleLog } from \"../../logs/logs\";\nimport { sendFluentLog } from \"../../logs/fluentdLogger\";\nimport { mainPlayerVideoTag } from \"../../constants\";\nimport { setDetailsMiniPlayer } from \"../slices/miniPlayerSlice\";\nimport { conditions } from \"../../conditions/conditions\";\nimport { ConditionName } from \"../../interfaces/enums\";\nimport { ISubtitle } from \"../../interfaces/interfaces\";\n\nexport const getVodDetails = async (videoId?: string) => {\n const dispatch = store.dispatch;\n\n try {\n const d = await apiCaller({ ...handleDetailsConfig(videoId) });\n if (responseValidator(d.status)) {\n await axios.head(\"https://\" + weighted_random(d.data.hls_links) + d.data.path);\n if (videoId) return dispatch(setDetailsMiniPlayer(d.data));\n detailSetter(d.data);\n if (!conditions(ConditionName.hasRawSubtitles) && d?.data?.subtitles) handleRawSubtitles(d.data.subtitles);\n } else throw new Error(JSON.stringify({ status: d.status, message: d.data }));\n } catch (error: any) {\n dispatch(setIsFetchDetails(true));\n dispatch(setIsValidAddress(false));\n }\n};\n\nexport const detailSetter = async (data: any) => {\n const dispatch = store.dispatch;\n let info = {\n ...data,\n subtitles: undefined,\n stream_link: !!data.stream_link && addUuidToSrc(\"https://\" + weighted_random(data.hls_links) + data.path),\n };\n\n dispatch(setInfo(info));\n dispatch(setIsFetchDetails(true));\n dispatch(setIsValidAddress(true));\n};\n\nconst handleRawSubtitles = async (subtitles: ISubtitle[]) => {\n const dispatch = store.dispatch;\n const validSubtitles = await filterValidSubtitles(subtitles);\n dispatch(setRawSubtitles(validSubtitles));\n};\n\nexport const handleSubtitle = (activeSubtitle?: string) => {\n const dispatch = store.dispatch;\n const { subtitles, selectedSubtitle, params } = store.getState().videoData;\n const videoTag = mainPlayerVideoTag();\n\n if (!videoTag) return null;\n\n const disableCurrentSubtitle = () => {\n const activeTrack = Array.from(videoTag.textTracks).find((track) => track.mode === \"showing\");\n if (activeTrack) activeTrack.mode = \"disabled\";\n };\n\n const notifyStatusChange = (lang: string | null, enabled: boolean) => {\n const subtitles = store.getState().videoData.rawSubtitles;\n params.onSubtitleStatusChange?.(lang ? (subtitles?.find((sub) => sub.lang === lang) ?? null) : null, enabled);\n };\n\n const showSubtitle = (track: TextTrack | undefined) => {\n if (!track) return;\n track.mode = \"showing\";\n dispatch(setSelectedSubtitle(track));\n sendFluentLog(subtitleLog(track.language));\n notifyStatusChange(track.language, true);\n };\n if (selectedSubtitle && !activeSubtitle) {\n disableCurrentSubtitle();\n dispatch(setSelectedSubtitle(undefined));\n sendFluentLog(subtitleLog(\"empty\"));\n notifyStatusChange(null, false);\n return;\n }\n\n const targetLang = activeSubtitle ?? \"fa\";\n const foundSubtitle = subtitles.find((s) => s.language === targetLang);\n const subtitleToShow = foundSubtitle ?? (videoTag?.textTracks?.[0] as TextTrack | undefined);\n\n showSubtitle(subtitleToShow);\n};\n\nexport const filterValidSubtitles = async (subtitles: ISubtitle[]): Promise<ISubtitle[] | null> => {\n const checks = subtitles.map(async (subtitle) => {\n try {\n const response = await fetch(subtitle.url, { method: \"HEAD\" });\n if (response.ok) return subtitle;\n else return null;\n } catch (err) {\n console.error(`Error fetching subtitle:`, subtitle.url, err);\n return null;\n }\n });\n\n const results = await Promise.all(checks);\n const validSubtitles = results.filter((s): s is ISubtitle => s !== null);\n return validSubtitles.length ? validSubtitles : null;\n};\n\nexport const getAllGeneralMarker = async (url: string) => {\n const response: any = await getAll(url, [\n {\n codeAbove: 400,\n codeBelow: null,\n excludeCodes: [],\n includeCodes: [],\n delay: 2,\n count: 3,\n },\n ]);\n return response;\n};\n","import { IDetailsConfig } from \"./interfaces/interfaces\";\nimport store from \"./redux/store\";\nimport { API } from \"./services/services\";\n\nexport const detailAPI = (id?: string) => {\n const { params } = store.getState().videoData;\n return API().vod.getVodUrl + (id ? id : params.id);\n};\n\nconst detailsConfig: IDetailsConfig = {\n url: \"\",\n maxRetryCount: 0,\n headers: {},\n retryPolicy: [],\n errorCallback: undefined\n};\n\nconst vodDetailsConfig = (videoId?:string) => {\n detailsConfig.url = detailAPI(videoId);\n detailsConfig.maxRetryCount = 3;\n detailsConfig.retryPolicy = [\n {\n codeAbove: 500,\n codeBelow: null,\n excludeCodes: [],\n includeCodes: [409],\n delay: 1,\n count: 3\n },\n {\n codeAbove: null,\n codeBelow: 404,\n excludeCodes: [403, 402, 401, 400],\n includeCodes: [],\n delay: 10,\n count: 6\n }\n ];\n return detailsConfig;\n};\n\n\nexport const handleDetailsConfig = (videoId?: string) => {\n vodDetailsConfig(videoId);\n return detailsConfig;\n};\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {b as b$1}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import {b as b$1}from'./chunk-HOAJ3EFI.mjs';import {t,x,sa,ta,i}from'./chunk-NLCBOGTI.mjs';import {e,z as z$1,A,h}from'./chunk-4QMWBTB5.mjs';import {useEffect}from'react';import {shallowEqual}from'react-redux';e();var b=()=>{let a=z$1(),{params:r}=A(({videoData:{params:o}})=>({params:o}),shallowEqual);useEffect(()=>{t("hasCurrentTimeParams")&&(x().currentTime=r.currentTime,a(h(r.currentTime)));},[r.currentTime]);},z=b;e();var q=()=>{let{rawSubtitles:a}=A(({videoData:{rawSubtitles:r}})=>({rawSubtitles:r}),shallowEqual);useEffect(()=>{let r=x().getElementsByTagName("track");for(let o=0;o<r.length;o++)r[o].addEventListener("cuechange",u=>{let c=u.target.track,l;c.activeCues&&(l=c.activeCues[0]),l&&(setTimeout(()=>{let n=document.getElementById("subtitle-id");n&&(n.style.display="block");},300),l.onexit=()=>{let n=document.getElementById("subtitle-id");n&&(n.style.display="none");});});},[a]);},U=q;e();var I=()=>{let a=z$1(),{rawSubtitles:r}=A(({videoData:{rawSubtitles:o}})=>({rawSubtitles:o}),shallowEqual);useEffect(()=>{let o=x();if(!o)return;let u=sa(r||[]),c=Array.from(o.querySelectorAll("track")),l=new Map(c.map(t=>[t.srclang,t]));c.forEach(t=>{!u.some(e=>e.lang===t.srclang)&&t.isConnected&&t.remove();}),u.forEach(t=>{let p=l.get(t.lang);if(!p){let e=document.createElement("track");e.kind="subtitles",e.src=t.url,e.srclang=t.lang,e.label=t.title||ta(t.lang),e.default=!!t.is_default,o.appendChild(e);return}if(p.src!==t.url){let e=document.createElement("track");e.kind="subtitles",e.src=t.url,e.srclang=t.lang,e.label=t.title||ta(t.lang),e.default=!!t.is_default,p.replaceWith(e);}});let n=setTimeout(()=>{let t=Array.from(o.textTracks);a(i(t));},200);return ()=>clearTimeout(n)},[r,a]);},at=I;e();var N=()=>{let{activeSubtitle:a}=A(({videoData:r})=>({activeSubtitle:r.params?.activeSubtitle}),shallowEqual);useEffect(()=>{t("hasActiveSubtitleInParams")&&setTimeout(()=>b$1(a),500);},[a]);},ft=N;export{z as a,U as b,at as c,ft as d};//# sourceMappingURL=chunk-6LGS5W4B.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-6LGS5W4B.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/videoPlayerLibrary/helpers/hooks/useJumpToCurrentTime.tsx","../src/videoPlayerLibrary/helpers/hooks/useHideSubtitle.tsx","../src/videoPlayerLibrary/helpers/hooks/useAppendSubtitle.tsx","../src/videoPlayerLibrary/helpers/hooks/useActiveSubtitleAutomatic.tsx"],"names":["init_esm_shims","useJumpToCurrentTime","dispatch","useAppDispatch","params","useAppSelector","shallowEqual","useEffect","conditions","mainPlayerVideoTag","setCurrentTime","useJumpToCurrentTime_default","useHideSubtitle","rawSubtitles","tracks","i","event","track","activeCue","el","useHideSubtitle_default","useAppendSubtitle","videoEl","newSubtitles","sortLanguages","existingTracks","existingMap","s","subtitle","existing","trackEl","getSubtitleLabel","newTrack","timeoutId","setSubtitles","useAppendSubtitle_default","useActiveSubtitleAutomatic","activeSubtitle","videoData","handleSubtitle","useActiveSubtitleAutomatic_default"],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/videoPlayerLibrary/helpers/hooks/useJumpToCurrentTime.tsx","../src/videoPlayerLibrary/helpers/hooks/useHideSubtitle.tsx","../src/videoPlayerLibrary/helpers/hooks/useAppendSubtitle.tsx","../src/videoPlayerLibrary/helpers/hooks/useActiveSubtitleAutomatic.tsx"],"names":["init_esm_shims","useJumpToCurrentTime","dispatch","useAppDispatch","params","useAppSelector","shallowEqual","useEffect","conditions","mainPlayerVideoTag","setCurrentTime","useJumpToCurrentTime_default","useHideSubtitle","rawSubtitles","tracks","i","event","track","activeCue","el","useHideSubtitle_default","useAppendSubtitle","videoEl","newSubtitles","sortLanguages","existingTracks","existingMap","s","subtitle","existing","trackEl","getSubtitleLabel","newTrack","timeoutId","setSubtitles","useAppendSubtitle_default","useActiveSubtitleAutomatic","activeSubtitle","videoData","handleSubtitle","useActiveSubtitleAutomatic_default"],"mappings":"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","file":"chunk-6LGS5W4B.mjs","sourcesContent":["import { useEffect } from \"react\";\nimport { conditions } from \"../conditions/conditions\";\nimport { ConditionName } from \"../interfaces/enums\";\nimport { mainPlayerVideoTag } from \"../constants\";\nimport { useAppDispatch, useAppSelector } from \"../redux/hooks\";\nimport { setCurrentTime } from \"../redux/slices/controllerSlice\";\nimport { shallowEqual } from \"react-redux\";\n\nconst useJumpToCurrentTime = () => {\n const dispatch = useAppDispatch();\n const { params } = useAppSelector(({ videoData: { params } }) => ({ params }), shallowEqual);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => {\n if (conditions(ConditionName.hasCurrentTimeParams)) {\n mainPlayerVideoTag().currentTime = params.currentTime!;\n dispatch(setCurrentTime(params.currentTime!));\n }\n }, [params.currentTime]);\n}\n\nexport default useJumpToCurrentTime;","import { useEffect } from \"react\";\nimport { useAppSelector } from \"../redux/hooks\";\nimport { shallowEqual } from \"react-redux\";\nimport { mainPlayerVideoTag } from \"../constants\";\n\nconst useHideSubtitle = () => {\n const { rawSubtitles } = useAppSelector(\n ({ videoData: { rawSubtitles } }) => ({ rawSubtitles }),\n shallowEqual\n );\n\n useEffect(() => {\n const tracks = mainPlayerVideoTag().getElementsByTagName(\"track\");\n for (let i = 0; i < tracks.length; i++) {\n tracks[i].addEventListener(\"cuechange\", (event) => {\n const track = (event.target! as any).track;\n let activeCue: any;\n if (track.activeCues) activeCue = track.activeCues[0];\n if (activeCue) {\n setTimeout(() => {\n const el = document.getElementById(\"subtitle-id\");\n if (el) el.style.display = \"block\";\n }, 300);\n\n activeCue.onexit = () => {\n const el = document.getElementById(\"subtitle-id\");\n if (el) el.style.display = \"none\";\n };\n }\n });\n }\n }, [rawSubtitles]);\n};\n\nexport default useHideSubtitle;\n","import { useEffect } from \"react\";\nimport { mainPlayerVideoTag } from \"../constants\";\nimport { useAppDispatch, useAppSelector } from \"../redux/hooks\";\nimport { shallowEqual } from \"react-redux\";\nimport { getSubtitleLabel, sortLanguages } from \"../helpers\";\nimport { setSubtitles } from \"../redux/slices/videoDataSlice\";\n\nconst useAppendSubtitle = () => {\n const dispatch = useAppDispatch();\n const { rawSubtitles } = useAppSelector(({ videoData: { rawSubtitles } }) => ({ rawSubtitles }), shallowEqual);\n\n useEffect(() => {\n const videoEl = mainPlayerVideoTag();\n if (!videoEl) return;\n\n const newSubtitles = sortLanguages(rawSubtitles || []);\n const existingTracks = Array.from(videoEl.querySelectorAll(\"track\"));\n const existingMap = new Map(existingTracks.map((t) => [t.srclang, t]));\n existingTracks.forEach((track) => {\n const stillExists = newSubtitles.some((s: any) => s.lang === track.srclang);\n if (!stillExists && track.isConnected) track.remove();\n });\n\n newSubtitles.forEach((subtitle: any) => {\n const existing = existingMap.get(subtitle.lang);\n\n if (!existing) {\n const trackEl = document.createElement(\"track\");\n trackEl.kind = \"subtitles\";\n trackEl.src = subtitle.url;\n trackEl.srclang = subtitle.lang;\n trackEl.label = subtitle.title || (getSubtitleLabel(subtitle.lang) as any);\n trackEl.default = !!subtitle.is_default;\n videoEl.appendChild(trackEl);\n return;\n }\n\n if (existing.src !== subtitle.url) {\n const newTrack = document.createElement(\"track\");\n newTrack.kind = \"subtitles\";\n newTrack.src = subtitle.url;\n newTrack.srclang = subtitle.lang;\n\n newTrack.label = subtitle.title || (getSubtitleLabel(subtitle.lang) as any);\n newTrack.default = !!subtitle.is_default;\n\n existing.replaceWith(newTrack);\n }\n });\n\n const timeoutId = setTimeout(() => {\n const tracks = Array.from(videoEl.textTracks);\n dispatch(setSubtitles(tracks));\n }, 200);\n\n return () => clearTimeout(timeoutId);\n }, [rawSubtitles, dispatch]);\n};\n\nexport default useAppendSubtitle;\n","import { useEffect } from \"react\";\nimport { useAppSelector } from \"../redux/hooks\";\nimport { shallowEqual } from \"react-redux\";\nimport { handleSubtitle } from \"../redux/actions/videoData.actions\";\nimport { conditions } from \"../conditions/conditions\";\nimport { ConditionName } from \"../interfaces/enums\";\n\nconst useActiveSubtitleAutomatic = () => {\n const { activeSubtitle } = useAppSelector(\n ({ videoData }) => ({\n activeSubtitle: videoData.params?.activeSubtitle,\n }),\n shallowEqual\n );\n\n useEffect(() => {\n if (conditions(ConditionName.hasActiveSubtitleInParams))\n setTimeout(() => handleSubtitle(activeSubtitle), 500);\n }, [activeSubtitle]);\n};\n\nexport default useActiveSubtitleAutomatic;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunkCOYFW7R4_js=require('./chunk-COYFW7R4.js'),chunkVUHZVVMS_js=require('./chunk-VUHZVVMS.js'),chunkAN6JAJSI_js=require('./chunk-AN6JAJSI.js'),react=require('react'),reactRedux=require('react-redux'),jsxRuntime=require('react/jsx-runtime'),V=require('next/image');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var V__default=/*#__PURE__*/_interopDefault(V);chunkAN6JAJSI_js.e();chunkAN6JAJSI_js.e();var I=({title:n,className:i})=>jsxRuntime.jsx("span",{className:`pl-absolute pl-w-max pl-bg-black/75 pl-text-white pl-rounded-[8px] pl-leading-[18px] pl-flex pl-items-center pl-justify-center pl-font-normal ${chunkVUHZVVMS_js.t("isFullScreen")?"pl-bottom-[150%] pl-h-[34px] pl-px-[9.5px] pl-text-[15px]":"pl-h-6 pl-bottom-[130%] pl-px-[9px] pl-text-[12px]"} ${i}`,children:n}),h=I;var O=({width:n,height:i})=>{let[g,u]=react.useState(false),m=chunkAN6JAJSI_js.z(),{settings:l}=chunkAN6JAJSI_js.A(({user:{settings:o}})=>({settings:o}),reactRedux.shallowEqual),s=react.useRef(l.volume),y=()=>{if(s.current!==l.volume){let{settings:o}=chunkVUHZVVMS_js.Aa.getState().user;chunkVUHZVVMS_js.w(chunkVUHZVVMS_js.H(s.current,o.volume)),s.current=o.volume,m(chunkVUHZVVMS_js.ya({...o,volume:o.volume}));}},v=o=>{let{settings:b}=chunkVUHZVVMS_js.Aa.getState().user;o==="mute"?(chunkVUHZVVMS_js.Y(0),chunkVUHZVVMS_js.w(chunkVUHZVVMS_js.H(b.volume,0))):(chunkVUHZVVMS_js.w(chunkVUHZVVMS_js.H(b.volume,100)),chunkVUHZVVMS_js.Y(100));};return jsxRuntime.jsxs("div",{onMouseOver:()=>!chunkVUHZVVMS_js.t("isTouchScreen")&&u(true),onMouseLeave:()=>!chunkVUHZVVMS_js.t("isTouchScreen")&&u(false),id:chunkVUHZVVMS_js.t("hasSound")?"mute":"unmute",className:chunkVUHZVVMS_js.ea("pl-relative pl-rounded-full pl-inline-flex pl-items-center pl-justify-center pl-group pl-bg-black/75 pl-sound-icon",{desktop:"pl-min-w-[34px] pl-h-[34px] pl-p-1",desktopFullScreen:"pl-min-w-[48px] pl-h-[48px] pl-p-0 pl-px-1.5"}),children:[jsxRuntime.jsxs("div",{className:chunkVUHZVVMS_js.ea("pl-flex pl-items-center pl-justify-center pl-rounded-full group-hover:pl-bg-[#5E5E5E] pl-transition-all",{desktop:"pl-h-[26px] pl-min-w-[26px] group-hover:pl-ps-1! pl-gap-1",desktopFullScreen:"pl-h-[36px] pl-min-w-[36px] group-hover:pl-ps-1.5! pl-gap-1.5"}),children:[!chunkVUHZVVMS_js.t("isTouchScreen")&&jsxRuntime.jsx("input",{onMouseUp:y,type:"range",min:"0",max:"100",value:l.volume,onChange:o=>chunkVUHZVVMS_js.Y(+o.target.value),className:`pl-soundVolume ${chunkVUHZVVMS_js.t("isFullScreen")&&"pl-soundVolume-fullscreen"} pl-cursor-pointer rounded-full`,style:{background:`linear-gradient(to right, white ${l.volume}%, rgba(255,255,255,0.3) 0)`}}),jsxRuntime.jsx("div",{onClick:()=>chunkVUHZVVMS_js.t("hasSound")?v("mute"):v("unmute"),onDoubleClick:o=>o.stopPropagation(),style:{paddingInlineEnd:5},className:chunkVUHZVVMS_js.ea("pl-relative pl-flex pl-items-center pl-shrink-0",{desktop:"",desktopFullScreen:""}),children:jsxRuntime.jsx(V__default.default,{src:chunkVUHZVVMS_js.t("hasSound")?l.volume>=50?chunkCOYFW7R4_js.a.unMute:chunkCOYFW7R4_js.a.lowSound:chunkCOYFW7R4_js.a.mute,alt:chunkVUHZVVMS_js.t("hasSound")?"unmute-icon":"mute-icon",className:"pl-flex pl-items-center pl-cursor-pointer",width:n,height:i})})]}),g&&jsxRuntime.jsx(h,{className:"pl-left-0",title:chunkVUHZVVMS_js.t("hasSound")?"\u0635\u062F\u0627 (M)":"\u0628\u06CC\u200C\u0635\u062F\u0627 (M)"})]})},ie=O;chunkAN6JAJSI_js.e();var G=({width:n,height:i,className:g})=>{chunkAN6JAJSI_js.A(({controller:{firstPlay:l,isFullScreen:s}})=>({firstPlay:l,isFullScreen:s}),reactRedux.shallowEqual);let[u,m]=react.useState(false);return jsxRuntime.jsxs("div",{onDoubleClick:l=>l.preventDefault(),onMouseOver:()=>!chunkVUHZVVMS_js.t("isTouchScreen")&&m(true),onMouseLeave:()=>!chunkVUHZVVMS_js.t("isTouchScreen")&&m(false),onClick:()=>{chunkVUHZVVMS_js._(),chunkVUHZVVMS_js.$();},id:chunkVUHZVVMS_js.t("isFullScreen")?"exit-full-s":"full-s",className:chunkVUHZVVMS_js.ea(`pl-relative pl-cursor-pointer pl-flex pl-items-center pl-justify-center pl-rounded-full pl-transition-all ${g}`,{desktop:"pl-w-[40px] pl-h-[25px] hover:pl-bg-[#5E5E5E]",desktopFullScreen:"pl-w-[56px] pl-h-[36px]",touch:"pl-w-[32px] pl-h-[22px]",touchFullScreen:"pl-w-[48px] pl-h-[32px]"}),children:[jsxRuntime.jsx(V__default.default,{src:chunkVUHZVVMS_js.t("isFullScreen")?chunkCOYFW7R4_js.a.nonFullScreen:chunkCOYFW7R4_js.a.fullScreen,alt:"fullScreen-icon",width:n,height:i}),u&&jsxRuntime.jsx(h,{className:"pl-right-5",title:`${chunkVUHZVVMS_js.t("isFullScreen")?"\u062E\u0631\u0648\u062C \u0627\u0632":""} \u062A\u0645\u0627\u0645 \u0635\u0641\u062D\u0647 (F)`})]})},Fe=G;exports.a=h;exports.b=ie;exports.c=Fe;//# sourceMappingURL=chunk-7FHLAPSR.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-7FHLAPSR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/videoPlayerLibrary/components/custom-components/soundVolume/soundVolume.tsx","../src/videoPlayerLibrary/components/custom-components/footer/controllbar/controllbarTooltip.tsx","../src/videoPlayerLibrary/components/custom-components/fullScreen/fullScreen.tsx"],"names":["init_cjs_shims","ControllbarTooltip","title","className","jsx","conditions","controllbarTooltip_default","SoundVolume","width","height","showTooltip","setShowTooltip","useState","dispatch","useAppDispatch","settings","useAppSelector","shallowEqual","primaryVolumeRef","useRef","handleMouseUp","store_default","sendFluentLog","volumeLog","setUserSettings","handleMute","type","handleChangeSoundVolume","jsxs","tw","event","Image","importImages_default","soundVolume_default","FullScreen","firstPlay","isFullScreen","e","handleFullScreen","handleLockOrientation","fullScreen_default"],"mappings":"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","file":"chunk-7FHLAPSR.js","sourcesContent":["import { useRef, useState } from \"react\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport ControllbarTooltip from \"../footer/controllbar/controllbarTooltip\";\r\nimport Image from \"next/image\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport store from \"../../../helpers/redux/store\";\r\nimport { volumeLog } from \"../../../helpers/logs/logs\";\r\nimport { sendFluentLog } from \"../../../helpers/logs/fluentdLogger\";\r\nimport { setUserSettings } from \"../../../helpers/redux/slices/userSlice\";\r\nimport { handleChangeSoundVolume } from \"../../../helpers/redux/actions/controller.actions\";\r\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport { tw } from \"../../../helpers/helpers\";\r\n\r\nconst SoundVolume = ({ width, height }: { width?: number; height?: number }) => {\r\n const [showTooltip, setShowTooltip] = useState<boolean>(false);\r\n\r\n const dispatch = useAppDispatch();\r\n const { settings } = useAppSelector(({ user: { settings } }) => ({ settings }), shallowEqual);\r\n\r\n const primaryVolumeRef = useRef<number>(settings.volume);\r\n\r\n const handleMouseUp = () => {\r\n if (primaryVolumeRef.current !== settings.volume) {\r\n const { settings } = store.getState().user;\r\n sendFluentLog(volumeLog(primaryVolumeRef.current, settings.volume));\r\n primaryVolumeRef.current = settings.volume;\r\n // createSettings({ ...settings, volume: settings.volume });\r\n dispatch(setUserSettings({ ...settings, volume: settings.volume }));\r\n }\r\n };\r\n\r\n const handleMute = (type: string) => {\r\n const { settings } = store.getState().user;\r\n if (type === \"mute\") {\r\n handleChangeSoundVolume(0);\r\n sendFluentLog(volumeLog(settings.volume, 0));\r\n // createSettings({ ...settings, volume: 0 });\r\n } else {\r\n sendFluentLog(volumeLog(settings.volume, 100));\r\n handleChangeSoundVolume(100);\r\n // createSettings({ ...settings, volume: 100 });\r\n }\r\n };\r\n\r\n return (\r\n <div\r\n onMouseOver={() => !conditions(ConditionName.isTouchScreen) && setShowTooltip(true)}\r\n onMouseLeave={() => !conditions(ConditionName.isTouchScreen) && setShowTooltip(false)}\r\n id={conditions(ConditionName.hasSound) ? \"mute\" : \"unmute\"}\r\n className={tw(`pl-relative pl-rounded-full pl-inline-flex pl-items-center pl-justify-center pl-group pl-bg-black/75 pl-sound-icon`, {\r\n desktop: \"pl-min-w-[34px] pl-h-[34px] pl-p-1\",\r\n desktopFullScreen: \"pl-min-w-[48px] pl-h-[48px] pl-p-0 pl-px-1.5\",\r\n })}\r\n >\r\n <div\r\n className={tw(\"pl-flex pl-items-center pl-justify-center pl-rounded-full group-hover:pl-bg-[#5E5E5E] pl-transition-all\", {\r\n desktop: \"pl-h-[26px] pl-min-w-[26px] group-hover:pl-ps-1! pl-gap-1\",\r\n desktopFullScreen: \"pl-h-[36px] pl-min-w-[36px] group-hover:pl-ps-1.5! pl-gap-1.5\",\r\n })}\r\n >\r\n {!conditions(ConditionName.isTouchScreen) && (\r\n <input\r\n onMouseUp={handleMouseUp}\r\n type=\"range\"\r\n min=\"0\"\r\n max=\"100\"\r\n value={settings.volume}\r\n onChange={(event) => handleChangeSoundVolume(+event.target.value)}\r\n className={`pl-soundVolume ${conditions(ConditionName.isFullScreen) && \"pl-soundVolume-fullscreen\"} pl-cursor-pointer rounded-full`}\r\n style={{ background: `linear-gradient(to right, white ${settings.volume}%, rgba(255,255,255,0.3) 0)` }}\r\n />\r\n )}\r\n <div\r\n onClick={() => (conditions(ConditionName.hasSound) ? handleMute(\"mute\") : handleMute(\"unmute\"))}\r\n onDoubleClick={(event: any) => event.stopPropagation()}\r\n style={{ paddingInlineEnd: 5 }}\r\n className={tw(\"pl-relative pl-flex pl-items-center pl-shrink-0\", { desktop: \"\", desktopFullScreen: \"\" })}\r\n >\r\n <Image\r\n src={conditions(ConditionName.hasSound) ? (settings.volume >= 50 ? IMAGES.unMute : IMAGES.lowSound) : IMAGES.mute}\r\n alt={conditions(ConditionName.hasSound) ? \"unmute-icon\" : \"mute-icon\"}\r\n className={`pl-flex pl-items-center pl-cursor-pointer`}\r\n width={width}\r\n height={height}\r\n />\r\n </div>\r\n </div>\r\n {showTooltip && <ControllbarTooltip className=\"pl-left-0\" title={conditions(ConditionName.hasSound) ? \"صدا (M)\" : \"بیصدا (M)\"} />}\r\n </div>\r\n );\r\n};\r\n\r\nexport default SoundVolume;\r\n","import { conditions } from \"../../../../helpers/conditions/conditions\";\nimport { ConditionName } from \"../../../../helpers/interfaces/enums\";\nimport { IControllbarTooltipProps } from \"../../../../helpers/interfaces/interfaces\";\n\nconst ControllbarTooltip = ({ title, className }: IControllbarTooltipProps) => (\n <span\n className={`pl-absolute pl-w-max pl-bg-black/75 pl-text-white pl-rounded-[8px] pl-leading-[18px] pl-flex pl-items-center pl-justify-center pl-font-normal ${\n conditions(ConditionName.isFullScreen)\n ? \"pl-bottom-[150%] pl-h-[34px] pl-px-[9.5px] pl-text-[15px]\"\n : \"pl-h-6 pl-bottom-[130%] pl-px-[9px] pl-text-[12px]\"\n } ${className}`}\n >\n {title}\n </span>\n);\n\nexport default ControllbarTooltip;\n","import { useEffect, useState } from \"react\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport ControllbarTooltip from \"../footer/controllbar/controllbarTooltip\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { handleFullScreen, handleLockOrientation } from \"../../../helpers/redux/actions/controller.actions\";\r\nimport Image from \"next/image\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport { tw } from \"../../../helpers/helpers\";\r\n\r\nconst FullScreen = ({ width, height, className }: { width?: number; height?: number; className?: string }) => {\r\n useAppSelector(({ controller: { firstPlay, isFullScreen } }) => ({ firstPlay, isFullScreen }), shallowEqual);\r\n\r\n const [showTooltip, setShowTooltip] = useState<boolean>(false);\r\n\r\n // useEffect(() => {\r\n // if (!conditions(ConditionName.isFirstPlay)) dispatch(setActiveElements(false));\r\n // }, [isFullScreen]);\r\n\r\n return (\r\n <div\r\n onDoubleClick={(e) => e.preventDefault()}\r\n onMouseOver={() => !conditions(ConditionName.isTouchScreen) && setShowTooltip(true)}\r\n onMouseLeave={() => !conditions(ConditionName.isTouchScreen) && setShowTooltip(false)}\r\n onClick={() => {\r\n handleFullScreen();\r\n handleLockOrientation();\r\n }}\r\n id={conditions(ConditionName.isFullScreen) ? \"exit-full-s\" : \"full-s\"}\r\n className={tw(`pl-relative pl-cursor-pointer pl-flex pl-items-center pl-justify-center pl-rounded-full pl-transition-all ${className}`, {\r\n desktop: \"pl-w-[40px] pl-h-[25px] hover:pl-bg-[#5E5E5E]\",\r\n desktopFullScreen: \"pl-w-[56px] pl-h-[36px]\",\r\n touch: \"pl-w-[32px] pl-h-[22px]\",\r\n touchFullScreen: \"pl-w-[48px] pl-h-[32px]\",\r\n })}\r\n >\r\n <Image\r\n src={conditions(ConditionName.isFullScreen) ? IMAGES.nonFullScreen : IMAGES.fullScreen}\r\n alt=\"fullScreen-icon\"\r\n width={width}\r\n height={height}\r\n />\r\n\r\n {showTooltip && (\r\n <ControllbarTooltip className=\"pl-right-5\" title={`${conditions(ConditionName.isFullScreen) ? \"خروج از\" : \"\"} تمام صفحه (F)`} />\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default FullScreen;\r\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {Aa,Q,na,pa,S,t,d,e as e$1,ja,a as a$1,h,x,k,w,N as N$1,v}from'./chunk-
|
|
2
|
-
export{at as a,lt as b,H as c};//# sourceMappingURL=chunk-
|
|
3
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import {Aa,Q,na,pa,S,t,d,e as e$1,ja,a as a$1,h,x,k,w,N as N$1,v}from'./chunk-NLCBOGTI.mjs';import {e}from'./chunk-4QMWBTB5.mjs';import N from'axios';e();e();var F=t=>{let{params:s}=Aa.getState().videoData;return v().vod.getVodUrl+(t||s.id)},a={url:"",maxRetryCount:0,headers:{},retryPolicy:[],errorCallback:void 0},M=t=>(a.url=F(t),a.maxRetryCount=3,a.retryPolicy=[{codeAbove:500,codeBelow:null,excludeCodes:[],includeCodes:[409],delay:1,count:3},{codeAbove:null,codeBelow:404,excludeCodes:[403,402,401,400],includeCodes:[],delay:10,count:6}],a),A=t=>(M(t),a);var at=async t$1=>{let s=Aa.dispatch;try{let e=await Q({...A(t$1)});if(na(e.status)){if(await N.head("https://"+pa(e.data.hls_links)+e.data.path),t$1)return s(S(e.data));U(e.data),!t("hasRawSubtitles")&&e?.data?.subtitles&&G(e.data.subtitles);}else throw new Error(JSON.stringify({status:e.status,message:e.data}))}catch{s(d(true)),s(e$1(false));}},U=async t=>{let s=Aa.dispatch,e={...t,subtitles:void 0,stream_link:!!t.stream_link&&ja("https://"+pa(t.hls_links)+t.path)};s(a$1(e)),s(d(true)),s(e$1(true));},G=async t=>{let s=Aa.dispatch,e=await H(t);s(h(e));},lt=t=>{let s=Aa.dispatch,{subtitles:e,selectedSubtitle:l,params:r}=Aa.getState().videoData,i=x();if(!i)return null;let k$1=()=>{let o=Array.from(i.textTracks).find(u=>u.mode==="showing");o&&(o.mode="disabled");},b=(o,u)=>{let _=Aa.getState().videoData.rawSubtitles;r.onSubtitleStatusChange?.(o?_?.find(B=>B.lang===o)??null:null,u);},P=o=>{o&&(o.mode="showing",s(k(o)),w(N$1(o.language)),b(o.language,true));};if(l&&!t){k$1(),s(k(void 0)),w(N$1("empty")),b(null,false);return}let V=t??"fa",R=e.find(o=>o.language===V)??i?.textTracks?.[0];P(R);},H=async t=>{let s=t.map(async r=>{try{return (await fetch(r.url,{method:"HEAD"})).ok?r:null}catch(i){return console.error("Error fetching subtitle:",r.url,i),null}}),l=(await Promise.all(s)).filter(r=>r!==null);return l.length?l:null};
|
|
2
|
+
export{at as a,lt as b,H as c};//# sourceMappingURL=chunk-HOAJ3EFI.mjs.map
|
|
3
|
+
//# sourceMappingURL=chunk-HOAJ3EFI.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/videoPlayerLibrary/helpers/redux/actions/videoData.actions.ts","../src/videoPlayerLibrary/helpers/getDetailsConfigs.ts"],"names":["init_esm_shims","detailAPI","id","params","store_default","API","detailsConfig","vodDetailsConfig","videoId","handleDetailsConfig","getVodDetails","dispatch","d","apiCaller","responseValidator","axios","weighted_random","setDetailsMiniPlayer","detailSetter","conditions","handleRawSubtitles","setIsFetchDetails","setIsValidAddress","data","info","addUuidToSrc","setInfo","subtitles","validSubtitles","filterValidSubtitles","setRawSubtitles","handleSubtitle","activeSubtitle","selectedSubtitle","videoTag","mainPlayerVideoTag","disableCurrentSubtitle","activeTrack","track","notifyStatusChange","lang","enabled","sub","showSubtitle","setSelectedSubtitle","sendFluentLog","subtitleLog","targetLang","subtitleToShow","s","checks","subtitle","err"],"mappings":"sJAAAA,CAAAA,EAAAA,CCAAA,CAAAA,EAAAA,CAIO,IAAMC,EAAaC,CAAAA,EAAgB,CACtC,GAAM,CAAE,MAAA,CAAAC,CAAO,EAAIC,EAAAA,CAAM,QAAA,EAAS,CAAE,SAAA,CACpC,OAAOC,CAAAA,GAAM,GAAA,CAAI,SAAA,EAAaH,CAAAA,EAAUC,CAAAA,CAAO,EAAA,CACnD,CAAA,CAEMG,EAAgC,CAClC,GAAA,CAAK,EAAA,CACL,aAAA,CAAe,CAAA,CACf,OAAA,CAAS,EAAC,CACV,WAAA,CAAa,EAAC,CACd,aAAA,CAAe,MACnB,EAEMC,CAAAA,CAAoBC,CAAAA,GACtBF,CAAAA,CAAc,GAAA,CAAML,CAAAA,CAAUO,CAAO,CAAA,CACrCF,CAAAA,CAAc,aAAA,CAAgB,CAAA,CAC9BA,CAAAA,CAAc,WAAA,CAAc,CACxB,CACI,UAAW,GAAA,CACX,SAAA,CAAW,IAAA,CACX,YAAA,CAAc,EAAC,CACf,aAAc,CAAC,GAAG,CAAA,CAClB,KAAA,CAAO,CAAA,CACP,KAAA,CAAO,CACX,CAAA,CACA,CACI,SAAA,CAAW,IAAA,CACX,SAAA,CAAW,GAAA,CACX,YAAA,CAAc,CAAC,GAAA,CAAK,GAAA,CAAK,GAAA,CAAK,GAAG,CAAA,CACjC,YAAA,CAAc,EAAC,CACf,KAAA,CAAO,EAAA,CACP,KAAA,CAAO,CACX,CACJ,EACOA,CAAAA,CAAAA,CAIEG,CAAAA,CAAuBD,CAAAA,GAChCD,CAAAA,CAAiBC,CAAO,CAAA,CACjBF,GD9BJ,IAAMI,EAAAA,CAAgB,MAAOF,GAAAA,EAAqB,CACvD,IAAMG,CAAAA,CAAWP,EAAAA,CAAM,QAAA,CAEvB,GAAI,CACF,IAAMQ,CAAAA,CAAI,MAAMC,EAAU,CAAE,GAAGJ,CAAAA,CAAoBD,GAAO,CAAE,CAAC,EAC7D,GAAIM,EAAAA,CAAkBF,CAAAA,CAAE,MAAM,CAAA,CAAG,CAE/B,GADA,MAAMG,CAAAA,CAAM,IAAA,CAAK,UAAA,CAAaC,EAAAA,CAAgBJ,CAAAA,CAAE,KAAK,SAAS,CAAA,CAAIA,CAAAA,CAAE,IAAA,CAAK,IAAI,CAAA,CACzEJ,IAAS,OAAOG,CAAAA,CAASM,CAAAA,CAAqBL,CAAAA,CAAE,IAAI,CAAC,EACzDM,CAAAA,CAAaN,CAAAA,CAAE,IAAI,CAAA,CACf,CAACO,CAAAA,CAAAA,iBAAwC,GAAKP,CAAAA,EAAG,IAAA,EAAM,SAAA,EAAWQ,CAAAA,CAAmBR,CAAAA,CAAE,IAAA,CAAK,SAAS,EAC3G,CAAA,KAAO,MAAM,IAAI,KAAA,CAAM,IAAA,CAAK,SAAA,CAAU,CAAE,MAAA,CAAQA,CAAAA,CAAE,MAAA,CAAQ,OAAA,CAASA,CAAAA,CAAE,IAAK,CAAC,CAAC,CAC9E,CAAA,KAAqB,CACnBD,CAAAA,CAASU,CAAAA,CAAkB,IAAI,CAAC,CAAA,CAChCV,CAAAA,CAASW,GAAAA,CAAkB,KAAK,CAAC,EACnC,CACF,CAAA,CAEaJ,CAAAA,CAAe,MAAOK,CAAAA,EAAc,CAC/C,IAAMZ,EAAWP,EAAAA,CAAM,QAAA,CACnBoB,CAAAA,CAAO,CACT,GAAGD,CAAAA,CACH,UAAW,MAAA,CACX,WAAA,CAAa,CAAC,CAACA,CAAAA,CAAK,WAAA,EAAeE,GAAa,UAAA,CAAaT,EAAAA,CAAgBO,CAAAA,CAAK,SAAS,CAAA,CAAIA,CAAAA,CAAK,IAAI,CAC1G,CAAA,CAEAZ,CAAAA,CAASe,GAAAA,CAAQF,CAAI,CAAC,CAAA,CACtBb,EAASU,CAAAA,CAAkB,IAAI,CAAC,CAAA,CAChCV,CAAAA,CAASW,GAAAA,CAAkB,IAAI,CAAC,EAClC,CAAA,CAEMF,CAAAA,CAAqB,MAAOO,CAAAA,EAA2B,CAC3D,IAAMhB,CAAAA,CAAWP,EAAAA,CAAM,QAAA,CACjBwB,CAAAA,CAAiB,MAAMC,EAAqBF,CAAS,CAAA,CAC3DhB,CAAAA,CAASmB,CAAAA,CAAgBF,CAAc,CAAC,EAC1C,CAAA,CAEaG,EAAAA,CAAkBC,CAAAA,EAA4B,CACzD,IAAMrB,CAAAA,CAAWP,GAAM,QAAA,CACjB,CAAE,SAAA,CAAAuB,CAAAA,CAAW,gBAAA,CAAAM,CAAAA,CAAkB,OAAA9B,CAAO,CAAA,CAAIC,EAAAA,CAAM,QAAA,EAAS,CAAE,SAAA,CAC3D8B,CAAAA,CAAWC,CAAAA,EAAmB,CAEpC,GAAI,CAACD,CAAAA,CAAU,OAAO,IAAA,CAEtB,IAAME,GAAAA,CAAyB,IAAM,CACnC,IAAMC,CAAAA,CAAc,KAAA,CAAM,KAAKH,CAAAA,CAAS,UAAU,CAAA,CAAE,IAAA,CAAMI,CAAAA,EAAUA,CAAAA,CAAM,OAAS,SAAS,CAAA,CACxFD,CAAAA,GAAaA,CAAAA,CAAY,IAAA,CAAO,UAAA,EACtC,CAAA,CAEME,CAAAA,CAAqB,CAACC,CAAAA,CAAqBC,CAAAA,GAAqB,CACpE,IAAMd,CAAAA,CAAYvB,GAAM,QAAA,EAAS,CAAE,SAAA,CAAU,YAAA,CAC7CD,CAAAA,CAAO,sBAAA,GAAyBqC,EAAQb,CAAAA,EAAW,IAAA,CAAMe,CAAAA,EAAQA,CAAAA,CAAI,IAAA,GAASF,CAAI,GAAK,IAAA,CAAQ,IAAA,CAAMC,CAAO,EAC9G,CAAA,CAEME,CAAAA,CAAgBL,CAAAA,EAAiC,CAChDA,CAAAA,GACLA,CAAAA,CAAM,IAAA,CAAO,SAAA,CACb3B,CAAAA,CAASiC,CAAAA,CAAoBN,CAAK,CAAC,CAAA,CACnCO,CAAAA,CAAcC,GAAAA,CAAYR,CAAAA,CAAM,QAAQ,CAAC,CAAA,CACzCC,CAAAA,CAAmBD,CAAAA,CAAM,QAAA,CAAU,IAAI,CAAA,EACzC,EACA,GAAIL,CAAAA,EAAoB,CAACD,CAAAA,CAAgB,CACvCI,GAAAA,GACAzB,CAAAA,CAASiC,CAAAA,CAAoB,MAAS,CAAC,CAAA,CACvCC,CAAAA,CAAcC,IAAY,OAAO,CAAC,CAAA,CAClCP,CAAAA,CAAmB,IAAA,CAAM,KAAK,EAC9B,MACF,CAEA,IAAMQ,CAAAA,CAAaf,CAAAA,EAAkB,IAAA,CAE/BgB,EADgBrB,CAAAA,CAAU,IAAA,CAAMsB,CAAAA,EAAMA,CAAAA,CAAE,QAAA,GAAaF,CAAU,CAAA,EAC5Bb,CAAAA,EAAU,UAAA,GAAa,CAAC,CAAA,CAEjES,CAAAA,CAAaK,CAAc,EAC7B,EAEanB,CAAAA,CAAuB,MAAOF,CAAAA,EAAwD,CACjG,IAAMuB,CAAAA,CAASvB,EAAU,GAAA,CAAI,MAAOwB,CAAAA,EAAa,CAC/C,GAAI,CAEF,QADiB,MAAM,KAAA,CAAMA,CAAAA,CAAS,GAAA,CAAK,CAAE,MAAA,CAAQ,MAAO,CAAC,CAAA,EAChD,EAAA,CAAWA,CAAAA,CACZ,IACd,CAAA,MAASC,CAAAA,CAAK,CACZ,OAAA,OAAA,CAAQ,KAAA,CAAM,0BAAA,CAA4BD,CAAAA,CAAS,GAAA,CAAKC,CAAG,EACpD,IACT,CACF,CAAC,CAAA,CAGKxB,CAAAA,CAAAA,CADU,MAAM,QAAQ,GAAA,CAAIsB,CAAM,CAAA,EACT,MAAA,CAAQD,CAAAA,EAAsBA,CAAAA,GAAM,IAAI,CAAA,CACvE,OAAOrB,CAAAA,CAAe,MAAA,CAASA,CAAAA,CAAiB,IAClD","file":"chunk-CCO6GDG2.mjs","sourcesContent":["import { apiCaller, getAll } from \"../../services/apiCaller\";\nimport { setInfo, setIsFetchDetails, setIsValidAddress, setRawSubtitles, setSelectedSubtitle } from \"../slices/videoDataSlice\";\nimport store from \"../store\";\nimport { addUuidToSrc, responseValidator, weighted_random } from \"../../helpers\";\nimport axios from \"axios\";\nimport { handleDetailsConfig } from \"../../getDetailsConfigs\";\nimport { subtitleLog } from \"../../logs/logs\";\nimport { sendFluentLog } from \"../../logs/fluentdLogger\";\nimport { mainPlayerVideoTag } from \"../../constants\";\nimport { setDetailsMiniPlayer } from \"../slices/miniPlayerSlice\";\nimport { conditions } from \"../../conditions/conditions\";\nimport { ConditionName } from \"../../interfaces/enums\";\nimport { ISubtitle } from \"../../interfaces/interfaces\";\n\nexport const getVodDetails = async (videoId?: string) => {\n const dispatch = store.dispatch;\n\n try {\n const d = await apiCaller({ ...handleDetailsConfig(videoId) });\n if (responseValidator(d.status)) {\n await axios.head(\"https://\" + weighted_random(d.data.hls_links) + d.data.path);\n if (videoId) return dispatch(setDetailsMiniPlayer(d.data));\n detailSetter(d.data);\n if (!conditions(ConditionName.hasRawSubtitles) && d?.data?.subtitles) handleRawSubtitles(d.data.subtitles);\n } else throw new Error(JSON.stringify({ status: d.status, message: d.data }));\n } catch (error: any) {\n dispatch(setIsFetchDetails(true));\n dispatch(setIsValidAddress(false));\n }\n};\n\nexport const detailSetter = async (data: any) => {\n const dispatch = store.dispatch;\n let info = {\n ...data,\n subtitles: undefined,\n stream_link: !!data.stream_link && addUuidToSrc(\"https://\" + weighted_random(data.hls_links) + data.path),\n };\n\n dispatch(setInfo(info));\n dispatch(setIsFetchDetails(true));\n dispatch(setIsValidAddress(true));\n};\n\nconst handleRawSubtitles = async (subtitles: ISubtitle[]) => {\n const dispatch = store.dispatch;\n const validSubtitles = await filterValidSubtitles(subtitles);\n dispatch(setRawSubtitles(validSubtitles));\n};\n\nexport const handleSubtitle = (activeSubtitle?: string) => {\n const dispatch = store.dispatch;\n const { subtitles, selectedSubtitle, params } = store.getState().videoData;\n const videoTag = mainPlayerVideoTag();\n\n if (!videoTag) return null;\n\n const disableCurrentSubtitle = () => {\n const activeTrack = Array.from(videoTag.textTracks).find((track) => track.mode === \"showing\");\n if (activeTrack) activeTrack.mode = \"disabled\";\n };\n\n const notifyStatusChange = (lang: string | null, enabled: boolean) => {\n const subtitles = store.getState().videoData.rawSubtitles;\n params.onSubtitleStatusChange?.(lang ? (subtitles?.find((sub) => sub.lang === lang) ?? null) : null, enabled);\n };\n\n const showSubtitle = (track: TextTrack | undefined) => {\n if (!track) return;\n track.mode = \"showing\";\n dispatch(setSelectedSubtitle(track));\n sendFluentLog(subtitleLog(track.language));\n notifyStatusChange(track.language, true);\n };\n if (selectedSubtitle && !activeSubtitle) {\n disableCurrentSubtitle();\n dispatch(setSelectedSubtitle(undefined));\n sendFluentLog(subtitleLog(\"empty\"));\n notifyStatusChange(null, false);\n return;\n }\n\n const targetLang = activeSubtitle ?? \"fa\";\n const foundSubtitle = subtitles.find((s) => s.language === targetLang);\n const subtitleToShow = foundSubtitle ?? (videoTag?.textTracks?.[0] as TextTrack | undefined);\n\n showSubtitle(subtitleToShow);\n};\n\nexport const filterValidSubtitles = async (subtitles: ISubtitle[]): Promise<ISubtitle[] | null> => {\n const checks = subtitles.map(async (subtitle) => {\n try {\n const response = await fetch(subtitle.url, { method: \"HEAD\" });\n if (response.ok) return subtitle;\n else return null;\n } catch (err) {\n console.error(`Error fetching subtitle:`, subtitle.url, err);\n return null;\n }\n });\n\n const results = await Promise.all(checks);\n const validSubtitles = results.filter((s): s is ISubtitle => s !== null);\n return validSubtitles.length ? validSubtitles : null;\n};\n\nexport const getAllGeneralMarker = async (url: string) => {\n const response: any = await getAll(url, [\n {\n codeAbove: 400,\n codeBelow: null,\n excludeCodes: [],\n includeCodes: [],\n delay: 2,\n count: 3,\n },\n ]);\n return response;\n};\n","import { IDetailsConfig } from \"./interfaces/interfaces\";\nimport store from \"./redux/store\";\nimport { API } from \"./services/services\";\n\nexport const detailAPI = (id?: string) => {\n const { params } = store.getState().videoData;\n return API().vod.getVodUrl + (id ? id : params.id);\n};\n\nconst detailsConfig: IDetailsConfig = {\n url: \"\",\n maxRetryCount: 0,\n headers: {},\n retryPolicy: [],\n errorCallback: undefined\n};\n\nconst vodDetailsConfig = (videoId?:string) => {\n detailsConfig.url = detailAPI(videoId);\n detailsConfig.maxRetryCount = 3;\n detailsConfig.retryPolicy = [\n {\n codeAbove: 500,\n codeBelow: null,\n excludeCodes: [],\n includeCodes: [409],\n delay: 1,\n count: 3\n },\n {\n codeAbove: null,\n codeBelow: 404,\n excludeCodes: [403, 402, 401, 400],\n includeCodes: [],\n delay: 10,\n count: 6\n }\n ];\n return detailsConfig;\n};\n\n\nexport const handleDetailsConfig = (videoId?: string) => {\n vodDetailsConfig(videoId);\n return detailsConfig;\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/videoPlayerLibrary/helpers/redux/actions/videoData.actions.ts","../src/videoPlayerLibrary/helpers/getDetailsConfigs.ts"],"names":["init_esm_shims","detailAPI","id","params","store_default","API","detailsConfig","vodDetailsConfig","videoId","handleDetailsConfig","getVodDetails","dispatch","d","apiCaller","responseValidator","axios","weighted_random","setDetailsMiniPlayer","detailSetter","conditions","handleRawSubtitles","setIsFetchDetails","setIsValidAddress","data","info","addUuidToSrc","setInfo","subtitles","validSubtitles","filterValidSubtitles","setRawSubtitles","handleSubtitle","activeSubtitle","selectedSubtitle","videoTag","mainPlayerVideoTag","disableCurrentSubtitle","activeTrack","track","notifyStatusChange","lang","enabled","sub","showSubtitle","setSelectedSubtitle","sendFluentLog","subtitleLog","targetLang","subtitleToShow","s","checks","subtitle","err"],"mappings":"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","file":"chunk-HOAJ3EFI.mjs","sourcesContent":["import { apiCaller, getAll } from \"../../services/apiCaller\";\nimport { setInfo, setIsFetchDetails, setIsValidAddress, setRawSubtitles, setSelectedSubtitle } from \"../slices/videoDataSlice\";\nimport store from \"../store\";\nimport { addUuidToSrc, responseValidator, weighted_random } from \"../../helpers\";\nimport axios from \"axios\";\nimport { handleDetailsConfig } from \"../../getDetailsConfigs\";\nimport { subtitleLog } from \"../../logs/logs\";\nimport { sendFluentLog } from \"../../logs/fluentdLogger\";\nimport { mainPlayerVideoTag } from \"../../constants\";\nimport { setDetailsMiniPlayer } from \"../slices/miniPlayerSlice\";\nimport { conditions } from \"../../conditions/conditions\";\nimport { ConditionName } from \"../../interfaces/enums\";\nimport { ISubtitle } from \"../../interfaces/interfaces\";\n\nexport const getVodDetails = async (videoId?: string) => {\n const dispatch = store.dispatch;\n\n try {\n const d = await apiCaller({ ...handleDetailsConfig(videoId) });\n if (responseValidator(d.status)) {\n await axios.head(\"https://\" + weighted_random(d.data.hls_links) + d.data.path);\n if (videoId) return dispatch(setDetailsMiniPlayer(d.data));\n detailSetter(d.data);\n if (!conditions(ConditionName.hasRawSubtitles) && d?.data?.subtitles) handleRawSubtitles(d.data.subtitles);\n } else throw new Error(JSON.stringify({ status: d.status, message: d.data }));\n } catch (error: any) {\n dispatch(setIsFetchDetails(true));\n dispatch(setIsValidAddress(false));\n }\n};\n\nexport const detailSetter = async (data: any) => {\n const dispatch = store.dispatch;\n let info = {\n ...data,\n subtitles: undefined,\n stream_link: !!data.stream_link && addUuidToSrc(\"https://\" + weighted_random(data.hls_links) + data.path),\n };\n\n dispatch(setInfo(info));\n dispatch(setIsFetchDetails(true));\n dispatch(setIsValidAddress(true));\n};\n\nconst handleRawSubtitles = async (subtitles: ISubtitle[]) => {\n const dispatch = store.dispatch;\n const validSubtitles = await filterValidSubtitles(subtitles);\n dispatch(setRawSubtitles(validSubtitles));\n};\n\nexport const handleSubtitle = (activeSubtitle?: string) => {\n const dispatch = store.dispatch;\n const { subtitles, selectedSubtitle, params } = store.getState().videoData;\n const videoTag = mainPlayerVideoTag();\n\n if (!videoTag) return null;\n\n const disableCurrentSubtitle = () => {\n const activeTrack = Array.from(videoTag.textTracks).find((track) => track.mode === \"showing\");\n if (activeTrack) activeTrack.mode = \"disabled\";\n };\n\n const notifyStatusChange = (lang: string | null, enabled: boolean) => {\n const subtitles = store.getState().videoData.rawSubtitles;\n params.onSubtitleStatusChange?.(lang ? (subtitles?.find((sub) => sub.lang === lang) ?? null) : null, enabled);\n };\n\n const showSubtitle = (track: TextTrack | undefined) => {\n if (!track) return;\n track.mode = \"showing\";\n dispatch(setSelectedSubtitle(track));\n sendFluentLog(subtitleLog(track.language));\n notifyStatusChange(track.language, true);\n };\n if (selectedSubtitle && !activeSubtitle) {\n disableCurrentSubtitle();\n dispatch(setSelectedSubtitle(undefined));\n sendFluentLog(subtitleLog(\"empty\"));\n notifyStatusChange(null, false);\n return;\n }\n\n const targetLang = activeSubtitle ?? \"fa\";\n const foundSubtitle = subtitles.find((s) => s.language === targetLang);\n const subtitleToShow = foundSubtitle ?? (videoTag?.textTracks?.[0] as TextTrack | undefined);\n\n showSubtitle(subtitleToShow);\n};\n\nexport const filterValidSubtitles = async (subtitles: ISubtitle[]): Promise<ISubtitle[] | null> => {\n const checks = subtitles.map(async (subtitle) => {\n try {\n const response = await fetch(subtitle.url, { method: \"HEAD\" });\n if (response.ok) return subtitle;\n else return null;\n } catch (err) {\n console.error(`Error fetching subtitle:`, subtitle.url, err);\n return null;\n }\n });\n\n const results = await Promise.all(checks);\n const validSubtitles = results.filter((s): s is ISubtitle => s !== null);\n return validSubtitles.length ? validSubtitles : null;\n};\n\nexport const getAllGeneralMarker = async (url: string) => {\n const response: any = await getAll(url, [\n {\n codeAbove: 400,\n codeBelow: null,\n excludeCodes: [],\n includeCodes: [],\n delay: 2,\n count: 3,\n },\n ]);\n return response;\n};\n","import { IDetailsConfig } from \"./interfaces/interfaces\";\nimport store from \"./redux/store\";\nimport { API } from \"./services/services\";\n\nexport const detailAPI = (id?: string) => {\n const { params } = store.getState().videoData;\n return API().vod.getVodUrl + (id ? id : params.id);\n};\n\nconst detailsConfig: IDetailsConfig = {\n url: \"\",\n maxRetryCount: 0,\n headers: {},\n retryPolicy: [],\n errorCallback: undefined\n};\n\nconst vodDetailsConfig = (videoId?:string) => {\n detailsConfig.url = detailAPI(videoId);\n detailsConfig.maxRetryCount = 3;\n detailsConfig.retryPolicy = [\n {\n codeAbove: 500,\n codeBelow: null,\n excludeCodes: [],\n includeCodes: [409],\n delay: 1,\n count: 3\n },\n {\n codeAbove: null,\n codeBelow: 404,\n excludeCodes: [403, 402, 401, 400],\n includeCodes: [],\n delay: 10,\n count: 6\n }\n ];\n return detailsConfig;\n};\n\n\nexport const handleDetailsConfig = (videoId?: string) => {\n vodDetailsConfig(videoId);\n return detailsConfig;\n};\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunk5UGSCO4K_js=require('./chunk-5UGSCO4K.js'),chunkVUHZVVMS_js=require('./chunk-VUHZVVMS.js'),chunkAN6JAJSI_js=require('./chunk-AN6JAJSI.js');chunkAN6JAJSI_js.e();var he=e=>{e.preventDefault();let t=(chunkVUHZVVMS_js.x()||chunkVUHZVVMS_js.y()).error;if(t)switch(t.code){case t.MEDIA_ERR_ABORTED:chunkVUHZVVMS_js.P({type:"videoTagError",message:"You aborted the video playback."});break;case t.MEDIA_ERR_NETWORK:chunkVUHZVVMS_js.P({type:"videoTagError",message:"A network error caused the video download to fail part-way."});break;case t.MEDIA_ERR_DECODE:chunkVUHZVVMS_js.P({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:chunkVUHZVVMS_js.P({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:chunkVUHZVVMS_js.P({type:"videoTagError",message:"An unknown error occurred."});break}else chunkVUHZVVMS_js.P({type:"videoTagError",message:"An error occurred, but the error object is not available."});},G=()=>{let e=chunkVUHZVVMS_js.Aa.dispatch,{params:t}=chunkVUHZVVMS_js.Aa.getState().videoData,a=n=>{n.requestFullScreen?n.requestFullScreen():n.mozRequestFullScreen?n.mozRequestFullScreen():n.webkitRequestFullScreen&&n.webkitRequestFullScreen();};e(chunkVUHZVVMS_js.s()),a(document.documentElement),e(chunkAN6JAJSI_js.m(t.fullscreen==="true"));},ge=()=>{let e=".ts",t=XMLHttpRequest.prototype.open;XMLHttpRequest.prototype.open=function(){arguments[1].endsWith(e)&&(arguments[1]=arguments[1]+"?uuid="+chunkVUHZVVMS_js.ga()),t.apply(this,arguments);};},Z=(e,t)=>{let a=chunkVUHZVVMS_js.Aa.dispatch;t.current=setInterval(()=>{if(e.buffered.length>0&&e.duration>0){let o=e.buffered.end(e.buffered.length-1)/e.duration*100;a(chunkAN6JAJSI_js.n(o));}else a(chunkAN6JAJSI_js.n(0));},500);},Te=()=>{let e=chunkVUHZVVMS_js.la("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=chunkVUHZVVMS_js.la("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}}}}},Se=(e,t)=>{let a=chunkVUHZVVMS_js.Aa.dispatch,n=[],o=[];if(e.levels.map(i=>{n.push(i.attrs.RESOLUTION?.split("x")[1].trim()),o.push(i.attrs.RESOLUTION);}),e.autoLevelCapping=chunkVUHZVVMS_js.ra(o,window.innerWidth,window.innerHeight),a(chunkAN6JAJSI_js.i(n)),["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","msfullscreenchange"].forEach(i=>document.addEventListener(i,()=>{chunkVUHZVVMS_js.t("isAutoQuality")&&(e.autoLevelCapping=chunkVUHZVVMS_js.ra(o,window.innerWidth,window.innerHeight),e.nextLevel=-1);},false)),t.audioTracks.length>0){let i=t.audioTracks.sort(l=>l.default===true?-1:1);a(chunkVUHZVVMS_js.l(i));}},X=(e,t,a)=>{if(t.frag.type!=="audio"){let n=chunkVUHZVVMS_js.Aa.dispatch,{settings:o}=chunkVUHZVVMS_js.Aa.getState().user,{qualityLevels:i,manualQuality:l,autoQuality:h}=chunkVUHZVVMS_js.Aa.getState().controller;chunkVUHZVVMS_js.t("isAutoQuality")?chunkVUHZVVMS_js.t("isAutoQuality")&&h===void 0?(e.nextLevel=-1,a(i[t.frag.level]),n(chunkAN6JAJSI_js.j(t.frag.level))):chunkVUHZVVMS_js.t("isAutoQuality")&&(a(i[t.frag.level]),h!==t.frag.level&&n(chunkAN6JAJSI_js.j(t.frag.level))):(t.frag.level!==l&&(e.nextLevel=i[o.quality]?o.quality:-1),i[o.quality]?(n(chunkAN6JAJSI_js.r(o.quality)),n(chunkAN6JAJSI_js.j(void 0))):(a(i[t.frag.level]),n(chunkAN6JAJSI_js.j(t.frag.level)),n(chunkVUHZVVMS_js.ya({...o,quality:-1}))));}},De=(e,t)=>{let a=chunkVUHZVVMS_js.Aa.dispatch,o=e.mainForwardBufferInfo?.end/t.duration*100;a(chunkAN6JAJSI_js.n(o));},ve=(e,t,a)=>{let{params:n,multiAudio:o,selectedAudioId:i}=chunkVUHZVVMS_js.Aa.getState().videoData;o&&i!==void 0&&i!==e.audioTrack&&(e.audioTrack=i),n.type&&X(e,t,a);},Pe=(e,t,a)=>{let{type:n}=chunkVUHZVVMS_js.Aa.getState().videoData.params;n&&X(e,t,a);},Le=e=>{if(e.event!=="hlsAudioTrackLoading")return {type:"HLS_"+e.type,message:e.error.message}},Me=(e,t)=>{let a=chunkVUHZVVMS_js.Aa.dispatch;e.preventDefault(),t.current=Date.now(),a(chunkAN6JAJSI_js.l(true));},be=(e,t)=>{if(chunkVUHZVVMS_js.t("isIOS")&&chunkVUHZVVMS_js.t("isFirstPlay"))return;let a=chunkVUHZVVMS_js.Aa.dispatch;e.preventDefault(),t.current=0,a(chunkAN6JAJSI_js.l(true));},Ee=(e,t,a)=>{let n=chunkVUHZVVMS_js.Aa.dispatch,{videoSettings:o}=chunkVUHZVVMS_js.Aa.getState().user,{params:i}=chunkVUHZVVMS_js.Aa.getState().videoData,{currentTime:l}=chunkVUHZVVMS_js.Aa.getState().controller;e.preventDefault(),t.current=Date.now(),n(chunkAN6JAJSI_js.f(true)),chunkVUHZVVMS_js.t("hasOnPlayParams")&&i.onPlay(l),chunkVUHZVVMS_js.t("isFirstPlay")&&(chunkVUHZVVMS_js.t("hasCurrentTimeParams")||(a.currentTime=o.time,n(chunkAN6JAJSI_js.h(o.time))),chunkVUHZVVMS_js.t("hasFullScreenParams")&&G(),chunkVUHZVVMS_js.t("isFullScreen")&&chunkVUHZVVMS_js.$(),n(chunkVUHZVVMS_js.f([Math.floor(a.currentTime)])),chunkVUHZVVMS_js.t("hasRawSubtitles")&&chunk5UGSCO4K_js.b()),chunkVUHZVVMS_js.w(chunkVUHZVVMS_js.K(true)),n(chunkVUHZVVMS_js.j(""));},Re=(e,t,a,n,o,i,l,h,j)=>{let K=chunkVUHZVVMS_js.Aa.dispatch,{autoQuality:w,canPlayVideo:Y,firstPlay:J,qualityLevels:C}=chunkVUHZVVMS_js.Aa.getState().controller,{settings:k}=chunkVUHZVVMS_js.Aa.getState().user,A=k.quality===-1&&w?C[w]:C[k.quality],g=0;l.current&&(g=Date.now()-l.current),J&&j.played&&chunkVUHZVVMS_js.w(chunkVUHZVVMS_js.L(t.current,Date.now()-a.current,n.current-a.current,Date.now()-o.current,o)),K(chunkAN6JAJSI_js.o(false)),Y&&g>0&&A!==void 0&&(i.current=g,l.current=0,chunkVUHZVVMS_js.w(chunkVUHZVVMS_js.M(g,A,o,e,h.current)),e.current=e.current+1,o.current=Date.now());},Ve=e=>{let t=chunkVUHZVVMS_js.Aa.dispatch,{params:a}=chunkVUHZVVMS_js.Aa.getState().videoData;e.preventDefault(),chunkVUHZVVMS_js.w(chunkVUHZVVMS_js.K(false)),t(chunkAN6JAJSI_js.f(false)),chunkVUHZVVMS_js.t("hasOnPauseParams")&&a.onPause();},Fe=e=>{let t=chunkVUHZVVMS_js.Aa.dispatch,{onChangeCurrentTime:a}=chunkVUHZVVMS_js.Aa.getState().videoData.params,{selectedSubtitle:n}=chunkVUHZVVMS_js.Aa.getState().videoData;e.preventDefault(),t(chunkAN6JAJSI_js.h(e.target.currentTime)),chunkVUHZVVMS_js.t("hasOnChangeCurrentTime")&&a(e.target.currentTime),chunkVUHZVVMS_js.t("hasActiveCue")&&t(chunkVUHZVVMS_js.j(n.activeCues[0].text));},we=e=>{let t=chunkVUHZVVMS_js.Aa.dispatch,{settings:a}=chunkVUHZVVMS_js.Aa.getState().user;t(chunkAN6JAJSI_js.l(false)),t(chunkAN6JAJSI_js.s(true)),e.volume=a.volume/100,t(chunkAN6JAJSI_js.g(e.duration));},Ce=(e,t)=>{let a=chunkVUHZVVMS_js.Aa.dispatch,{params:n}=chunkVUHZVVMS_js.Aa.getState().videoData;e.preventDefault(),a(chunkAN6JAJSI_js.u(true)),a(chunkAN6JAJSI_js.k(true)),chunkVUHZVVMS_js.ba(t.duration),chunkVUHZVVMS_js.t("hasOnFinishedParams")&&n.onFinished();},ke=(e,t)=>{e.preventDefault(),t.current=Date.now();},Ae=()=>{let e=chunkVUHZVVMS_js.Aa.dispatch;e(chunkAN6JAJSI_js.l(false)),e(chunkAN6JAJSI_js.o(false));},Oe=e=>{let{onChangeCurrentTime:t}=chunkVUHZVVMS_js.Aa.getState().videoData.params,a=chunkVUHZVVMS_js.Aa.dispatch;e.preventDefault(),chunkVUHZVVMS_js.t("hasOnChangeCurrentTime")&&t(e.target.currentTime),a(chunkAN6JAJSI_js.h(e.target.currentTime));},Ie=()=>{let e=chunkVUHZVVMS_js.Aa.dispatch,{params:t}=chunkVUHZVVMS_js.Aa.getState().videoData;e(chunkAN6JAJSI_js.u(true)),e(chunkAN6JAJSI_js.k(true)),chunkVUHZVVMS_js.t("hasOnFinishedParams")&&t.onFinished();},qe=e=>{let t=chunkVUHZVVMS_js.Aa.dispatch;e.preventDefault(),t(chunkAN6JAJSI_js.f(false));},He=(e,t)=>{let a=chunkVUHZVVMS_js.Aa.dispatch,{params:n}=chunkVUHZVVMS_js.Aa.getState().videoData,{currentTime:o}=chunkVUHZVVMS_js.Aa.getState().controller;e.preventDefault(),a(chunkAN6JAJSI_js.f(true)),t.current=Date.now(),a(chunkVUHZVVMS_js.j("")),chunkVUHZVVMS_js.t("hasOnPlayParams")&&n.onPlay(o),chunkVUHZVVMS_js.t("isFirstPlay")&&(chunkVUHZVVMS_js.t("hasRawSubtitles")&&chunk5UGSCO4K_js.b(),chunkVUHZVVMS_js.t("hasFullScreenParams")&&(G(),chunkVUHZVVMS_js.t("isFullScreen")&&chunkVUHZVVMS_js.$()));},Be=(e,t,a,n)=>{let o=chunkVUHZVVMS_js.Aa.dispatch,{firstPlay:i}=chunkVUHZVVMS_js.Aa.getState().controller;o(chunkAN6JAJSI_js.l(false)),i&&n.played&&chunkVUHZVVMS_js.w(chunkVUHZVVMS_js.L(Math.round(e.current),Date.now()-t.current,0,Date.now()-a.current,a)),o(chunkAN6JAJSI_js.o(false));},Ne=e=>{let{onChangeCurrentTime:t}=chunkVUHZVVMS_js.Aa.getState().videoData.params,a=chunkVUHZVVMS_js.Aa.dispatch,{selectedSubtitle:n}=chunkVUHZVVMS_js.Aa.getState().videoData;e.preventDefault(),a(chunkAN6JAJSI_js.h(e.target.currentTime)),a(chunkAN6JAJSI_js.g(e.target.duration)),chunkVUHZVVMS_js.t("hasOnChangeCurrentTime")&&t(e.target.currentTime),chunkVUHZVVMS_js.t("hasActiveCue")&&a(chunkVUHZVVMS_js.j(n.activeCues[0].text));},_e=()=>{let e=chunkVUHZVVMS_js.Aa.dispatch;e(chunkAN6JAJSI_js.l(false)),e(chunkAN6JAJSI_js.s(true));},Qe=(e,t)=>Z(t,e),Ue=e=>{let t=chunkVUHZVVMS_js.Aa.dispatch,{params:a}=chunkVUHZVVMS_js.Aa.getState().videoData;t(chunkAN6JAJSI_js.u(true)),t(chunkAN6JAJSI_js.k(true)),chunkVUHZVVMS_js.t("hasOnFinishedParams")&&a.onFinished(),e.preventDefault();},We=async e=>{let{stream_link:t}=chunkVUHZVVMS_js.Aa.getState().miniPlayer.details;e.loadSource(t);},$e=e=>chunkVUHZVVMS_js.ba(e.currentTime);exports.A=Qe;exports.B=Ue;exports.C=We;exports.D=$e;exports.a=he;exports.b=ge;exports.c=Te;exports.d=xe;exports.e=Se;exports.f=De;exports.g=ve;exports.h=Pe;exports.i=Le;exports.j=Me;exports.k=be;exports.l=Ee;exports.m=Re;exports.n=Ve;exports.o=Fe;exports.p=we;exports.q=Ce;exports.r=ke;exports.s=Ae;exports.t=Oe;exports.u=Ie;exports.v=qe;exports.w=He;exports.x=Be;exports.y=Ne;exports.z=_e;//# sourceMappingURL=chunk-HZASW2B2.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-HZASW2B2.js.map
|
|
@@ -1 +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","video","intervalRef","bufferedTimeWidth","setBufferedTimeWidth","handleHlsConfig","streamLinkParams","splitQueryParamsFromStreamLink","xhr","url","handleMiniPlayerHlsConfig","handleManifestParsed","hls","data","qualityLevels","resolutions","level","highestResolutionSupported","setQualityLevels","eventType","conditions","sortedAudioTracks","a","setMultiAudio","handleLevels","setQualityLevel","settings","manualQuality","autoQuality","setAutoQuality","setManualQuality","setUserSettings","handleFragBuffered","handleFragChanged","multiAudio","selectedAudioId","handleFragParsed","type","handleHlsErrors","handleVideoWaiting","waitingTimerRef","setIsLoading","handleVideoSeeking","handleVideoPlay","timerRef","videoSettings","currentTime","setPlay","setCurrentTime","handleLockOrientation","setVideoTimelines","handleSubtitle","sendFluentLog","pausePlayLog","setSubtitleText","handleVideoPlaying","loadingCounterRef","loadingDurationRef","initialWaitingDurationRef","bannerLoadingDurationRef","waitingDurationRef","videoEntranceTimeRef","canPlayVideo","firstPlay","qualityLevel","waitingDuration","initLog","setFirstPlay","loadingLog","handleVideoPause","handleVideoTimeUpdate","onChangeCurrentTime","selectedSubtitle","handleVideoCanPlay","setCanPlayVideo","setDuration","handleVideoEnded","setIsEnded","setActiveElements","handleVideoTimeline","handleIosVideoPlay","handleIosVideoPlaying","handleIosVideoTimeUpdate","handleIosVideoEnded","handleStaticVideoPause","handleStaticVideoPlay","handleStaticVideoPlaying","handleStaticVideoTimeUpdate","handleStaticVideoCanPlay","handleStaticVideoLoadedData","handleStaticVideoEnded","handleMiniPlayerMediaAttached","stream_link","handleVideoVisibilityChange"],"mappings":"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","file":"chunk-DJ6KVZRK.js","sourcesContent":["import { conditions } from \"../../conditions/conditions\";\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../constants\";\nimport { errorLogProvider } from \"../../errorBoundary/errorBoundaryFunctions\";\nimport { getUUID, highestResolutionSupported, splitQueryParamsFromStreamLink } from \"../../helpers\";\nimport { ConditionName } from \"../../interfaces/enums\";\nimport { sendFluentLog } from \"../../logs/fluentdLogger\";\nimport { initLog, loadingLog, pausePlayLog } from \"../../logs/logs\";\nimport {\n setActiveElements,\n setAutoQuality,\n setBufferedTimeWidth,\n setCanPlayVideo,\n setCurrentTime,\n setDuration,\n setFirstPlay,\n setIsEnded,\n setIsFullScreen,\n setIsLoading,\n setManualQuality,\n setPlay,\n setQualityLevels,\n} from \"../slices/controllerSlice\";\nimport { setClearPopoversSlice } from \"../slices/popoversSlice\";\nimport { setUserSettings } from \"../slices/userSlice\";\nimport { setMultiAudio, setSubtitleText, setVideoTimelines } from \"../slices/videoDataSlice\";\nimport store from \"../store\";\nimport { handleLockOrientation, handleVideoTimeline } from \"./controller.actions\";\nimport { handleSubtitle } from \"./videoData.actions\";\n\nexport const handleVideoError = (event: any) => {\n event.preventDefault();\n // Access the error property from the video element\n let error = (mainPlayerVideoTag() || miniPlayerVideoTag()).error;\n if (error) {\n switch (error.code) {\n case error.MEDIA_ERR_ABORTED:\n errorLogProvider({\n type: \"videoTagError\",\n message: \"You aborted the video playback.\",\n });\n break;\n case error.MEDIA_ERR_NETWORK:\n errorLogProvider({\n type: \"videoTagError\",\n message: \"A network error caused the video download to fail part-way.\",\n });\n break;\n case error.MEDIA_ERR_DECODE:\n errorLogProvider({\n type: \"videoTagError\",\n message: \"The video playback was aborted due to a corruption problem or because the video used features your browser did not support.\",\n });\n break;\n case error.MEDIA_ERR_SRC_NOT_SUPPORTED:\n errorLogProvider({\n type: \"videoTagError\",\n message: \"The video could not be loaded, either because the server or network failed or because the format is not supported.\",\n });\n break;\n default:\n errorLogProvider({\n type: \"videoTagError\",\n message: \"An unknown error occurred.\",\n });\n break;\n }\n } else {\n errorLogProvider({\n type: \"videoTagError\",\n message: \"An error occurred, but the error object is not available.\",\n });\n }\n};\n\nexport const handleAutoFullScreen = () => {\n const dispatch = store.dispatch;\n const { params } = store.getState().videoData;\n const launchFullScreen = (element: any) => {\n if (element.requestFullScreen) element.requestFullScreen();\n else if (element.mozRequestFullScreen) element.mozRequestFullScreen();\n else if (element.webkitRequestFullScreen) element.webkitRequestFullScreen();\n };\n dispatch(setClearPopoversSlice());\n launchFullScreen(document.documentElement);\n dispatch(setIsFullScreen(params.fullscreen === \"true\"));\n};\n\nexport const appendQueryParamsToChunksIOS = () => {\n let fragmentExtension = \".ts\";\n let originalOpen = XMLHttpRequest.prototype.open;\n XMLHttpRequest.prototype.open = function () {\n if (arguments[1].endsWith(fragmentExtension)) arguments[1] = arguments[1] + \"?uuid=\" + getUUID!();\n originalOpen.apply(this, arguments as any);\n };\n};\n\nexport const handleBufferedTime = (video: any, intervalRef: any) => {\n const dispatch = store.dispatch;\n\n intervalRef.current = setInterval(() => {\n // چک کردن طول buffered قبل از دسترسی\n if (video.buffered.length > 0 && video.duration > 0) {\n const bufferedTime = video.buffered.end(video.buffered.length - 1); // استفاده از آخرین index برای ایمنی\n const bufferedTimeWidth = (bufferedTime / video.duration) * 100;\n dispatch(setBufferedTimeWidth(bufferedTimeWidth));\n } else {\n dispatch(setBufferedTimeWidth(0));\n }\n }, 500);\n};\n\n// ************* Hls Config Handlers ************* //\nexport const handleHlsConfig = () => {\n const streamLinkParams = splitQueryParamsFromStreamLink(\"mainPlayer\");\n\n return {\n xhrSetup: (xhr: any, url: any) => {\n if (!url?.split(\"m3u8\")[1]) url = `${url}${streamLinkParams}`;\n xhr.open(\"GET\", url, true);\n },\n startLevel: -1,\n debug: false,\n enableWorker: true,\n abrBandWidthUpFactor: 0.7,\n abrBandWidthFactor: 0.95,\n backBufferLength: Infinity,\n maxBufferLength: 30,\n maxMaxBufferLength: 60,\n manifestLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: Infinity,\n maxLoadTimeMs: 20000,\n timeoutRetry: {\n maxNumRetry: 10,\n retryDelayMs: 5000,\n maxRetryDelayMs: 10000,\n },\n errorRetry: {\n maxNumRetry: 10,\n retryDelayMs: 5000,\n maxRetryDelayMs: 10000,\n },\n },\n },\n fragLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: 10000,\n maxLoadTimeMs: 120000,\n timeoutRetry: {\n maxNumRetry: 10,\n retryDelayMs: 5000,\n maxRetryDelayMs: 10000,\n },\n errorRetry: {\n maxNumRetry: 10,\n retryDelayMs: 5000,\n maxRetryDelayMs: 10000,\n },\n },\n },\n playlistLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: 10000,\n maxLoadTimeMs: 20000,\n timeoutRetry: {\n maxNumRetry: 10,\n retryDelayMs: 5000,\n maxRetryDelayMs: 10000,\n },\n errorRetry: {\n maxNumRetry: 10,\n retryDelayMs: 5000,\n maxRetryDelayMs: 10000,\n },\n },\n },\n };\n};\n\nexport const handleMiniPlayerHlsConfig = () => {\n const streamLinkParams = splitQueryParamsFromStreamLink(\"miniPlayer\");\n return {\n xhrSetup: (xhr: any, url: any) => {\n url = `${url}${streamLinkParams}`;\n xhr.open(\"GET\", url, true);\n },\n startLevel: 1,\n debug: false,\n maxMaxBufferLength: 60,\n playlistLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: 10000,\n maxLoadTimeMs: 20000,\n timeoutRetry: {\n maxNumRetry: 1000,\n retryDelayMs: 0,\n maxRetryDelayMs: 0,\n },\n errorRetry: {\n maxNumRetry: 1000,\n retryDelayMs: 1000,\n maxRetryDelayMs: 1000,\n },\n },\n },\n };\n};\n\n// ************* Manifest Handlers ************* //\n\nexport const handleManifestParsed = (hls: any, data: any) => {\n const dispatch = store.dispatch;\n let qualityLevels: any[] = [];\n let resolutions: any[] = [];\n hls.levels.map((level: any) => {\n qualityLevels.push(level.attrs.RESOLUTION?.split(\"x\")[1].trim());\n resolutions.push(level.attrs.RESOLUTION!);\n });\n hls.autoLevelCapping = highestResolutionSupported(resolutions, window.innerWidth, window.innerHeight);\n dispatch(setQualityLevels(qualityLevels));\n [\"fullscreenchange\", \"webkitfullscreenchange\", \"mozfullscreenchange\", \"msfullscreenchange\"].forEach((eventType) =>\n document.addEventListener(\n eventType,\n () => {\n if (conditions(ConditionName.isAutoQuality)) {\n hls.autoLevelCapping = highestResolutionSupported(resolutions, window.innerWidth, window.innerHeight);\n hls.nextLevel = -1;\n }\n },\n false,\n ),\n );\n if (data.audioTracks.length > 0) {\n const sortedAudioTracks = data.audioTracks.sort((a: any) => (a.default === true ? -1 : 1));\n dispatch(setMultiAudio(sortedAudioTracks));\n }\n};\n\n// ************* Level Handlers ************* //\n\nexport const handleLevels = (hls: any, data: any, setQualityLevel: any) => {\n if (data.frag.type !== \"audio\") {\n const dispatch = store.dispatch;\n const { settings } = store.getState().user;\n const { qualityLevels, manualQuality, autoQuality } = store.getState().controller;\n if (!conditions(ConditionName.isAutoQuality)) {\n if (data.frag.level !== manualQuality) hls.nextLevel = qualityLevels[settings.quality!] ? settings.quality : -1;\n if (qualityLevels[settings.quality!]) {\n dispatch(setManualQuality(settings.quality!));\n dispatch(setAutoQuality(undefined));\n } else {\n setQualityLevel(qualityLevels[data.frag.level]);\n dispatch(setAutoQuality(data.frag.level));\n dispatch(setUserSettings({ ...settings, quality: -1 }));\n }\n } else if (conditions(ConditionName.isAutoQuality) && autoQuality === undefined) {\n hls.nextLevel = -1;\n setQualityLevel(qualityLevels[data.frag.level]);\n dispatch(setAutoQuality(data.frag.level));\n } else if (conditions(ConditionName.isAutoQuality)) {\n setQualityLevel(qualityLevels[data.frag.level]);\n if (autoQuality !== data.frag.level) dispatch(setAutoQuality(data.frag.level));\n }\n }\n};\n\n// ************* Fragment Handlers ************* //\n\nexport const handleFragBuffered = (hls: any, video: HTMLVideoElement) => {\n const dispatch = store.dispatch;\n const bufferedTime = hls.mainForwardBufferInfo?.end;\n const bufferedTimeWidth = (bufferedTime! / video.duration) * 100;\n dispatch(setBufferedTimeWidth(bufferedTimeWidth));\n};\n\nexport const handleFragChanged = (hls: any, data: any, setQualityLevel: any) => {\n const { params, multiAudio, selectedAudioId } = store.getState().videoData;\n\n if (multiAudio && selectedAudioId !== undefined && selectedAudioId !== hls.audioTrack) hls.audioTrack = selectedAudioId;\n if (params.type) handleLevels(hls, data, setQualityLevel);\n};\n\nexport const handleFragParsed = (hls: any, data: any, setQualityLevel: any) => {\n const { type } = store.getState().videoData.params;\n if (type) handleLevels(hls, data, setQualityLevel);\n};\n\n// ************* HLS Error Handlers ************* //\n\nexport const handleHlsErrors = (data: any) => {\n if (data.event !== \"hlsAudioTrackLoading\") return { type: \"HLS_\" + data.type, message: data.error.message };\n return undefined;\n};\n\n// ************* Video Tag Handlers ************* //\n\nexport const handleVideoWaiting = (event: any, waitingTimerRef: any) => {\n const dispatch = store.dispatch;\n event.preventDefault();\n waitingTimerRef.current = Date.now();\n dispatch(setIsLoading(true));\n};\n\nexport const handleVideoSeeking = (event: any, waitingTimerRef: any) => {\n if (conditions(ConditionName.isIOS) && conditions(ConditionName.isFirstPlay)) return;\n const dispatch = store.dispatch;\n event.preventDefault();\n waitingTimerRef.current = 0;\n dispatch(setIsLoading(true));\n};\n\nexport const handleVideoPlay = (event: any, timerRef: any, video: HTMLVideoElement) => {\n const dispatch = store.dispatch;\n const { videoSettings } = store.getState().user;\n const { params } = store.getState().videoData;\n const { currentTime } = store.getState().controller;\n event.preventDefault();\n timerRef.current = Date.now();\n dispatch(setPlay(true));\n if (conditions(ConditionName.hasOnPlayParams)) params.onPlay!(currentTime);\n if (conditions(ConditionName.isFirstPlay)) {\n if (!conditions(ConditionName.hasCurrentTimeParams)) {\n video.currentTime = videoSettings.time;\n dispatch(setCurrentTime(videoSettings.time));\n }\n if (conditions(ConditionName.hasFullScreenParams)) handleAutoFullScreen();\n if (conditions(ConditionName.isFullScreen)) handleLockOrientation();\n dispatch(setVideoTimelines([Math.floor(video.currentTime)]));\n if (conditions(ConditionName.hasRawSubtitles)) handleSubtitle();\n }\n sendFluentLog(pausePlayLog(true));\n dispatch(setSubtitleText(\"\"));\n};\n\nexport const handleVideoPlaying = (\n loadingCounterRef: any,\n loadingDurationRef: any,\n initialWaitingDurationRef: any,\n bannerLoadingDurationRef: any,\n timerRef: any,\n waitingDurationRef: any,\n waitingTimerRef: any,\n videoEntranceTimeRef: any,\n video: HTMLVideoElement,\n) => {\n const dispatch = store.dispatch;\n const { autoQuality, canPlayVideo, firstPlay, qualityLevels } = store.getState().controller;\n const { settings } = store.getState().user;\n const qualityLevel = settings.quality === -1 && autoQuality ? qualityLevels[autoQuality] : qualityLevels[settings.quality!];\n let waitingDuration = 0;\n if (!!waitingTimerRef.current) waitingDuration = Date.now() - waitingTimerRef.current;\n if (firstPlay && !!video.played) {\n sendFluentLog(\n initLog(\n loadingDurationRef.current,\n Date.now() - initialWaitingDurationRef.current,\n bannerLoadingDurationRef.current - initialWaitingDurationRef.current,\n Date.now() - timerRef.current,\n timerRef,\n ),\n );\n }\n dispatch(setFirstPlay(false));\n\n if (canPlayVideo && waitingDuration > 0 && qualityLevel !== undefined) {\n waitingDurationRef.current = waitingDuration;\n waitingTimerRef.current = 0;\n sendFluentLog(loadingLog(waitingDuration, qualityLevel, timerRef, loadingCounterRef, videoEntranceTimeRef.current));\n loadingCounterRef.current = loadingCounterRef.current + 1;\n timerRef.current = Date.now();\n }\n};\n\nexport const handleVideoPause = (event: any) => {\n const dispatch = store.dispatch;\n const { params } = store.getState().videoData;\n event.preventDefault();\n sendFluentLog(pausePlayLog(false));\n dispatch(setPlay(false));\n if (conditions(ConditionName.hasOnPauseParams)) params.onPause!();\n};\n\nexport const handleVideoTimeUpdate = (event: any) => {\n const dispatch = store.dispatch;\n const { onChangeCurrentTime } = store.getState().videoData.params;\n const { selectedSubtitle } = store.getState().videoData;\n event.preventDefault();\n dispatch(setCurrentTime(event.target.currentTime));\n if (conditions(ConditionName.hasOnChangeCurrentTime)) onChangeCurrentTime!(event.target.currentTime);\n if (conditions(ConditionName.hasActiveCue)) dispatch(setSubtitleText((selectedSubtitle!.activeCues![0] as any).text));\n};\n\nexport const handleVideoCanPlay = (video: HTMLVideoElement) => {\n const dispatch = store.dispatch;\n const { settings } = store.getState().user;\n dispatch(setIsLoading(false));\n dispatch(setCanPlayVideo(true));\n video.volume = settings.volume / 100;\n dispatch(setDuration(video.duration));\n};\n\nexport const handleVideoEnded = (event: any, video: HTMLVideoElement) => {\n const dispatch = store.dispatch;\n const { params } = store.getState().videoData;\n event.preventDefault();\n dispatch(setIsEnded(true));\n dispatch(setActiveElements(true));\n handleVideoTimeline(video.duration);\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\n};\n\n// ************* IOS Video Tag Handlers ************* //\n\nexport const handleIosVideoPlay = (event: any, timerRef: any) => {\n event.preventDefault();\n timerRef.current = Date.now();\n};\n\nexport const handleIosVideoPlaying = () => {\n const dispatch = store.dispatch;\n dispatch(setIsLoading(false));\n dispatch(setFirstPlay(false));\n};\n\nexport const handleIosVideoTimeUpdate = (event: any) => {\n const { onChangeCurrentTime } = store.getState().videoData.params;\n const dispatch = store.dispatch;\n event.preventDefault();\n if (conditions(ConditionName.hasOnChangeCurrentTime)) onChangeCurrentTime!(event.target.currentTime);\n dispatch(setCurrentTime(event.target.currentTime));\n};\n\nexport const handleIosVideoEnded = () => {\n const dispatch = store.dispatch;\n const { params } = store.getState().videoData;\n dispatch(setIsEnded(true));\n dispatch(setActiveElements(true));\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\n};\n\n// ************* Static Video Tag Handlers ************* //\n\nexport const handleStaticVideoPause = (event: any) => {\n const dispatch = store.dispatch;\n event.preventDefault();\n dispatch(setPlay(false));\n};\n\nexport const handleStaticVideoPlay = (event: any, timerRef: any) => {\n const dispatch = store.dispatch;\n const { params } = store.getState().videoData;\n const { currentTime } = store.getState().controller;\n event.preventDefault();\n dispatch(setPlay(true));\n timerRef.current = Date.now();\n dispatch(setSubtitleText(\"\"));\n if (conditions(ConditionName.hasOnPlayParams)) params.onPlay!(currentTime);\n\n if (conditions(ConditionName.isFirstPlay)) {\n if (conditions(ConditionName.hasRawSubtitles)) handleSubtitle();\n if (conditions(ConditionName.hasFullScreenParams)) {\n handleAutoFullScreen();\n if (conditions(ConditionName.isFullScreen)) handleLockOrientation();\n }\n }\n};\n\nexport const handleStaticVideoPlaying = (loadingDurationRef: any, initialWaitingDurationRef: any, timerRef: any, video: HTMLVideoElement) => {\n const dispatch = store.dispatch;\n const { firstPlay } = store.getState().controller;\n dispatch(setIsLoading(false));\n if (firstPlay && !!video.played) {\n sendFluentLog(\n initLog(Math.round(loadingDurationRef.current), Date.now() - initialWaitingDurationRef.current, 0, Date.now() - timerRef.current, timerRef),\n );\n }\n dispatch(setFirstPlay(false));\n};\n\nexport const handleStaticVideoTimeUpdate = (event: any) => {\n const { onChangeCurrentTime } = store.getState().videoData.params;\n const dispatch = store.dispatch;\n const { selectedSubtitle } = store.getState().videoData;\n event.preventDefault();\n dispatch(setCurrentTime(event.target.currentTime));\n dispatch(setDuration(event.target.duration));\n if (conditions(ConditionName.hasOnChangeCurrentTime)) onChangeCurrentTime!(event.target.currentTime);\n if (conditions(ConditionName.hasActiveCue)) dispatch(setSubtitleText((selectedSubtitle!.activeCues![0] as any).text));\n};\n\nexport const handleStaticVideoCanPlay = () => {\n const dispatch = store.dispatch;\n dispatch(setIsLoading(false));\n dispatch(setCanPlayVideo(true));\n};\n\nexport const handleStaticVideoLoadedData = (intervalRef: any, video: HTMLVideoElement) => handleBufferedTime(video, intervalRef);\n\nexport const handleStaticVideoEnded = (event: any) => {\n const dispatch = store.dispatch;\n const { params } = store.getState().videoData;\n dispatch(setIsEnded(true));\n dispatch(setActiveElements(true));\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\n event.preventDefault();\n};\n\nexport const handleMiniPlayerMediaAttached = async (hls: any) => {\n const { stream_link } = store.getState().miniPlayer.details;\n hls.loadSource(stream_link);\n};\n\nexport const handleVideoVisibilityChange = (video: HTMLVideoElement) => handleVideoTimeline(video.currentTime);\n"]}
|
|
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","video","intervalRef","bufferedTimeWidth","setBufferedTimeWidth","handleHlsConfig","streamLinkParams","splitQueryParamsFromStreamLink","xhr","url","handleMiniPlayerHlsConfig","handleManifestParsed","hls","data","qualityLevels","resolutions","level","highestResolutionSupported","setQualityLevels","eventType","conditions","sortedAudioTracks","a","setMultiAudio","handleLevels","setQualityLevel","settings","manualQuality","autoQuality","setAutoQuality","setManualQuality","setUserSettings","handleFragBuffered","handleFragChanged","multiAudio","selectedAudioId","handleFragParsed","type","handleHlsErrors","handleVideoWaiting","waitingTimerRef","setIsLoading","handleVideoSeeking","handleVideoPlay","timerRef","videoSettings","currentTime","setPlay","setCurrentTime","handleLockOrientation","setVideoTimelines","handleSubtitle","sendFluentLog","pausePlayLog","setSubtitleText","handleVideoPlaying","loadingCounterRef","loadingDurationRef","initialWaitingDurationRef","bannerLoadingDurationRef","waitingDurationRef","videoEntranceTimeRef","canPlayVideo","firstPlay","qualityLevel","waitingDuration","initLog","setFirstPlay","loadingLog","handleVideoPause","handleVideoTimeUpdate","onChangeCurrentTime","selectedSubtitle","handleVideoCanPlay","setCanPlayVideo","setDuration","handleVideoEnded","setIsEnded","setActiveElements","handleVideoTimeline","handleIosVideoPlay","handleIosVideoPlaying","handleIosVideoTimeUpdate","handleIosVideoEnded","handleStaticVideoPause","handleStaticVideoPlay","handleStaticVideoPlaying","handleStaticVideoTimeUpdate","handleStaticVideoCanPlay","handleStaticVideoLoadedData","handleStaticVideoEnded","handleMiniPlayerMediaAttached","stream_link","handleVideoVisibilityChange"],"mappings":"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","file":"chunk-HZASW2B2.js","sourcesContent":["import { conditions } from \"../../conditions/conditions\";\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../constants\";\nimport { errorLogProvider } from \"../../errorBoundary/errorBoundaryFunctions\";\nimport { getUUID, highestResolutionSupported, splitQueryParamsFromStreamLink } from \"../../helpers\";\nimport { ConditionName } from \"../../interfaces/enums\";\nimport { sendFluentLog } from \"../../logs/fluentdLogger\";\nimport { initLog, loadingLog, pausePlayLog } from \"../../logs/logs\";\nimport {\n setActiveElements,\n setAutoQuality,\n setBufferedTimeWidth,\n setCanPlayVideo,\n setCurrentTime,\n setDuration,\n setFirstPlay,\n setIsEnded,\n setIsFullScreen,\n setIsLoading,\n setManualQuality,\n setPlay,\n setQualityLevels,\n} from \"../slices/controllerSlice\";\nimport { setClearPopoversSlice } from \"../slices/popoversSlice\";\nimport { setUserSettings } from \"../slices/userSlice\";\nimport { setMultiAudio, setSubtitleText, setVideoTimelines } from \"../slices/videoDataSlice\";\nimport store from \"../store\";\nimport { handleLockOrientation, handleVideoTimeline } from \"./controller.actions\";\nimport { handleSubtitle } from \"./videoData.actions\";\n\nexport const handleVideoError = (event: any) => {\n event.preventDefault();\n // Access the error property from the video element\n let error = (mainPlayerVideoTag() || miniPlayerVideoTag()).error;\n if (error) {\n switch (error.code) {\n case error.MEDIA_ERR_ABORTED:\n errorLogProvider({\n type: \"videoTagError\",\n message: \"You aborted the video playback.\",\n });\n break;\n case error.MEDIA_ERR_NETWORK:\n errorLogProvider({\n type: \"videoTagError\",\n message: \"A network error caused the video download to fail part-way.\",\n });\n break;\n case error.MEDIA_ERR_DECODE:\n errorLogProvider({\n type: \"videoTagError\",\n message: \"The video playback was aborted due to a corruption problem or because the video used features your browser did not support.\",\n });\n break;\n case error.MEDIA_ERR_SRC_NOT_SUPPORTED:\n errorLogProvider({\n type: \"videoTagError\",\n message: \"The video could not be loaded, either because the server or network failed or because the format is not supported.\",\n });\n break;\n default:\n errorLogProvider({\n type: \"videoTagError\",\n message: \"An unknown error occurred.\",\n });\n break;\n }\n } else {\n errorLogProvider({\n type: \"videoTagError\",\n message: \"An error occurred, but the error object is not available.\",\n });\n }\n};\n\nexport const handleAutoFullScreen = () => {\n const dispatch = store.dispatch;\n const { params } = store.getState().videoData;\n const launchFullScreen = (element: any) => {\n if (element.requestFullScreen) element.requestFullScreen();\n else if (element.mozRequestFullScreen) element.mozRequestFullScreen();\n else if (element.webkitRequestFullScreen) element.webkitRequestFullScreen();\n };\n dispatch(setClearPopoversSlice());\n launchFullScreen(document.documentElement);\n dispatch(setIsFullScreen(params.fullscreen === \"true\"));\n};\n\nexport const appendQueryParamsToChunksIOS = () => {\n let fragmentExtension = \".ts\";\n let originalOpen = XMLHttpRequest.prototype.open;\n XMLHttpRequest.prototype.open = function () {\n if (arguments[1].endsWith(fragmentExtension)) arguments[1] = arguments[1] + \"?uuid=\" + getUUID!();\n originalOpen.apply(this, arguments as any);\n };\n};\n\nexport const handleBufferedTime = (video: any, intervalRef: any) => {\n const dispatch = store.dispatch;\n\n intervalRef.current = setInterval(() => {\n // چک کردن طول buffered قبل از دسترسی\n if (video.buffered.length > 0 && video.duration > 0) {\n const bufferedTime = video.buffered.end(video.buffered.length - 1); // استفاده از آخرین index برای ایمنی\n const bufferedTimeWidth = (bufferedTime / video.duration) * 100;\n dispatch(setBufferedTimeWidth(bufferedTimeWidth));\n } else {\n dispatch(setBufferedTimeWidth(0));\n }\n }, 500);\n};\n\n// ************* Hls Config Handlers ************* //\nexport const handleHlsConfig = () => {\n const streamLinkParams = splitQueryParamsFromStreamLink(\"mainPlayer\");\n\n return {\n xhrSetup: (xhr: any, url: any) => {\n if (!url?.split(\"m3u8\")[1]) url = `${url}${streamLinkParams}`;\n xhr.open(\"GET\", url, true);\n },\n startLevel: -1,\n debug: false,\n enableWorker: true,\n abrBandWidthUpFactor: 0.7,\n abrBandWidthFactor: 0.95,\n backBufferLength: Infinity,\n maxBufferLength: 30,\n maxMaxBufferLength: 60,\n manifestLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: Infinity,\n maxLoadTimeMs: 20000,\n timeoutRetry: {\n maxNumRetry: 10,\n retryDelayMs: 5000,\n maxRetryDelayMs: 10000,\n },\n errorRetry: {\n maxNumRetry: 10,\n retryDelayMs: 5000,\n maxRetryDelayMs: 10000,\n },\n },\n },\n fragLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: 10000,\n maxLoadTimeMs: 120000,\n timeoutRetry: {\n maxNumRetry: 10,\n retryDelayMs: 5000,\n maxRetryDelayMs: 10000,\n },\n errorRetry: {\n maxNumRetry: 10,\n retryDelayMs: 5000,\n maxRetryDelayMs: 10000,\n },\n },\n },\n playlistLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: 10000,\n maxLoadTimeMs: 20000,\n timeoutRetry: {\n maxNumRetry: 10,\n retryDelayMs: 5000,\n maxRetryDelayMs: 10000,\n },\n errorRetry: {\n maxNumRetry: 10,\n retryDelayMs: 5000,\n maxRetryDelayMs: 10000,\n },\n },\n },\n };\n};\n\nexport const handleMiniPlayerHlsConfig = () => {\n const streamLinkParams = splitQueryParamsFromStreamLink(\"miniPlayer\");\n return {\n xhrSetup: (xhr: any, url: any) => {\n url = `${url}${streamLinkParams}`;\n xhr.open(\"GET\", url, true);\n },\n startLevel: 1,\n debug: false,\n maxMaxBufferLength: 60,\n playlistLoadPolicy: {\n default: {\n maxTimeToFirstByteMs: 10000,\n maxLoadTimeMs: 20000,\n timeoutRetry: {\n maxNumRetry: 1000,\n retryDelayMs: 0,\n maxRetryDelayMs: 0,\n },\n errorRetry: {\n maxNumRetry: 1000,\n retryDelayMs: 1000,\n maxRetryDelayMs: 1000,\n },\n },\n },\n };\n};\n\n// ************* Manifest Handlers ************* //\n\nexport const handleManifestParsed = (hls: any, data: any) => {\n const dispatch = store.dispatch;\n let qualityLevels: any[] = [];\n let resolutions: any[] = [];\n hls.levels.map((level: any) => {\n qualityLevels.push(level.attrs.RESOLUTION?.split(\"x\")[1].trim());\n resolutions.push(level.attrs.RESOLUTION!);\n });\n hls.autoLevelCapping = highestResolutionSupported(resolutions, window.innerWidth, window.innerHeight);\n dispatch(setQualityLevels(qualityLevels));\n [\"fullscreenchange\", \"webkitfullscreenchange\", \"mozfullscreenchange\", \"msfullscreenchange\"].forEach((eventType) =>\n document.addEventListener(\n eventType,\n () => {\n if (conditions(ConditionName.isAutoQuality)) {\n hls.autoLevelCapping = highestResolutionSupported(resolutions, window.innerWidth, window.innerHeight);\n hls.nextLevel = -1;\n }\n },\n false,\n ),\n );\n if (data.audioTracks.length > 0) {\n const sortedAudioTracks = data.audioTracks.sort((a: any) => (a.default === true ? -1 : 1));\n dispatch(setMultiAudio(sortedAudioTracks));\n }\n};\n\n// ************* Level Handlers ************* //\n\nexport const handleLevels = (hls: any, data: any, setQualityLevel: any) => {\n if (data.frag.type !== \"audio\") {\n const dispatch = store.dispatch;\n const { settings } = store.getState().user;\n const { qualityLevels, manualQuality, autoQuality } = store.getState().controller;\n if (!conditions(ConditionName.isAutoQuality)) {\n if (data.frag.level !== manualQuality) hls.nextLevel = qualityLevels[settings.quality!] ? settings.quality : -1;\n if (qualityLevels[settings.quality!]) {\n dispatch(setManualQuality(settings.quality!));\n dispatch(setAutoQuality(undefined));\n } else {\n setQualityLevel(qualityLevels[data.frag.level]);\n dispatch(setAutoQuality(data.frag.level));\n dispatch(setUserSettings({ ...settings, quality: -1 }));\n }\n } else if (conditions(ConditionName.isAutoQuality) && autoQuality === undefined) {\n hls.nextLevel = -1;\n setQualityLevel(qualityLevels[data.frag.level]);\n dispatch(setAutoQuality(data.frag.level));\n } else if (conditions(ConditionName.isAutoQuality)) {\n setQualityLevel(qualityLevels[data.frag.level]);\n if (autoQuality !== data.frag.level) dispatch(setAutoQuality(data.frag.level));\n }\n }\n};\n\n// ************* Fragment Handlers ************* //\n\nexport const handleFragBuffered = (hls: any, video: HTMLVideoElement) => {\n const dispatch = store.dispatch;\n const bufferedTime = hls.mainForwardBufferInfo?.end;\n const bufferedTimeWidth = (bufferedTime! / video.duration) * 100;\n dispatch(setBufferedTimeWidth(bufferedTimeWidth));\n};\n\nexport const handleFragChanged = (hls: any, data: any, setQualityLevel: any) => {\n const { params, multiAudio, selectedAudioId } = store.getState().videoData;\n\n if (multiAudio && selectedAudioId !== undefined && selectedAudioId !== hls.audioTrack) hls.audioTrack = selectedAudioId;\n if (params.type) handleLevels(hls, data, setQualityLevel);\n};\n\nexport const handleFragParsed = (hls: any, data: any, setQualityLevel: any) => {\n const { type } = store.getState().videoData.params;\n if (type) handleLevels(hls, data, setQualityLevel);\n};\n\n// ************* HLS Error Handlers ************* //\n\nexport const handleHlsErrors = (data: any) => {\n if (data.event !== \"hlsAudioTrackLoading\") return { type: \"HLS_\" + data.type, message: data.error.message };\n return undefined;\n};\n\n// ************* Video Tag Handlers ************* //\n\nexport const handleVideoWaiting = (event: any, waitingTimerRef: any) => {\n const dispatch = store.dispatch;\n event.preventDefault();\n waitingTimerRef.current = Date.now();\n dispatch(setIsLoading(true));\n};\n\nexport const handleVideoSeeking = (event: any, waitingTimerRef: any) => {\n if (conditions(ConditionName.isIOS) && conditions(ConditionName.isFirstPlay)) return;\n const dispatch = store.dispatch;\n event.preventDefault();\n waitingTimerRef.current = 0;\n dispatch(setIsLoading(true));\n};\n\nexport const handleVideoPlay = (event: any, timerRef: any, video: HTMLVideoElement) => {\n const dispatch = store.dispatch;\n const { videoSettings } = store.getState().user;\n const { params } = store.getState().videoData;\n const { currentTime } = store.getState().controller;\n event.preventDefault();\n timerRef.current = Date.now();\n dispatch(setPlay(true));\n if (conditions(ConditionName.hasOnPlayParams)) params.onPlay!(currentTime);\n if (conditions(ConditionName.isFirstPlay)) {\n if (!conditions(ConditionName.hasCurrentTimeParams)) {\n video.currentTime = videoSettings.time;\n dispatch(setCurrentTime(videoSettings.time));\n }\n if (conditions(ConditionName.hasFullScreenParams)) handleAutoFullScreen();\n if (conditions(ConditionName.isFullScreen)) handleLockOrientation();\n dispatch(setVideoTimelines([Math.floor(video.currentTime)]));\n if (conditions(ConditionName.hasRawSubtitles)) handleSubtitle();\n }\n sendFluentLog(pausePlayLog(true));\n dispatch(setSubtitleText(\"\"));\n};\n\nexport const handleVideoPlaying = (\n loadingCounterRef: any,\n loadingDurationRef: any,\n initialWaitingDurationRef: any,\n bannerLoadingDurationRef: any,\n timerRef: any,\n waitingDurationRef: any,\n waitingTimerRef: any,\n videoEntranceTimeRef: any,\n video: HTMLVideoElement,\n) => {\n const dispatch = store.dispatch;\n const { autoQuality, canPlayVideo, firstPlay, qualityLevels } = store.getState().controller;\n const { settings } = store.getState().user;\n const qualityLevel = settings.quality === -1 && autoQuality ? qualityLevels[autoQuality] : qualityLevels[settings.quality!];\n let waitingDuration = 0;\n if (!!waitingTimerRef.current) waitingDuration = Date.now() - waitingTimerRef.current;\n if (firstPlay && !!video.played) {\n sendFluentLog(\n initLog(\n loadingDurationRef.current,\n Date.now() - initialWaitingDurationRef.current,\n bannerLoadingDurationRef.current - initialWaitingDurationRef.current,\n Date.now() - timerRef.current,\n timerRef,\n ),\n );\n }\n dispatch(setFirstPlay(false));\n\n if (canPlayVideo && waitingDuration > 0 && qualityLevel !== undefined) {\n waitingDurationRef.current = waitingDuration;\n waitingTimerRef.current = 0;\n sendFluentLog(loadingLog(waitingDuration, qualityLevel, timerRef, loadingCounterRef, videoEntranceTimeRef.current));\n loadingCounterRef.current = loadingCounterRef.current + 1;\n timerRef.current = Date.now();\n }\n};\n\nexport const handleVideoPause = (event: any) => {\n const dispatch = store.dispatch;\n const { params } = store.getState().videoData;\n event.preventDefault();\n sendFluentLog(pausePlayLog(false));\n dispatch(setPlay(false));\n if (conditions(ConditionName.hasOnPauseParams)) params.onPause!();\n};\n\nexport const handleVideoTimeUpdate = (event: any) => {\n const dispatch = store.dispatch;\n const { onChangeCurrentTime } = store.getState().videoData.params;\n const { selectedSubtitle } = store.getState().videoData;\n event.preventDefault();\n dispatch(setCurrentTime(event.target.currentTime));\n if (conditions(ConditionName.hasOnChangeCurrentTime)) onChangeCurrentTime!(event.target.currentTime);\n if (conditions(ConditionName.hasActiveCue)) dispatch(setSubtitleText((selectedSubtitle!.activeCues![0] as any).text));\n};\n\nexport const handleVideoCanPlay = (video: HTMLVideoElement) => {\n const dispatch = store.dispatch;\n const { settings } = store.getState().user;\n dispatch(setIsLoading(false));\n dispatch(setCanPlayVideo(true));\n video.volume = settings.volume / 100;\n dispatch(setDuration(video.duration));\n};\n\nexport const handleVideoEnded = (event: any, video: HTMLVideoElement) => {\n const dispatch = store.dispatch;\n const { params } = store.getState().videoData;\n event.preventDefault();\n dispatch(setIsEnded(true));\n dispatch(setActiveElements(true));\n handleVideoTimeline(video.duration);\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\n};\n\n// ************* IOS Video Tag Handlers ************* //\n\nexport const handleIosVideoPlay = (event: any, timerRef: any) => {\n event.preventDefault();\n timerRef.current = Date.now();\n};\n\nexport const handleIosVideoPlaying = () => {\n const dispatch = store.dispatch;\n dispatch(setIsLoading(false));\n dispatch(setFirstPlay(false));\n};\n\nexport const handleIosVideoTimeUpdate = (event: any) => {\n const { onChangeCurrentTime } = store.getState().videoData.params;\n const dispatch = store.dispatch;\n event.preventDefault();\n if (conditions(ConditionName.hasOnChangeCurrentTime)) onChangeCurrentTime!(event.target.currentTime);\n dispatch(setCurrentTime(event.target.currentTime));\n};\n\nexport const handleIosVideoEnded = () => {\n const dispatch = store.dispatch;\n const { params } = store.getState().videoData;\n dispatch(setIsEnded(true));\n dispatch(setActiveElements(true));\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\n};\n\n// ************* Static Video Tag Handlers ************* //\n\nexport const handleStaticVideoPause = (event: any) => {\n const dispatch = store.dispatch;\n event.preventDefault();\n dispatch(setPlay(false));\n};\n\nexport const handleStaticVideoPlay = (event: any, timerRef: any) => {\n const dispatch = store.dispatch;\n const { params } = store.getState().videoData;\n const { currentTime } = store.getState().controller;\n event.preventDefault();\n dispatch(setPlay(true));\n timerRef.current = Date.now();\n dispatch(setSubtitleText(\"\"));\n if (conditions(ConditionName.hasOnPlayParams)) params.onPlay!(currentTime);\n\n if (conditions(ConditionName.isFirstPlay)) {\n if (conditions(ConditionName.hasRawSubtitles)) handleSubtitle();\n if (conditions(ConditionName.hasFullScreenParams)) {\n handleAutoFullScreen();\n if (conditions(ConditionName.isFullScreen)) handleLockOrientation();\n }\n }\n};\n\nexport const handleStaticVideoPlaying = (loadingDurationRef: any, initialWaitingDurationRef: any, timerRef: any, video: HTMLVideoElement) => {\n const dispatch = store.dispatch;\n const { firstPlay } = store.getState().controller;\n dispatch(setIsLoading(false));\n if (firstPlay && !!video.played) {\n sendFluentLog(\n initLog(Math.round(loadingDurationRef.current), Date.now() - initialWaitingDurationRef.current, 0, Date.now() - timerRef.current, timerRef),\n );\n }\n dispatch(setFirstPlay(false));\n};\n\nexport const handleStaticVideoTimeUpdate = (event: any) => {\n const { onChangeCurrentTime } = store.getState().videoData.params;\n const dispatch = store.dispatch;\n const { selectedSubtitle } = store.getState().videoData;\n event.preventDefault();\n dispatch(setCurrentTime(event.target.currentTime));\n dispatch(setDuration(event.target.duration));\n if (conditions(ConditionName.hasOnChangeCurrentTime)) onChangeCurrentTime!(event.target.currentTime);\n if (conditions(ConditionName.hasActiveCue)) dispatch(setSubtitleText((selectedSubtitle!.activeCues![0] as any).text));\n};\n\nexport const handleStaticVideoCanPlay = () => {\n const dispatch = store.dispatch;\n dispatch(setIsLoading(false));\n dispatch(setCanPlayVideo(true));\n};\n\nexport const handleStaticVideoLoadedData = (intervalRef: any, video: HTMLVideoElement) => handleBufferedTime(video, intervalRef);\n\nexport const handleStaticVideoEnded = (event: any) => {\n const dispatch = store.dispatch;\n const { params } = store.getState().videoData;\n dispatch(setIsEnded(true));\n dispatch(setActiveElements(true));\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\n event.preventDefault();\n};\n\nexport const handleMiniPlayerMediaAttached = async (hls: any) => {\n const { stream_link } = store.getState().miniPlayer.details;\n hls.loadSource(stream_link);\n};\n\nexport const handleVideoVisibilityChange = (video: HTMLVideoElement) => handleVideoTimeline(video.currentTime);\n"]}
|