cafe-video-player 2.4.2 → 2.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{VideoHighLighter-VEYEES5O.mjs → VideoHighLighter-AA7I6AFZ.mjs} +2 -2
- package/{VideoHighLighter-VEYEES5O.mjs.map → VideoHighLighter-AA7I6AFZ.mjs.map} +1 -1
- package/{VideoHighLighter-3U5XWMWJ.js → VideoHighLighter-EMXMJJWG.js} +2 -2
- package/{VideoHighLighter-3U5XWMWJ.js.map → VideoHighLighter-EMXMJJWG.js.map} +1 -1
- package/backwardForward-OSLVEXHW.mjs +2 -0
- package/{backwardForward-N75PBTWN.mjs.map → backwardForward-OSLVEXHW.mjs.map} +1 -1
- package/backwardForward-PEKYA7G4.js +2 -0
- package/{backwardForward-E2NLBMMH.js.map → backwardForward-PEKYA7G4.js.map} +1 -1
- package/{chunk-UBKDWPP7.mjs → chunk-2J3G4ODR.mjs} +4 -4
- package/{chunk-UBKDWPP7.mjs.map → chunk-2J3G4ODR.mjs.map} +1 -1
- package/{chunk-KIC75NSX.mjs → chunk-4TQF43YU.mjs} +2 -2
- package/{chunk-KIC75NSX.mjs.map → chunk-4TQF43YU.mjs.map} +1 -1
- package/{chunk-BOS4UPEA.js → chunk-5HFX3MP2.js} +2 -2
- package/{chunk-BOS4UPEA.js.map → chunk-5HFX3MP2.js.map} +1 -1
- package/{chunk-SUV7NR2J.mjs → chunk-6V7Y4FV6.mjs} +2 -2
- package/{chunk-SUV7NR2J.mjs.map → chunk-6V7Y4FV6.mjs.map} +1 -1
- package/{chunk-M4NZ4V5H.mjs → chunk-A2WOHDUE.mjs} +3 -3
- package/{chunk-M4NZ4V5H.mjs.map → chunk-A2WOHDUE.mjs.map} +1 -1
- package/{chunk-4I3S32RN.mjs → chunk-CSWKETJ4.mjs} +2 -2
- package/{chunk-4I3S32RN.mjs.map → chunk-CSWKETJ4.mjs.map} +1 -1
- package/chunk-D6YE37GQ.js +3 -0
- package/{chunk-CIBMAE3N.js.map → chunk-D6YE37GQ.js.map} +1 -1
- package/{chunk-YZYTKWCY.mjs → chunk-FPUBUJN6.mjs} +2 -2
- package/chunk-FPUBUJN6.mjs.map +1 -0
- package/{chunk-HME64W2O.js → chunk-HSAWK74H.js} +2 -2
- package/chunk-HSAWK74H.js.map +1 -0
- package/{chunk-K4TUYQMW.js → chunk-I5PCCWLZ.js} +5 -5
- package/{chunk-K4TUYQMW.js.map → chunk-I5PCCWLZ.js.map} +1 -1
- package/{chunk-5LJKRSJU.js → chunk-IR7FV4FQ.js} +2 -2
- package/{chunk-5LJKRSJU.js.map → chunk-IR7FV4FQ.js.map} +1 -1
- package/chunk-JGG5BV2J.js +2 -0
- package/{chunk-BBWNG7HP.js.map → chunk-JGG5BV2J.js.map} +1 -1
- package/{chunk-L2M274SY.mjs → chunk-MSI72J5J.mjs} +2 -2
- package/{chunk-L2M274SY.mjs.map → chunk-MSI72J5J.mjs.map} +1 -1
- package/chunk-QZJECTZQ.mjs +2 -0
- package/{chunk-ZMWH4RA6.mjs.map → chunk-QZJECTZQ.mjs.map} +1 -1
- package/{chunk-MZP43FH7.mjs → chunk-R4YRPVUD.mjs} +2 -2
- package/{chunk-MZP43FH7.mjs.map → chunk-R4YRPVUD.mjs.map} +1 -1
- package/chunk-VJJNBNP2.js +2 -0
- package/{chunk-4SNO3QVC.js.map → chunk-VJJNBNP2.js.map} +1 -1
- package/chunk-WMEKSWX7.js +2 -0
- package/{chunk-5DVPBBOD.js.map → chunk-WMEKSWX7.js.map} +1 -1
- package/chunk-ZXBCSP2L.js +2 -0
- package/{chunk-D7CTAABP.js.map → chunk-ZXBCSP2L.js.map} +1 -1
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/index.mjs +1 -1
- package/index.mjs.map +1 -1
- package/nonStaticVideoTag-CGE5567K.js +2 -0
- package/{nonStaticVideoTag-T4CIWREL.js.map → nonStaticVideoTag-CGE5567K.js.map} +1 -1
- package/{nonStaticVideoTag-RO6C2T36.mjs → nonStaticVideoTag-LEI3OS4G.mjs} +2 -2
- package/{nonStaticVideoTag-RO6C2T36.mjs.map → nonStaticVideoTag-LEI3OS4G.mjs.map} +1 -1
- package/package.json +1 -1
- package/staticPlayer-KE3BXILD.mjs +2 -0
- package/{staticPlayer-NXOOJTWO.mjs.map → staticPlayer-KE3BXILD.mjs.map} +1 -1
- package/staticPlayer-XP5433B2.js +2 -0
- package/{staticPlayer-DMILO6PN.js.map → staticPlayer-XP5433B2.js.map} +1 -1
- package/{staticVideoTag-IZI7PG7M.mjs → staticVideoTag-AUESR2OF.mjs} +2 -2
- package/{staticVideoTag-IZI7PG7M.mjs.map → staticVideoTag-AUESR2OF.mjs.map} +1 -1
- package/staticVideoTag-GZN2ANRV.js +2 -0
- package/{staticVideoTag-KT6PBJ7V.js.map → staticVideoTag-GZN2ANRV.js.map} +1 -1
- package/{touchVolumeBrightness-27EBEX5W.mjs → touchVolumeBrightness-EOA2JIOJ.mjs} +3 -3
- package/{touchVolumeBrightness-27EBEX5W.mjs.map → touchVolumeBrightness-EOA2JIOJ.mjs.map} +1 -1
- package/{touchVolumeBrightness-KAAGMQWI.js → touchVolumeBrightness-I4UWCQX6.js} +3 -3
- package/{touchVolumeBrightness-KAAGMQWI.js.map → touchVolumeBrightness-I4UWCQX6.js.map} +1 -1
- package/videoArea-D4BUXRIS.mjs +2 -0
- package/{videoArea-D5XF44HR.mjs.map → videoArea-D4BUXRIS.mjs.map} +1 -1
- package/videoArea-NJQ2YNRH.js +2 -0
- package/{videoArea-HORYPBAZ.js.map → videoArea-NJQ2YNRH.js.map} +1 -1
- package/vodPlayer-HJJHRCFP.js +2 -0
- package/{vodPlayer-VTPZZILH.js.map → vodPlayer-HJJHRCFP.js.map} +1 -1
- package/{vodPlayer-7IQILQHX.mjs → vodPlayer-ZWLHRYSH.mjs} +2 -2
- package/{vodPlayer-7IQILQHX.mjs.map → vodPlayer-ZWLHRYSH.mjs.map} +1 -1
- package/backwardForward-E2NLBMMH.js +0 -2
- package/backwardForward-N75PBTWN.mjs +0 -2
- package/chunk-4SNO3QVC.js +0 -2
- package/chunk-5DVPBBOD.js +0 -2
- package/chunk-BBWNG7HP.js +0 -2
- package/chunk-CIBMAE3N.js +0 -3
- package/chunk-D7CTAABP.js +0 -2
- package/chunk-HME64W2O.js.map +0 -1
- package/chunk-YZYTKWCY.mjs.map +0 -1
- package/chunk-ZMWH4RA6.mjs +0 -2
- package/nonStaticVideoTag-T4CIWREL.js +0 -2
- package/staticPlayer-DMILO6PN.js +0 -2
- package/staticPlayer-NXOOJTWO.mjs +0 -2
- package/staticVideoTag-KT6PBJ7V.js +0 -2
- package/videoArea-D5XF44HR.mjs +0 -2
- package/videoArea-HORYPBAZ.js +0 -2
- package/vodPlayer-VTPZZILH.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
'use strict';var chunkWMEKSWX7_js=require('./chunk-WMEKSWX7.js'),chunkHSAWK74H_js=require('./chunk-HSAWK74H.js'),chunk5FTEBU6O_js=require('./chunk-5FTEBU6O.js'),chunkWO4IQUGO_js=require('./chunk-WO4IQUGO.js'),react=require('react'),reactRedux=require('react-redux'),useDoubleTap=require('use-double-tap'),u=require('next/legacy/image'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var u__default=/*#__PURE__*/_interopDefault(u);chunkWO4IQUGO_js.e();var j=1e3,H=({type:r,isRightDoubleTouched:F,isLeftDoubleTouched:g,setIsRightDoubleTouched:d,setIsLeftDoubleTouched:s})=>{let[c,f]=react.useState(15),[x,m]=react.useState(false),i=react.useRef(c),M=chunkHSAWK74H_js.ga(),{duration:q}=chunkHSAWK74H_js.ha(({controller:{currentTime:a,duration:n}})=>({currentTime:a,duration:n}),reactRedux.shallowEqual),{videoElementSizeInfo:B}=chunkHSAWK74H_js.ha(({videoData:{videoElementSizeInfo:a,params:n}})=>({videoElementSizeInfo:a,params:n}),reactRedux.shallowEqual),p=react.useRef(null);react.useEffect(()=>{i.current=c;},[c]);let N;N=useDoubleTap.useDoubleTap(a=>{["touchBackward","touchForward"].includes(r)&&(a.stopPropagation(),r==="touchBackward"&&s?s(true):r==="touchForward"&&d&&d(true),clearTimeout(p.current),p.current=setTimeout(()=>m(true),j));},200),react.useEffect(()=>{x&&(m(false),M(chunkHSAWK74H_js.f(false)),F&&d?(d(false),chunkHSAWK74H_js.la().duration-chunkHSAWK74H_js.la().currentTime<=i.current?chunkWMEKSWX7_js.e(r,chunkHSAWK74H_js.la().duration):chunkWMEKSWX7_js.e(r,i.current),f(15)):g&&s&&(s(false),chunkHSAWK74H_js.la().currentTime<=i.current?chunkWMEKSWX7_js.e(r,0):chunkWMEKSWX7_js.e(r,i.current),f(15)));},[x]);let z=a=>{f(n=>n+15),chunkHSAWK74H_js.fa("isTouchScreenLandscape")&&chunkHSAWK74H_js.W(a,r),clearTimeout(p.current),p.current=setTimeout(()=>m(true),j);},w;return ["backward","forward"].includes(r)?w=jsxRuntime.jsx("div",{className:`${!chunkHSAWK74H_js.fa("isTouchScreen")&&"hover:pl-scale-125"} pl-transition-transform pl-ease-in-out pl-cursor-pointer ${r==="backward"&&(chunkHSAWK74H_js.la().currentTime>=15?"pl-opacity-100":"pl-opacity-30 pl-cursor-default hover:pl-scale-100")} ${r==="forward"&&(q-chunkHSAWK74H_js.la().currentTime>=15?"pl-opacity-100":"pl-opacity-30 pl-cursor-default hover:pl-scale-100")}}`,onContextMenu:a=>a.preventDefault(),children:jsxRuntime.jsx(u__default.default,{alt:r==="backward"?"backward-icon":"forward-icon",src:r==="backward"?chunk5FTEBU6O_js.a.backward15:chunk5FTEBU6O_js.a.forward15,width:24,height:24,onClick:()=>chunkWMEKSWX7_js.e(r,c),onDoubleClick:a=>a.stopPropagation()})}):["touchBackward","touchForward"].includes(r)&&(w=jsxRuntime.jsx("div",{id:r,className:`pl-relative pl-flex pl-flex-col pl-justify-center pl-items-center pl-gap-2 pl-overflow-hidden ${r==="touchBackward"?"pl-rounded-r-full":"pl-rounded-l-full"}`,style:{width:B.width,height:B.width},...N,children:(F||g)&&jsxRuntime.jsxs("div",{className:"pl-w-full pl-h-full pl-flex pl-flex-col pl-justify-center pl-items-center pl-gap-2 pl-p-5 pl-bg-secondary-100/[0.3]",onTouchStart:z,children:[jsxRuntime.jsxs("div",{className:`${r==="touchBackward"?"pl-arrow-left":"pl-arrow-right pl-gap-2"} pl-flex pl-justify-center pl-items-center`,children:[jsxRuntime.jsx(u__default.default,{alt:"arrow-left-icon",src:chunk5FTEBU6O_js.a.arrowLeft,className:`${r==="touchForward"&&"pl-rotate-180"}`,width:24,height:24}),jsxRuntime.jsx(u__default.default,{alt:"arrow-left-icon",src:chunk5FTEBU6O_js.a.arrowLeft,className:`${r==="touchForward"&&"pl-rotate-180"}`,width:24,height:24}),jsxRuntime.jsx(u__default.default,{alt:"arrow-left-icon",src:chunk5FTEBU6O_js.a.arrowLeft,className:`${r==="touchForward"&&"pl-rotate-180"}`,width:24,height:24})]}),jsxRuntime.jsxs("p",{className:"pl-text-center pl-text-[14px] pl-font-normal pl-text-white",children:[c," \u062B\u0627\u0646\u06CC\u0647"]})]})})),jsxRuntime.jsx(jsxRuntime.Fragment,{children:w})},y=H;exports.a=y;//# sourceMappingURL=chunk-IR7FV4FQ.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-IR7FV4FQ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/videoPlayerLibrary/components/custom-components/backwardForward/backwardForward.tsx"],"names":["init_cjs_shims","hideTime","BackwardForward","type","isRightDoubleTouched","isLeftDoubleTouched","setIsRightDoubleTouched","setIsLeftDoubleTouched","backwardForwardCount","setBackwardForwardCount","useState","hide","setHide","backwardForwardCountRef","useRef","dispatch","useAppDispatch","duration","useAppSelector","currentTime","shallowEqual","videoElementSizeInfo","params","timeoutRef","useEffect","doubleTouch","useDoubleTap","event","setActiveElements","mainPlayerVideoTag","handleBackwardForward","handleTouchStart","prev","conditions","handleRippleCircle","component","jsx","Image","importImages_default","jsxs","Fragment","backwardForward_default"],"mappings":"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","file":"chunk-5LJKRSJU.js","sourcesContent":["import { useEffect, useRef, useState } from \"react\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport { useDoubleTap } from \"use-double-tap\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { IBackwardForwardProps } from \"../../../helpers/interfaces/interfaces\";\r\nimport { setActiveElements } from \"../../../helpers/redux/slices/controllerSlice\";\r\nimport { handleBackwardForward } from \"../../../helpers/redux/actions/controller.actions\";\r\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { handleRippleCircle } from \"../../../helpers/helpers\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport Image from \"next/legacy/image\";\r\nimport { mainPlayerVideoTag } from \"../../../helpers/constants\";\r\n\r\nconst hideTime = 1000;\r\n\r\nconst BackwardForward = ({\r\n type,\r\n isRightDoubleTouched,\r\n isLeftDoubleTouched,\r\n setIsRightDoubleTouched,\r\n setIsLeftDoubleTouched\r\n}: IBackwardForwardProps) => {\r\n const [backwardForwardCount, setBackwardForwardCount] = useState<number>(15);\r\n const [hide, setHide] = useState<boolean>(false);\r\n const backwardForwardCountRef = useRef<number>(backwardForwardCount);\r\n\r\n const dispatch = useAppDispatch();\r\n const { duration } = useAppSelector(({ controller: { currentTime, duration } }) => ({ currentTime, duration }), shallowEqual);\r\n const { videoElementSizeInfo } = useAppSelector(\r\n ({ videoData: { videoElementSizeInfo, params } }) => ({ videoElementSizeInfo, params }),\r\n shallowEqual\r\n );\r\n\r\n const timeoutRef = useRef<any>(null);\r\n\r\n useEffect(() => {\r\n backwardForwardCountRef.current = backwardForwardCount;\r\n }, [backwardForwardCount]);\r\n\r\n let doubleTouch: any = undefined;\r\n\r\n doubleTouch = useDoubleTap((event) => {\r\n if ([\"touchBackward\", \"touchForward\"].includes(type)) {\r\n event.stopPropagation();\r\n if (type === \"touchBackward\" && setIsLeftDoubleTouched) setIsLeftDoubleTouched(true);\r\n else if (type === \"touchForward\" && setIsRightDoubleTouched) setIsRightDoubleTouched(true);\r\n clearTimeout(timeoutRef.current);\r\n timeoutRef.current = setTimeout(() => setHide(true), hideTime);\r\n }\r\n }, 200);\r\n\r\n useEffect(() => {\r\n if (hide) {\r\n setHide(false);\r\n dispatch(setActiveElements(false));\r\n if (isRightDoubleTouched && setIsRightDoubleTouched) {\r\n setIsRightDoubleTouched(false);\r\n if (mainPlayerVideoTag().duration - mainPlayerVideoTag().currentTime <= backwardForwardCountRef.current) handleBackwardForward(type, mainPlayerVideoTag().duration);\r\n else handleBackwardForward(type, backwardForwardCountRef.current);\r\n setBackwardForwardCount(15);\r\n } else if (isLeftDoubleTouched && setIsLeftDoubleTouched) {\r\n setIsLeftDoubleTouched(false);\r\n if (mainPlayerVideoTag().currentTime <= backwardForwardCountRef.current) handleBackwardForward(type, 0);\r\n else handleBackwardForward(type, backwardForwardCountRef.current);\r\n setBackwardForwardCount(15);\r\n }\r\n }\r\n }, [hide]);\r\n\r\n const handleTouchStart = (event: any) => {\r\n setBackwardForwardCount((prev) => prev + 15);\r\n if (conditions(ConditionName.isTouchScreenLandscape)) handleRippleCircle(event, type);\r\n clearTimeout(timeoutRef.current);\r\n timeoutRef.current = setTimeout(() => setHide(true), hideTime);\r\n };\r\n\r\n let component;\r\n\r\n if ([\"backward\", \"forward\"].includes(type)) {\r\n component = (\r\n <div\r\n className={`${\r\n !conditions(ConditionName.isTouchScreen) && \"hover:pl-scale-125\"\r\n } pl-transition-transform pl-ease-in-out pl-cursor-pointer ${\r\n type === \"backward\" && (mainPlayerVideoTag().currentTime >= 15 ? \"pl-opacity-100\" : \"pl-opacity-30 pl-cursor-default hover:pl-scale-100\")\r\n } ${\r\n type === \"forward\" &&\r\n (duration - mainPlayerVideoTag().currentTime >= 15 ? \"pl-opacity-100\" : \"pl-opacity-30 pl-cursor-default hover:pl-scale-100\")\r\n }}`}\r\n onContextMenu={(event) => event.preventDefault()}\r\n >\r\n <Image\r\n alt={type === \"backward\" ? \"backward-icon\" : \"forward-icon\"}\r\n src={type === \"backward\" ? IMAGES.backward15 : IMAGES.forward15}\r\n width={24} \r\n height={24}\r\n onClick={() => handleBackwardForward(type, backwardForwardCount)}\r\n onDoubleClick={(event: any) => event.stopPropagation()}\r\n />\r\n </div>\r\n );\r\n } else if ([\"touchBackward\", \"touchForward\"].includes(type)) {\r\n component = (\r\n <div\r\n id={type}\r\n className={`pl-relative pl-flex pl-flex-col pl-justify-center pl-items-center pl-gap-2 pl-overflow-hidden ${\r\n type === \"touchBackward\" ? \"pl-rounded-r-full\" : \"pl-rounded-l-full\"\r\n }`}\r\n style={{ width: videoElementSizeInfo.width, height: videoElementSizeInfo.width }}\r\n {...doubleTouch}\r\n >\r\n {(isRightDoubleTouched || isLeftDoubleTouched) && (\r\n <div\r\n className={`pl-w-full pl-h-full pl-flex pl-flex-col pl-justify-center pl-items-center pl-gap-2 pl-p-5 pl-bg-secondary-100/[0.3]`}\r\n onTouchStart={handleTouchStart}\r\n >\r\n <div\r\n className={`${\r\n type === \"touchBackward\" ? \"pl-arrow-left\" : \"pl-arrow-right pl-gap-2\"\r\n } pl-flex pl-justify-center pl-items-center`}\r\n >\r\n <Image\r\n alt=\"arrow-left-icon\"\r\n src={IMAGES.arrowLeft}\r\n className={`${type === \"touchForward\" && \"pl-rotate-180\"}`}\r\n width={24}\r\n height={24}\r\n />\r\n <Image\r\n alt=\"arrow-left-icon\"\r\n src={IMAGES.arrowLeft}\r\n className={`${type === \"touchForward\" && \"pl-rotate-180\"}`}\r\n width={24}\r\n height={24}\r\n />\r\n <Image\r\n alt=\"arrow-left-icon\"\r\n src={IMAGES.arrowLeft}\r\n className={`${type === \"touchForward\" && \"pl-rotate-180\"}`}\r\n width={24}\r\n height={24}\r\n />\r\n </div>\r\n <p className=\"pl-text-center pl-text-[14px] pl-font-normal pl-text-white\">{backwardForwardCount} ثانیه</p>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n\r\n return <>{component}</>;\r\n};\r\n\r\nexport default BackwardForward;\r\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/videoPlayerLibrary/components/custom-components/backwardForward/backwardForward.tsx"],"names":["init_cjs_shims","hideTime","BackwardForward","type","isRightDoubleTouched","isLeftDoubleTouched","setIsRightDoubleTouched","setIsLeftDoubleTouched","backwardForwardCount","setBackwardForwardCount","useState","hide","setHide","backwardForwardCountRef","useRef","dispatch","useAppDispatch","duration","useAppSelector","currentTime","shallowEqual","videoElementSizeInfo","params","timeoutRef","useEffect","doubleTouch","useDoubleTap","event","setActiveElements","mainPlayerVideoTag","handleBackwardForward","handleTouchStart","prev","conditions","handleRippleCircle","component","jsx","Image","importImages_default","jsxs","Fragment","backwardForward_default"],"mappings":"weAAAA,kBAAAA,EAAAA,KAcMC,CAAAA,CAAW,GAAA,CAEXC,CAAAA,CAAkB,CAAC,CACrB,IAAA,CAAAC,CAAAA,CACA,oBAAA,CAAAC,CAAAA,CACA,mBAAA,CAAAC,CAAAA,CACA,uBAAA,CAAAC,CAAAA,CACA,sBAAA,CAAAC,CACJ,CAAA,GAA6B,CACzB,GAAM,CAACC,CAAAA,CAAsBC,CAAuB,CAAA,CAAIC,cAAAA,CAAiB,EAAE,CAAA,CACrE,CAACC,CAAAA,CAAMC,CAAO,CAAA,CAAIF,eAAkB,KAAK,CAAA,CACzCG,CAAAA,CAA0BC,YAAAA,CAAeN,CAAoB,CAAA,CAE7DO,EAAWC,mBAAAA,EAAe,CAC1B,CAAE,QAAA,CAAAC,CAAS,CAAA,CAAIC,oBAAe,CAAC,CAAE,UAAA,CAAY,CAAE,WAAA,CAAAC,CAAAA,CAAa,QAAA,CAAAF,CAAS,CAAE,CAAA,IAAO,CAAE,WAAA,CAAAE,CAAAA,CAAa,QAAA,CAAAF,CAAS,CAAA,CAAA,CAAIG,uBAAY,CAAA,CACtH,CAAE,oBAAA,CAAAC,CAAqB,CAAA,CAAIH,mBAAAA,CAC7B,CAAC,CAAE,SAAA,CAAW,CAAE,oBAAA,CAAAG,CAAAA,CAAsB,OAAAC,CAAO,CAAE,CAAA,IAAO,CAAE,oBAAA,CAAAD,CAAAA,CAAsB,MAAA,CAAAC,CAAO,CAAA,CAAA,CACrFF,uBACJ,CAAA,CAEMG,CAAAA,CAAaT,YAAAA,CAAY,IAAI,EAEnCU,eAAAA,CAAU,IAAM,CACZX,CAAAA,CAAwB,OAAA,CAAUL,EACtC,EAAG,CAACA,CAAoB,CAAC,CAAA,CAEzB,IAAIiB,CAAAA,CAEJA,EAAcC,yBAAAA,CAAcC,CAAAA,EAAU,CAC9B,CAAC,eAAA,CAAiB,cAAc,CAAA,CAAE,QAAA,CAASxB,CAAI,CAAA,GAC/CwB,CAAAA,CAAM,eAAA,EAAgB,CAClBxB,CAAAA,GAAS,iBAAmBI,CAAAA,CAAwBA,CAAAA,CAAuB,IAAI,CAAA,CAC1EJ,CAAAA,GAAS,cAAA,EAAkBG,CAAAA,EAAyBA,CAAAA,CAAwB,IAAI,CAAA,CACzF,YAAA,CAAaiB,CAAAA,CAAW,OAAO,CAAA,CAC/BA,EAAW,OAAA,CAAU,UAAA,CAAW,IAAMX,CAAAA,CAAQ,IAAI,CAAA,CAAGX,CAAQ,CAAA,EAErE,CAAA,CAAG,GAAG,CAAA,CAENuB,eAAAA,CAAU,IAAM,CACRb,IACAC,CAAAA,CAAQ,KAAK,CAAA,CACbG,CAAAA,CAASa,kBAAAA,CAAkB,KAAK,CAAC,CAAA,CAC7BxB,CAAAA,EAAwBE,CAAAA,EACxBA,CAAAA,CAAwB,KAAK,CAAA,CACzBuB,qBAAmB,CAAE,QAAA,CAAWA,mBAAAA,EAAmB,CAAE,WAAA,EAAehB,CAAAA,CAAwB,OAAA,CAASiB,kBAAAA,CAAsB3B,CAAAA,CAAM0B,mBAAAA,EAAmB,CAAE,QAAQ,CAAA,CAC7JC,kBAAAA,CAAsB3B,EAAMU,CAAAA,CAAwB,OAAO,CAAA,CAChEJ,CAAAA,CAAwB,EAAE,CAAA,EACnBJ,CAAAA,EAAuBE,CAAAA,GAC9BA,CAAAA,CAAuB,KAAK,CAAA,CACxBsB,mBAAAA,EAAmB,CAAE,WAAA,EAAehB,EAAwB,OAAA,CAASiB,kBAAAA,CAAsB3B,CAAAA,CAAM,CAAC,CAAA,CACjG2B,kBAAAA,CAAsB3B,CAAAA,CAAMU,CAAAA,CAAwB,OAAO,CAAA,CAChEJ,CAAAA,CAAwB,EAAE,CAAA,CAAA,EAGtC,CAAA,CAAG,CAACE,CAAI,CAAC,CAAA,CAET,IAAMoB,CAAAA,CAAoBJ,CAAAA,EAAe,CACrClB,CAAAA,CAAyBuB,CAAAA,EAASA,CAAAA,CAAO,EAAE,CAAA,CACvCC,mBAAAA,CAAAA,wBAA+C,GAAGC,kBAAAA,CAAmBP,CAAAA,CAAOxB,CAAI,CAAA,CACpF,YAAA,CAAaoB,CAAAA,CAAW,OAAO,CAAA,CAC/BA,CAAAA,CAAW,OAAA,CAAU,UAAA,CAAW,IAAMX,CAAAA,CAAQ,IAAI,EAAGX,CAAQ,EACjE,CAAA,CAEIkC,CAAAA,CAEJ,OAAI,CAAC,UAAA,CAAY,SAAS,CAAA,CAAE,QAAA,CAAShC,CAAI,CAAA,CACrCgC,CAAAA,CACIC,cAAAA,CAAC,OACG,SAAA,CAAW,CAAA,EACP,CAACH,mBAAAA,CAAAA,eAAsC,CAAA,EAAK,oBAChD,CAAA,0DAAA,EACI9B,CAAAA,GAAS,UAAA,GAAe0B,mBAAAA,EAAmB,CAAE,WAAA,EAAe,EAAA,CAAK,gBAAA,CAAmB,qDACxF,CAAA,CAAA,EACI1B,CAAAA,GAAS,SAAA,GACRc,CAAAA,CAAWY,mBAAAA,EAAmB,CAAE,aAAe,EAAA,CAAK,gBAAA,CAAmB,oDAAA,CAC5E,CAAA,CAAA,CAAA,CACA,aAAA,CAAgBF,CAAAA,EAAUA,EAAM,cAAA,EAAe,CAE/C,QAAA,CAAAS,cAAAA,CAACC,kBAAAA,CAAA,CACG,GAAA,CAAKlC,CAAAA,GAAS,UAAA,CAAa,eAAA,CAAkB,cAAA,CAC7C,GAAA,CAAKA,CAAAA,GAAS,UAAA,CAAamC,mBAAO,UAAA,CAAaA,kBAAAA,CAAO,SAAA,CACtD,KAAA,CAAO,EAAA,CACP,MAAA,CAAQ,EAAA,CACR,OAAA,CAAS,IAAMR,kBAAAA,CAAsB3B,CAAAA,CAAMK,CAAoB,CAAA,CAC/D,aAAA,CAAgBmB,GAAeA,CAAAA,CAAM,eAAA,EAAgB,CACzD,CAAA,CACJ,CAAA,CAEG,CAAC,eAAA,CAAiB,cAAc,CAAA,CAAE,QAAA,CAASxB,CAAI,CAAA,GACtDgC,CAAAA,CACIC,cAAAA,CAAC,OACG,EAAA,CAAIjC,CAAAA,CACJ,SAAA,CAAW,CAAA,8FAAA,EACPA,CAAAA,GAAS,eAAA,CAAkB,oBAAsB,mBACrD,CAAA,CAAA,CACA,KAAA,CAAO,CAAE,KAAA,CAAOkB,CAAAA,CAAqB,MAAO,MAAA,CAAQA,CAAAA,CAAqB,KAAM,CAAA,CAC9E,GAAGI,CAAAA,CAEF,QAAA,CAAA,CAAArB,CAAAA,EAAwBC,CAAAA,GACtBkC,eAAAA,CAAC,KAAA,CAAA,CACG,SAAA,CAAW,qHAAA,CACX,YAAA,CAAcR,EAEd,QAAA,CAAA,CAAAQ,eAAAA,CAAC,KAAA,CAAA,CACG,SAAA,CAAW,CAAA,EACPpC,CAAAA,GAAS,eAAA,CAAkB,eAAA,CAAkB,yBACjD,CAAA,0CAAA,CAAA,CAEA,QAAA,CAAA,CAAAiC,cAAAA,CAACC,kBAAAA,CAAA,CACG,IAAI,iBAAA,CACJ,GAAA,CAAKC,kBAAAA,CAAO,SAAA,CACZ,SAAA,CAAW,CAAA,EAAGnC,CAAAA,GAAS,cAAA,EAAkB,eAAe,CAAA,CAAA,CACxD,KAAA,CAAO,EAAA,CACP,MAAA,CAAQ,EAAA,CACZ,EACAiC,cAAAA,CAACC,kBAAAA,CAAA,CACG,GAAA,CAAI,iBAAA,CACJ,GAAA,CAAKC,mBAAO,SAAA,CACZ,SAAA,CAAW,CAAA,EAAGnC,CAAAA,GAAS,cAAA,EAAkB,eAAe,GACxD,KAAA,CAAO,EAAA,CACP,MAAA,CAAQ,EAAA,CACZ,CAAA,CACAiC,cAAAA,CAACC,kBAAAA,CAAA,CACG,GAAA,CAAI,iBAAA,CACJ,GAAA,CAAKC,kBAAAA,CAAO,SAAA,CACZ,SAAA,CAAW,GAAGnC,CAAAA,GAAS,cAAA,EAAkB,eAAe,CAAA,CAAA,CACxD,KAAA,CAAO,EAAA,CACP,MAAA,CAAQ,EAAA,CACZ,CAAA,CAAA,CACJ,CAAA,CACAoC,eAAAA,CAAC,GAAA,CAAA,CAAE,SAAA,CAAU,4DAAA,CAA8D,UAAA/B,CAAAA,CAAqB,iCAAA,CAAA,CAAM,CAAA,CAAA,CAC1G,CAAA,CAER,CAAA,CAAA,CAID4B,cAAAA,CAAAI,mBAAAA,CAAA,CAAG,QAAA,CAAAL,CAAAA,CAAU,CACxB,CAAA,CAEOM,CAAAA,CAAQvC","file":"chunk-IR7FV4FQ.js","sourcesContent":["import { useEffect, useRef, useState } from \"react\";\r\nimport { shallowEqual } from \"react-redux\";\r\nimport { useDoubleTap } from \"use-double-tap\";\r\nimport { useAppDispatch, useAppSelector } from \"../../../helpers/redux/hooks\";\r\nimport { IBackwardForwardProps } from \"../../../helpers/interfaces/interfaces\";\r\nimport { setActiveElements } from \"../../../helpers/redux/slices/controllerSlice\";\r\nimport { handleBackwardForward } from \"../../../helpers/redux/actions/controller.actions\";\r\nimport { ConditionName } from \"../../../helpers/interfaces/enums\";\r\nimport { conditions } from \"../../../helpers/conditions/conditions\";\r\nimport { handleRippleCircle } from \"../../../helpers/helpers\";\r\nimport IMAGES from \"../../../images/importImages\";\r\nimport Image from \"next/legacy/image\";\r\nimport { mainPlayerVideoTag } from \"../../../helpers/constants\";\r\n\r\nconst hideTime = 1000;\r\n\r\nconst BackwardForward = ({\r\n type,\r\n isRightDoubleTouched,\r\n isLeftDoubleTouched,\r\n setIsRightDoubleTouched,\r\n setIsLeftDoubleTouched\r\n}: IBackwardForwardProps) => {\r\n const [backwardForwardCount, setBackwardForwardCount] = useState<number>(15);\r\n const [hide, setHide] = useState<boolean>(false);\r\n const backwardForwardCountRef = useRef<number>(backwardForwardCount);\r\n\r\n const dispatch = useAppDispatch();\r\n const { duration } = useAppSelector(({ controller: { currentTime, duration } }) => ({ currentTime, duration }), shallowEqual);\r\n const { videoElementSizeInfo } = useAppSelector(\r\n ({ videoData: { videoElementSizeInfo, params } }) => ({ videoElementSizeInfo, params }),\r\n shallowEqual\r\n );\r\n\r\n const timeoutRef = useRef<any>(null);\r\n\r\n useEffect(() => {\r\n backwardForwardCountRef.current = backwardForwardCount;\r\n }, [backwardForwardCount]);\r\n\r\n let doubleTouch: any = undefined;\r\n\r\n doubleTouch = useDoubleTap((event) => {\r\n if ([\"touchBackward\", \"touchForward\"].includes(type)) {\r\n event.stopPropagation();\r\n if (type === \"touchBackward\" && setIsLeftDoubleTouched) setIsLeftDoubleTouched(true);\r\n else if (type === \"touchForward\" && setIsRightDoubleTouched) setIsRightDoubleTouched(true);\r\n clearTimeout(timeoutRef.current);\r\n timeoutRef.current = setTimeout(() => setHide(true), hideTime);\r\n }\r\n }, 200);\r\n\r\n useEffect(() => {\r\n if (hide) {\r\n setHide(false);\r\n dispatch(setActiveElements(false));\r\n if (isRightDoubleTouched && setIsRightDoubleTouched) {\r\n setIsRightDoubleTouched(false);\r\n if (mainPlayerVideoTag().duration - mainPlayerVideoTag().currentTime <= backwardForwardCountRef.current) handleBackwardForward(type, mainPlayerVideoTag().duration);\r\n else handleBackwardForward(type, backwardForwardCountRef.current);\r\n setBackwardForwardCount(15);\r\n } else if (isLeftDoubleTouched && setIsLeftDoubleTouched) {\r\n setIsLeftDoubleTouched(false);\r\n if (mainPlayerVideoTag().currentTime <= backwardForwardCountRef.current) handleBackwardForward(type, 0);\r\n else handleBackwardForward(type, backwardForwardCountRef.current);\r\n setBackwardForwardCount(15);\r\n }\r\n }\r\n }, [hide]);\r\n\r\n const handleTouchStart = (event: any) => {\r\n setBackwardForwardCount((prev) => prev + 15);\r\n if (conditions(ConditionName.isTouchScreenLandscape)) handleRippleCircle(event, type);\r\n clearTimeout(timeoutRef.current);\r\n timeoutRef.current = setTimeout(() => setHide(true), hideTime);\r\n };\r\n\r\n let component;\r\n\r\n if ([\"backward\", \"forward\"].includes(type)) {\r\n component = (\r\n <div\r\n className={`${\r\n !conditions(ConditionName.isTouchScreen) && \"hover:pl-scale-125\"\r\n } pl-transition-transform pl-ease-in-out pl-cursor-pointer ${\r\n type === \"backward\" && (mainPlayerVideoTag().currentTime >= 15 ? \"pl-opacity-100\" : \"pl-opacity-30 pl-cursor-default hover:pl-scale-100\")\r\n } ${\r\n type === \"forward\" &&\r\n (duration - mainPlayerVideoTag().currentTime >= 15 ? \"pl-opacity-100\" : \"pl-opacity-30 pl-cursor-default hover:pl-scale-100\")\r\n }}`}\r\n onContextMenu={(event) => event.preventDefault()}\r\n >\r\n <Image\r\n alt={type === \"backward\" ? \"backward-icon\" : \"forward-icon\"}\r\n src={type === \"backward\" ? IMAGES.backward15 : IMAGES.forward15}\r\n width={24} \r\n height={24}\r\n onClick={() => handleBackwardForward(type, backwardForwardCount)}\r\n onDoubleClick={(event: any) => event.stopPropagation()}\r\n />\r\n </div>\r\n );\r\n } else if ([\"touchBackward\", \"touchForward\"].includes(type)) {\r\n component = (\r\n <div\r\n id={type}\r\n className={`pl-relative pl-flex pl-flex-col pl-justify-center pl-items-center pl-gap-2 pl-overflow-hidden ${\r\n type === \"touchBackward\" ? \"pl-rounded-r-full\" : \"pl-rounded-l-full\"\r\n }`}\r\n style={{ width: videoElementSizeInfo.width, height: videoElementSizeInfo.width }}\r\n {...doubleTouch}\r\n >\r\n {(isRightDoubleTouched || isLeftDoubleTouched) && (\r\n <div\r\n className={`pl-w-full pl-h-full pl-flex pl-flex-col pl-justify-center pl-items-center pl-gap-2 pl-p-5 pl-bg-secondary-100/[0.3]`}\r\n onTouchStart={handleTouchStart}\r\n >\r\n <div\r\n className={`${\r\n type === \"touchBackward\" ? \"pl-arrow-left\" : \"pl-arrow-right pl-gap-2\"\r\n } pl-flex pl-justify-center pl-items-center`}\r\n >\r\n <Image\r\n alt=\"arrow-left-icon\"\r\n src={IMAGES.arrowLeft}\r\n className={`${type === \"touchForward\" && \"pl-rotate-180\"}`}\r\n width={24}\r\n height={24}\r\n />\r\n <Image\r\n alt=\"arrow-left-icon\"\r\n src={IMAGES.arrowLeft}\r\n className={`${type === \"touchForward\" && \"pl-rotate-180\"}`}\r\n width={24}\r\n height={24}\r\n />\r\n <Image\r\n alt=\"arrow-left-icon\"\r\n src={IMAGES.arrowLeft}\r\n className={`${type === \"touchForward\" && \"pl-rotate-180\"}`}\r\n width={24}\r\n height={24}\r\n />\r\n </div>\r\n <p className=\"pl-text-center pl-text-[14px] pl-font-normal pl-text-white\">{backwardForwardCount} ثانیه</p>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n\r\n return <>{component}</>;\r\n};\r\n\r\nexport default BackwardForward;\r\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunkWMEKSWX7_js=require('./chunk-WMEKSWX7.js'),chunkHSAWK74H_js=require('./chunk-HSAWK74H.js'),chunkWO4IQUGO_js=require('./chunk-WO4IQUGO.js');chunkWO4IQUGO_js.e();var fe=e=>{e.preventDefault();let t=(chunkHSAWK74H_js.la()||chunkHSAWK74H_js.ma()).error;if(t)switch(t.code){case t.MEDIA_ERR_ABORTED:chunkHSAWK74H_js.Fa({type:"videoTagError",message:"You aborted the video playback."});break;case t.MEDIA_ERR_NETWORK:chunkHSAWK74H_js.Fa({type:"videoTagError",message:"A network error caused the video download to fail part-way."});break;case t.MEDIA_ERR_DECODE:chunkHSAWK74H_js.Fa({type:"videoTagError",message:"The video playback was aborted due to a corruption problem or because the video used features your browser did not support."});break;case t.MEDIA_ERR_SRC_NOT_SUPPORTED:chunkHSAWK74H_js.Fa({type:"videoTagError",message:"The video could not be loaded, either because the server or network failed or because the format is not supported."});break;default:chunkHSAWK74H_js.Fa({type:"videoTagError",message:"An unknown error occurred."});break}else chunkHSAWK74H_js.Fa({type:"videoTagError",message:"An error occurred, but the error object is not available."});},z=()=>{let e=chunkHSAWK74H_js.P.dispatch,{params:t}=chunkHSAWK74H_js.P.getState().videoData,a=n=>{n.requestFullScreen?n.requestFullScreen():n.mozRequestFullScreen?n.mozRequestFullScreen():n.webkitRequestFullScreen&&n.webkitRequestFullScreen();};e(chunkHSAWK74H_js.I()),a(document.documentElement),e(chunkHSAWK74H_js.h(t.fullscreen==="true"));},he=()=>{let e=".ts",t=XMLHttpRequest.prototype.open;XMLHttpRequest.prototype.open=function(){arguments[1].endsWith(e)&&(arguments[1]=arguments[1]+"?uuid="+chunkHSAWK74H_js.Q()),t.apply(this,arguments);};},J=(e,t)=>{let a=chunkHSAWK74H_js.P.dispatch;t.current=setInterval(()=>{let s=e.target.buffered.end(0)/chunkHSAWK74H_js.la().duration*100;a(chunkHSAWK74H_js.i(s));},500);},ge=()=>{let e=chunkHSAWK74H_js.V("mainPlayer");return {xhrSetup:(t,a)=>{a.split("m3u8")[1]||(a=`${a}${e}`),t.open("GET",a,true);},startLevel:-1,debug:false,enableWorker:true,abrBandWidthUpFactor:.7,abrBandWidthFactor:.95,backBufferLength:1/0,maxBufferLength:30,maxMaxBufferLength:60,manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:10,retryDelayMs:5e3,maxRetryDelayMs:1e4},errorRetry:{maxNumRetry:10,retryDelayMs:5e3,maxRetryDelayMs:1e4}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:10,retryDelayMs:5e3,maxRetryDelayMs:1e4},errorRetry:{maxNumRetry:10,retryDelayMs:5e3,maxRetryDelayMs:1e4}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:10,retryDelayMs:5e3,maxRetryDelayMs:1e4},errorRetry:{maxNumRetry:10,retryDelayMs:5e3,maxRetryDelayMs:1e4}}}}},xe=()=>{let e=chunkHSAWK74H_js.V("miniPlayer");return {xhrSetup:(t,a)=>{a=`${a}${e}`,t.open("GET",a,true);},startLevel:1,debug:false,maxMaxBufferLength:60,playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1e3,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1e3,retryDelayMs:1e3,maxRetryDelayMs:1e3}}}}},Z=(e,t)=>{let a=chunkHSAWK74H_js.P.dispatch,n=[],s=[];if(e.levels.map(i=>{n.push(i.attrs.RESOLUTION.split("x")[1].trim()),s.push(i.attrs.RESOLUTION);}),e.autoLevelCapping=chunkHSAWK74H_js.$(s,window.innerWidth,window.innerHeight),a(chunkHSAWK74H_js.d(n)),["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","msfullscreenchange"].forEach(i=>document.addEventListener(i,()=>{chunkHSAWK74H_js.fa("isAutoQuality")&&(e.autoLevelCapping=chunkHSAWK74H_js.$(s,window.innerWidth,window.innerHeight),e.nextLevel=-1);},false)),t.audioTracks.length>0){let i=t.audioTracks.sort(c=>c.default===true?-1:1);a(chunkHSAWK74H_js.B(i));}},Te=(e,t)=>{let{details:a}=chunkHSAWK74H_js.P.getState().videoData,n=a.stream_link;t.loadSource(n),t.on(e.Events.MANIFEST_PARSED,(s,i)=>Z(t,i));},G=(e,t,a)=>{if(t.frag.type!=="audio"){let n=chunkHSAWK74H_js.P.dispatch,{settings:s}=chunkHSAWK74H_js.P.getState().user,{qualityLevels:i,manualQuality:c,autoQuality:x}=chunkHSAWK74H_js.P.getState().controller;chunkHSAWK74H_js.fa("isAutoQuality")?chunkHSAWK74H_js.fa("isAutoQuality")&&x===void 0?(e.nextLevel=-1,a(i[t.frag.level]),n(chunkHSAWK74H_js.e(t.frag.level))):chunkHSAWK74H_js.fa("isAutoQuality")&&(a(i[t.frag.level]),x!==t.frag.level&&n(chunkHSAWK74H_js.e(t.frag.level))):(t.frag.level!==c&&(e.nextLevel=i[s.quality]?s.quality:-1),i[s.quality]?(n(chunkHSAWK74H_js.m(s.quality)),n(chunkHSAWK74H_js.e(void 0))):(a(i[t.frag.level]),n(chunkHSAWK74H_js.e(t.frag.level)),n(chunkHSAWK74H_js.J({...s,quality:-1}))));}},ve=e=>{let t=chunkHSAWK74H_js.P.dispatch,n=e.mainForwardBufferInfo?.end/chunkHSAWK74H_js.la().duration*100;t(chunkHSAWK74H_js.i(n));},De=(e,t,a)=>{let{params:n,multiAudio:s,selectedAudioId:i}=chunkHSAWK74H_js.P.getState().videoData;s&&i!==void 0&&i!==e.audioTrack&&(e.audioTrack=i),n.type&&G(e,t,a);},Se=(e,t,a)=>{let{type:n}=chunkHSAWK74H_js.P.getState().videoData.params;n&&G(e,t,a);},Pe=e=>{if(e.event!=="hlsAudioTrackLoading")return {type:"HLS_"+e.type,message:e.error.message}},be=(e,t)=>{let a=chunkHSAWK74H_js.P.dispatch;e.preventDefault(),t.current=Date.now(),a(chunkHSAWK74H_js.g(true));},Le=(e,t)=>{let a=chunkHSAWK74H_js.P.dispatch;e.preventDefault(),t.current=0,a(chunkHSAWK74H_js.g(true));},Me=(e,t)=>{let a=chunkHSAWK74H_js.P.dispatch,{videoSettings:n}=chunkHSAWK74H_js.P.getState().user,{params:s}=chunkHSAWK74H_js.P.getState().videoData;e.preventDefault(),t.current=Date.now(),a(chunkHSAWK74H_js.a(true)),chunkHSAWK74H_js.fa("hasOnPlayParams")&&s.onPlay(),chunkHSAWK74H_js.fa("isFirstPlay")&&(chunkHSAWK74H_js.fa("hasCurrentTimeParams")||(chunkHSAWK74H_js.la().currentTime=n.time,a(chunkHSAWK74H_js.c(n.time))),chunkHSAWK74H_js.fa("hasFullScreenParams")&&z(),chunkHSAWK74H_js.fa("isFullScreen")&&chunkWMEKSWX7_js.g(),a(chunkHSAWK74H_js.w([Math.floor(chunkHSAWK74H_js.la().currentTime)]))),chunkHSAWK74H_js.ka(chunkHSAWK74H_js.Aa(true)),a(chunkHSAWK74H_js.z(""));},Ee=(e,t,a,n,s,i,c,x)=>{let X=chunkHSAWK74H_js.P.dispatch,{autoQuality:w,canPlayVideo:K,firstPlay:Y,qualityLevels:O}=chunkHSAWK74H_js.P.getState().controller,{settings:V}=chunkHSAWK74H_js.P.getState().user,A=V.quality===-1&&w?O[w]:O[V.quality],T=0;c.current&&(T=Date.now()-c.current),Y&&chunkHSAWK74H_js.la().played&&chunkHSAWK74H_js.ka(chunkHSAWK74H_js.Ba(t.current,Date.now()-a.current,n.current-a.current,Date.now()-s.current,s)),X(chunkHSAWK74H_js.j(false)),K&&T>0&&A!==void 0&&(i.current=T,c.current=0,chunkHSAWK74H_js.ka(chunkHSAWK74H_js.Ca(T,A,s,e,x.current)),e.current=e.current+1,s.current=Date.now());},Re=e=>{let t=chunkHSAWK74H_js.P.dispatch,{params:a}=chunkHSAWK74H_js.P.getState().videoData;e.preventDefault(),chunkHSAWK74H_js.ka(chunkHSAWK74H_js.Aa(false)),t(chunkHSAWK74H_js.a(false)),chunkHSAWK74H_js.fa("hasOnPauseParams")&&a.onPause();},ke=e=>{let t=chunkHSAWK74H_js.P.dispatch,{onChangeCurrentTime:a}=chunkHSAWK74H_js.P.getState().videoData.params,{selectedSubtitle:n}=chunkHSAWK74H_js.P.getState().videoData;e.preventDefault(),t(chunkHSAWK74H_js.c(e.target.currentTime)),chunkHSAWK74H_js.fa("hasOnChangeCurrentTime")&&a(e.target.currentTime),chunkHSAWK74H_js.fa("hasActiveCue")&&t(chunkHSAWK74H_js.z(n.activeCues[0].text));},Fe=e=>{let t=chunkHSAWK74H_js.P.dispatch,{settings:a}=chunkHSAWK74H_js.P.getState().user;if(e.preventDefault(),t(chunkHSAWK74H_js.g(false)),t(chunkHSAWK74H_js.n(true)),chunkHSAWK74H_js.la().volume=a.volume/100,t(chunkHSAWK74H_js.b(e.target.duration)),chunkHSAWK74H_js.fa("isIOS")){let n=Object.values(e.target.textTracks);n&&n.length&&t(chunkHSAWK74H_js.y(Object.values(n[0]).length?n:[]));}else t(chunkHSAWK74H_js.y(Object.values(e.target.textTracks)));},Ce=e=>{let t=chunkHSAWK74H_js.P.dispatch,{params:a}=chunkHSAWK74H_js.P.getState().videoData;e.preventDefault(),t(chunkHSAWK74H_js.p(true)),t(chunkHSAWK74H_js.f(true)),chunkWMEKSWX7_js.i(chunkHSAWK74H_js.la().duration),chunkHSAWK74H_js.fa("hasOnFinishedParams")&&a.onFinished();},we=(e,t)=>{let a=chunkHSAWK74H_js.P.dispatch;e.preventDefault(),t.current=Date.now(),a(chunkHSAWK74H_js.j(false));},Oe=()=>{let e=chunkHSAWK74H_js.P.dispatch;e(chunkHSAWK74H_js.g(false));},Ve=e=>{let{onChangeCurrentTime:t}=chunkHSAWK74H_js.P.getState().videoData.params,a=chunkHSAWK74H_js.P.dispatch;e.preventDefault(),chunkHSAWK74H_js.fa("hasOnChangeCurrentTime")&&t(e.target.currentTime),a(chunkHSAWK74H_js.c(e.target.currentTime));},Ae=()=>{let e=chunkHSAWK74H_js.P.dispatch,{params:t}=chunkHSAWK74H_js.P.getState().videoData;e(chunkHSAWK74H_js.p(true)),e(chunkHSAWK74H_js.f(true)),chunkHSAWK74H_js.fa("hasOnFinishedParams")&&t.onFinished();},Ie=e=>{let t=chunkHSAWK74H_js.P.dispatch;e.preventDefault(),t(chunkHSAWK74H_js.a(false));},qe=(e,t)=>{let a=chunkHSAWK74H_js.P.dispatch;e.preventDefault(),a(chunkHSAWK74H_js.a(true)),t.current=Date.now(),a(chunkHSAWK74H_js.z("")),chunkHSAWK74H_js.fa("isFirstPlay")&&chunkHSAWK74H_js.fa("hasFullScreenParams")&&(z(),chunkHSAWK74H_js.fa("isFullScreen")&&chunkWMEKSWX7_js.g());},Be=(e,t,a)=>{let n=chunkHSAWK74H_js.P.dispatch,{firstPlay:s}=chunkHSAWK74H_js.P.getState().controller;n(chunkHSAWK74H_js.g(false)),s&&chunkHSAWK74H_js.la().played&&chunkHSAWK74H_js.ka(chunkHSAWK74H_js.Ba(Math.round(e.current),Date.now()-t.current,0,Date.now()-a.current,a)),n(chunkHSAWK74H_js.j(false));},_e=e=>{let{onChangeCurrentTime:t}=chunkHSAWK74H_js.P.getState().videoData.params,a=chunkHSAWK74H_js.P.dispatch,{selectedSubtitle:n}=chunkHSAWK74H_js.P.getState().videoData;e.preventDefault(),a(chunkHSAWK74H_js.c(e.target.currentTime)),a(chunkHSAWK74H_js.b(e.target.duration)),chunkHSAWK74H_js.fa("hasOnChangeCurrentTime")&&t(e.target.currentTime),chunkHSAWK74H_js.fa("hasActiveCue")&&a(chunkHSAWK74H_js.z(n.activeCues[0].text));},Ne=e=>{let t=chunkHSAWK74H_js.P.dispatch;if(e.preventDefault(),t(chunkHSAWK74H_js.g(false)),t(chunkHSAWK74H_js.n(true)),chunkHSAWK74H_js.fa("isIOS")){let a=Object.values(e.target.textTracks);a&&a.length&&t(chunkHSAWK74H_js.y(Object.values(a[0]).length?a:[]));}else t(chunkHSAWK74H_js.y(Object.values(e.target.textTracks)));},Qe=(e,t)=>{e.preventDefault(),J(e,t);};var Ue=async e=>{let{stream_link:t}=chunkHSAWK74H_js.P.getState().miniPlayer.details;e.loadSource(t);},We=()=>{chunkWMEKSWX7_js.i(chunkHSAWK74H_js.la().currentTime);};exports.A=Ne;exports.B=Qe;exports.C=Ue;exports.D=We;exports.a=fe;exports.b=he;exports.c=ge;exports.d=xe;exports.e=Z;exports.f=Te;exports.g=ve;exports.h=De;exports.i=Se;exports.j=Pe;exports.k=be;exports.l=Le;exports.m=Me;exports.n=Ee;exports.o=Re;exports.p=ke;exports.q=Fe;exports.r=Ce;exports.s=we;exports.t=Oe;exports.u=Ve;exports.v=Ae;exports.w=Ie;exports.x=qe;exports.y=Be;exports.z=_e;//# sourceMappingURL=chunk-JGG5BV2J.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-JGG5BV2J.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","intervalRef","bufferedTimeWidth","setBufferedTimeWidth","handleHlsConfig","streamLinkParams","splitQueryParamsFromStreamLink","xhr","url","handleMiniPlayerHlsConfig","handleManifestParsed","hls","data","qualityLevels","resolutions","level","highestResolutionSupported","setQualityLevels","eventType","conditions","sortedAudioTracks","a","setMultiAudio","handleMediaAttached","Hls","details","streamLink","_event","handleLevels","setQualityLevel","settings","manualQuality","autoQuality","setAutoQuality","setManualQuality","setUserSettings","handleFragBuffered","handleFragChanged","multiAudio","selectedAudioId","handleFragParsed","type","handleHlsErrors","handleVideoWaiting","waitingTimerRef","setIsLoading","handleVideoSeeking","handleVideoPlay","timerRef","videoSettings","setPlay","setCurrentTime","handleLockOrientation","setVideoTimelines","sendFluentLog","pausePlayLog","setSubtitleText","handleVideoPlaying","loadingCounterRef","loadingDurationRef","initialWaitingDurationRef","bannerLoadingDurationRef","waitingDurationRef","videoEntranceTimeRef","canPlayVideo","firstPlay","qualityLevel","waitingDuration","initLog","setFirstPlay","loadingLog","handleVideoPause","handleVideoTimeUpdate","onChangeCurrentTime","selectedSubtitle","handleVideoCanPlay","setCanPlayVideo","setDuration","subtitle","setSubtitles","handleVideoEnded","setIsEnded","setActiveElements","handleVideoTimeline","handleIosVideoPlay","handleIosVideoPlaying","handleIosVideoTimeUpdate","handleIosVideoEnded","handleStaticVideoPause","handleStaticVideoPlay","handleStaticVideoPlaying","handleStaticVideoTimeUpdate","handleStaticVideoCanPlay","handleStaticVideoLoadedData","handleMiniPlayerMediaAttached","stream_link","handleVideoVisibilityChange"],"mappings":"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","file":"chunk-BBWNG7HP.js","sourcesContent":["import { conditions } from \"../../conditions/conditions\";\r\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../constants\";\r\nimport { errorLogProvider } from \"../../errorBoundary/errorBoundaryFunctions\";\r\nimport { getUUID, highestResolutionSupported, splitQueryParamsFromStreamLink } from \"../../helpers\";\r\nimport { ConditionName } from \"../../interfaces/enums\";\r\nimport { sendFluentLog } from \"../../logs/fluentdLogger\";\r\nimport { initLog, loadingLog, pausePlayLog } from \"../../logs/logs\";\r\nimport {\r\n setActiveElements,\r\n setAutoQuality,\r\n setBufferedTimeWidth,\r\n setCanPlayVideo,\r\n setCurrentTime,\r\n setDuration,\r\n setFirstPlay,\r\n setIsEnded,\r\n setIsFullScreen,\r\n setIsLoading,\r\n setManualQuality,\r\n setPlay,\r\n setQualityLevels,\r\n} from \"../slices/controllerSlice\";\r\nimport { setClearPopoversSlice } from \"../slices/popoversSlice\";\r\nimport { setUserSettings } from \"../slices/userSlice\";\r\nimport { setMultiAudio, setSubtitleText, setSubtitles, setVideoTimelines } from \"../slices/videoDataSlice\";\r\nimport store from \"../store\";\r\nimport { handleLockOrientation, handleVideoTimeline } from \"./controller.actions\";\r\n\r\nexport const handleVideoError = (event: any) => {\r\n event.preventDefault();\r\n // Access the error property from the video element\r\n let error = (mainPlayerVideoTag() || miniPlayerVideoTag()).error;\r\n if (error) {\r\n switch (error.code) {\r\n case error.MEDIA_ERR_ABORTED:\r\n errorLogProvider({ type: \"videoTagError\", message: \"You aborted the video playback.\" });\r\n break;\r\n case error.MEDIA_ERR_NETWORK:\r\n errorLogProvider({ type: \"videoTagError\", message: \"A network error caused the video download to fail part-way.\" });\r\n break;\r\n case error.MEDIA_ERR_DECODE:\r\n errorLogProvider({\r\n type: \"videoTagError\",\r\n message: \"The video playback was aborted due to a corruption problem or because the video used features your browser did not support.\",\r\n });\r\n break;\r\n case error.MEDIA_ERR_SRC_NOT_SUPPORTED:\r\n errorLogProvider({\r\n type: \"videoTagError\",\r\n message: \"The video could not be loaded, either because the server or network failed or because the format is not supported.\",\r\n });\r\n break;\r\n default:\r\n errorLogProvider({ type: \"videoTagError\", message: \"An unknown error occurred.\" });\r\n break;\r\n }\r\n } else {\r\n errorLogProvider({ type: \"videoTagError\", message: \"An error occurred, but the error object is not available.\" });\r\n }\r\n};\r\n\r\nexport const handleAutoFullScreen = () => {\r\n const dispatch = store.dispatch;\r\n const { params } = store.getState().videoData;\r\n const launchFullScreen = (element: any) => {\r\n if (element.requestFullScreen) element.requestFullScreen();\r\n else if (element.mozRequestFullScreen) element.mozRequestFullScreen();\r\n else if (element.webkitRequestFullScreen) element.webkitRequestFullScreen();\r\n };\r\n dispatch(setClearPopoversSlice());\r\n launchFullScreen(document.documentElement);\r\n dispatch(setIsFullScreen(params.fullscreen === \"true\"));\r\n};\r\n\r\nexport const appendQueryParamsToChunksIOS = () => {\r\n let fragmentExtension = \".ts\";\r\n let originalOpen = XMLHttpRequest.prototype.open;\r\n XMLHttpRequest.prototype.open = function () {\r\n if (arguments[1].endsWith(fragmentExtension)) arguments[1] = arguments[1] + \"?uuid=\" + getUUID!();\r\n originalOpen.apply(this, arguments as any);\r\n };\r\n};\r\n\r\nexport const handleBufferedTime = (event: any, intervalRef: any) => {\r\n const dispatch = store.dispatch;\r\n intervalRef.current = setInterval(() => {\r\n const bufferedTime = event.target.buffered.end(0);\r\n const bufferedTimeWidth = (bufferedTime / mainPlayerVideoTag().duration) * 100;\r\n dispatch(setBufferedTimeWidth(bufferedTimeWidth));\r\n }, 500);\r\n};\r\n\r\n// ************* Hls Config Handlers ************* //\r\nexport const handleHlsConfig = () => {\r\n const streamLinkParams = splitQueryParamsFromStreamLink(\"mainPlayer\");\r\n return {\r\n xhrSetup: (xhr: any, url: any) => {\r\n if (!url.split(\"m3u8\")[1]) url = `${url}${streamLinkParams}`;\r\n xhr.open(\"GET\", url, true);\r\n },\r\n startLevel: -1,\r\n debug: false,\r\n enableWorker: true,\r\n abrBandWidthUpFactor: 0.7,\r\n abrBandWidthFactor: 0.95,\r\n backBufferLength: Infinity,\r\n maxBufferLength: 30,\r\n maxMaxBufferLength: 60,\r\n manifestLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: Infinity,\r\n maxLoadTimeMs: 20000,\r\n timeoutRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000,\r\n },\r\n errorRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000,\r\n },\r\n },\r\n },\r\n fragLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: 10000,\r\n maxLoadTimeMs: 120000,\r\n timeoutRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000,\r\n },\r\n errorRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000,\r\n },\r\n },\r\n },\r\n playlistLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: 10000,\r\n maxLoadTimeMs: 20000,\r\n timeoutRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000,\r\n },\r\n errorRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000,\r\n },\r\n },\r\n },\r\n };\r\n};\r\n\r\nexport const handleMiniPlayerHlsConfig = () => {\r\n const streamLinkParams = splitQueryParamsFromStreamLink(\"miniPlayer\");\r\n return {\r\n xhrSetup: (xhr: any, url: any) => {\r\n url = `${url}${streamLinkParams}`;\r\n xhr.open(\"GET\", url, true);\r\n },\r\n startLevel: 1,\r\n debug: false,\r\n maxMaxBufferLength: 60,\r\n playlistLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: 10000,\r\n maxLoadTimeMs: 20000,\r\n timeoutRetry: {\r\n maxNumRetry: 1000,\r\n retryDelayMs: 0,\r\n maxRetryDelayMs: 0,\r\n },\r\n errorRetry: {\r\n maxNumRetry: 1000,\r\n retryDelayMs: 1000,\r\n maxRetryDelayMs: 1000,\r\n },\r\n },\r\n },\r\n };\r\n};\r\n\r\n// ************* Manifest Handlers ************* //\r\n\r\nexport const handleManifestParsed = (hls: any, data: any) => {\r\n const dispatch = store.dispatch;\r\n let qualityLevels: any[] = [];\r\n let resolutions: any[] = [];\r\n hls.levels.map((level: any) => {\r\n qualityLevels.push(level.attrs.RESOLUTION!.split(\"x\")[1].trim());\r\n resolutions.push(level.attrs.RESOLUTION!);\r\n });\r\n hls.autoLevelCapping = highestResolutionSupported(resolutions, window.innerWidth, window.innerHeight);\r\n dispatch(setQualityLevels(qualityLevels));\r\n [\"fullscreenchange\", \"webkitfullscreenchange\", \"mozfullscreenchange\", \"msfullscreenchange\"].forEach((eventType) =>\r\n document.addEventListener(\r\n eventType,\r\n () => {\r\n if (conditions(ConditionName.isAutoQuality)) {\r\n hls.autoLevelCapping = highestResolutionSupported(resolutions, window.innerWidth, window.innerHeight);\r\n hls.nextLevel = -1;\r\n }\r\n },\r\n false\r\n )\r\n );\r\n if (data.audioTracks.length > 0) {\r\n const sortedAudioTracks = data.audioTracks.sort((a: any) => (a.default === true ? -1 : 1));\r\n dispatch(setMultiAudio(sortedAudioTracks));\r\n }\r\n};\r\n\r\nexport const handleMediaAttached = (Hls: any, hls: any) => {\r\n const { details } = store.getState().videoData;\r\n let streamLink = details.stream_link;\r\n hls.loadSource(streamLink);\r\n hls.on(Hls.Events.MANIFEST_PARSED, (_event: any, data: any) => handleManifestParsed(hls, data));\r\n};\r\n\r\n// ************* Level Handlers ************* //\r\n\r\nexport const handleLevels = (hls: any, data: any, setQualityLevel: any) => {\r\n if (data.frag.type !== \"audio\") {\r\n const dispatch = store.dispatch;\r\n const { settings } = store.getState().user;\r\n const { qualityLevels, manualQuality, autoQuality } = store.getState().controller;\r\n if (!conditions(ConditionName.isAutoQuality)) {\r\n if (data.frag.level !== manualQuality) hls.nextLevel = qualityLevels[settings.quality!] ? settings.quality : -1;\r\n if (qualityLevels[settings.quality!]) {\r\n dispatch(setManualQuality(settings.quality!));\r\n dispatch(setAutoQuality(undefined));\r\n } else {\r\n setQualityLevel(qualityLevels[data.frag.level]);\r\n dispatch(setAutoQuality(data.frag.level));\r\n dispatch(setUserSettings({ ...settings, quality: -1 }));\r\n }\r\n } else if (conditions(ConditionName.isAutoQuality) && autoQuality === undefined) {\r\n hls.nextLevel = -1;\r\n setQualityLevel(qualityLevels[data.frag.level]);\r\n dispatch(setAutoQuality(data.frag.level));\r\n } else if (conditions(ConditionName.isAutoQuality)) {\r\n setQualityLevel(qualityLevels[data.frag.level]);\r\n if (autoQuality !== data.frag.level) dispatch(setAutoQuality(data.frag.level));\r\n }\r\n }\r\n};\r\n\r\n// ************* Fragment Handlers ************* //\r\n\r\nexport const handleFragBuffered = (hls: any) => {\r\n const dispatch = store.dispatch;\r\n const bufferedTime = hls.mainForwardBufferInfo?.end;\r\n const bufferedTimeWidth = (bufferedTime! / mainPlayerVideoTag().duration) * 100;\r\n dispatch(setBufferedTimeWidth(bufferedTimeWidth));\r\n};\r\n\r\nexport const handleFragChanged = (hls: any, data: any, setQualityLevel: any) => {\r\n const { params, multiAudio, selectedAudioId } = store.getState().videoData;\r\n\r\n if (multiAudio && selectedAudioId !== undefined && selectedAudioId !== hls.audioTrack) hls.audioTrack = selectedAudioId;\r\n if (params.type) handleLevels(hls, data, setQualityLevel);\r\n};\r\n\r\nexport const handleFragParsed = (hls: any, data: any, setQualityLevel: any) => {\r\n const { type } = store.getState().videoData.params;\r\n if (type) handleLevels(hls, data, setQualityLevel);\r\n};\r\n\r\n// ************* HLS Error Handlers ************* //\r\n\r\nexport const handleHlsErrors = (data: any) => {\r\n if (data.event !== \"hlsAudioTrackLoading\") return { type: \"HLS_\" + data.type, message: data.error.message };\r\n return undefined;\r\n};\r\n\r\n// ************* Video Tag Handlers ************* //\r\n\r\nexport const handleVideoWaiting = (event: any, waitingTimerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n waitingTimerRef.current = Date.now();\r\n dispatch(setIsLoading(true));\r\n};\r\n\r\nexport const handleVideoSeeking = (event: any, waitingTimerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n waitingTimerRef.current = 0;\r\n dispatch(setIsLoading(true));\r\n};\r\n\r\nexport const handleVideoPlay = (event: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n const { videoSettings } = store.getState().user;\r\n const { params } = store.getState().videoData;\r\n event.preventDefault();\r\n timerRef.current = Date.now();\r\n dispatch(setPlay(true));\r\n if (conditions(ConditionName.hasOnPlayParams)) params.onPlay!();\r\n if (conditions(ConditionName.isFirstPlay)) {\r\n if (!conditions(ConditionName.hasCurrentTimeParams)) {\r\n mainPlayerVideoTag().currentTime = videoSettings.time;\r\n dispatch(setCurrentTime(videoSettings.time));\r\n }\r\n if (conditions(ConditionName.hasFullScreenParams)) handleAutoFullScreen();\r\n if (conditions(ConditionName.isFullScreen)) handleLockOrientation();\r\n dispatch(setVideoTimelines([Math.floor(mainPlayerVideoTag().currentTime)]));\r\n }\r\n sendFluentLog(pausePlayLog(true));\r\n dispatch(setSubtitleText(\"\"));\r\n};\r\n\r\nexport const handleVideoPlaying = (\r\n loadingCounterRef: any,\r\n loadingDurationRef: any,\r\n initialWaitingDurationRef: any,\r\n bannerLoadingDurationRef: any,\r\n timerRef: any,\r\n waitingDurationRef: any,\r\n waitingTimerRef: any,\r\n videoEntranceTimeRef: any\r\n) => {\r\n const dispatch = store.dispatch;\r\n const { autoQuality, canPlayVideo, firstPlay, qualityLevels } = store.getState().controller;\r\n const { settings } = store.getState().user;\r\n const qualityLevel = settings.quality === -1 && autoQuality ? qualityLevels[autoQuality] : qualityLevels[settings.quality!];\r\n let waitingDuration = 0;\r\n if (!!waitingTimerRef.current) waitingDuration = Date.now() - waitingTimerRef.current;\r\n if (firstPlay && !!mainPlayerVideoTag().played)\r\n sendFluentLog(\r\n initLog(\r\n loadingDurationRef.current,\r\n Date.now() - initialWaitingDurationRef.current,\r\n bannerLoadingDurationRef.current - initialWaitingDurationRef.current,\r\n Date.now() - timerRef.current,\r\n timerRef\r\n )\r\n );\r\n dispatch(setFirstPlay(false));\r\n if (canPlayVideo && waitingDuration > 0 && qualityLevel !== undefined) {\r\n waitingDurationRef.current = waitingDuration;\r\n waitingTimerRef.current = 0;\r\n sendFluentLog(loadingLog(waitingDuration, qualityLevel, timerRef, loadingCounterRef, videoEntranceTimeRef.current));\r\n loadingCounterRef.current = loadingCounterRef.current + 1;\r\n timerRef.current = Date.now();\r\n }\r\n};\r\n\r\nexport const handleVideoPause = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { params } = store.getState().videoData;\r\n event.preventDefault();\r\n sendFluentLog(pausePlayLog(false));\r\n dispatch(setPlay(false));\r\n if (conditions(ConditionName.hasOnPauseParams)) params.onPause!();\r\n};\r\n\r\nexport const handleVideoTimeUpdate = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { onChangeCurrentTime } = store.getState().videoData.params;\r\n const { selectedSubtitle } = store.getState().videoData;\r\n event.preventDefault();\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n if (conditions(ConditionName.hasOnChangeCurrentTime)) onChangeCurrentTime!(event.target.currentTime);\r\n if (conditions(ConditionName.hasActiveCue)) dispatch(setSubtitleText((selectedSubtitle!.activeCues![0] as any).text));\r\n};\r\n\r\nexport const handleVideoCanPlay = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { settings } = store.getState().user;\r\n event.preventDefault();\r\n dispatch(setIsLoading(false));\r\n dispatch(setCanPlayVideo(true));\r\n mainPlayerVideoTag().volume = settings.volume / 100;\r\n dispatch(setDuration(event.target.duration));\r\n if (conditions(ConditionName.isIOS)) {\r\n const subtitle: TextTrack[] = Object.values(event.target.textTracks);\r\n if (!!subtitle && subtitle.length) dispatch(setSubtitles(!!Object.values(subtitle[0]).length ? subtitle : []));\r\n } else dispatch(setSubtitles(Object.values(event.target.textTracks)));\r\n};\r\n\r\nexport const handleVideoEnded = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { params } = store.getState().videoData;\r\n event.preventDefault();\r\n dispatch(setIsEnded(true));\r\n dispatch(setActiveElements(true));\r\n handleVideoTimeline(mainPlayerVideoTag().duration);\r\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\r\n};\r\n\r\n// ************* IOS Video Tag Handlers ************* //\r\n\r\nexport const handleIosVideoPlay = (event: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n timerRef.current = Date.now();\r\n dispatch(setFirstPlay(false));\r\n};\r\n\r\nexport const handleIosVideoPlaying = () => {\r\n const dispatch = store.dispatch;\r\n dispatch(setIsLoading(false));\r\n};\r\n\r\nexport const handleIosVideoTimeUpdate = (event: any) => {\r\n const { onChangeCurrentTime } = store.getState().videoData.params;\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n if (conditions(ConditionName.hasOnChangeCurrentTime)) onChangeCurrentTime!(event.target.currentTime);\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n};\r\n\r\nexport const handleIosVideoEnded = () => {\r\n const dispatch = store.dispatch;\r\n const { params } = store.getState().videoData;\r\n dispatch(setIsEnded(true));\r\n dispatch(setActiveElements(true));\r\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\r\n};\r\n\r\n// ************* Static Video Tag Handlers ************* //\r\n\r\nexport const handleStaticVideoPause = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setPlay(false));\r\n};\r\n\r\nexport const handleStaticVideoPlay = (event: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setPlay(true));\r\n timerRef.current = Date.now();\r\n dispatch(setSubtitleText(\"\"));\r\n\r\n if (conditions(ConditionName.isFirstPlay) && conditions(ConditionName.hasFullScreenParams)) {\r\n handleAutoFullScreen();\r\n if (conditions(ConditionName.isFullScreen)) handleLockOrientation();\r\n }\r\n};\r\n\r\nexport const handleStaticVideoPlaying = (loadingDurationRef: any, initialWaitingDurationRef: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n const { firstPlay } = store.getState().controller;\r\n dispatch(setIsLoading(false));\r\n if (firstPlay && !!mainPlayerVideoTag().played)\r\n sendFluentLog(\r\n initLog(Math.round(loadingDurationRef.current), Date.now() - initialWaitingDurationRef.current, 0, Date.now() - timerRef.current, timerRef)\r\n );\r\n dispatch(setFirstPlay(false));\r\n};\r\n\r\nexport const handleStaticVideoTimeUpdate = (event: any) => {\r\n const { onChangeCurrentTime } = store.getState().videoData.params;\r\n const dispatch = store.dispatch;\r\n const { selectedSubtitle } = store.getState().videoData;\r\n event.preventDefault();\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n dispatch(setDuration(event.target.duration));\r\n if (conditions(ConditionName.hasOnChangeCurrentTime)) onChangeCurrentTime!(event.target.currentTime);\r\n if (conditions(ConditionName.hasActiveCue)) dispatch(setSubtitleText((selectedSubtitle!.activeCues![0] as any).text));\r\n};\r\n\r\nexport const handleStaticVideoCanPlay = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setIsLoading(false));\r\n dispatch(setCanPlayVideo(true));\r\n if (conditions(ConditionName.isIOS)) {\r\n const subtitle: TextTrack[] = Object.values(event.target.textTracks);\r\n if (!!subtitle && subtitle.length) dispatch(setSubtitles(!!Object.values(subtitle[0]).length ? subtitle : []));\r\n } else dispatch(setSubtitles(Object.values(event.target.textTracks)));\r\n};\r\n\r\nexport const handleStaticVideoLoadedData = (event: any, intervalRef: any) => {\r\n event.preventDefault();\r\n handleBufferedTime(event, intervalRef);\r\n};\r\n\r\nexport const handleStaticVideoEnded = (event: any) => {\r\n const { params } = store.getState().videoData;\r\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\r\n event.preventDefault();\r\n};\r\n\r\nexport const handleMiniPlayerMediaAttached = async (hls: any) => {\r\n const { stream_link } = store.getState().miniPlayer.details;\r\n hls.loadSource(stream_link);\r\n};\r\n\r\nexport const handleVideoVisibilityChange = () => {\r\n handleVideoTimeline(mainPlayerVideoTag().currentTime);\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/videoPlayerLibrary/helpers/redux/actions/playerCore.actions.ts"],"names":["init_cjs_shims","handleVideoError","event","error","mainPlayerVideoTag","miniPlayerVideoTag","errorLogProvider","handleAutoFullScreen","dispatch","store_default","params","launchFullScreen","element","setClearPopoversSlice","setIsFullScreen","appendQueryParamsToChunksIOS","fragmentExtension","originalOpen","getUUID","handleBufferedTime","intervalRef","bufferedTimeWidth","setBufferedTimeWidth","handleHlsConfig","streamLinkParams","splitQueryParamsFromStreamLink","xhr","url","handleMiniPlayerHlsConfig","handleManifestParsed","hls","data","qualityLevels","resolutions","level","highestResolutionSupported","setQualityLevels","eventType","conditions","sortedAudioTracks","a","setMultiAudio","handleMediaAttached","Hls","details","streamLink","_event","handleLevels","setQualityLevel","settings","manualQuality","autoQuality","setAutoQuality","setManualQuality","setUserSettings","handleFragBuffered","handleFragChanged","multiAudio","selectedAudioId","handleFragParsed","type","handleHlsErrors","handleVideoWaiting","waitingTimerRef","setIsLoading","handleVideoSeeking","handleVideoPlay","timerRef","videoSettings","setPlay","setCurrentTime","handleLockOrientation","setVideoTimelines","sendFluentLog","pausePlayLog","setSubtitleText","handleVideoPlaying","loadingCounterRef","loadingDurationRef","initialWaitingDurationRef","bannerLoadingDurationRef","waitingDurationRef","videoEntranceTimeRef","canPlayVideo","firstPlay","qualityLevel","waitingDuration","initLog","setFirstPlay","loadingLog","handleVideoPause","handleVideoTimeUpdate","onChangeCurrentTime","selectedSubtitle","handleVideoCanPlay","setCanPlayVideo","setDuration","subtitle","setSubtitles","handleVideoEnded","setIsEnded","setActiveElements","handleVideoTimeline","handleIosVideoPlay","handleIosVideoPlaying","handleIosVideoTimeUpdate","handleIosVideoEnded","handleStaticVideoPause","handleStaticVideoPlay","handleStaticVideoPlaying","handleStaticVideoTimeUpdate","handleStaticVideoCanPlay","handleStaticVideoLoadedData","handleMiniPlayerMediaAttached","stream_link","handleVideoVisibilityChange"],"mappings":"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","file":"chunk-JGG5BV2J.js","sourcesContent":["import { conditions } from \"../../conditions/conditions\";\r\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../constants\";\r\nimport { errorLogProvider } from \"../../errorBoundary/errorBoundaryFunctions\";\r\nimport { getUUID, highestResolutionSupported, splitQueryParamsFromStreamLink } from \"../../helpers\";\r\nimport { ConditionName } from \"../../interfaces/enums\";\r\nimport { sendFluentLog } from \"../../logs/fluentdLogger\";\r\nimport { initLog, loadingLog, pausePlayLog } from \"../../logs/logs\";\r\nimport {\r\n setActiveElements,\r\n setAutoQuality,\r\n setBufferedTimeWidth,\r\n setCanPlayVideo,\r\n setCurrentTime,\r\n setDuration,\r\n setFirstPlay,\r\n setIsEnded,\r\n setIsFullScreen,\r\n setIsLoading,\r\n setManualQuality,\r\n setPlay,\r\n setQualityLevels,\r\n} from \"../slices/controllerSlice\";\r\nimport { setClearPopoversSlice } from \"../slices/popoversSlice\";\r\nimport { setUserSettings } from \"../slices/userSlice\";\r\nimport { setMultiAudio, setSubtitleText, setSubtitles, setVideoTimelines } from \"../slices/videoDataSlice\";\r\nimport store from \"../store\";\r\nimport { handleLockOrientation, handleVideoTimeline } from \"./controller.actions\";\r\n\r\nexport const handleVideoError = (event: any) => {\r\n event.preventDefault();\r\n // Access the error property from the video element\r\n let error = (mainPlayerVideoTag() || miniPlayerVideoTag()).error;\r\n if (error) {\r\n switch (error.code) {\r\n case error.MEDIA_ERR_ABORTED:\r\n errorLogProvider({ type: \"videoTagError\", message: \"You aborted the video playback.\" });\r\n break;\r\n case error.MEDIA_ERR_NETWORK:\r\n errorLogProvider({ type: \"videoTagError\", message: \"A network error caused the video download to fail part-way.\" });\r\n break;\r\n case error.MEDIA_ERR_DECODE:\r\n errorLogProvider({\r\n type: \"videoTagError\",\r\n message: \"The video playback was aborted due to a corruption problem or because the video used features your browser did not support.\",\r\n });\r\n break;\r\n case error.MEDIA_ERR_SRC_NOT_SUPPORTED:\r\n errorLogProvider({\r\n type: \"videoTagError\",\r\n message: \"The video could not be loaded, either because the server or network failed or because the format is not supported.\",\r\n });\r\n break;\r\n default:\r\n errorLogProvider({ type: \"videoTagError\", message: \"An unknown error occurred.\" });\r\n break;\r\n }\r\n } else {\r\n errorLogProvider({ type: \"videoTagError\", message: \"An error occurred, but the error object is not available.\" });\r\n }\r\n};\r\n\r\nexport const handleAutoFullScreen = () => {\r\n const dispatch = store.dispatch;\r\n const { params } = store.getState().videoData;\r\n const launchFullScreen = (element: any) => {\r\n if (element.requestFullScreen) element.requestFullScreen();\r\n else if (element.mozRequestFullScreen) element.mozRequestFullScreen();\r\n else if (element.webkitRequestFullScreen) element.webkitRequestFullScreen();\r\n };\r\n dispatch(setClearPopoversSlice());\r\n launchFullScreen(document.documentElement);\r\n dispatch(setIsFullScreen(params.fullscreen === \"true\"));\r\n};\r\n\r\nexport const appendQueryParamsToChunksIOS = () => {\r\n let fragmentExtension = \".ts\";\r\n let originalOpen = XMLHttpRequest.prototype.open;\r\n XMLHttpRequest.prototype.open = function () {\r\n if (arguments[1].endsWith(fragmentExtension)) arguments[1] = arguments[1] + \"?uuid=\" + getUUID!();\r\n originalOpen.apply(this, arguments as any);\r\n };\r\n};\r\n\r\nexport const handleBufferedTime = (event: any, intervalRef: any) => {\r\n const dispatch = store.dispatch;\r\n intervalRef.current = setInterval(() => {\r\n const bufferedTime = event.target.buffered.end(0);\r\n const bufferedTimeWidth = (bufferedTime / mainPlayerVideoTag().duration) * 100;\r\n dispatch(setBufferedTimeWidth(bufferedTimeWidth));\r\n }, 500);\r\n};\r\n\r\n// ************* Hls Config Handlers ************* //\r\nexport const handleHlsConfig = () => {\r\n const streamLinkParams = splitQueryParamsFromStreamLink(\"mainPlayer\");\r\n return {\r\n xhrSetup: (xhr: any, url: any) => {\r\n if (!url.split(\"m3u8\")[1]) url = `${url}${streamLinkParams}`;\r\n xhr.open(\"GET\", url, true);\r\n },\r\n startLevel: -1,\r\n debug: false,\r\n enableWorker: true,\r\n abrBandWidthUpFactor: 0.7,\r\n abrBandWidthFactor: 0.95,\r\n backBufferLength: Infinity,\r\n maxBufferLength: 30,\r\n maxMaxBufferLength: 60,\r\n manifestLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: Infinity,\r\n maxLoadTimeMs: 20000,\r\n timeoutRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000,\r\n },\r\n errorRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000,\r\n },\r\n },\r\n },\r\n fragLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: 10000,\r\n maxLoadTimeMs: 120000,\r\n timeoutRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000,\r\n },\r\n errorRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000,\r\n },\r\n },\r\n },\r\n playlistLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: 10000,\r\n maxLoadTimeMs: 20000,\r\n timeoutRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000,\r\n },\r\n errorRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000,\r\n },\r\n },\r\n },\r\n };\r\n};\r\n\r\nexport const handleMiniPlayerHlsConfig = () => {\r\n const streamLinkParams = splitQueryParamsFromStreamLink(\"miniPlayer\");\r\n return {\r\n xhrSetup: (xhr: any, url: any) => {\r\n url = `${url}${streamLinkParams}`;\r\n xhr.open(\"GET\", url, true);\r\n },\r\n startLevel: 1,\r\n debug: false,\r\n maxMaxBufferLength: 60,\r\n playlistLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: 10000,\r\n maxLoadTimeMs: 20000,\r\n timeoutRetry: {\r\n maxNumRetry: 1000,\r\n retryDelayMs: 0,\r\n maxRetryDelayMs: 0,\r\n },\r\n errorRetry: {\r\n maxNumRetry: 1000,\r\n retryDelayMs: 1000,\r\n maxRetryDelayMs: 1000,\r\n },\r\n },\r\n },\r\n };\r\n};\r\n\r\n// ************* Manifest Handlers ************* //\r\n\r\nexport const handleManifestParsed = (hls: any, data: any) => {\r\n const dispatch = store.dispatch;\r\n let qualityLevels: any[] = [];\r\n let resolutions: any[] = [];\r\n hls.levels.map((level: any) => {\r\n qualityLevels.push(level.attrs.RESOLUTION!.split(\"x\")[1].trim());\r\n resolutions.push(level.attrs.RESOLUTION!);\r\n });\r\n hls.autoLevelCapping = highestResolutionSupported(resolutions, window.innerWidth, window.innerHeight);\r\n dispatch(setQualityLevels(qualityLevels));\r\n [\"fullscreenchange\", \"webkitfullscreenchange\", \"mozfullscreenchange\", \"msfullscreenchange\"].forEach((eventType) =>\r\n document.addEventListener(\r\n eventType,\r\n () => {\r\n if (conditions(ConditionName.isAutoQuality)) {\r\n hls.autoLevelCapping = highestResolutionSupported(resolutions, window.innerWidth, window.innerHeight);\r\n hls.nextLevel = -1;\r\n }\r\n },\r\n false\r\n )\r\n );\r\n if (data.audioTracks.length > 0) {\r\n const sortedAudioTracks = data.audioTracks.sort((a: any) => (a.default === true ? -1 : 1));\r\n dispatch(setMultiAudio(sortedAudioTracks));\r\n }\r\n};\r\n\r\nexport const handleMediaAttached = (Hls: any, hls: any) => {\r\n const { details } = store.getState().videoData;\r\n let streamLink = details.stream_link;\r\n hls.loadSource(streamLink);\r\n hls.on(Hls.Events.MANIFEST_PARSED, (_event: any, data: any) => handleManifestParsed(hls, data));\r\n};\r\n\r\n// ************* Level Handlers ************* //\r\n\r\nexport const handleLevels = (hls: any, data: any, setQualityLevel: any) => {\r\n if (data.frag.type !== \"audio\") {\r\n const dispatch = store.dispatch;\r\n const { settings } = store.getState().user;\r\n const { qualityLevels, manualQuality, autoQuality } = store.getState().controller;\r\n if (!conditions(ConditionName.isAutoQuality)) {\r\n if (data.frag.level !== manualQuality) hls.nextLevel = qualityLevels[settings.quality!] ? settings.quality : -1;\r\n if (qualityLevels[settings.quality!]) {\r\n dispatch(setManualQuality(settings.quality!));\r\n dispatch(setAutoQuality(undefined));\r\n } else {\r\n setQualityLevel(qualityLevels[data.frag.level]);\r\n dispatch(setAutoQuality(data.frag.level));\r\n dispatch(setUserSettings({ ...settings, quality: -1 }));\r\n }\r\n } else if (conditions(ConditionName.isAutoQuality) && autoQuality === undefined) {\r\n hls.nextLevel = -1;\r\n setQualityLevel(qualityLevels[data.frag.level]);\r\n dispatch(setAutoQuality(data.frag.level));\r\n } else if (conditions(ConditionName.isAutoQuality)) {\r\n setQualityLevel(qualityLevels[data.frag.level]);\r\n if (autoQuality !== data.frag.level) dispatch(setAutoQuality(data.frag.level));\r\n }\r\n }\r\n};\r\n\r\n// ************* Fragment Handlers ************* //\r\n\r\nexport const handleFragBuffered = (hls: any) => {\r\n const dispatch = store.dispatch;\r\n const bufferedTime = hls.mainForwardBufferInfo?.end;\r\n const bufferedTimeWidth = (bufferedTime! / mainPlayerVideoTag().duration) * 100;\r\n dispatch(setBufferedTimeWidth(bufferedTimeWidth));\r\n};\r\n\r\nexport const handleFragChanged = (hls: any, data: any, setQualityLevel: any) => {\r\n const { params, multiAudio, selectedAudioId } = store.getState().videoData;\r\n\r\n if (multiAudio && selectedAudioId !== undefined && selectedAudioId !== hls.audioTrack) hls.audioTrack = selectedAudioId;\r\n if (params.type) handleLevels(hls, data, setQualityLevel);\r\n};\r\n\r\nexport const handleFragParsed = (hls: any, data: any, setQualityLevel: any) => {\r\n const { type } = store.getState().videoData.params;\r\n if (type) handleLevels(hls, data, setQualityLevel);\r\n};\r\n\r\n// ************* HLS Error Handlers ************* //\r\n\r\nexport const handleHlsErrors = (data: any) => {\r\n if (data.event !== \"hlsAudioTrackLoading\") return { type: \"HLS_\" + data.type, message: data.error.message };\r\n return undefined;\r\n};\r\n\r\n// ************* Video Tag Handlers ************* //\r\n\r\nexport const handleVideoWaiting = (event: any, waitingTimerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n waitingTimerRef.current = Date.now();\r\n dispatch(setIsLoading(true));\r\n};\r\n\r\nexport const handleVideoSeeking = (event: any, waitingTimerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n waitingTimerRef.current = 0;\r\n dispatch(setIsLoading(true));\r\n};\r\n\r\nexport const handleVideoPlay = (event: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n const { videoSettings } = store.getState().user;\r\n const { params } = store.getState().videoData;\r\n event.preventDefault();\r\n timerRef.current = Date.now();\r\n dispatch(setPlay(true));\r\n if (conditions(ConditionName.hasOnPlayParams)) params.onPlay!();\r\n if (conditions(ConditionName.isFirstPlay)) {\r\n if (!conditions(ConditionName.hasCurrentTimeParams)) {\r\n mainPlayerVideoTag().currentTime = videoSettings.time;\r\n dispatch(setCurrentTime(videoSettings.time));\r\n }\r\n if (conditions(ConditionName.hasFullScreenParams)) handleAutoFullScreen();\r\n if (conditions(ConditionName.isFullScreen)) handleLockOrientation();\r\n dispatch(setVideoTimelines([Math.floor(mainPlayerVideoTag().currentTime)]));\r\n }\r\n sendFluentLog(pausePlayLog(true));\r\n dispatch(setSubtitleText(\"\"));\r\n};\r\n\r\nexport const handleVideoPlaying = (\r\n loadingCounterRef: any,\r\n loadingDurationRef: any,\r\n initialWaitingDurationRef: any,\r\n bannerLoadingDurationRef: any,\r\n timerRef: any,\r\n waitingDurationRef: any,\r\n waitingTimerRef: any,\r\n videoEntranceTimeRef: any\r\n) => {\r\n const dispatch = store.dispatch;\r\n const { autoQuality, canPlayVideo, firstPlay, qualityLevels } = store.getState().controller;\r\n const { settings } = store.getState().user;\r\n const qualityLevel = settings.quality === -1 && autoQuality ? qualityLevels[autoQuality] : qualityLevels[settings.quality!];\r\n let waitingDuration = 0;\r\n if (!!waitingTimerRef.current) waitingDuration = Date.now() - waitingTimerRef.current;\r\n if (firstPlay && !!mainPlayerVideoTag().played)\r\n sendFluentLog(\r\n initLog(\r\n loadingDurationRef.current,\r\n Date.now() - initialWaitingDurationRef.current,\r\n bannerLoadingDurationRef.current - initialWaitingDurationRef.current,\r\n Date.now() - timerRef.current,\r\n timerRef\r\n )\r\n );\r\n dispatch(setFirstPlay(false));\r\n if (canPlayVideo && waitingDuration > 0 && qualityLevel !== undefined) {\r\n waitingDurationRef.current = waitingDuration;\r\n waitingTimerRef.current = 0;\r\n sendFluentLog(loadingLog(waitingDuration, qualityLevel, timerRef, loadingCounterRef, videoEntranceTimeRef.current));\r\n loadingCounterRef.current = loadingCounterRef.current + 1;\r\n timerRef.current = Date.now();\r\n }\r\n};\r\n\r\nexport const handleVideoPause = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { params } = store.getState().videoData;\r\n event.preventDefault();\r\n sendFluentLog(pausePlayLog(false));\r\n dispatch(setPlay(false));\r\n if (conditions(ConditionName.hasOnPauseParams)) params.onPause!();\r\n};\r\n\r\nexport const handleVideoTimeUpdate = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { onChangeCurrentTime } = store.getState().videoData.params;\r\n const { selectedSubtitle } = store.getState().videoData;\r\n event.preventDefault();\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n if (conditions(ConditionName.hasOnChangeCurrentTime)) onChangeCurrentTime!(event.target.currentTime);\r\n if (conditions(ConditionName.hasActiveCue)) dispatch(setSubtitleText((selectedSubtitle!.activeCues![0] as any).text));\r\n};\r\n\r\nexport const handleVideoCanPlay = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { settings } = store.getState().user;\r\n event.preventDefault();\r\n dispatch(setIsLoading(false));\r\n dispatch(setCanPlayVideo(true));\r\n mainPlayerVideoTag().volume = settings.volume / 100;\r\n dispatch(setDuration(event.target.duration));\r\n if (conditions(ConditionName.isIOS)) {\r\n const subtitle: TextTrack[] = Object.values(event.target.textTracks);\r\n if (!!subtitle && subtitle.length) dispatch(setSubtitles(!!Object.values(subtitle[0]).length ? subtitle : []));\r\n } else dispatch(setSubtitles(Object.values(event.target.textTracks)));\r\n};\r\n\r\nexport const handleVideoEnded = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { params } = store.getState().videoData;\r\n event.preventDefault();\r\n dispatch(setIsEnded(true));\r\n dispatch(setActiveElements(true));\r\n handleVideoTimeline(mainPlayerVideoTag().duration);\r\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\r\n};\r\n\r\n// ************* IOS Video Tag Handlers ************* //\r\n\r\nexport const handleIosVideoPlay = (event: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n timerRef.current = Date.now();\r\n dispatch(setFirstPlay(false));\r\n};\r\n\r\nexport const handleIosVideoPlaying = () => {\r\n const dispatch = store.dispatch;\r\n dispatch(setIsLoading(false));\r\n};\r\n\r\nexport const handleIosVideoTimeUpdate = (event: any) => {\r\n const { onChangeCurrentTime } = store.getState().videoData.params;\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n if (conditions(ConditionName.hasOnChangeCurrentTime)) onChangeCurrentTime!(event.target.currentTime);\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n};\r\n\r\nexport const handleIosVideoEnded = () => {\r\n const dispatch = store.dispatch;\r\n const { params } = store.getState().videoData;\r\n dispatch(setIsEnded(true));\r\n dispatch(setActiveElements(true));\r\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\r\n};\r\n\r\n// ************* Static Video Tag Handlers ************* //\r\n\r\nexport const handleStaticVideoPause = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setPlay(false));\r\n};\r\n\r\nexport const handleStaticVideoPlay = (event: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setPlay(true));\r\n timerRef.current = Date.now();\r\n dispatch(setSubtitleText(\"\"));\r\n\r\n if (conditions(ConditionName.isFirstPlay) && conditions(ConditionName.hasFullScreenParams)) {\r\n handleAutoFullScreen();\r\n if (conditions(ConditionName.isFullScreen)) handleLockOrientation();\r\n }\r\n};\r\n\r\nexport const handleStaticVideoPlaying = (loadingDurationRef: any, initialWaitingDurationRef: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n const { firstPlay } = store.getState().controller;\r\n dispatch(setIsLoading(false));\r\n if (firstPlay && !!mainPlayerVideoTag().played)\r\n sendFluentLog(\r\n initLog(Math.round(loadingDurationRef.current), Date.now() - initialWaitingDurationRef.current, 0, Date.now() - timerRef.current, timerRef)\r\n );\r\n dispatch(setFirstPlay(false));\r\n};\r\n\r\nexport const handleStaticVideoTimeUpdate = (event: any) => {\r\n const { onChangeCurrentTime } = store.getState().videoData.params;\r\n const dispatch = store.dispatch;\r\n const { selectedSubtitle } = store.getState().videoData;\r\n event.preventDefault();\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n dispatch(setDuration(event.target.duration));\r\n if (conditions(ConditionName.hasOnChangeCurrentTime)) onChangeCurrentTime!(event.target.currentTime);\r\n if (conditions(ConditionName.hasActiveCue)) dispatch(setSubtitleText((selectedSubtitle!.activeCues![0] as any).text));\r\n};\r\n\r\nexport const handleStaticVideoCanPlay = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setIsLoading(false));\r\n dispatch(setCanPlayVideo(true));\r\n if (conditions(ConditionName.isIOS)) {\r\n const subtitle: TextTrack[] = Object.values(event.target.textTracks);\r\n if (!!subtitle && subtitle.length) dispatch(setSubtitles(!!Object.values(subtitle[0]).length ? subtitle : []));\r\n } else dispatch(setSubtitles(Object.values(event.target.textTracks)));\r\n};\r\n\r\nexport const handleStaticVideoLoadedData = (event: any, intervalRef: any) => {\r\n event.preventDefault();\r\n handleBufferedTime(event, intervalRef);\r\n};\r\n\r\nexport const handleStaticVideoEnded = (event: any) => {\r\n const { params } = store.getState().videoData;\r\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\r\n event.preventDefault();\r\n};\r\n\r\nexport const handleMiniPlayerMediaAttached = async (hls: any) => {\r\n const { stream_link } = store.getState().miniPlayer.details;\r\n hls.loadSource(stream_link);\r\n};\r\n\r\nexport const handleVideoVisibilityChange = () => {\r\n handleVideoTimeline(mainPlayerVideoTag().currentTime);\r\n};\r\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {g as g$1,i as i$1}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import {g as g$1,i as i$1}from'./chunk-QZJECTZQ.mjs';import {la,ma,Fa,Q,V,P,$,d,fa,B,i,g,a,c,w,ka,Aa,z as z$1,Ba,j,Ca,n,b,y,p,f,e as e$1,m,J as J$1,I,h}from'./chunk-FPUBUJN6.mjs';import {e}from'./chunk-NXC6LNWJ.mjs';e();var he=e=>{e.preventDefault();let t=(la()||ma()).error;if(t)switch(t.code){case t.MEDIA_ERR_ABORTED:Fa({type:"videoTagError",message:"You aborted the video playback."});break;case t.MEDIA_ERR_NETWORK:Fa({type:"videoTagError",message:"A network error caused the video download to fail part-way."});break;case t.MEDIA_ERR_DECODE:Fa({type:"videoTagError",message:"The video playback was aborted due to a corruption problem or because the video used features your browser did not support."});break;case t.MEDIA_ERR_SRC_NOT_SUPPORTED:Fa({type:"videoTagError",message:"The video could not be loaded, either because the server or network failed or because the format is not supported."});break;default:Fa({type:"videoTagError",message:"An unknown error occurred."});break}else Fa({type:"videoTagError",message:"An error occurred, but the error object is not available."});},z=()=>{let e=P.dispatch,{params:t}=P.getState().videoData,a=n=>{n.requestFullScreen?n.requestFullScreen():n.mozRequestFullScreen?n.mozRequestFullScreen():n.webkitRequestFullScreen&&n.webkitRequestFullScreen();};e(I()),a(document.documentElement),e(h(t.fullscreen==="true"));},ge=()=>{let e=".ts",t=XMLHttpRequest.prototype.open;XMLHttpRequest.prototype.open=function(){arguments[1].endsWith(e)&&(arguments[1]=arguments[1]+"?uuid="+Q()),t.apply(this,arguments);};},J=(e,t)=>{let a=P.dispatch;t.current=setInterval(()=>{let s=e.target.buffered.end(0)/la().duration*100;a(i(s));},500);},xe=()=>{let e=V("mainPlayer");return {xhrSetup:(t,a)=>{a.split("m3u8")[1]||(a=`${a}${e}`),t.open("GET",a,true);},startLevel:-1,debug:false,enableWorker:true,abrBandWidthUpFactor:.7,abrBandWidthFactor:.95,backBufferLength:1/0,maxBufferLength:30,maxMaxBufferLength:60,manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:10,retryDelayMs:5e3,maxRetryDelayMs:1e4},errorRetry:{maxNumRetry:10,retryDelayMs:5e3,maxRetryDelayMs:1e4}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:10,retryDelayMs:5e3,maxRetryDelayMs:1e4},errorRetry:{maxNumRetry:10,retryDelayMs:5e3,maxRetryDelayMs:1e4}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:10,retryDelayMs:5e3,maxRetryDelayMs:1e4},errorRetry:{maxNumRetry:10,retryDelayMs:5e3,maxRetryDelayMs:1e4}}}}},Te=()=>{let e=V("miniPlayer");return {xhrSetup:(t,a)=>{a=`${a}${e}`,t.open("GET",a,true);},startLevel:1,debug:false,maxMaxBufferLength:60,playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1e3,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1e3,retryDelayMs:1e3,maxRetryDelayMs:1e3}}}}},Z=(e,t)=>{let a=P.dispatch,n=[],s=[];if(e.levels.map(i=>{n.push(i.attrs.RESOLUTION.split("x")[1].trim()),s.push(i.attrs.RESOLUTION);}),e.autoLevelCapping=$(s,window.innerWidth,window.innerHeight),a(d(n)),["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","msfullscreenchange"].forEach(i=>document.addEventListener(i,()=>{fa("isAutoQuality")&&(e.autoLevelCapping=$(s,window.innerWidth,window.innerHeight),e.nextLevel=-1);},false)),t.audioTracks.length>0){let i=t.audioTracks.sort(c=>c.default===true?-1:1);a(B(i));}},ve=(e,t)=>{let{details:a}=P.getState().videoData,n=a.stream_link;t.loadSource(n),t.on(e.Events.MANIFEST_PARSED,(s,i)=>Z(t,i));},G=(e,t,a)=>{if(t.frag.type!=="audio"){let n=P.dispatch,{settings:s}=P.getState().user,{qualityLevels:i,manualQuality:c,autoQuality:x}=P.getState().controller;fa("isAutoQuality")?fa("isAutoQuality")&&x===void 0?(e.nextLevel=-1,a(i[t.frag.level]),n(e$1(t.frag.level))):fa("isAutoQuality")&&(a(i[t.frag.level]),x!==t.frag.level&&n(e$1(t.frag.level))):(t.frag.level!==c&&(e.nextLevel=i[s.quality]?s.quality:-1),i[s.quality]?(n(m(s.quality)),n(e$1(void 0))):(a(i[t.frag.level]),n(e$1(t.frag.level)),n(J$1({...s,quality:-1}))));}},De=e=>{let t=P.dispatch,n=e.mainForwardBufferInfo?.end/la().duration*100;t(i(n));},Se=(e,t,a)=>{let{params:n,multiAudio:s,selectedAudioId:i}=P.getState().videoData;s&&i!==void 0&&i!==e.audioTrack&&(e.audioTrack=i),n.type&&G(e,t,a);},Pe=(e,t,a)=>{let{type:n}=P.getState().videoData.params;n&&G(e,t,a);},be=e=>{if(e.event!=="hlsAudioTrackLoading")return {type:"HLS_"+e.type,message:e.error.message}},Le=(e,t)=>{let a=P.dispatch;e.preventDefault(),t.current=Date.now(),a(g(true));},Me=(e,t)=>{let a=P.dispatch;e.preventDefault(),t.current=0,a(g(true));},Ee=(e,t)=>{let a$1=P.dispatch,{videoSettings:n}=P.getState().user,{params:s}=P.getState().videoData;e.preventDefault(),t.current=Date.now(),a$1(a(true)),fa("hasOnPlayParams")&&s.onPlay(),fa("isFirstPlay")&&(fa("hasCurrentTimeParams")||(la().currentTime=n.time,a$1(c(n.time))),fa("hasFullScreenParams")&&z(),fa("isFullScreen")&&g$1(),a$1(w([Math.floor(la().currentTime)]))),ka(Aa(true)),a$1(z$1(""));},Re=(e,t,a,n,s,i,c,x)=>{let X=P.dispatch,{autoQuality:w,canPlayVideo:K,firstPlay:Y,qualityLevels:O}=P.getState().controller,{settings:V}=P.getState().user,A=V.quality===-1&&w?O[w]:O[V.quality],T=0;c.current&&(T=Date.now()-c.current),Y&&la().played&&ka(Ba(t.current,Date.now()-a.current,n.current-a.current,Date.now()-s.current,s)),X(j(false)),K&&T>0&&A!==void 0&&(i.current=T,c.current=0,ka(Ca(T,A,s,e,x.current)),e.current=e.current+1,s.current=Date.now());},ke=e=>{let t=P.dispatch,{params:a$1}=P.getState().videoData;e.preventDefault(),ka(Aa(false)),t(a(false)),fa("hasOnPauseParams")&&a$1.onPause();},Fe=e=>{let t=P.dispatch,{onChangeCurrentTime:a}=P.getState().videoData.params,{selectedSubtitle:n}=P.getState().videoData;e.preventDefault(),t(c(e.target.currentTime)),fa("hasOnChangeCurrentTime")&&a(e.target.currentTime),fa("hasActiveCue")&&t(z$1(n.activeCues[0].text));},Ce=e=>{let t=P.dispatch,{settings:a}=P.getState().user;if(e.preventDefault(),t(g(false)),t(n(true)),la().volume=a.volume/100,t(b(e.target.duration)),fa("isIOS")){let n=Object.values(e.target.textTracks);n&&n.length&&t(y(Object.values(n[0]).length?n:[]));}else t(y(Object.values(e.target.textTracks)));},we=e=>{let t=P.dispatch,{params:a}=P.getState().videoData;e.preventDefault(),t(p(true)),t(f(true)),i$1(la().duration),fa("hasOnFinishedParams")&&a.onFinished();},Oe=(e,t)=>{let a=P.dispatch;e.preventDefault(),t.current=Date.now(),a(j(false));},Ve=()=>{let e=P.dispatch;e(g(false));},Ae=e=>{let{onChangeCurrentTime:t}=P.getState().videoData.params,a=P.dispatch;e.preventDefault(),fa("hasOnChangeCurrentTime")&&t(e.target.currentTime),a(c(e.target.currentTime));},Ie=()=>{let e=P.dispatch,{params:t}=P.getState().videoData;e(p(true)),e(f(true)),fa("hasOnFinishedParams")&&t.onFinished();},qe=e=>{let t=P.dispatch;e.preventDefault(),t(a(false));},Be=(e,t)=>{let a$1=P.dispatch;e.preventDefault(),a$1(a(true)),t.current=Date.now(),a$1(z$1("")),fa("isFirstPlay")&&fa("hasFullScreenParams")&&(z(),fa("isFullScreen")&&g$1());},_e=(e,t,a)=>{let n=P.dispatch,{firstPlay:s}=P.getState().controller;n(g(false)),s&&la().played&&ka(Ba(Math.round(e.current),Date.now()-t.current,0,Date.now()-a.current,a)),n(j(false));},Ne=e=>{let{onChangeCurrentTime:t}=P.getState().videoData.params,a=P.dispatch,{selectedSubtitle:n}=P.getState().videoData;e.preventDefault(),a(c(e.target.currentTime)),a(b(e.target.duration)),fa("hasOnChangeCurrentTime")&&t(e.target.currentTime),fa("hasActiveCue")&&a(z$1(n.activeCues[0].text));},Qe=e=>{let t=P.dispatch;if(e.preventDefault(),t(g(false)),t(n(true)),fa("isIOS")){let a=Object.values(e.target.textTracks);a&&a.length&&t(y(Object.values(a[0]).length?a:[]));}else t(y(Object.values(e.target.textTracks)));},Ue=(e,t)=>{e.preventDefault(),J(e,t);};var We=async e=>{let{stream_link:t}=P.getState().miniPlayer.details;e.loadSource(t);},He=()=>{i$1(la().currentTime);};export{Qe as A,Ue as B,We as C,He as D,he as a,ge as b,xe as c,Te as d,Z as e,ve as f,De as g,Se as h,Pe as i,be as j,Le as k,Me as l,Ee as m,Re as n,ke as o,Fe as p,Ce as q,we as r,Oe as s,Ve as t,Ae as u,Ie as v,qe as w,Be as x,_e as y,Ne as z};//# sourceMappingURL=chunk-MSI72J5J.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-MSI72J5J.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/videoPlayerLibrary/helpers/redux/actions/playerCore.actions.ts"],"names":["init_esm_shims","handleVideoError","event","error","mainPlayerVideoTag","miniPlayerVideoTag","errorLogProvider","handleAutoFullScreen","dispatch","store_default","params","launchFullScreen","element","setClearPopoversSlice","setIsFullScreen","appendQueryParamsToChunksIOS","fragmentExtension","originalOpen","getUUID","handleBufferedTime","intervalRef","bufferedTimeWidth","setBufferedTimeWidth","handleHlsConfig","streamLinkParams","splitQueryParamsFromStreamLink","xhr","url","handleMiniPlayerHlsConfig","handleManifestParsed","hls","data","qualityLevels","resolutions","level","highestResolutionSupported","setQualityLevels","eventType","conditions","sortedAudioTracks","a","setMultiAudio","handleMediaAttached","Hls","details","streamLink","_event","handleLevels","setQualityLevel","settings","manualQuality","autoQuality","setAutoQuality","setManualQuality","setUserSettings","handleFragBuffered","handleFragChanged","multiAudio","selectedAudioId","handleFragParsed","type","handleHlsErrors","handleVideoWaiting","waitingTimerRef","setIsLoading","handleVideoSeeking","handleVideoPlay","timerRef","videoSettings","setPlay","setCurrentTime","handleLockOrientation","setVideoTimelines","sendFluentLog","pausePlayLog","setSubtitleText","handleVideoPlaying","loadingCounterRef","loadingDurationRef","initialWaitingDurationRef","bannerLoadingDurationRef","waitingDurationRef","videoEntranceTimeRef","canPlayVideo","firstPlay","qualityLevel","waitingDuration","initLog","setFirstPlay","loadingLog","handleVideoPause","handleVideoTimeUpdate","onChangeCurrentTime","selectedSubtitle","handleVideoCanPlay","setCanPlayVideo","setDuration","subtitle","setSubtitles","handleVideoEnded","setIsEnded","setActiveElements","handleVideoTimeline","handleIosVideoPlay","handleIosVideoPlaying","handleIosVideoTimeUpdate","handleIosVideoEnded","handleStaticVideoPause","handleStaticVideoPlay","handleStaticVideoPlaying","handleStaticVideoTimeUpdate","handleStaticVideoCanPlay","handleStaticVideoLoadedData","handleMiniPlayerMediaAttached","stream_link","handleVideoVisibilityChange"],"mappings":"wNAAAA,CAAAA,EAAAA,CA4BO,IAAMC,GAAoBC,CAAAA,EAAe,CAC9CA,EAAM,cAAA,EAAe,CAErB,IAAIC,CAAAA,CAAAA,CAASC,EAAAA,IAAwBC,EAAAA,EAAmB,EAAG,MAC3D,GAAIF,CAAAA,CACF,OAAQA,CAAAA,CAAM,IAAA,EACZ,KAAKA,CAAAA,CAAM,iBAAA,CACTG,GAAiB,CAAE,IAAA,CAAM,gBAAiB,OAAA,CAAS,iCAAkC,CAAC,CAAA,CACtF,MACF,KAAKH,CAAAA,CAAM,iBAAA,CACTG,GAAiB,CAAE,IAAA,CAAM,gBAAiB,OAAA,CAAS,6DAA8D,CAAC,CAAA,CAClH,MACF,KAAKH,CAAAA,CAAM,gBAAA,CACTG,EAAAA,CAAiB,CACf,IAAA,CAAM,eAAA,CACN,QAAS,6HACX,CAAC,EACD,MACF,KAAKH,EAAM,2BAAA,CACTG,EAAAA,CAAiB,CACf,IAAA,CAAM,eAAA,CACN,QAAS,oHACX,CAAC,EACD,MACF,QACEA,EAAAA,CAAiB,CAAE,IAAA,CAAM,eAAA,CAAiB,QAAS,4BAA6B,CAAC,EACjF,KACJ,CAAA,KAEAA,GAAiB,CAAE,IAAA,CAAM,eAAA,CAAiB,OAAA,CAAS,2DAA4D,CAAC,EAEpH,CAAA,CAEaC,CAAAA,CAAuB,IAAM,CACxC,IAAMC,EAAWC,CAAAA,CAAM,QAAA,CACjB,CAAE,MAAA,CAAAC,CAAO,CAAA,CAAID,EAAM,QAAA,EAAS,CAAE,UAC9BE,CAAAA,CAAoBC,CAAAA,EAAiB,CACrCA,CAAAA,CAAQ,iBAAA,CAAmBA,EAAQ,iBAAA,EAAkB,CAChDA,EAAQ,oBAAA,CAAsBA,CAAAA,CAAQ,sBAAqB,CAC3DA,CAAAA,CAAQ,yBAAyBA,CAAAA,CAAQ,uBAAA,GACpD,CAAA,CACAJ,CAAAA,CAASK,CAAAA,EAAuB,CAAA,CAChCF,CAAAA,CAAiB,SAAS,eAAe,CAAA,CACzCH,EAASM,CAAAA,CAAgBJ,CAAAA,CAAO,UAAA,GAAe,MAAM,CAAC,EACxD,EAEaK,EAAAA,CAA+B,IAAM,CAChD,IAAIC,CAAAA,CAAoB,MACpBC,CAAAA,CAAe,cAAA,CAAe,SAAA,CAAU,IAAA,CAC5C,cAAA,CAAe,SAAA,CAAU,KAAO,UAAY,CACtC,UAAU,CAAC,CAAA,CAAE,SAASD,CAAiB,CAAA,GAAG,UAAU,CAAC,CAAA,CAAI,UAAU,CAAC,CAAA,CAAI,SAAWE,CAAAA,EAAS,CAAA,CAChGD,EAAa,KAAA,CAAM,IAAA,CAAM,SAAgB,EAC3C,EACF,CAAA,CAEaE,EAAqB,CAACjB,CAAAA,CAAYkB,IAAqB,CAClE,IAAMZ,EAAWC,CAAAA,CAAM,QAAA,CACvBW,CAAAA,CAAY,OAAA,CAAU,WAAA,CAAY,IAAM,CAEtC,IAAMC,CAAAA,CADenB,EAAM,MAAA,CAAO,QAAA,CAAS,IAAI,CAAC,CAAA,CACNE,EAAAA,EAAmB,CAAE,QAAA,CAAY,GAAA,CAC3EI,EAASc,CAAAA,CAAqBD,CAAiB,CAAC,EAClD,CAAA,CAAG,GAAG,EACR,CAAA,CAGaE,GAAkB,IAAM,CACnC,IAAMC,CAAAA,CAAmBC,CAAAA,CAA+B,YAAY,CAAA,CACpE,OAAO,CACL,QAAA,CAAU,CAACC,CAAAA,CAAUC,CAAAA,GAAa,CAC3BA,CAAAA,CAAI,MAAM,MAAM,CAAA,CAAE,CAAC,CAAA,GAAGA,CAAAA,CAAM,GAAGA,CAAG,CAAA,EAAGH,CAAgB,CAAA,CAAA,CAAA,CAC1DE,CAAAA,CAAI,KAAK,KAAA,CAAOC,CAAAA,CAAK,IAAI,EAC3B,CAAA,CACA,WAAY,EAAA,CACZ,KAAA,CAAO,KAAA,CACP,YAAA,CAAc,IAAA,CACd,oBAAA,CAAsB,GACtB,kBAAA,CAAoB,GAAA,CACpB,iBAAkB,CAAA,CAAA,CAAA,CAClB,eAAA,CAAiB,GACjB,kBAAA,CAAoB,EAAA,CACpB,mBAAoB,CAClB,OAAA,CAAS,CACP,oBAAA,CAAsB,CAAA,CAAA,CAAA,CACtB,cAAe,GAAA,CACf,YAAA,CAAc,CACZ,WAAA,CAAa,EAAA,CACb,YAAA,CAAc,GAAA,CACd,eAAA,CAAiB,GACnB,EACA,UAAA,CAAY,CACV,YAAa,EAAA,CACb,YAAA,CAAc,IACd,eAAA,CAAiB,GACnB,CACF,CACF,CAAA,CACA,cAAA,CAAgB,CACd,OAAA,CAAS,CACP,qBAAsB,GAAA,CACtB,aAAA,CAAe,KACf,YAAA,CAAc,CACZ,WAAA,CAAa,EAAA,CACb,YAAA,CAAc,GAAA,CACd,gBAAiB,GACnB,CAAA,CACA,WAAY,CACV,WAAA,CAAa,GACb,YAAA,CAAc,GAAA,CACd,gBAAiB,GACnB,CACF,CACF,CAAA,CACA,kBAAA,CAAoB,CAClB,OAAA,CAAS,CACP,qBAAsB,GAAA,CACtB,aAAA,CAAe,GAAA,CACf,YAAA,CAAc,CACZ,WAAA,CAAa,GACb,YAAA,CAAc,GAAA,CACd,gBAAiB,GACnB,CAAA,CACA,WAAY,CACV,WAAA,CAAa,EAAA,CACb,YAAA,CAAc,GAAA,CACd,eAAA,CAAiB,GACnB,CACF,CACF,CACF,CACF,CAAA,CAEaC,GAA4B,IAAM,CAC7C,IAAMJ,CAAAA,CAAmBC,CAAAA,CAA+B,YAAY,EACpE,OAAO,CACL,SAAU,CAACC,CAAAA,CAAUC,IAAa,CAChCA,CAAAA,CAAM,GAAGA,CAAG,CAAA,EAAGH,CAAgB,CAAA,CAAA,CAC/BE,CAAAA,CAAI,KAAK,KAAA,CAAOC,CAAAA,CAAK,IAAI,EAC3B,CAAA,CACA,UAAA,CAAY,CAAA,CACZ,KAAA,CAAO,KAAA,CACP,mBAAoB,EAAA,CACpB,kBAAA,CAAoB,CAClB,OAAA,CAAS,CACP,qBAAsB,GAAA,CACtB,aAAA,CAAe,GAAA,CACf,YAAA,CAAc,CACZ,WAAA,CAAa,IACb,YAAA,CAAc,CAAA,CACd,gBAAiB,CACnB,CAAA,CACA,WAAY,CACV,WAAA,CAAa,GAAA,CACb,YAAA,CAAc,GAAA,CACd,eAAA,CAAiB,GACnB,CACF,CACF,CACF,CACF,CAAA,CAIaE,EAAuB,CAACC,CAAAA,CAAUC,IAAc,CAC3D,IAAMvB,EAAWC,CAAAA,CAAM,QAAA,CACnBuB,EAAuB,EAAC,CACxBC,EAAqB,EAAC,CAmB1B,GAlBAH,CAAAA,CAAI,MAAA,CAAO,GAAA,CAAKI,GAAe,CAC7BF,CAAAA,CAAc,KAAKE,CAAAA,CAAM,KAAA,CAAM,WAAY,KAAA,CAAM,GAAG,EAAE,CAAC,CAAA,CAAE,MAAM,CAAA,CAC/DD,EAAY,IAAA,CAAKC,CAAAA,CAAM,MAAM,UAAW,EAC1C,CAAC,CAAA,CACDJ,CAAAA,CAAI,gBAAA,CAAmBK,EAA2BF,CAAAA,CAAa,MAAA,CAAO,WAAY,MAAA,CAAO,WAAW,EACpGzB,CAAAA,CAAS4B,CAAAA,CAAiBJ,CAAa,CAAC,CAAA,CACxC,CAAC,kBAAA,CAAoB,wBAAA,CAA0B,sBAAuB,oBAAoB,CAAA,CAAE,QAASK,CAAAA,EACnG,QAAA,CAAS,gBAAA,CACPA,CAAAA,CACA,IAAM,CACAC,kBAAsC,CAAA,GACxCR,CAAAA,CAAI,iBAAmBK,CAAAA,CAA2BF,CAAAA,CAAa,OAAO,UAAA,CAAY,MAAA,CAAO,WAAW,CAAA,CACpGH,CAAAA,CAAI,SAAA,CAAY,IAEpB,CAAA,CACA,KACF,CACF,CAAA,CACIC,CAAAA,CAAK,YAAY,MAAA,CAAS,CAAA,CAAG,CAC/B,IAAMQ,CAAAA,CAAoBR,CAAAA,CAAK,YAAY,IAAA,CAAMS,CAAAA,EAAYA,EAAE,OAAA,GAAY,IAAA,CAAO,GAAK,CAAE,CAAA,CACzFhC,EAASiC,CAAAA,CAAcF,CAAiB,CAAC,EAC3C,CACF,EAEaG,EAAAA,CAAsB,CAACC,EAAUb,CAAAA,GAAa,CACzD,GAAM,CAAE,OAAA,CAAAc,CAAQ,EAAInC,CAAAA,CAAM,QAAA,GAAW,SAAA,CACjCoC,CAAAA,CAAaD,EAAQ,WAAA,CACzBd,CAAAA,CAAI,UAAA,CAAWe,CAAU,CAAA,CACzBf,CAAAA,CAAI,GAAGa,CAAAA,CAAI,MAAA,CAAO,gBAAiB,CAACG,CAAAA,CAAaf,IAAcF,CAAAA,CAAqBC,CAAAA,CAAKC,CAAI,CAAC,EAChG,CAAA,CAIagB,EAAe,CAACjB,CAAAA,CAAUC,EAAWiB,CAAAA,GAAyB,CACzE,GAAIjB,CAAAA,CAAK,IAAA,CAAK,OAAS,OAAA,CAAS,CAC9B,IAAMvB,CAAAA,CAAWC,CAAAA,CAAM,SACjB,CAAE,QAAA,CAAAwC,CAAS,CAAA,CAAIxC,CAAAA,CAAM,QAAA,EAAS,CAAE,IAAA,CAChC,CAAE,cAAAuB,CAAAA,CAAe,aAAA,CAAAkB,EAAe,WAAA,CAAAC,CAAY,EAAI1C,CAAAA,CAAM,QAAA,EAAS,CAAE,UAAA,CAClE6B,EAAAA,CAAAA,eAAsC,CAAA,CAUhCA,kBAAsC,CAAA,EAAKa,CAAAA,GAAgB,QACpErB,CAAAA,CAAI,SAAA,CAAY,GAChBkB,CAAAA,CAAgBhB,CAAAA,CAAcD,CAAAA,CAAK,IAAA,CAAK,KAAK,CAAC,EAC9CvB,CAAAA,CAAS4C,GAAAA,CAAerB,EAAK,IAAA,CAAK,KAAK,CAAC,CAAA,EAC/BO,EAAAA,CAAAA,eAAsC,IAC/CU,CAAAA,CAAgBhB,CAAAA,CAAcD,EAAK,IAAA,CAAK,KAAK,CAAC,CAAA,CAC1CoB,CAAAA,GAAgBpB,EAAK,IAAA,CAAK,KAAA,EAAOvB,CAAAA,CAAS4C,GAAAA,CAAerB,CAAAA,CAAK,IAAA,CAAK,KAAK,CAAC,CAAA,CAAA,EAfzEA,EAAK,IAAA,CAAK,KAAA,GAAUmB,IAAepB,CAAAA,CAAI,SAAA,CAAYE,EAAciB,CAAAA,CAAS,OAAQ,EAAIA,CAAAA,CAAS,OAAA,CAAU,IACzGjB,CAAAA,CAAciB,CAAAA,CAAS,OAAQ,CAAA,EACjCzC,CAAAA,CAAS6C,CAAAA,CAAiBJ,CAAAA,CAAS,OAAQ,CAAC,EAC5CzC,CAAAA,CAAS4C,GAAAA,CAAe,MAAS,CAAC,CAAA,GAElCJ,EAAgBhB,CAAAA,CAAcD,CAAAA,CAAK,KAAK,KAAK,CAAC,EAC9CvB,CAAAA,CAAS4C,GAAAA,CAAerB,EAAK,IAAA,CAAK,KAAK,CAAC,CAAA,CACxCvB,CAAAA,CAAS8C,GAAAA,CAAgB,CAAE,GAAGL,CAAAA,CAAU,QAAS,EAAG,CAAC,CAAC,CAAA,CAAA,EAU5D,CACF,EAIaM,EAAAA,CAAsBzB,CAAAA,EAAa,CAC9C,IAAMtB,CAAAA,CAAWC,CAAAA,CAAM,SAEjBY,CAAAA,CADeS,CAAAA,CAAI,uBAAuB,GAAA,CACL1B,EAAAA,GAAqB,QAAA,CAAY,GAAA,CAC5EI,CAAAA,CAASc,CAAAA,CAAqBD,CAAiB,CAAC,EAClD,CAAA,CAEamC,EAAAA,CAAoB,CAAC1B,CAAAA,CAAUC,CAAAA,CAAWiB,IAAyB,CAC9E,GAAM,CAAE,MAAA,CAAAtC,CAAAA,CAAQ,WAAA+C,CAAAA,CAAY,eAAA,CAAAC,CAAgB,CAAA,CAAIjD,CAAAA,CAAM,UAAS,CAAE,SAAA,CAE7DgD,CAAAA,EAAcC,CAAAA,GAAoB,MAAA,EAAaA,CAAAA,GAAoB5B,EAAI,UAAA,GAAYA,CAAAA,CAAI,WAAa4B,CAAAA,CAAAA,CACpGhD,CAAAA,CAAO,MAAMqC,CAAAA,CAAajB,CAAAA,CAAKC,CAAAA,CAAMiB,CAAe,EAC1D,CAAA,CAEaW,GAAmB,CAAC7B,CAAAA,CAAUC,EAAWiB,CAAAA,GAAyB,CAC7E,GAAM,CAAE,IAAA,CAAAY,CAAK,CAAA,CAAInD,CAAAA,CAAM,QAAA,GAAW,SAAA,CAAU,MAAA,CACxCmD,GAAMb,CAAAA,CAAajB,CAAAA,CAAKC,EAAMiB,CAAe,EACnD,EAIaa,EAAAA,CAAmB9B,CAAAA,EAAc,CAC5C,GAAIA,CAAAA,CAAK,QAAU,sBAAA,CAAwB,OAAO,CAAE,IAAA,CAAM,MAAA,CAASA,CAAAA,CAAK,IAAA,CAAM,OAAA,CAASA,CAAAA,CAAK,MAAM,OAAQ,CAE5G,EAIa+B,EAAAA,CAAqB,CAAC5D,EAAY6D,CAAAA,GAAyB,CACtE,IAAMvD,CAAAA,CAAWC,CAAAA,CAAM,QAAA,CACvBP,EAAM,cAAA,EAAe,CACrB6D,EAAgB,OAAA,CAAU,IAAA,CAAK,KAAI,CACnCvD,CAAAA,CAASwD,CAAAA,CAAa,IAAI,CAAC,EAC7B,EAEaC,EAAAA,CAAqB,CAAC/D,EAAY6D,CAAAA,GAAyB,CACtE,IAAMvD,CAAAA,CAAWC,CAAAA,CAAM,SACvBP,CAAAA,CAAM,cAAA,GACN6D,CAAAA,CAAgB,OAAA,CAAU,EAC1BvD,CAAAA,CAASwD,CAAAA,CAAa,IAAI,CAAC,EAC7B,CAAA,CAEaE,EAAAA,CAAkB,CAAChE,CAAAA,CAAYiE,IAAkB,CAC5D,IAAM3D,IAAWC,CAAAA,CAAM,QAAA,CACjB,CAAE,aAAA,CAAA2D,CAAc,EAAI3D,CAAAA,CAAM,QAAA,GAAW,IAAA,CACrC,CAAE,OAAAC,CAAO,CAAA,CAAID,EAAM,QAAA,EAAS,CAAE,SAAA,CACpCP,CAAAA,CAAM,cAAA,EAAe,CACrBiE,EAAS,OAAA,CAAU,IAAA,CAAK,KAAI,CAC5B3D,GAAAA,CAAS6D,EAAQ,IAAI,CAAC,EAClB/B,EAAAA,CAAAA,iBAAwC,CAAA,EAAG5B,EAAO,MAAA,EAAQ,CAC1D4B,gBAAoC,CAAA,GACjCA,EAAAA,CAAAA,sBAA6C,IAChDlC,EAAAA,EAAmB,CAAE,WAAA,CAAcgE,CAAAA,CAAc,IAAA,CACjD5D,GAAAA,CAAS8D,EAAeF,CAAAA,CAAc,IAAI,CAAC,CAAA,CAAA,CAEzC9B,EAAAA,CAAAA,qBAA4C,GAAG/B,CAAAA,EAAqB,CACpE+B,EAAAA,CAAAA,cAAqC,CAAA,EAAGiC,GAAAA,EAAsB,CAClE/D,IAASgE,CAAAA,CAAkB,CAAC,KAAK,KAAA,CAAMpE,EAAAA,GAAqB,WAAW,CAAC,CAAC,CAAC,CAAA,CAAA,CAE5EqE,EAAAA,CAAcC,GAAa,IAAI,CAAC,EAChClE,GAAAA,CAASmE,GAAAA,CAAgB,EAAE,CAAC,EAC9B,EAEaC,EAAAA,CAAqB,CAChCC,EACAC,CAAAA,CACAC,CAAAA,CACAC,EACAb,CAAAA,CACAc,CAAAA,CACAlB,EACAmB,CAAAA,GACG,CACH,IAAM1E,CAAAA,CAAWC,CAAAA,CAAM,QAAA,CACjB,CAAE,WAAA,CAAA0C,CAAAA,CAAa,aAAAgC,CAAAA,CAAc,SAAA,CAAAC,EAAW,aAAA,CAAApD,CAAc,CAAA,CAAIvB,CAAAA,CAAM,QAAA,EAAS,CAAE,WAC3E,CAAE,QAAA,CAAAwC,CAAS,CAAA,CAAIxC,CAAAA,CAAM,UAAS,CAAE,IAAA,CAChC4E,CAAAA,CAAepC,CAAAA,CAAS,OAAA,GAAY,EAAA,EAAME,EAAcnB,CAAAA,CAAcmB,CAAW,EAAInB,CAAAA,CAAciB,CAAAA,CAAS,OAAQ,CAAA,CACtHqC,CAAAA,CAAkB,EAChBvB,CAAAA,CAAgB,OAAA,GAASuB,EAAkB,IAAA,CAAK,GAAA,GAAQvB,CAAAA,CAAgB,OAAA,CAAA,CAC1EqB,GAAehF,EAAAA,EAAmB,CAAE,MAAA,EACtCqE,EAAAA,CACEc,EAAAA,CACET,CAAAA,CAAmB,QACnB,IAAA,CAAK,GAAA,GAAQC,CAAAA,CAA0B,OAAA,CACvCC,EAAyB,OAAA,CAAUD,CAAAA,CAA0B,OAAA,CAC7D,IAAA,CAAK,GAAA,EAAI,CAAIZ,EAAS,OAAA,CACtBA,CACF,CACF,CAAA,CACF3D,CAAAA,CAASgF,EAAa,KAAK,CAAC,CAAA,CACxBL,CAAAA,EAAgBG,CAAAA,CAAkB,CAAA,EAAKD,IAAiB,MAAA,GAC1DJ,CAAAA,CAAmB,QAAUK,CAAAA,CAC7BvB,CAAAA,CAAgB,QAAU,CAAA,CAC1BU,EAAAA,CAAcgB,GAAWH,CAAAA,CAAiBD,CAAAA,CAAclB,EAAUU,CAAAA,CAAmBK,CAAAA,CAAqB,OAAO,CAAC,CAAA,CAClHL,EAAkB,OAAA,CAAUA,CAAAA,CAAkB,OAAA,CAAU,CAAA,CACxDV,CAAAA,CAAS,OAAA,CAAU,KAAK,GAAA,EAAI,EAEhC,EAEauB,EAAAA,CAAoBxF,CAAAA,EAAe,CAC9C,IAAMM,CAAAA,CAAWC,EAAM,QAAA,CACjB,CAAE,OAAAC,GAAO,CAAA,CAAID,EAAM,QAAA,EAAS,CAAE,UACpCP,CAAAA,CAAM,cAAA,EAAe,CACrBuE,EAAAA,CAAcC,EAAAA,CAAa,KAAK,CAAC,CAAA,CACjClE,CAAAA,CAAS6D,EAAQ,KAAK,CAAC,EACnB/B,EAAAA,CAAAA,kBAAyC,CAAA,EAAG5B,IAAO,OAAA,GACzD,EAEaiF,EAAAA,CAAyBzF,CAAAA,EAAe,CACnD,IAAMM,CAAAA,CAAWC,EAAM,QAAA,CACjB,CAAE,mBAAA,CAAAmF,CAAoB,CAAA,CAAInF,CAAAA,CAAM,UAAS,CAAE,SAAA,CAAU,OACrD,CAAE,gBAAA,CAAAoF,CAAiB,CAAA,CAAIpF,CAAAA,CAAM,QAAA,EAAS,CAAE,SAAA,CAC9CP,CAAAA,CAAM,gBAAe,CACrBM,CAAAA,CAAS8D,EAAepE,CAAAA,CAAM,MAAA,CAAO,WAAW,CAAC,CAAA,CAC7CoC,EAAAA,CAAAA,wBAA+C,CAAA,EAAGsD,CAAAA,CAAqB1F,CAAAA,CAAM,OAAO,WAAW,CAAA,CAC/FoC,iBAAqC,CAAA,EAAG9B,CAAAA,CAASmE,IAAiBkB,CAAAA,CAAkB,UAAA,CAAY,CAAC,CAAA,CAAU,IAAI,CAAC,EACtH,CAAA,CAEaC,GAAsB5F,CAAAA,EAAe,CAChD,IAAMM,CAAAA,CAAWC,CAAAA,CAAM,QAAA,CACjB,CAAE,QAAA,CAAAwC,CAAS,EAAIxC,CAAAA,CAAM,QAAA,GAAW,IAAA,CAMtC,GALAP,EAAM,cAAA,EAAe,CACrBM,CAAAA,CAASwD,CAAAA,CAAa,KAAK,CAAC,EAC5BxD,CAAAA,CAASuF,CAAAA,CAAgB,IAAI,CAAC,CAAA,CAC9B3F,IAAmB,CAAE,MAAA,CAAS6C,CAAAA,CAAS,MAAA,CAAS,GAAA,CAChDzC,CAAAA,CAASwF,EAAY9F,CAAAA,CAAM,MAAA,CAAO,QAAQ,CAAC,CAAA,CACvCoC,UAA8B,CAAA,CAAG,CACnC,IAAM2D,CAAAA,CAAwB,MAAA,CAAO,OAAO/F,CAAAA,CAAM,MAAA,CAAO,UAAU,CAAA,CAC7D+F,CAAAA,EAAYA,EAAS,MAAA,EAAQzF,CAAAA,CAAS0F,CAAAA,CAAe,MAAA,CAAO,MAAA,CAAOD,CAAAA,CAAS,CAAC,CAAC,CAAA,CAAE,OAASA,CAAAA,CAAW,EAAE,CAAC,EAC/G,CAAA,KAAOzF,CAAAA,CAAS0F,CAAAA,CAAa,MAAA,CAAO,OAAOhG,CAAAA,CAAM,MAAA,CAAO,UAAU,CAAC,CAAC,EACtE,CAAA,CAEaiG,EAAAA,CAAoBjG,CAAAA,EAAe,CAC9C,IAAMM,CAAAA,CAAWC,EAAM,QAAA,CACjB,CAAE,OAAAC,CAAO,CAAA,CAAID,EAAM,QAAA,EAAS,CAAE,UACpCP,CAAAA,CAAM,cAAA,GACNM,CAAAA,CAAS4F,CAAAA,CAAW,IAAI,CAAC,CAAA,CACzB5F,EAAS6F,CAAAA,CAAkB,IAAI,CAAC,CAAA,CAChCC,GAAAA,CAAoBlG,EAAAA,GAAqB,QAAQ,CAAA,CAC7CkC,wBAA4C,CAAA,EAAG5B,CAAAA,CAAO,aAC5D,CAAA,CAIa6F,GAAqB,CAACrG,CAAAA,CAAYiE,IAAkB,CAC/D,IAAM3D,EAAWC,CAAAA,CAAM,QAAA,CACvBP,EAAM,cAAA,EAAe,CACrBiE,CAAAA,CAAS,OAAA,CAAU,IAAA,CAAK,GAAA,GACxB3D,CAAAA,CAASgF,CAAAA,CAAa,KAAK,CAAC,EAC9B,EAEagB,EAAAA,CAAwB,IAAM,CACzC,IAAMhG,CAAAA,CAAWC,EAAM,QAAA,CACvBD,CAAAA,CAASwD,EAAa,KAAK,CAAC,EAC9B,CAAA,CAEayC,EAAAA,CAA4BvG,CAAAA,EAAe,CACtD,GAAM,CAAE,oBAAA0F,CAAoB,CAAA,CAAInF,EAAM,QAAA,EAAS,CAAE,UAAU,MAAA,CACrDD,CAAAA,CAAWC,CAAAA,CAAM,QAAA,CACvBP,CAAAA,CAAM,cAAA,GACFoC,EAAAA,CAAAA,wBAA+C,CAAA,EAAGsD,EAAqB1F,CAAAA,CAAM,MAAA,CAAO,WAAW,CAAA,CACnGM,CAAAA,CAAS8D,CAAAA,CAAepE,CAAAA,CAAM,MAAA,CAAO,WAAW,CAAC,EACnD,CAAA,CAEawG,GAAsB,IAAM,CACvC,IAAMlG,CAAAA,CAAWC,CAAAA,CAAM,SACjB,CAAE,MAAA,CAAAC,CAAO,CAAA,CAAID,CAAAA,CAAM,UAAS,CAAE,SAAA,CACpCD,EAAS4F,CAAAA,CAAW,IAAI,CAAC,CAAA,CACzB5F,CAAAA,CAAS6F,CAAAA,CAAkB,IAAI,CAAC,CAAA,CAC5B/D,wBAA4C,CAAA,EAAG5B,CAAAA,CAAO,aAC5D,CAAA,CAIaiG,EAAAA,CAA0BzG,CAAAA,EAAe,CACpD,IAAMM,EAAWC,CAAAA,CAAM,QAAA,CACvBP,EAAM,cAAA,EAAe,CACrBM,EAAS6D,CAAAA,CAAQ,KAAK,CAAC,EACzB,CAAA,CAEauC,EAAAA,CAAwB,CAAC1G,CAAAA,CAAYiE,CAAAA,GAAkB,CAClE,IAAM3D,GAAAA,CAAWC,EAAM,QAAA,CACvBP,CAAAA,CAAM,gBAAe,CACrBM,GAAAA,CAAS6D,EAAQ,IAAI,CAAC,EACtBF,CAAAA,CAAS,OAAA,CAAU,KAAK,GAAA,EAAI,CAC5B3D,GAAAA,CAASmE,GAAAA,CAAgB,EAAE,CAAC,EAExBrC,EAAAA,CAAAA,aAAoC,CAAA,EAAKA,wBAA4C,CAAA,GACvF/B,CAAAA,GACI+B,EAAAA,CAAAA,cAAqC,CAAA,EAAGiC,GAAAA,EAAsB,EAEtE,CAAA,CAEasC,EAAAA,CAA2B,CAAC/B,CAAAA,CAAyBC,CAAAA,CAAgCZ,IAAkB,CAClH,IAAM3D,EAAWC,CAAAA,CAAM,QAAA,CACjB,CAAE,SAAA,CAAA2E,CAAU,CAAA,CAAI3E,EAAM,QAAA,EAAS,CAAE,WACvCD,CAAAA,CAASwD,CAAAA,CAAa,KAAK,CAAC,CAAA,CACxBoB,GAAehF,EAAAA,EAAmB,CAAE,QACtCqE,EAAAA,CACEc,EAAAA,CAAQ,KAAK,KAAA,CAAMT,CAAAA,CAAmB,OAAO,CAAA,CAAG,IAAA,CAAK,GAAA,EAAI,CAAIC,CAAAA,CAA0B,OAAA,CAAS,EAAG,IAAA,CAAK,GAAA,GAAQZ,CAAAA,CAAS,OAAA,CAASA,CAAQ,CAC5I,CAAA,CACF3D,EAASgF,CAAAA,CAAa,KAAK,CAAC,EAC9B,CAAA,CAEasB,GAA+B5G,CAAAA,EAAe,CACzD,GAAM,CAAE,mBAAA,CAAA0F,CAAoB,CAAA,CAAInF,CAAAA,CAAM,QAAA,GAAW,SAAA,CAAU,MAAA,CACrDD,EAAWC,CAAAA,CAAM,QAAA,CACjB,CAAE,gBAAA,CAAAoF,CAAiB,EAAIpF,CAAAA,CAAM,QAAA,GAAW,SAAA,CAC9CP,CAAAA,CAAM,gBAAe,CACrBM,CAAAA,CAAS8D,EAAepE,CAAAA,CAAM,MAAA,CAAO,WAAW,CAAC,CAAA,CACjDM,CAAAA,CAASwF,EAAY9F,CAAAA,CAAM,MAAA,CAAO,QAAQ,CAAC,CAAA,CACvCoC,2BAA+C,CAAA,EAAGsD,CAAAA,CAAqB1F,CAAAA,CAAM,MAAA,CAAO,WAAW,CAAA,CAC/FoC,iBAAqC,CAAA,EAAG9B,CAAAA,CAASmE,IAAiBkB,CAAAA,CAAkB,UAAA,CAAY,CAAC,CAAA,CAAU,IAAI,CAAC,EACtH,CAAA,CAEakB,EAAAA,CAA4B7G,GAAe,CACtD,IAAMM,EAAWC,CAAAA,CAAM,QAAA,CAIvB,GAHAP,CAAAA,CAAM,cAAA,GACNM,CAAAA,CAASwD,CAAAA,CAAa,KAAK,CAAC,CAAA,CAC5BxD,EAASuF,CAAAA,CAAgB,IAAI,CAAC,CAAA,CAC1BzD,EAAAA,CAAAA,OAA8B,CAAA,CAAG,CACnC,IAAM2D,CAAAA,CAAwB,OAAO,MAAA,CAAO/F,CAAAA,CAAM,OAAO,UAAU,CAAA,CAC7D+F,GAAYA,CAAAA,CAAS,MAAA,EAAQzF,CAAAA,CAAS0F,CAAAA,CAAe,MAAA,CAAO,MAAA,CAAOD,EAAS,CAAC,CAAC,EAAE,MAAA,CAASA,CAAAA,CAAW,EAAE,CAAC,EAC/G,CAAA,KAAOzF,CAAAA,CAAS0F,CAAAA,CAAa,OAAO,MAAA,CAAOhG,CAAAA,CAAM,OAAO,UAAU,CAAC,CAAC,EACtE,CAAA,CAEa8G,GAA8B,CAAC9G,CAAAA,CAAYkB,IAAqB,CAC3ElB,CAAAA,CAAM,gBAAe,CACrBiB,CAAAA,CAAmBjB,EAAOkB,CAAW,EACvC,EAQO,IAAM6F,EAAAA,CAAgC,MAAOnF,GAAa,CAC/D,GAAM,CAAE,WAAA,CAAAoF,CAAY,EAAIzG,CAAAA,CAAM,QAAA,EAAS,CAAE,UAAA,CAAW,OAAA,CACpDqB,CAAAA,CAAI,WAAWoF,CAAW,EAC5B,EAEaC,EAAAA,CAA8B,IAAM,CAC/Cb,GAAAA,CAAoBlG,EAAAA,EAAmB,CAAE,WAAW,EACtD","file":"chunk-L2M274SY.mjs","sourcesContent":["import { conditions } from \"../../conditions/conditions\";\r\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../constants\";\r\nimport { errorLogProvider } from \"../../errorBoundary/errorBoundaryFunctions\";\r\nimport { getUUID, highestResolutionSupported, splitQueryParamsFromStreamLink } from \"../../helpers\";\r\nimport { ConditionName } from \"../../interfaces/enums\";\r\nimport { sendFluentLog } from \"../../logs/fluentdLogger\";\r\nimport { initLog, loadingLog, pausePlayLog } from \"../../logs/logs\";\r\nimport {\r\n setActiveElements,\r\n setAutoQuality,\r\n setBufferedTimeWidth,\r\n setCanPlayVideo,\r\n setCurrentTime,\r\n setDuration,\r\n setFirstPlay,\r\n setIsEnded,\r\n setIsFullScreen,\r\n setIsLoading,\r\n setManualQuality,\r\n setPlay,\r\n setQualityLevels,\r\n} from \"../slices/controllerSlice\";\r\nimport { setClearPopoversSlice } from \"../slices/popoversSlice\";\r\nimport { setUserSettings } from \"../slices/userSlice\";\r\nimport { setMultiAudio, setSubtitleText, setSubtitles, setVideoTimelines } from \"../slices/videoDataSlice\";\r\nimport store from \"../store\";\r\nimport { handleLockOrientation, handleVideoTimeline } from \"./controller.actions\";\r\n\r\nexport const handleVideoError = (event: any) => {\r\n event.preventDefault();\r\n // Access the error property from the video element\r\n let error = (mainPlayerVideoTag() || miniPlayerVideoTag()).error;\r\n if (error) {\r\n switch (error.code) {\r\n case error.MEDIA_ERR_ABORTED:\r\n errorLogProvider({ type: \"videoTagError\", message: \"You aborted the video playback.\" });\r\n break;\r\n case error.MEDIA_ERR_NETWORK:\r\n errorLogProvider({ type: \"videoTagError\", message: \"A network error caused the video download to fail part-way.\" });\r\n break;\r\n case error.MEDIA_ERR_DECODE:\r\n errorLogProvider({\r\n type: \"videoTagError\",\r\n message: \"The video playback was aborted due to a corruption problem or because the video used features your browser did not support.\",\r\n });\r\n break;\r\n case error.MEDIA_ERR_SRC_NOT_SUPPORTED:\r\n errorLogProvider({\r\n type: \"videoTagError\",\r\n message: \"The video could not be loaded, either because the server or network failed or because the format is not supported.\",\r\n });\r\n break;\r\n default:\r\n errorLogProvider({ type: \"videoTagError\", message: \"An unknown error occurred.\" });\r\n break;\r\n }\r\n } else {\r\n errorLogProvider({ type: \"videoTagError\", message: \"An error occurred, but the error object is not available.\" });\r\n }\r\n};\r\n\r\nexport const handleAutoFullScreen = () => {\r\n const dispatch = store.dispatch;\r\n const { params } = store.getState().videoData;\r\n const launchFullScreen = (element: any) => {\r\n if (element.requestFullScreen) element.requestFullScreen();\r\n else if (element.mozRequestFullScreen) element.mozRequestFullScreen();\r\n else if (element.webkitRequestFullScreen) element.webkitRequestFullScreen();\r\n };\r\n dispatch(setClearPopoversSlice());\r\n launchFullScreen(document.documentElement);\r\n dispatch(setIsFullScreen(params.fullscreen === \"true\"));\r\n};\r\n\r\nexport const appendQueryParamsToChunksIOS = () => {\r\n let fragmentExtension = \".ts\";\r\n let originalOpen = XMLHttpRequest.prototype.open;\r\n XMLHttpRequest.prototype.open = function () {\r\n if (arguments[1].endsWith(fragmentExtension)) arguments[1] = arguments[1] + \"?uuid=\" + getUUID!();\r\n originalOpen.apply(this, arguments as any);\r\n };\r\n};\r\n\r\nexport const handleBufferedTime = (event: any, intervalRef: any) => {\r\n const dispatch = store.dispatch;\r\n intervalRef.current = setInterval(() => {\r\n const bufferedTime = event.target.buffered.end(0);\r\n const bufferedTimeWidth = (bufferedTime / mainPlayerVideoTag().duration) * 100;\r\n dispatch(setBufferedTimeWidth(bufferedTimeWidth));\r\n }, 500);\r\n};\r\n\r\n// ************* Hls Config Handlers ************* //\r\nexport const handleHlsConfig = () => {\r\n const streamLinkParams = splitQueryParamsFromStreamLink(\"mainPlayer\");\r\n return {\r\n xhrSetup: (xhr: any, url: any) => {\r\n if (!url.split(\"m3u8\")[1]) url = `${url}${streamLinkParams}`;\r\n xhr.open(\"GET\", url, true);\r\n },\r\n startLevel: -1,\r\n debug: false,\r\n enableWorker: true,\r\n abrBandWidthUpFactor: 0.7,\r\n abrBandWidthFactor: 0.95,\r\n backBufferLength: Infinity,\r\n maxBufferLength: 30,\r\n maxMaxBufferLength: 60,\r\n manifestLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: Infinity,\r\n maxLoadTimeMs: 20000,\r\n timeoutRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000,\r\n },\r\n errorRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000,\r\n },\r\n },\r\n },\r\n fragLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: 10000,\r\n maxLoadTimeMs: 120000,\r\n timeoutRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000,\r\n },\r\n errorRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000,\r\n },\r\n },\r\n },\r\n playlistLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: 10000,\r\n maxLoadTimeMs: 20000,\r\n timeoutRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000,\r\n },\r\n errorRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000,\r\n },\r\n },\r\n },\r\n };\r\n};\r\n\r\nexport const handleMiniPlayerHlsConfig = () => {\r\n const streamLinkParams = splitQueryParamsFromStreamLink(\"miniPlayer\");\r\n return {\r\n xhrSetup: (xhr: any, url: any) => {\r\n url = `${url}${streamLinkParams}`;\r\n xhr.open(\"GET\", url, true);\r\n },\r\n startLevel: 1,\r\n debug: false,\r\n maxMaxBufferLength: 60,\r\n playlistLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: 10000,\r\n maxLoadTimeMs: 20000,\r\n timeoutRetry: {\r\n maxNumRetry: 1000,\r\n retryDelayMs: 0,\r\n maxRetryDelayMs: 0,\r\n },\r\n errorRetry: {\r\n maxNumRetry: 1000,\r\n retryDelayMs: 1000,\r\n maxRetryDelayMs: 1000,\r\n },\r\n },\r\n },\r\n };\r\n};\r\n\r\n// ************* Manifest Handlers ************* //\r\n\r\nexport const handleManifestParsed = (hls: any, data: any) => {\r\n const dispatch = store.dispatch;\r\n let qualityLevels: any[] = [];\r\n let resolutions: any[] = [];\r\n hls.levels.map((level: any) => {\r\n qualityLevels.push(level.attrs.RESOLUTION!.split(\"x\")[1].trim());\r\n resolutions.push(level.attrs.RESOLUTION!);\r\n });\r\n hls.autoLevelCapping = highestResolutionSupported(resolutions, window.innerWidth, window.innerHeight);\r\n dispatch(setQualityLevels(qualityLevels));\r\n [\"fullscreenchange\", \"webkitfullscreenchange\", \"mozfullscreenchange\", \"msfullscreenchange\"].forEach((eventType) =>\r\n document.addEventListener(\r\n eventType,\r\n () => {\r\n if (conditions(ConditionName.isAutoQuality)) {\r\n hls.autoLevelCapping = highestResolutionSupported(resolutions, window.innerWidth, window.innerHeight);\r\n hls.nextLevel = -1;\r\n }\r\n },\r\n false\r\n )\r\n );\r\n if (data.audioTracks.length > 0) {\r\n const sortedAudioTracks = data.audioTracks.sort((a: any) => (a.default === true ? -1 : 1));\r\n dispatch(setMultiAudio(sortedAudioTracks));\r\n }\r\n};\r\n\r\nexport const handleMediaAttached = (Hls: any, hls: any) => {\r\n const { details } = store.getState().videoData;\r\n let streamLink = details.stream_link;\r\n hls.loadSource(streamLink);\r\n hls.on(Hls.Events.MANIFEST_PARSED, (_event: any, data: any) => handleManifestParsed(hls, data));\r\n};\r\n\r\n// ************* Level Handlers ************* //\r\n\r\nexport const handleLevels = (hls: any, data: any, setQualityLevel: any) => {\r\n if (data.frag.type !== \"audio\") {\r\n const dispatch = store.dispatch;\r\n const { settings } = store.getState().user;\r\n const { qualityLevels, manualQuality, autoQuality } = store.getState().controller;\r\n if (!conditions(ConditionName.isAutoQuality)) {\r\n if (data.frag.level !== manualQuality) hls.nextLevel = qualityLevels[settings.quality!] ? settings.quality : -1;\r\n if (qualityLevels[settings.quality!]) {\r\n dispatch(setManualQuality(settings.quality!));\r\n dispatch(setAutoQuality(undefined));\r\n } else {\r\n setQualityLevel(qualityLevels[data.frag.level]);\r\n dispatch(setAutoQuality(data.frag.level));\r\n dispatch(setUserSettings({ ...settings, quality: -1 }));\r\n }\r\n } else if (conditions(ConditionName.isAutoQuality) && autoQuality === undefined) {\r\n hls.nextLevel = -1;\r\n setQualityLevel(qualityLevels[data.frag.level]);\r\n dispatch(setAutoQuality(data.frag.level));\r\n } else if (conditions(ConditionName.isAutoQuality)) {\r\n setQualityLevel(qualityLevels[data.frag.level]);\r\n if (autoQuality !== data.frag.level) dispatch(setAutoQuality(data.frag.level));\r\n }\r\n }\r\n};\r\n\r\n// ************* Fragment Handlers ************* //\r\n\r\nexport const handleFragBuffered = (hls: any) => {\r\n const dispatch = store.dispatch;\r\n const bufferedTime = hls.mainForwardBufferInfo?.end;\r\n const bufferedTimeWidth = (bufferedTime! / mainPlayerVideoTag().duration) * 100;\r\n dispatch(setBufferedTimeWidth(bufferedTimeWidth));\r\n};\r\n\r\nexport const handleFragChanged = (hls: any, data: any, setQualityLevel: any) => {\r\n const { params, multiAudio, selectedAudioId } = store.getState().videoData;\r\n\r\n if (multiAudio && selectedAudioId !== undefined && selectedAudioId !== hls.audioTrack) hls.audioTrack = selectedAudioId;\r\n if (params.type) handleLevels(hls, data, setQualityLevel);\r\n};\r\n\r\nexport const handleFragParsed = (hls: any, data: any, setQualityLevel: any) => {\r\n const { type } = store.getState().videoData.params;\r\n if (type) handleLevels(hls, data, setQualityLevel);\r\n};\r\n\r\n// ************* HLS Error Handlers ************* //\r\n\r\nexport const handleHlsErrors = (data: any) => {\r\n if (data.event !== \"hlsAudioTrackLoading\") return { type: \"HLS_\" + data.type, message: data.error.message };\r\n return undefined;\r\n};\r\n\r\n// ************* Video Tag Handlers ************* //\r\n\r\nexport const handleVideoWaiting = (event: any, waitingTimerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n waitingTimerRef.current = Date.now();\r\n dispatch(setIsLoading(true));\r\n};\r\n\r\nexport const handleVideoSeeking = (event: any, waitingTimerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n waitingTimerRef.current = 0;\r\n dispatch(setIsLoading(true));\r\n};\r\n\r\nexport const handleVideoPlay = (event: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n const { videoSettings } = store.getState().user;\r\n const { params } = store.getState().videoData;\r\n event.preventDefault();\r\n timerRef.current = Date.now();\r\n dispatch(setPlay(true));\r\n if (conditions(ConditionName.hasOnPlayParams)) params.onPlay!();\r\n if (conditions(ConditionName.isFirstPlay)) {\r\n if (!conditions(ConditionName.hasCurrentTimeParams)) {\r\n mainPlayerVideoTag().currentTime = videoSettings.time;\r\n dispatch(setCurrentTime(videoSettings.time));\r\n }\r\n if (conditions(ConditionName.hasFullScreenParams)) handleAutoFullScreen();\r\n if (conditions(ConditionName.isFullScreen)) handleLockOrientation();\r\n dispatch(setVideoTimelines([Math.floor(mainPlayerVideoTag().currentTime)]));\r\n }\r\n sendFluentLog(pausePlayLog(true));\r\n dispatch(setSubtitleText(\"\"));\r\n};\r\n\r\nexport const handleVideoPlaying = (\r\n loadingCounterRef: any,\r\n loadingDurationRef: any,\r\n initialWaitingDurationRef: any,\r\n bannerLoadingDurationRef: any,\r\n timerRef: any,\r\n waitingDurationRef: any,\r\n waitingTimerRef: any,\r\n videoEntranceTimeRef: any\r\n) => {\r\n const dispatch = store.dispatch;\r\n const { autoQuality, canPlayVideo, firstPlay, qualityLevels } = store.getState().controller;\r\n const { settings } = store.getState().user;\r\n const qualityLevel = settings.quality === -1 && autoQuality ? qualityLevels[autoQuality] : qualityLevels[settings.quality!];\r\n let waitingDuration = 0;\r\n if (!!waitingTimerRef.current) waitingDuration = Date.now() - waitingTimerRef.current;\r\n if (firstPlay && !!mainPlayerVideoTag().played)\r\n sendFluentLog(\r\n initLog(\r\n loadingDurationRef.current,\r\n Date.now() - initialWaitingDurationRef.current,\r\n bannerLoadingDurationRef.current - initialWaitingDurationRef.current,\r\n Date.now() - timerRef.current,\r\n timerRef\r\n )\r\n );\r\n dispatch(setFirstPlay(false));\r\n if (canPlayVideo && waitingDuration > 0 && qualityLevel !== undefined) {\r\n waitingDurationRef.current = waitingDuration;\r\n waitingTimerRef.current = 0;\r\n sendFluentLog(loadingLog(waitingDuration, qualityLevel, timerRef, loadingCounterRef, videoEntranceTimeRef.current));\r\n loadingCounterRef.current = loadingCounterRef.current + 1;\r\n timerRef.current = Date.now();\r\n }\r\n};\r\n\r\nexport const handleVideoPause = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { params } = store.getState().videoData;\r\n event.preventDefault();\r\n sendFluentLog(pausePlayLog(false));\r\n dispatch(setPlay(false));\r\n if (conditions(ConditionName.hasOnPauseParams)) params.onPause!();\r\n};\r\n\r\nexport const handleVideoTimeUpdate = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { onChangeCurrentTime } = store.getState().videoData.params;\r\n const { selectedSubtitle } = store.getState().videoData;\r\n event.preventDefault();\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n if (conditions(ConditionName.hasOnChangeCurrentTime)) onChangeCurrentTime!(event.target.currentTime);\r\n if (conditions(ConditionName.hasActiveCue)) dispatch(setSubtitleText((selectedSubtitle!.activeCues![0] as any).text));\r\n};\r\n\r\nexport const handleVideoCanPlay = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { settings } = store.getState().user;\r\n event.preventDefault();\r\n dispatch(setIsLoading(false));\r\n dispatch(setCanPlayVideo(true));\r\n mainPlayerVideoTag().volume = settings.volume / 100;\r\n dispatch(setDuration(event.target.duration));\r\n if (conditions(ConditionName.isIOS)) {\r\n const subtitle: TextTrack[] = Object.values(event.target.textTracks);\r\n if (!!subtitle && subtitle.length) dispatch(setSubtitles(!!Object.values(subtitle[0]).length ? subtitle : []));\r\n } else dispatch(setSubtitles(Object.values(event.target.textTracks)));\r\n};\r\n\r\nexport const handleVideoEnded = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { params } = store.getState().videoData;\r\n event.preventDefault();\r\n dispatch(setIsEnded(true));\r\n dispatch(setActiveElements(true));\r\n handleVideoTimeline(mainPlayerVideoTag().duration);\r\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\r\n};\r\n\r\n// ************* IOS Video Tag Handlers ************* //\r\n\r\nexport const handleIosVideoPlay = (event: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n timerRef.current = Date.now();\r\n dispatch(setFirstPlay(false));\r\n};\r\n\r\nexport const handleIosVideoPlaying = () => {\r\n const dispatch = store.dispatch;\r\n dispatch(setIsLoading(false));\r\n};\r\n\r\nexport const handleIosVideoTimeUpdate = (event: any) => {\r\n const { onChangeCurrentTime } = store.getState().videoData.params;\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n if (conditions(ConditionName.hasOnChangeCurrentTime)) onChangeCurrentTime!(event.target.currentTime);\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n};\r\n\r\nexport const handleIosVideoEnded = () => {\r\n const dispatch = store.dispatch;\r\n const { params } = store.getState().videoData;\r\n dispatch(setIsEnded(true));\r\n dispatch(setActiveElements(true));\r\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\r\n};\r\n\r\n// ************* Static Video Tag Handlers ************* //\r\n\r\nexport const handleStaticVideoPause = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setPlay(false));\r\n};\r\n\r\nexport const handleStaticVideoPlay = (event: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setPlay(true));\r\n timerRef.current = Date.now();\r\n dispatch(setSubtitleText(\"\"));\r\n\r\n if (conditions(ConditionName.isFirstPlay) && conditions(ConditionName.hasFullScreenParams)) {\r\n handleAutoFullScreen();\r\n if (conditions(ConditionName.isFullScreen)) handleLockOrientation();\r\n }\r\n};\r\n\r\nexport const handleStaticVideoPlaying = (loadingDurationRef: any, initialWaitingDurationRef: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n const { firstPlay } = store.getState().controller;\r\n dispatch(setIsLoading(false));\r\n if (firstPlay && !!mainPlayerVideoTag().played)\r\n sendFluentLog(\r\n initLog(Math.round(loadingDurationRef.current), Date.now() - initialWaitingDurationRef.current, 0, Date.now() - timerRef.current, timerRef)\r\n );\r\n dispatch(setFirstPlay(false));\r\n};\r\n\r\nexport const handleStaticVideoTimeUpdate = (event: any) => {\r\n const { onChangeCurrentTime } = store.getState().videoData.params;\r\n const dispatch = store.dispatch;\r\n const { selectedSubtitle } = store.getState().videoData;\r\n event.preventDefault();\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n dispatch(setDuration(event.target.duration));\r\n if (conditions(ConditionName.hasOnChangeCurrentTime)) onChangeCurrentTime!(event.target.currentTime);\r\n if (conditions(ConditionName.hasActiveCue)) dispatch(setSubtitleText((selectedSubtitle!.activeCues![0] as any).text));\r\n};\r\n\r\nexport const handleStaticVideoCanPlay = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setIsLoading(false));\r\n dispatch(setCanPlayVideo(true));\r\n if (conditions(ConditionName.isIOS)) {\r\n const subtitle: TextTrack[] = Object.values(event.target.textTracks);\r\n if (!!subtitle && subtitle.length) dispatch(setSubtitles(!!Object.values(subtitle[0]).length ? subtitle : []));\r\n } else dispatch(setSubtitles(Object.values(event.target.textTracks)));\r\n};\r\n\r\nexport const handleStaticVideoLoadedData = (event: any, intervalRef: any) => {\r\n event.preventDefault();\r\n handleBufferedTime(event, intervalRef);\r\n};\r\n\r\nexport const handleStaticVideoEnded = (event: any) => {\r\n const { params } = store.getState().videoData;\r\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\r\n event.preventDefault();\r\n};\r\n\r\nexport const handleMiniPlayerMediaAttached = async (hls: any) => {\r\n const { stream_link } = store.getState().miniPlayer.details;\r\n hls.loadSource(stream_link);\r\n};\r\n\r\nexport const handleVideoVisibilityChange = () => {\r\n handleVideoTimeline(mainPlayerVideoTag().currentTime);\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/videoPlayerLibrary/helpers/redux/actions/playerCore.actions.ts"],"names":["init_esm_shims","handleVideoError","event","error","mainPlayerVideoTag","miniPlayerVideoTag","errorLogProvider","handleAutoFullScreen","dispatch","store_default","params","launchFullScreen","element","setClearPopoversSlice","setIsFullScreen","appendQueryParamsToChunksIOS","fragmentExtension","originalOpen","getUUID","handleBufferedTime","intervalRef","bufferedTimeWidth","setBufferedTimeWidth","handleHlsConfig","streamLinkParams","splitQueryParamsFromStreamLink","xhr","url","handleMiniPlayerHlsConfig","handleManifestParsed","hls","data","qualityLevels","resolutions","level","highestResolutionSupported","setQualityLevels","eventType","conditions","sortedAudioTracks","a","setMultiAudio","handleMediaAttached","Hls","details","streamLink","_event","handleLevels","setQualityLevel","settings","manualQuality","autoQuality","setAutoQuality","setManualQuality","setUserSettings","handleFragBuffered","handleFragChanged","multiAudio","selectedAudioId","handleFragParsed","type","handleHlsErrors","handleVideoWaiting","waitingTimerRef","setIsLoading","handleVideoSeeking","handleVideoPlay","timerRef","videoSettings","setPlay","setCurrentTime","handleLockOrientation","setVideoTimelines","sendFluentLog","pausePlayLog","setSubtitleText","handleVideoPlaying","loadingCounterRef","loadingDurationRef","initialWaitingDurationRef","bannerLoadingDurationRef","waitingDurationRef","videoEntranceTimeRef","canPlayVideo","firstPlay","qualityLevel","waitingDuration","initLog","setFirstPlay","loadingLog","handleVideoPause","handleVideoTimeUpdate","onChangeCurrentTime","selectedSubtitle","handleVideoCanPlay","setCanPlayVideo","setDuration","subtitle","setSubtitles","handleVideoEnded","setIsEnded","setActiveElements","handleVideoTimeline","handleIosVideoPlay","handleIosVideoPlaying","handleIosVideoTimeUpdate","handleIosVideoEnded","handleStaticVideoPause","handleStaticVideoPlay","handleStaticVideoPlaying","handleStaticVideoTimeUpdate","handleStaticVideoCanPlay","handleStaticVideoLoadedData","handleMiniPlayerMediaAttached","stream_link","handleVideoVisibilityChange"],"mappings":"wNAAAA,CAAAA,EAAAA,CA4BO,IAAMC,GAAoBC,CAAAA,EAAe,CAC9CA,EAAM,cAAA,EAAe,CAErB,IAAIC,CAAAA,CAAAA,CAASC,EAAAA,IAAwBC,EAAAA,EAAmB,EAAG,MAC3D,GAAIF,CAAAA,CACF,OAAQA,CAAAA,CAAM,IAAA,EACZ,KAAKA,CAAAA,CAAM,iBAAA,CACTG,GAAiB,CAAE,IAAA,CAAM,gBAAiB,OAAA,CAAS,iCAAkC,CAAC,CAAA,CACtF,MACF,KAAKH,CAAAA,CAAM,iBAAA,CACTG,GAAiB,CAAE,IAAA,CAAM,gBAAiB,OAAA,CAAS,6DAA8D,CAAC,CAAA,CAClH,MACF,KAAKH,CAAAA,CAAM,gBAAA,CACTG,EAAAA,CAAiB,CACf,IAAA,CAAM,eAAA,CACN,QAAS,6HACX,CAAC,EACD,MACF,KAAKH,EAAM,2BAAA,CACTG,EAAAA,CAAiB,CACf,IAAA,CAAM,eAAA,CACN,QAAS,oHACX,CAAC,EACD,MACF,QACEA,EAAAA,CAAiB,CAAE,IAAA,CAAM,eAAA,CAAiB,QAAS,4BAA6B,CAAC,EACjF,KACJ,CAAA,KAEAA,GAAiB,CAAE,IAAA,CAAM,eAAA,CAAiB,OAAA,CAAS,2DAA4D,CAAC,EAEpH,CAAA,CAEaC,CAAAA,CAAuB,IAAM,CACxC,IAAMC,EAAWC,CAAAA,CAAM,QAAA,CACjB,CAAE,MAAA,CAAAC,CAAO,CAAA,CAAID,EAAM,QAAA,EAAS,CAAE,UAC9BE,CAAAA,CAAoBC,CAAAA,EAAiB,CACrCA,CAAAA,CAAQ,iBAAA,CAAmBA,EAAQ,iBAAA,EAAkB,CAChDA,EAAQ,oBAAA,CAAsBA,CAAAA,CAAQ,sBAAqB,CAC3DA,CAAAA,CAAQ,yBAAyBA,CAAAA,CAAQ,uBAAA,GACpD,CAAA,CACAJ,CAAAA,CAASK,CAAAA,EAAuB,CAAA,CAChCF,CAAAA,CAAiB,SAAS,eAAe,CAAA,CACzCH,EAASM,CAAAA,CAAgBJ,CAAAA,CAAO,UAAA,GAAe,MAAM,CAAC,EACxD,EAEaK,EAAAA,CAA+B,IAAM,CAChD,IAAIC,CAAAA,CAAoB,MACpBC,CAAAA,CAAe,cAAA,CAAe,SAAA,CAAU,IAAA,CAC5C,cAAA,CAAe,SAAA,CAAU,KAAO,UAAY,CACtC,UAAU,CAAC,CAAA,CAAE,SAASD,CAAiB,CAAA,GAAG,UAAU,CAAC,CAAA,CAAI,UAAU,CAAC,CAAA,CAAI,SAAWE,CAAAA,EAAS,CAAA,CAChGD,EAAa,KAAA,CAAM,IAAA,CAAM,SAAgB,EAC3C,EACF,CAAA,CAEaE,EAAqB,CAACjB,CAAAA,CAAYkB,IAAqB,CAClE,IAAMZ,EAAWC,CAAAA,CAAM,QAAA,CACvBW,CAAAA,CAAY,OAAA,CAAU,WAAA,CAAY,IAAM,CAEtC,IAAMC,CAAAA,CADenB,EAAM,MAAA,CAAO,QAAA,CAAS,IAAI,CAAC,CAAA,CACNE,EAAAA,EAAmB,CAAE,QAAA,CAAY,GAAA,CAC3EI,EAASc,CAAAA,CAAqBD,CAAiB,CAAC,EAClD,CAAA,CAAG,GAAG,EACR,CAAA,CAGaE,GAAkB,IAAM,CACnC,IAAMC,CAAAA,CAAmBC,CAAAA,CAA+B,YAAY,CAAA,CACpE,OAAO,CACL,QAAA,CAAU,CAACC,CAAAA,CAAUC,CAAAA,GAAa,CAC3BA,CAAAA,CAAI,MAAM,MAAM,CAAA,CAAE,CAAC,CAAA,GAAGA,CAAAA,CAAM,GAAGA,CAAG,CAAA,EAAGH,CAAgB,CAAA,CAAA,CAAA,CAC1DE,CAAAA,CAAI,KAAK,KAAA,CAAOC,CAAAA,CAAK,IAAI,EAC3B,CAAA,CACA,WAAY,EAAA,CACZ,KAAA,CAAO,KAAA,CACP,YAAA,CAAc,IAAA,CACd,oBAAA,CAAsB,GACtB,kBAAA,CAAoB,GAAA,CACpB,iBAAkB,CAAA,CAAA,CAAA,CAClB,eAAA,CAAiB,GACjB,kBAAA,CAAoB,EAAA,CACpB,mBAAoB,CAClB,OAAA,CAAS,CACP,oBAAA,CAAsB,CAAA,CAAA,CAAA,CACtB,cAAe,GAAA,CACf,YAAA,CAAc,CACZ,WAAA,CAAa,EAAA,CACb,YAAA,CAAc,GAAA,CACd,eAAA,CAAiB,GACnB,EACA,UAAA,CAAY,CACV,YAAa,EAAA,CACb,YAAA,CAAc,IACd,eAAA,CAAiB,GACnB,CACF,CACF,CAAA,CACA,cAAA,CAAgB,CACd,OAAA,CAAS,CACP,qBAAsB,GAAA,CACtB,aAAA,CAAe,KACf,YAAA,CAAc,CACZ,WAAA,CAAa,EAAA,CACb,YAAA,CAAc,GAAA,CACd,gBAAiB,GACnB,CAAA,CACA,WAAY,CACV,WAAA,CAAa,GACb,YAAA,CAAc,GAAA,CACd,gBAAiB,GACnB,CACF,CACF,CAAA,CACA,kBAAA,CAAoB,CAClB,OAAA,CAAS,CACP,qBAAsB,GAAA,CACtB,aAAA,CAAe,GAAA,CACf,YAAA,CAAc,CACZ,WAAA,CAAa,GACb,YAAA,CAAc,GAAA,CACd,gBAAiB,GACnB,CAAA,CACA,WAAY,CACV,WAAA,CAAa,EAAA,CACb,YAAA,CAAc,GAAA,CACd,eAAA,CAAiB,GACnB,CACF,CACF,CACF,CACF,CAAA,CAEaC,GAA4B,IAAM,CAC7C,IAAMJ,CAAAA,CAAmBC,CAAAA,CAA+B,YAAY,EACpE,OAAO,CACL,SAAU,CAACC,CAAAA,CAAUC,IAAa,CAChCA,CAAAA,CAAM,GAAGA,CAAG,CAAA,EAAGH,CAAgB,CAAA,CAAA,CAC/BE,CAAAA,CAAI,KAAK,KAAA,CAAOC,CAAAA,CAAK,IAAI,EAC3B,CAAA,CACA,UAAA,CAAY,CAAA,CACZ,KAAA,CAAO,KAAA,CACP,mBAAoB,EAAA,CACpB,kBAAA,CAAoB,CAClB,OAAA,CAAS,CACP,qBAAsB,GAAA,CACtB,aAAA,CAAe,GAAA,CACf,YAAA,CAAc,CACZ,WAAA,CAAa,IACb,YAAA,CAAc,CAAA,CACd,gBAAiB,CACnB,CAAA,CACA,WAAY,CACV,WAAA,CAAa,GAAA,CACb,YAAA,CAAc,GAAA,CACd,eAAA,CAAiB,GACnB,CACF,CACF,CACF,CACF,CAAA,CAIaE,EAAuB,CAACC,CAAAA,CAAUC,IAAc,CAC3D,IAAMvB,EAAWC,CAAAA,CAAM,QAAA,CACnBuB,EAAuB,EAAC,CACxBC,EAAqB,EAAC,CAmB1B,GAlBAH,CAAAA,CAAI,MAAA,CAAO,GAAA,CAAKI,GAAe,CAC7BF,CAAAA,CAAc,KAAKE,CAAAA,CAAM,KAAA,CAAM,WAAY,KAAA,CAAM,GAAG,EAAE,CAAC,CAAA,CAAE,MAAM,CAAA,CAC/DD,EAAY,IAAA,CAAKC,CAAAA,CAAM,MAAM,UAAW,EAC1C,CAAC,CAAA,CACDJ,CAAAA,CAAI,gBAAA,CAAmBK,EAA2BF,CAAAA,CAAa,MAAA,CAAO,WAAY,MAAA,CAAO,WAAW,EACpGzB,CAAAA,CAAS4B,CAAAA,CAAiBJ,CAAa,CAAC,CAAA,CACxC,CAAC,kBAAA,CAAoB,wBAAA,CAA0B,sBAAuB,oBAAoB,CAAA,CAAE,QAASK,CAAAA,EACnG,QAAA,CAAS,gBAAA,CACPA,CAAAA,CACA,IAAM,CACAC,kBAAsC,CAAA,GACxCR,CAAAA,CAAI,iBAAmBK,CAAAA,CAA2BF,CAAAA,CAAa,OAAO,UAAA,CAAY,MAAA,CAAO,WAAW,CAAA,CACpGH,CAAAA,CAAI,SAAA,CAAY,IAEpB,CAAA,CACA,KACF,CACF,CAAA,CACIC,CAAAA,CAAK,YAAY,MAAA,CAAS,CAAA,CAAG,CAC/B,IAAMQ,CAAAA,CAAoBR,CAAAA,CAAK,YAAY,IAAA,CAAMS,CAAAA,EAAYA,EAAE,OAAA,GAAY,IAAA,CAAO,GAAK,CAAE,CAAA,CACzFhC,EAASiC,CAAAA,CAAcF,CAAiB,CAAC,EAC3C,CACF,EAEaG,EAAAA,CAAsB,CAACC,EAAUb,CAAAA,GAAa,CACzD,GAAM,CAAE,OAAA,CAAAc,CAAQ,EAAInC,CAAAA,CAAM,QAAA,GAAW,SAAA,CACjCoC,CAAAA,CAAaD,EAAQ,WAAA,CACzBd,CAAAA,CAAI,UAAA,CAAWe,CAAU,CAAA,CACzBf,CAAAA,CAAI,GAAGa,CAAAA,CAAI,MAAA,CAAO,gBAAiB,CAACG,CAAAA,CAAaf,IAAcF,CAAAA,CAAqBC,CAAAA,CAAKC,CAAI,CAAC,EAChG,CAAA,CAIagB,EAAe,CAACjB,CAAAA,CAAUC,EAAWiB,CAAAA,GAAyB,CACzE,GAAIjB,CAAAA,CAAK,IAAA,CAAK,OAAS,OAAA,CAAS,CAC9B,IAAMvB,CAAAA,CAAWC,CAAAA,CAAM,SACjB,CAAE,QAAA,CAAAwC,CAAS,CAAA,CAAIxC,CAAAA,CAAM,QAAA,EAAS,CAAE,IAAA,CAChC,CAAE,cAAAuB,CAAAA,CAAe,aAAA,CAAAkB,EAAe,WAAA,CAAAC,CAAY,EAAI1C,CAAAA,CAAM,QAAA,EAAS,CAAE,UAAA,CAClE6B,EAAAA,CAAAA,eAAsC,CAAA,CAUhCA,kBAAsC,CAAA,EAAKa,CAAAA,GAAgB,QACpErB,CAAAA,CAAI,SAAA,CAAY,GAChBkB,CAAAA,CAAgBhB,CAAAA,CAAcD,CAAAA,CAAK,IAAA,CAAK,KAAK,CAAC,EAC9CvB,CAAAA,CAAS4C,GAAAA,CAAerB,EAAK,IAAA,CAAK,KAAK,CAAC,CAAA,EAC/BO,EAAAA,CAAAA,eAAsC,IAC/CU,CAAAA,CAAgBhB,CAAAA,CAAcD,EAAK,IAAA,CAAK,KAAK,CAAC,CAAA,CAC1CoB,CAAAA,GAAgBpB,EAAK,IAAA,CAAK,KAAA,EAAOvB,CAAAA,CAAS4C,GAAAA,CAAerB,CAAAA,CAAK,IAAA,CAAK,KAAK,CAAC,CAAA,CAAA,EAfzEA,EAAK,IAAA,CAAK,KAAA,GAAUmB,IAAepB,CAAAA,CAAI,SAAA,CAAYE,EAAciB,CAAAA,CAAS,OAAQ,EAAIA,CAAAA,CAAS,OAAA,CAAU,IACzGjB,CAAAA,CAAciB,CAAAA,CAAS,OAAQ,CAAA,EACjCzC,CAAAA,CAAS6C,CAAAA,CAAiBJ,CAAAA,CAAS,OAAQ,CAAC,EAC5CzC,CAAAA,CAAS4C,GAAAA,CAAe,MAAS,CAAC,CAAA,GAElCJ,EAAgBhB,CAAAA,CAAcD,CAAAA,CAAK,KAAK,KAAK,CAAC,EAC9CvB,CAAAA,CAAS4C,GAAAA,CAAerB,EAAK,IAAA,CAAK,KAAK,CAAC,CAAA,CACxCvB,CAAAA,CAAS8C,GAAAA,CAAgB,CAAE,GAAGL,CAAAA,CAAU,QAAS,EAAG,CAAC,CAAC,CAAA,CAAA,EAU5D,CACF,EAIaM,EAAAA,CAAsBzB,CAAAA,EAAa,CAC9C,IAAMtB,CAAAA,CAAWC,CAAAA,CAAM,SAEjBY,CAAAA,CADeS,CAAAA,CAAI,uBAAuB,GAAA,CACL1B,EAAAA,GAAqB,QAAA,CAAY,GAAA,CAC5EI,CAAAA,CAASc,CAAAA,CAAqBD,CAAiB,CAAC,EAClD,CAAA,CAEamC,EAAAA,CAAoB,CAAC1B,CAAAA,CAAUC,CAAAA,CAAWiB,IAAyB,CAC9E,GAAM,CAAE,MAAA,CAAAtC,CAAAA,CAAQ,WAAA+C,CAAAA,CAAY,eAAA,CAAAC,CAAgB,CAAA,CAAIjD,CAAAA,CAAM,UAAS,CAAE,SAAA,CAE7DgD,CAAAA,EAAcC,CAAAA,GAAoB,MAAA,EAAaA,CAAAA,GAAoB5B,EAAI,UAAA,GAAYA,CAAAA,CAAI,WAAa4B,CAAAA,CAAAA,CACpGhD,CAAAA,CAAO,MAAMqC,CAAAA,CAAajB,CAAAA,CAAKC,CAAAA,CAAMiB,CAAe,EAC1D,CAAA,CAEaW,GAAmB,CAAC7B,CAAAA,CAAUC,EAAWiB,CAAAA,GAAyB,CAC7E,GAAM,CAAE,IAAA,CAAAY,CAAK,CAAA,CAAInD,CAAAA,CAAM,QAAA,GAAW,SAAA,CAAU,MAAA,CACxCmD,GAAMb,CAAAA,CAAajB,CAAAA,CAAKC,EAAMiB,CAAe,EACnD,EAIaa,EAAAA,CAAmB9B,CAAAA,EAAc,CAC5C,GAAIA,CAAAA,CAAK,QAAU,sBAAA,CAAwB,OAAO,CAAE,IAAA,CAAM,MAAA,CAASA,CAAAA,CAAK,IAAA,CAAM,OAAA,CAASA,CAAAA,CAAK,MAAM,OAAQ,CAE5G,EAIa+B,EAAAA,CAAqB,CAAC5D,EAAY6D,CAAAA,GAAyB,CACtE,IAAMvD,CAAAA,CAAWC,CAAAA,CAAM,QAAA,CACvBP,EAAM,cAAA,EAAe,CACrB6D,EAAgB,OAAA,CAAU,IAAA,CAAK,KAAI,CACnCvD,CAAAA,CAASwD,CAAAA,CAAa,IAAI,CAAC,EAC7B,EAEaC,EAAAA,CAAqB,CAAC/D,EAAY6D,CAAAA,GAAyB,CACtE,IAAMvD,CAAAA,CAAWC,CAAAA,CAAM,SACvBP,CAAAA,CAAM,cAAA,GACN6D,CAAAA,CAAgB,OAAA,CAAU,EAC1BvD,CAAAA,CAASwD,CAAAA,CAAa,IAAI,CAAC,EAC7B,CAAA,CAEaE,EAAAA,CAAkB,CAAChE,CAAAA,CAAYiE,IAAkB,CAC5D,IAAM3D,IAAWC,CAAAA,CAAM,QAAA,CACjB,CAAE,aAAA,CAAA2D,CAAc,EAAI3D,CAAAA,CAAM,QAAA,GAAW,IAAA,CACrC,CAAE,OAAAC,CAAO,CAAA,CAAID,EAAM,QAAA,EAAS,CAAE,SAAA,CACpCP,CAAAA,CAAM,cAAA,EAAe,CACrBiE,EAAS,OAAA,CAAU,IAAA,CAAK,KAAI,CAC5B3D,GAAAA,CAAS6D,EAAQ,IAAI,CAAC,EAClB/B,EAAAA,CAAAA,iBAAwC,CAAA,EAAG5B,EAAO,MAAA,EAAQ,CAC1D4B,gBAAoC,CAAA,GACjCA,EAAAA,CAAAA,sBAA6C,IAChDlC,EAAAA,EAAmB,CAAE,WAAA,CAAcgE,CAAAA,CAAc,IAAA,CACjD5D,GAAAA,CAAS8D,EAAeF,CAAAA,CAAc,IAAI,CAAC,CAAA,CAAA,CAEzC9B,EAAAA,CAAAA,qBAA4C,GAAG/B,CAAAA,EAAqB,CACpE+B,EAAAA,CAAAA,cAAqC,CAAA,EAAGiC,GAAAA,EAAsB,CAClE/D,IAASgE,CAAAA,CAAkB,CAAC,KAAK,KAAA,CAAMpE,EAAAA,GAAqB,WAAW,CAAC,CAAC,CAAC,CAAA,CAAA,CAE5EqE,EAAAA,CAAcC,GAAa,IAAI,CAAC,EAChClE,GAAAA,CAASmE,GAAAA,CAAgB,EAAE,CAAC,EAC9B,EAEaC,EAAAA,CAAqB,CAChCC,EACAC,CAAAA,CACAC,CAAAA,CACAC,EACAb,CAAAA,CACAc,CAAAA,CACAlB,EACAmB,CAAAA,GACG,CACH,IAAM1E,CAAAA,CAAWC,CAAAA,CAAM,QAAA,CACjB,CAAE,WAAA,CAAA0C,CAAAA,CAAa,aAAAgC,CAAAA,CAAc,SAAA,CAAAC,EAAW,aAAA,CAAApD,CAAc,CAAA,CAAIvB,CAAAA,CAAM,QAAA,EAAS,CAAE,WAC3E,CAAE,QAAA,CAAAwC,CAAS,CAAA,CAAIxC,CAAAA,CAAM,UAAS,CAAE,IAAA,CAChC4E,CAAAA,CAAepC,CAAAA,CAAS,OAAA,GAAY,EAAA,EAAME,EAAcnB,CAAAA,CAAcmB,CAAW,EAAInB,CAAAA,CAAciB,CAAAA,CAAS,OAAQ,CAAA,CACtHqC,CAAAA,CAAkB,EAChBvB,CAAAA,CAAgB,OAAA,GAASuB,EAAkB,IAAA,CAAK,GAAA,GAAQvB,CAAAA,CAAgB,OAAA,CAAA,CAC1EqB,GAAehF,EAAAA,EAAmB,CAAE,MAAA,EACtCqE,EAAAA,CACEc,EAAAA,CACET,CAAAA,CAAmB,QACnB,IAAA,CAAK,GAAA,GAAQC,CAAAA,CAA0B,OAAA,CACvCC,EAAyB,OAAA,CAAUD,CAAAA,CAA0B,OAAA,CAC7D,IAAA,CAAK,GAAA,EAAI,CAAIZ,EAAS,OAAA,CACtBA,CACF,CACF,CAAA,CACF3D,CAAAA,CAASgF,EAAa,KAAK,CAAC,CAAA,CACxBL,CAAAA,EAAgBG,CAAAA,CAAkB,CAAA,EAAKD,IAAiB,MAAA,GAC1DJ,CAAAA,CAAmB,QAAUK,CAAAA,CAC7BvB,CAAAA,CAAgB,QAAU,CAAA,CAC1BU,EAAAA,CAAcgB,GAAWH,CAAAA,CAAiBD,CAAAA,CAAclB,EAAUU,CAAAA,CAAmBK,CAAAA,CAAqB,OAAO,CAAC,CAAA,CAClHL,EAAkB,OAAA,CAAUA,CAAAA,CAAkB,OAAA,CAAU,CAAA,CACxDV,CAAAA,CAAS,OAAA,CAAU,KAAK,GAAA,EAAI,EAEhC,EAEauB,EAAAA,CAAoBxF,CAAAA,EAAe,CAC9C,IAAMM,CAAAA,CAAWC,EAAM,QAAA,CACjB,CAAE,OAAAC,GAAO,CAAA,CAAID,EAAM,QAAA,EAAS,CAAE,UACpCP,CAAAA,CAAM,cAAA,EAAe,CACrBuE,EAAAA,CAAcC,EAAAA,CAAa,KAAK,CAAC,CAAA,CACjClE,CAAAA,CAAS6D,EAAQ,KAAK,CAAC,EACnB/B,EAAAA,CAAAA,kBAAyC,CAAA,EAAG5B,IAAO,OAAA,GACzD,EAEaiF,EAAAA,CAAyBzF,CAAAA,EAAe,CACnD,IAAMM,CAAAA,CAAWC,EAAM,QAAA,CACjB,CAAE,mBAAA,CAAAmF,CAAoB,CAAA,CAAInF,CAAAA,CAAM,UAAS,CAAE,SAAA,CAAU,OACrD,CAAE,gBAAA,CAAAoF,CAAiB,CAAA,CAAIpF,CAAAA,CAAM,QAAA,EAAS,CAAE,SAAA,CAC9CP,CAAAA,CAAM,gBAAe,CACrBM,CAAAA,CAAS8D,EAAepE,CAAAA,CAAM,MAAA,CAAO,WAAW,CAAC,CAAA,CAC7CoC,EAAAA,CAAAA,wBAA+C,CAAA,EAAGsD,CAAAA,CAAqB1F,CAAAA,CAAM,OAAO,WAAW,CAAA,CAC/FoC,iBAAqC,CAAA,EAAG9B,CAAAA,CAASmE,IAAiBkB,CAAAA,CAAkB,UAAA,CAAY,CAAC,CAAA,CAAU,IAAI,CAAC,EACtH,CAAA,CAEaC,GAAsB5F,CAAAA,EAAe,CAChD,IAAMM,CAAAA,CAAWC,CAAAA,CAAM,QAAA,CACjB,CAAE,QAAA,CAAAwC,CAAS,EAAIxC,CAAAA,CAAM,QAAA,GAAW,IAAA,CAMtC,GALAP,EAAM,cAAA,EAAe,CACrBM,CAAAA,CAASwD,CAAAA,CAAa,KAAK,CAAC,EAC5BxD,CAAAA,CAASuF,CAAAA,CAAgB,IAAI,CAAC,CAAA,CAC9B3F,IAAmB,CAAE,MAAA,CAAS6C,CAAAA,CAAS,MAAA,CAAS,GAAA,CAChDzC,CAAAA,CAASwF,EAAY9F,CAAAA,CAAM,MAAA,CAAO,QAAQ,CAAC,CAAA,CACvCoC,UAA8B,CAAA,CAAG,CACnC,IAAM2D,CAAAA,CAAwB,MAAA,CAAO,OAAO/F,CAAAA,CAAM,MAAA,CAAO,UAAU,CAAA,CAC7D+F,CAAAA,EAAYA,EAAS,MAAA,EAAQzF,CAAAA,CAAS0F,CAAAA,CAAe,MAAA,CAAO,MAAA,CAAOD,CAAAA,CAAS,CAAC,CAAC,CAAA,CAAE,OAASA,CAAAA,CAAW,EAAE,CAAC,EAC/G,CAAA,KAAOzF,CAAAA,CAAS0F,CAAAA,CAAa,MAAA,CAAO,OAAOhG,CAAAA,CAAM,MAAA,CAAO,UAAU,CAAC,CAAC,EACtE,CAAA,CAEaiG,EAAAA,CAAoBjG,CAAAA,EAAe,CAC9C,IAAMM,CAAAA,CAAWC,EAAM,QAAA,CACjB,CAAE,OAAAC,CAAO,CAAA,CAAID,EAAM,QAAA,EAAS,CAAE,UACpCP,CAAAA,CAAM,cAAA,GACNM,CAAAA,CAAS4F,CAAAA,CAAW,IAAI,CAAC,CAAA,CACzB5F,EAAS6F,CAAAA,CAAkB,IAAI,CAAC,CAAA,CAChCC,GAAAA,CAAoBlG,EAAAA,GAAqB,QAAQ,CAAA,CAC7CkC,wBAA4C,CAAA,EAAG5B,CAAAA,CAAO,aAC5D,CAAA,CAIa6F,GAAqB,CAACrG,CAAAA,CAAYiE,IAAkB,CAC/D,IAAM3D,EAAWC,CAAAA,CAAM,QAAA,CACvBP,EAAM,cAAA,EAAe,CACrBiE,CAAAA,CAAS,OAAA,CAAU,IAAA,CAAK,GAAA,GACxB3D,CAAAA,CAASgF,CAAAA,CAAa,KAAK,CAAC,EAC9B,EAEagB,EAAAA,CAAwB,IAAM,CACzC,IAAMhG,CAAAA,CAAWC,EAAM,QAAA,CACvBD,CAAAA,CAASwD,EAAa,KAAK,CAAC,EAC9B,CAAA,CAEayC,EAAAA,CAA4BvG,CAAAA,EAAe,CACtD,GAAM,CAAE,oBAAA0F,CAAoB,CAAA,CAAInF,EAAM,QAAA,EAAS,CAAE,UAAU,MAAA,CACrDD,CAAAA,CAAWC,CAAAA,CAAM,QAAA,CACvBP,CAAAA,CAAM,cAAA,GACFoC,EAAAA,CAAAA,wBAA+C,CAAA,EAAGsD,EAAqB1F,CAAAA,CAAM,MAAA,CAAO,WAAW,CAAA,CACnGM,CAAAA,CAAS8D,CAAAA,CAAepE,CAAAA,CAAM,MAAA,CAAO,WAAW,CAAC,EACnD,CAAA,CAEawG,GAAsB,IAAM,CACvC,IAAMlG,CAAAA,CAAWC,CAAAA,CAAM,SACjB,CAAE,MAAA,CAAAC,CAAO,CAAA,CAAID,CAAAA,CAAM,UAAS,CAAE,SAAA,CACpCD,EAAS4F,CAAAA,CAAW,IAAI,CAAC,CAAA,CACzB5F,CAAAA,CAAS6F,CAAAA,CAAkB,IAAI,CAAC,CAAA,CAC5B/D,wBAA4C,CAAA,EAAG5B,CAAAA,CAAO,aAC5D,CAAA,CAIaiG,EAAAA,CAA0BzG,CAAAA,EAAe,CACpD,IAAMM,EAAWC,CAAAA,CAAM,QAAA,CACvBP,EAAM,cAAA,EAAe,CACrBM,EAAS6D,CAAAA,CAAQ,KAAK,CAAC,EACzB,CAAA,CAEauC,EAAAA,CAAwB,CAAC1G,CAAAA,CAAYiE,CAAAA,GAAkB,CAClE,IAAM3D,GAAAA,CAAWC,EAAM,QAAA,CACvBP,CAAAA,CAAM,gBAAe,CACrBM,GAAAA,CAAS6D,EAAQ,IAAI,CAAC,EACtBF,CAAAA,CAAS,OAAA,CAAU,KAAK,GAAA,EAAI,CAC5B3D,GAAAA,CAASmE,GAAAA,CAAgB,EAAE,CAAC,EAExBrC,EAAAA,CAAAA,aAAoC,CAAA,EAAKA,wBAA4C,CAAA,GACvF/B,CAAAA,GACI+B,EAAAA,CAAAA,cAAqC,CAAA,EAAGiC,GAAAA,EAAsB,EAEtE,CAAA,CAEasC,EAAAA,CAA2B,CAAC/B,CAAAA,CAAyBC,CAAAA,CAAgCZ,IAAkB,CAClH,IAAM3D,EAAWC,CAAAA,CAAM,QAAA,CACjB,CAAE,SAAA,CAAA2E,CAAU,CAAA,CAAI3E,EAAM,QAAA,EAAS,CAAE,WACvCD,CAAAA,CAASwD,CAAAA,CAAa,KAAK,CAAC,CAAA,CACxBoB,GAAehF,EAAAA,EAAmB,CAAE,QACtCqE,EAAAA,CACEc,EAAAA,CAAQ,KAAK,KAAA,CAAMT,CAAAA,CAAmB,OAAO,CAAA,CAAG,IAAA,CAAK,GAAA,EAAI,CAAIC,CAAAA,CAA0B,OAAA,CAAS,EAAG,IAAA,CAAK,GAAA,GAAQZ,CAAAA,CAAS,OAAA,CAASA,CAAQ,CAC5I,CAAA,CACF3D,EAASgF,CAAAA,CAAa,KAAK,CAAC,EAC9B,CAAA,CAEasB,GAA+B5G,CAAAA,EAAe,CACzD,GAAM,CAAE,mBAAA,CAAA0F,CAAoB,CAAA,CAAInF,CAAAA,CAAM,QAAA,GAAW,SAAA,CAAU,MAAA,CACrDD,EAAWC,CAAAA,CAAM,QAAA,CACjB,CAAE,gBAAA,CAAAoF,CAAiB,EAAIpF,CAAAA,CAAM,QAAA,GAAW,SAAA,CAC9CP,CAAAA,CAAM,gBAAe,CACrBM,CAAAA,CAAS8D,EAAepE,CAAAA,CAAM,MAAA,CAAO,WAAW,CAAC,CAAA,CACjDM,CAAAA,CAASwF,EAAY9F,CAAAA,CAAM,MAAA,CAAO,QAAQ,CAAC,CAAA,CACvCoC,2BAA+C,CAAA,EAAGsD,CAAAA,CAAqB1F,CAAAA,CAAM,MAAA,CAAO,WAAW,CAAA,CAC/FoC,iBAAqC,CAAA,EAAG9B,CAAAA,CAASmE,IAAiBkB,CAAAA,CAAkB,UAAA,CAAY,CAAC,CAAA,CAAU,IAAI,CAAC,EACtH,CAAA,CAEakB,EAAAA,CAA4B7G,GAAe,CACtD,IAAMM,EAAWC,CAAAA,CAAM,QAAA,CAIvB,GAHAP,CAAAA,CAAM,cAAA,GACNM,CAAAA,CAASwD,CAAAA,CAAa,KAAK,CAAC,CAAA,CAC5BxD,EAASuF,CAAAA,CAAgB,IAAI,CAAC,CAAA,CAC1BzD,EAAAA,CAAAA,OAA8B,CAAA,CAAG,CACnC,IAAM2D,CAAAA,CAAwB,OAAO,MAAA,CAAO/F,CAAAA,CAAM,OAAO,UAAU,CAAA,CAC7D+F,GAAYA,CAAAA,CAAS,MAAA,EAAQzF,CAAAA,CAAS0F,CAAAA,CAAe,MAAA,CAAO,MAAA,CAAOD,EAAS,CAAC,CAAC,EAAE,MAAA,CAASA,CAAAA,CAAW,EAAE,CAAC,EAC/G,CAAA,KAAOzF,CAAAA,CAAS0F,CAAAA,CAAa,OAAO,MAAA,CAAOhG,CAAAA,CAAM,OAAO,UAAU,CAAC,CAAC,EACtE,CAAA,CAEa8G,GAA8B,CAAC9G,CAAAA,CAAYkB,IAAqB,CAC3ElB,CAAAA,CAAM,gBAAe,CACrBiB,CAAAA,CAAmBjB,EAAOkB,CAAW,EACvC,EAQO,IAAM6F,EAAAA,CAAgC,MAAOnF,GAAa,CAC/D,GAAM,CAAE,WAAA,CAAAoF,CAAY,EAAIzG,CAAAA,CAAM,QAAA,EAAS,CAAE,UAAA,CAAW,OAAA,CACpDqB,CAAAA,CAAI,WAAWoF,CAAW,EAC5B,EAEaC,EAAAA,CAA8B,IAAM,CAC/Cb,GAAAA,CAAoBlG,EAAAA,EAAmB,CAAE,WAAW,EACtD","file":"chunk-MSI72J5J.mjs","sourcesContent":["import { conditions } from \"../../conditions/conditions\";\r\nimport { mainPlayerVideoTag, miniPlayerVideoTag } from \"../../constants\";\r\nimport { errorLogProvider } from \"../../errorBoundary/errorBoundaryFunctions\";\r\nimport { getUUID, highestResolutionSupported, splitQueryParamsFromStreamLink } from \"../../helpers\";\r\nimport { ConditionName } from \"../../interfaces/enums\";\r\nimport { sendFluentLog } from \"../../logs/fluentdLogger\";\r\nimport { initLog, loadingLog, pausePlayLog } from \"../../logs/logs\";\r\nimport {\r\n setActiveElements,\r\n setAutoQuality,\r\n setBufferedTimeWidth,\r\n setCanPlayVideo,\r\n setCurrentTime,\r\n setDuration,\r\n setFirstPlay,\r\n setIsEnded,\r\n setIsFullScreen,\r\n setIsLoading,\r\n setManualQuality,\r\n setPlay,\r\n setQualityLevels,\r\n} from \"../slices/controllerSlice\";\r\nimport { setClearPopoversSlice } from \"../slices/popoversSlice\";\r\nimport { setUserSettings } from \"../slices/userSlice\";\r\nimport { setMultiAudio, setSubtitleText, setSubtitles, setVideoTimelines } from \"../slices/videoDataSlice\";\r\nimport store from \"../store\";\r\nimport { handleLockOrientation, handleVideoTimeline } from \"./controller.actions\";\r\n\r\nexport const handleVideoError = (event: any) => {\r\n event.preventDefault();\r\n // Access the error property from the video element\r\n let error = (mainPlayerVideoTag() || miniPlayerVideoTag()).error;\r\n if (error) {\r\n switch (error.code) {\r\n case error.MEDIA_ERR_ABORTED:\r\n errorLogProvider({ type: \"videoTagError\", message: \"You aborted the video playback.\" });\r\n break;\r\n case error.MEDIA_ERR_NETWORK:\r\n errorLogProvider({ type: \"videoTagError\", message: \"A network error caused the video download to fail part-way.\" });\r\n break;\r\n case error.MEDIA_ERR_DECODE:\r\n errorLogProvider({\r\n type: \"videoTagError\",\r\n message: \"The video playback was aborted due to a corruption problem or because the video used features your browser did not support.\",\r\n });\r\n break;\r\n case error.MEDIA_ERR_SRC_NOT_SUPPORTED:\r\n errorLogProvider({\r\n type: \"videoTagError\",\r\n message: \"The video could not be loaded, either because the server or network failed or because the format is not supported.\",\r\n });\r\n break;\r\n default:\r\n errorLogProvider({ type: \"videoTagError\", message: \"An unknown error occurred.\" });\r\n break;\r\n }\r\n } else {\r\n errorLogProvider({ type: \"videoTagError\", message: \"An error occurred, but the error object is not available.\" });\r\n }\r\n};\r\n\r\nexport const handleAutoFullScreen = () => {\r\n const dispatch = store.dispatch;\r\n const { params } = store.getState().videoData;\r\n const launchFullScreen = (element: any) => {\r\n if (element.requestFullScreen) element.requestFullScreen();\r\n else if (element.mozRequestFullScreen) element.mozRequestFullScreen();\r\n else if (element.webkitRequestFullScreen) element.webkitRequestFullScreen();\r\n };\r\n dispatch(setClearPopoversSlice());\r\n launchFullScreen(document.documentElement);\r\n dispatch(setIsFullScreen(params.fullscreen === \"true\"));\r\n};\r\n\r\nexport const appendQueryParamsToChunksIOS = () => {\r\n let fragmentExtension = \".ts\";\r\n let originalOpen = XMLHttpRequest.prototype.open;\r\n XMLHttpRequest.prototype.open = function () {\r\n if (arguments[1].endsWith(fragmentExtension)) arguments[1] = arguments[1] + \"?uuid=\" + getUUID!();\r\n originalOpen.apply(this, arguments as any);\r\n };\r\n};\r\n\r\nexport const handleBufferedTime = (event: any, intervalRef: any) => {\r\n const dispatch = store.dispatch;\r\n intervalRef.current = setInterval(() => {\r\n const bufferedTime = event.target.buffered.end(0);\r\n const bufferedTimeWidth = (bufferedTime / mainPlayerVideoTag().duration) * 100;\r\n dispatch(setBufferedTimeWidth(bufferedTimeWidth));\r\n }, 500);\r\n};\r\n\r\n// ************* Hls Config Handlers ************* //\r\nexport const handleHlsConfig = () => {\r\n const streamLinkParams = splitQueryParamsFromStreamLink(\"mainPlayer\");\r\n return {\r\n xhrSetup: (xhr: any, url: any) => {\r\n if (!url.split(\"m3u8\")[1]) url = `${url}${streamLinkParams}`;\r\n xhr.open(\"GET\", url, true);\r\n },\r\n startLevel: -1,\r\n debug: false,\r\n enableWorker: true,\r\n abrBandWidthUpFactor: 0.7,\r\n abrBandWidthFactor: 0.95,\r\n backBufferLength: Infinity,\r\n maxBufferLength: 30,\r\n maxMaxBufferLength: 60,\r\n manifestLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: Infinity,\r\n maxLoadTimeMs: 20000,\r\n timeoutRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000,\r\n },\r\n errorRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000,\r\n },\r\n },\r\n },\r\n fragLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: 10000,\r\n maxLoadTimeMs: 120000,\r\n timeoutRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000,\r\n },\r\n errorRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000,\r\n },\r\n },\r\n },\r\n playlistLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: 10000,\r\n maxLoadTimeMs: 20000,\r\n timeoutRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000,\r\n },\r\n errorRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000,\r\n },\r\n },\r\n },\r\n };\r\n};\r\n\r\nexport const handleMiniPlayerHlsConfig = () => {\r\n const streamLinkParams = splitQueryParamsFromStreamLink(\"miniPlayer\");\r\n return {\r\n xhrSetup: (xhr: any, url: any) => {\r\n url = `${url}${streamLinkParams}`;\r\n xhr.open(\"GET\", url, true);\r\n },\r\n startLevel: 1,\r\n debug: false,\r\n maxMaxBufferLength: 60,\r\n playlistLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: 10000,\r\n maxLoadTimeMs: 20000,\r\n timeoutRetry: {\r\n maxNumRetry: 1000,\r\n retryDelayMs: 0,\r\n maxRetryDelayMs: 0,\r\n },\r\n errorRetry: {\r\n maxNumRetry: 1000,\r\n retryDelayMs: 1000,\r\n maxRetryDelayMs: 1000,\r\n },\r\n },\r\n },\r\n };\r\n};\r\n\r\n// ************* Manifest Handlers ************* //\r\n\r\nexport const handleManifestParsed = (hls: any, data: any) => {\r\n const dispatch = store.dispatch;\r\n let qualityLevels: any[] = [];\r\n let resolutions: any[] = [];\r\n hls.levels.map((level: any) => {\r\n qualityLevels.push(level.attrs.RESOLUTION!.split(\"x\")[1].trim());\r\n resolutions.push(level.attrs.RESOLUTION!);\r\n });\r\n hls.autoLevelCapping = highestResolutionSupported(resolutions, window.innerWidth, window.innerHeight);\r\n dispatch(setQualityLevels(qualityLevels));\r\n [\"fullscreenchange\", \"webkitfullscreenchange\", \"mozfullscreenchange\", \"msfullscreenchange\"].forEach((eventType) =>\r\n document.addEventListener(\r\n eventType,\r\n () => {\r\n if (conditions(ConditionName.isAutoQuality)) {\r\n hls.autoLevelCapping = highestResolutionSupported(resolutions, window.innerWidth, window.innerHeight);\r\n hls.nextLevel = -1;\r\n }\r\n },\r\n false\r\n )\r\n );\r\n if (data.audioTracks.length > 0) {\r\n const sortedAudioTracks = data.audioTracks.sort((a: any) => (a.default === true ? -1 : 1));\r\n dispatch(setMultiAudio(sortedAudioTracks));\r\n }\r\n};\r\n\r\nexport const handleMediaAttached = (Hls: any, hls: any) => {\r\n const { details } = store.getState().videoData;\r\n let streamLink = details.stream_link;\r\n hls.loadSource(streamLink);\r\n hls.on(Hls.Events.MANIFEST_PARSED, (_event: any, data: any) => handleManifestParsed(hls, data));\r\n};\r\n\r\n// ************* Level Handlers ************* //\r\n\r\nexport const handleLevels = (hls: any, data: any, setQualityLevel: any) => {\r\n if (data.frag.type !== \"audio\") {\r\n const dispatch = store.dispatch;\r\n const { settings } = store.getState().user;\r\n const { qualityLevels, manualQuality, autoQuality } = store.getState().controller;\r\n if (!conditions(ConditionName.isAutoQuality)) {\r\n if (data.frag.level !== manualQuality) hls.nextLevel = qualityLevels[settings.quality!] ? settings.quality : -1;\r\n if (qualityLevels[settings.quality!]) {\r\n dispatch(setManualQuality(settings.quality!));\r\n dispatch(setAutoQuality(undefined));\r\n } else {\r\n setQualityLevel(qualityLevels[data.frag.level]);\r\n dispatch(setAutoQuality(data.frag.level));\r\n dispatch(setUserSettings({ ...settings, quality: -1 }));\r\n }\r\n } else if (conditions(ConditionName.isAutoQuality) && autoQuality === undefined) {\r\n hls.nextLevel = -1;\r\n setQualityLevel(qualityLevels[data.frag.level]);\r\n dispatch(setAutoQuality(data.frag.level));\r\n } else if (conditions(ConditionName.isAutoQuality)) {\r\n setQualityLevel(qualityLevels[data.frag.level]);\r\n if (autoQuality !== data.frag.level) dispatch(setAutoQuality(data.frag.level));\r\n }\r\n }\r\n};\r\n\r\n// ************* Fragment Handlers ************* //\r\n\r\nexport const handleFragBuffered = (hls: any) => {\r\n const dispatch = store.dispatch;\r\n const bufferedTime = hls.mainForwardBufferInfo?.end;\r\n const bufferedTimeWidth = (bufferedTime! / mainPlayerVideoTag().duration) * 100;\r\n dispatch(setBufferedTimeWidth(bufferedTimeWidth));\r\n};\r\n\r\nexport const handleFragChanged = (hls: any, data: any, setQualityLevel: any) => {\r\n const { params, multiAudio, selectedAudioId } = store.getState().videoData;\r\n\r\n if (multiAudio && selectedAudioId !== undefined && selectedAudioId !== hls.audioTrack) hls.audioTrack = selectedAudioId;\r\n if (params.type) handleLevels(hls, data, setQualityLevel);\r\n};\r\n\r\nexport const handleFragParsed = (hls: any, data: any, setQualityLevel: any) => {\r\n const { type } = store.getState().videoData.params;\r\n if (type) handleLevels(hls, data, setQualityLevel);\r\n};\r\n\r\n// ************* HLS Error Handlers ************* //\r\n\r\nexport const handleHlsErrors = (data: any) => {\r\n if (data.event !== \"hlsAudioTrackLoading\") return { type: \"HLS_\" + data.type, message: data.error.message };\r\n return undefined;\r\n};\r\n\r\n// ************* Video Tag Handlers ************* //\r\n\r\nexport const handleVideoWaiting = (event: any, waitingTimerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n waitingTimerRef.current = Date.now();\r\n dispatch(setIsLoading(true));\r\n};\r\n\r\nexport const handleVideoSeeking = (event: any, waitingTimerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n waitingTimerRef.current = 0;\r\n dispatch(setIsLoading(true));\r\n};\r\n\r\nexport const handleVideoPlay = (event: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n const { videoSettings } = store.getState().user;\r\n const { params } = store.getState().videoData;\r\n event.preventDefault();\r\n timerRef.current = Date.now();\r\n dispatch(setPlay(true));\r\n if (conditions(ConditionName.hasOnPlayParams)) params.onPlay!();\r\n if (conditions(ConditionName.isFirstPlay)) {\r\n if (!conditions(ConditionName.hasCurrentTimeParams)) {\r\n mainPlayerVideoTag().currentTime = videoSettings.time;\r\n dispatch(setCurrentTime(videoSettings.time));\r\n }\r\n if (conditions(ConditionName.hasFullScreenParams)) handleAutoFullScreen();\r\n if (conditions(ConditionName.isFullScreen)) handleLockOrientation();\r\n dispatch(setVideoTimelines([Math.floor(mainPlayerVideoTag().currentTime)]));\r\n }\r\n sendFluentLog(pausePlayLog(true));\r\n dispatch(setSubtitleText(\"\"));\r\n};\r\n\r\nexport const handleVideoPlaying = (\r\n loadingCounterRef: any,\r\n loadingDurationRef: any,\r\n initialWaitingDurationRef: any,\r\n bannerLoadingDurationRef: any,\r\n timerRef: any,\r\n waitingDurationRef: any,\r\n waitingTimerRef: any,\r\n videoEntranceTimeRef: any\r\n) => {\r\n const dispatch = store.dispatch;\r\n const { autoQuality, canPlayVideo, firstPlay, qualityLevels } = store.getState().controller;\r\n const { settings } = store.getState().user;\r\n const qualityLevel = settings.quality === -1 && autoQuality ? qualityLevels[autoQuality] : qualityLevels[settings.quality!];\r\n let waitingDuration = 0;\r\n if (!!waitingTimerRef.current) waitingDuration = Date.now() - waitingTimerRef.current;\r\n if (firstPlay && !!mainPlayerVideoTag().played)\r\n sendFluentLog(\r\n initLog(\r\n loadingDurationRef.current,\r\n Date.now() - initialWaitingDurationRef.current,\r\n bannerLoadingDurationRef.current - initialWaitingDurationRef.current,\r\n Date.now() - timerRef.current,\r\n timerRef\r\n )\r\n );\r\n dispatch(setFirstPlay(false));\r\n if (canPlayVideo && waitingDuration > 0 && qualityLevel !== undefined) {\r\n waitingDurationRef.current = waitingDuration;\r\n waitingTimerRef.current = 0;\r\n sendFluentLog(loadingLog(waitingDuration, qualityLevel, timerRef, loadingCounterRef, videoEntranceTimeRef.current));\r\n loadingCounterRef.current = loadingCounterRef.current + 1;\r\n timerRef.current = Date.now();\r\n }\r\n};\r\n\r\nexport const handleVideoPause = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { params } = store.getState().videoData;\r\n event.preventDefault();\r\n sendFluentLog(pausePlayLog(false));\r\n dispatch(setPlay(false));\r\n if (conditions(ConditionName.hasOnPauseParams)) params.onPause!();\r\n};\r\n\r\nexport const handleVideoTimeUpdate = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { onChangeCurrentTime } = store.getState().videoData.params;\r\n const { selectedSubtitle } = store.getState().videoData;\r\n event.preventDefault();\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n if (conditions(ConditionName.hasOnChangeCurrentTime)) onChangeCurrentTime!(event.target.currentTime);\r\n if (conditions(ConditionName.hasActiveCue)) dispatch(setSubtitleText((selectedSubtitle!.activeCues![0] as any).text));\r\n};\r\n\r\nexport const handleVideoCanPlay = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { settings } = store.getState().user;\r\n event.preventDefault();\r\n dispatch(setIsLoading(false));\r\n dispatch(setCanPlayVideo(true));\r\n mainPlayerVideoTag().volume = settings.volume / 100;\r\n dispatch(setDuration(event.target.duration));\r\n if (conditions(ConditionName.isIOS)) {\r\n const subtitle: TextTrack[] = Object.values(event.target.textTracks);\r\n if (!!subtitle && subtitle.length) dispatch(setSubtitles(!!Object.values(subtitle[0]).length ? subtitle : []));\r\n } else dispatch(setSubtitles(Object.values(event.target.textTracks)));\r\n};\r\n\r\nexport const handleVideoEnded = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { params } = store.getState().videoData;\r\n event.preventDefault();\r\n dispatch(setIsEnded(true));\r\n dispatch(setActiveElements(true));\r\n handleVideoTimeline(mainPlayerVideoTag().duration);\r\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\r\n};\r\n\r\n// ************* IOS Video Tag Handlers ************* //\r\n\r\nexport const handleIosVideoPlay = (event: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n timerRef.current = Date.now();\r\n dispatch(setFirstPlay(false));\r\n};\r\n\r\nexport const handleIosVideoPlaying = () => {\r\n const dispatch = store.dispatch;\r\n dispatch(setIsLoading(false));\r\n};\r\n\r\nexport const handleIosVideoTimeUpdate = (event: any) => {\r\n const { onChangeCurrentTime } = store.getState().videoData.params;\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n if (conditions(ConditionName.hasOnChangeCurrentTime)) onChangeCurrentTime!(event.target.currentTime);\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n};\r\n\r\nexport const handleIosVideoEnded = () => {\r\n const dispatch = store.dispatch;\r\n const { params } = store.getState().videoData;\r\n dispatch(setIsEnded(true));\r\n dispatch(setActiveElements(true));\r\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\r\n};\r\n\r\n// ************* Static Video Tag Handlers ************* //\r\n\r\nexport const handleStaticVideoPause = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setPlay(false));\r\n};\r\n\r\nexport const handleStaticVideoPlay = (event: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setPlay(true));\r\n timerRef.current = Date.now();\r\n dispatch(setSubtitleText(\"\"));\r\n\r\n if (conditions(ConditionName.isFirstPlay) && conditions(ConditionName.hasFullScreenParams)) {\r\n handleAutoFullScreen();\r\n if (conditions(ConditionName.isFullScreen)) handleLockOrientation();\r\n }\r\n};\r\n\r\nexport const handleStaticVideoPlaying = (loadingDurationRef: any, initialWaitingDurationRef: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n const { firstPlay } = store.getState().controller;\r\n dispatch(setIsLoading(false));\r\n if (firstPlay && !!mainPlayerVideoTag().played)\r\n sendFluentLog(\r\n initLog(Math.round(loadingDurationRef.current), Date.now() - initialWaitingDurationRef.current, 0, Date.now() - timerRef.current, timerRef)\r\n );\r\n dispatch(setFirstPlay(false));\r\n};\r\n\r\nexport const handleStaticVideoTimeUpdate = (event: any) => {\r\n const { onChangeCurrentTime } = store.getState().videoData.params;\r\n const dispatch = store.dispatch;\r\n const { selectedSubtitle } = store.getState().videoData;\r\n event.preventDefault();\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n dispatch(setDuration(event.target.duration));\r\n if (conditions(ConditionName.hasOnChangeCurrentTime)) onChangeCurrentTime!(event.target.currentTime);\r\n if (conditions(ConditionName.hasActiveCue)) dispatch(setSubtitleText((selectedSubtitle!.activeCues![0] as any).text));\r\n};\r\n\r\nexport const handleStaticVideoCanPlay = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setIsLoading(false));\r\n dispatch(setCanPlayVideo(true));\r\n if (conditions(ConditionName.isIOS)) {\r\n const subtitle: TextTrack[] = Object.values(event.target.textTracks);\r\n if (!!subtitle && subtitle.length) dispatch(setSubtitles(!!Object.values(subtitle[0]).length ? subtitle : []));\r\n } else dispatch(setSubtitles(Object.values(event.target.textTracks)));\r\n};\r\n\r\nexport const handleStaticVideoLoadedData = (event: any, intervalRef: any) => {\r\n event.preventDefault();\r\n handleBufferedTime(event, intervalRef);\r\n};\r\n\r\nexport const handleStaticVideoEnded = (event: any) => {\r\n const { params } = store.getState().videoData;\r\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\r\n event.preventDefault();\r\n};\r\n\r\nexport const handleMiniPlayerMediaAttached = async (hls: any) => {\r\n const { stream_link } = store.getState().miniPlayer.details;\r\n hls.loadSource(stream_link);\r\n};\r\n\r\nexport const handleVideoVisibilityChange = () => {\r\n handleVideoTimeline(mainPlayerVideoTag().currentTime);\r\n};\r\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {P,la,a,ma,N,J as J$1,fa,ka,sa,I,ta,h,o,wa,w,Ga,xa,ja,t}from'./chunk-FPUBUJN6.mjs';import {e}from'./chunk-NXC6LNWJ.mjs';e();var G=e=>{if(e===null||e.target.nodeName!=="INPUT"){let t=P.dispatch;e!==null&&(e.stopPropagation(),e.preventDefault()),la()?.paused?la().play():la()?.pause(),t(a(!la()?.paused)),ma()&&ma().played&&(ma()?.pause(),t(N(false)));}},H=()=>{let e=P.dispatch,{play:t}=P.getState().controller;e(a(t)),setTimeout(()=>{la()&&(t?la().play():la()?.pause());},0);},J=e=>{if(e===null||e.target.nodeName!=="INPUT"){let t=P.dispatch;ma().paused?ma().play():ma()?.pause(),t(N(!ma().paused)),la()&&la().played&&(la()?.pause(),t(a(false)));}};var K=e=>{let t=P.dispatch,{settings:r}=P.getState().user;t(J$1({...r,volume:e})),la()&&(fa("isIOS")?la().muted=!la().muted:la().volume=e/100);},Q=(e,t=15,r)=>{if(e==="touchBackward"?e="backward":e==="touchForward"&&(e="forward"),r&&r.target.nodeName==="INPUT"||e==="backward"&&la().currentTime<15||e==="forward"&&la().duration-la().currentTime<15)return;ka(sa(e));let n=0;e==="backward"?t===0?n=0:n=la().currentTime-t:e==="forward"&&(t===la().duration?n=t:n=la().currentTime+t),la().currentTime=n;},F=()=>{let e=P.dispatch,t=document.fullscreenElement;fa("isIOS")?la().webkitEnterFullScreen?(e(a(false)),la().webkitEnterFullScreen()):(e(I()),ka(ta("fullScreen"))):t?(e(h(false)),document.exitFullscreen().then(()=>document.body.style.overflow="auto")):(e(I()),document.documentElement.requestFullscreen().then(()=>document.body.style.overflow="hidden"),e(h(true)),ka(ta("fullScreen")));},W=()=>{fa("isTouchScreen")&&!fa("isIOS")&&(fa("isLandscape")&&!fa("isFullScreen")?window.screen.orientation.lock("portrait"):window.screen.orientation.lock("landscape"));},X=e=>{let t=P.dispatch;t(o(e==="lock")),ka(wa(e)),e==="unlock"&&localStorage.setItem("unlock-click","true");},Y=(e,t)=>{if(fa("isSendTimelineLog")){let r=P.dispatch,{videoTimelines:n}=P.getState().videoData,d=Math.floor(e),u=Math.floor(t);n.length===0?r(w([d>=la().duration?u:d])):(n[0]<d&&Ga({url:ja().videoTimelineLog,method:"post",data:xa(n[0],d)}),u&&u>=la().duration?r(w([])):r(w([u])));}},Z=()=>{let e=P.dispatch,t$1=document.getElementById("video-area")?.getBoundingClientRect();t$1.height=t$1.width*9/16,t$1&&e(t(t$1));},_=e=>{!fa("isTouchScreen")&&e.target.nodeName!=="INPUT"&&F();};export{G as a,H as b,J as c,K as d,Q as e,F as f,W as g,X as h,Y as i,Z as j,_ as k};//# sourceMappingURL=chunk-QZJECTZQ.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-QZJECTZQ.mjs.map
|