cafe-video-player 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/videoPlayerLibrary/helpers/redux/actions/playerCore.actions.ts"],"names":["init_cjs_shims","handleAutoFullScreen","dispatch","store_default","params","launchFullScreen","element","setClearPopoversSlice","setIsFullScreen","appendQueryParamsToChunksIOS","fragmentExtension","originalOpen","getUUID","handleBufferedTime","event","intervalRef","bufferedTimeWidth","videoTag","setBufferedTimeWidth","handleHlsConfig","streamLinkParams","xhr","url","conditions","handleManifestParsed","hls","data","qualityLevels","qualityBitrates","resolutions","level","highestResolutionSupported","setQualityLevels","setQualityBitrates","eventType","sortedAudioTracks","a","setMultiAudio","handleManifestLoaded","handleMediaAttached","Hls","details","streamLink","handleLevels","setQualityLevel","settings","manualQuality","autoQuality","setAutoQuality","setManualQuality","setUserSettings","handleFragBuffered","handleFragLoading","setHlsLivePosition","handleFragChanged","multiAudio","selectedAudioId","handleFragParsed","type","handleHlsErrors","handlePreview","previewStart","previewEnd","setCurrentTime","handleVideoWaiting","waitingTimerRef","setIsLoading","handleVideoSeeking","handleVideoPlay","timerRef","videoSettings","setPlay","handleLockOrientation","setVideoTimelines","sendFluentLog","pausePlayLog","setSubtitleText","handleVideoPlaying","loadingCounterRef","loadingDurationRef","initialWaitingDurationRef","bannerLoadingDurationRef","waitingDurationRef","videoEntranceTimeRef","canPlayVideo","firstPlay","qualityLevel","waitingDuration","initLog","setFirstPlay","loadingLog","handleVideoPause","handleVideoTimeUpdate","selectedSubtitle","handleVideoCanPlay","setCanPlayVideo","setDuration","subtitle","setSubtitles","handleVideoEnded","setIsLiveError","setIsEnded","setActiveElements","handleVideoTimeline","handleIosVideoPlay","handleIosVideoPlaying","handleIosVideoTimeUpdate","handleIosVideoEnded","handleStaticVideoPause","handleStaticVideoPlay","handleStaticVideoPlaying","handleStaticVideoTimeUpdate","handleStaticVideoCanPlay","handleStaticVideoLoadedData","handleStaticVideoEnded","handleVideoVisibilityChange"],"mappings":"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","sourcesContent":["import { conditions } from \"../../conditions/conditions\";\r\nimport { videoTag } from \"../../constants\";\r\nimport { getUUID, highestResolutionSupported } from \"../../helpers\";\r\nimport { ConditionName } from \"../../interfaces/enums\";\r\nimport { sendFluentLog } from \"../../logs/fluentdLogger\";\r\nimport { initLog, loadingLog, pausePlayLog } from \"../../logs/logs\";\r\nimport {\r\n setActiveElements,\r\n setAutoQuality,\r\n setBufferedTimeWidth,\r\n setCanPlayVideo,\r\n setCurrentTime,\r\n setDuration,\r\n setFirstPlay,\r\n setHlsLivePosition,\r\n setIsEnded,\r\n setIsFullScreen,\r\n setIsLoading,\r\n setLoadedFragmentsCount,\r\n setManualQuality,\r\n setPlay,\r\n setQualityBitrates,\r\n setQualityLevels\r\n} from \"../slices/controllerSlice\";\r\nimport { setClearPopoversSlice } from \"../slices/popoversSlice\";\r\nimport { setUserSettings } from \"../slices/userSlice\";\r\nimport {\r\n setIsLiveError,\r\n setMultiAudio,\r\n setSubtitleText,\r\n setSubtitles,\r\n setVideoTimelines\r\n} from \"../slices/videoDataSlice\";\r\nimport store from \"../store\";\r\nimport { handleLockOrientation, handleVideoTimeline } from \"./controller.actions\";\r\nimport { getLiveAndVodDetails } from \"./videoData.actions\";\r\n\r\nexport const handleAutoFullScreen = () => {\r\n const dispatch = store.dispatch;\r\n const { params } = store.getState().videoData;\r\n const launchFullScreen = (element: any) => {\r\n if (element.requestFullScreen) element.requestFullScreen();\r\n else if (element.mozRequestFullScreen) element.mozRequestFullScreen();\r\n else if (element.webkitRequestFullScreen) element.webkitRequestFullScreen();\r\n };\r\n dispatch(setClearPopoversSlice());\r\n launchFullScreen(document.documentElement);\r\n dispatch(setIsFullScreen(params.fullscreen === \"true\"));\r\n};\r\n\r\nexport const appendQueryParamsToChunksIOS = () => {\r\n let fragmentExtension = \".ts\";\r\n let originalOpen = XMLHttpRequest.prototype.open;\r\n XMLHttpRequest.prototype.open = function () {\r\n if (arguments[1].endsWith(fragmentExtension)) arguments[1] = arguments[1] + \"?uuid=\" + getUUID!();\r\n originalOpen.apply(this, arguments as any);\r\n };\r\n};\r\n\r\nexport const handleBufferedTime = (event: any, intervalRef: any) => {\r\n const dispatch = store.dispatch;\r\n intervalRef.current = setInterval(() => {\r\n const bufferedTime = event.target.buffered.end(0);\r\n const bufferedTimeWidth = (bufferedTime / videoTag().duration) * 100;\r\n dispatch(setBufferedTimeWidth(bufferedTimeWidth));\r\n }, 500);\r\n};\r\n\r\n// ************* Hls Config Handlers ************* //\r\nexport const handleHlsConfig = () => {\r\n const { params, streamLinkParams } = store.getState().videoData;\r\n return {\r\n xhrSetup: (xhr: any, url: any) => {\r\n if (!url.split(\"m3u8\")[1]) url = `${url}${streamLinkParams}`;\r\n xhr.open(\"GET\", url, true);\r\n },\r\n startLevel: params.type === \"live\" ? 1 : -1,\r\n debug: false,\r\n enableWorker: true,\r\n liveDurationInfinity: conditions(ConditionName.hasQuizParams),\r\n maxLiveSyncPlaybackRate: conditions(ConditionName.hasQuizParams) ? 2 : 1,\r\n abrBandWidthUpFactor: conditions(ConditionName.hasQuizParams) ? 0.6 : 0.7,\r\n abrBandWidthFactor: conditions(ConditionName.hasQuizParams) ? 0.8 : 0.95,\r\n backBufferLength: conditions(ConditionName.hasQuizParams) ? 2 : Infinity,\r\n maxBufferLength: conditions(ConditionName.hasQuizParams) ? 12 : 30,\r\n maxMaxBufferLength: conditions(ConditionName.hasQuizParams) ? 600 : 60,\r\n liveMaxLatencyDuration: conditions(ConditionName.hasQuizParams) ? 8 : undefined,\r\n manifestLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: Infinity,\r\n maxLoadTimeMs: 20000,\r\n timeoutRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000\r\n },\r\n errorRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000\r\n }\r\n }\r\n },\r\n fragLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: 10000,\r\n maxLoadTimeMs: 120000,\r\n timeoutRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000\r\n },\r\n errorRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000\r\n }\r\n }\r\n },\r\n playlistLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: 10000,\r\n maxLoadTimeMs: 20000,\r\n timeoutRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000\r\n },\r\n errorRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000\r\n }\r\n }\r\n }\r\n };\r\n};\r\n\r\nexport const handleMultiLiveHlsConfig = () => {\r\n const { streamLinkParams } = store.getState().videoData;\r\n return {\r\n xhrSetup: (xhr: any, url: any) => {\r\n url = `${url}${streamLinkParams}`;\r\n xhr.open(\"GET\", url, true);\r\n },\r\n startLevel: 1,\r\n debug: false,\r\n maxMaxBufferLength: 60,\r\n playlistLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: 10000,\r\n maxLoadTimeMs: 20000,\r\n timeoutRetry: {\r\n maxNumRetry: 1000,\r\n retryDelayMs: 0,\r\n maxRetryDelayMs: 0\r\n },\r\n errorRetry: {\r\n maxNumRetry: 1000,\r\n retryDelayMs: 1000,\r\n maxRetryDelayMs: 1000\r\n }\r\n }\r\n }\r\n };\r\n};\r\n\r\n// ************* Manifest Handlers ************* //\r\n\r\nexport const handleManifestParsed = (hls: any, data: any) => {\r\n const dispatch = store.dispatch;\r\n let qualityLevels: any[] = [];\r\n let qualityBitrates: string[] = [\"\"];\r\n let resolutions: any[] = [];\r\n hls.levels.map((level: any) => {\r\n qualityLevels.push(level.attrs.RESOLUTION!.split(\"x\")[1].trim());\r\n qualityBitrates.push(`${(level.bitrate / 1000).toFixed(0)}kbps`);\r\n resolutions.push(level.attrs.RESOLUTION!);\r\n });\r\n hls.autoLevelCapping = highestResolutionSupported(resolutions, window.innerWidth, window.innerHeight);\r\n dispatch(setQualityLevels(qualityLevels));\r\n dispatch(setQualityBitrates(qualityBitrates));\r\n [\"fullscreenchange\", \"webkitfullscreenchange\", \"mozfullscreenchange\", \"msfullscreenchange\"].forEach((eventType) =>\r\n document.addEventListener(\r\n eventType,\r\n (event: any) => {\r\n if (conditions(ConditionName.isAutoQuality)) {\r\n hls.autoLevelCapping = highestResolutionSupported(resolutions, window.innerWidth, window.innerHeight);\r\n hls.nextLevel = -1;\r\n }\r\n },\r\n false\r\n )\r\n );\r\n if (data.audioTracks.length > 0) {\r\n const sortedAudioTracks = data.audioTracks.sort((a: any) => (a.default === true ? -1 : 1));\r\n dispatch(setMultiAudio(sortedAudioTracks));\r\n }\r\n};\r\n\r\nexport const handleManifestLoaded = (hls: any) => (hls.audioTrack = 0);\r\n\r\nexport const handleMediaAttached = (Hls: any, hls: any) => {\r\n const { params, details } = store.getState().videoData;\r\n let streamLink = conditions(ConditionName.isGeneral) ? params.src! : details.stream_link;\r\n hls.loadSource(streamLink);\r\n hls.on(Hls.Events.MANIFEST_PARSED, (event: any, data: any) => handleManifestParsed(hls, data));\r\n hls.on(Hls.Events.MANIFEST_LOADED, () => handleManifestLoaded(hls));\r\n};\r\n\r\n// ************* Level Handlers ************* //\r\n\r\nexport const handleLevels = (hls: any, data: any, setQualityLevel: any) => {\r\n if (data.frag.type !== \"audio\") {\r\n const dispatch = store.dispatch;\r\n const { settings } = store.getState().user;\r\n const { qualityLevels, manualQuality, autoQuality } = store.getState().controller;\r\n if (!conditions(ConditionName.isAutoQuality)) {\r\n if (data.frag.level !== manualQuality) hls.nextLevel = qualityLevels[settings.quality!] ? settings.quality : -1;\r\n if (qualityLevels[settings.quality!]) {\r\n dispatch(setManualQuality(settings.quality!));\r\n dispatch(setAutoQuality(undefined));\r\n } else {\r\n setQualityLevel(qualityLevels[data.frag.level]);\r\n dispatch(setAutoQuality(data.frag.level));\r\n dispatch(setUserSettings({ ...settings, quality: -1 }));\r\n }\r\n } else if (conditions(ConditionName.isAutoQuality) && autoQuality === undefined) {\r\n hls.nextLevel = -1;\r\n setQualityLevel(qualityLevels[data.frag.level]);\r\n dispatch(setAutoQuality(data.frag.level));\r\n } else if (conditions(ConditionName.isAutoQuality)) {\r\n setQualityLevel(qualityLevels[data.frag.level]);\r\n if (autoQuality !== data.frag.level) dispatch(setAutoQuality(data.frag.level));\r\n }\r\n }\r\n};\r\n\r\n// ************* Fragment Handlers ************* //\r\n\r\nexport const handleFragBuffered = (hls: any) => {\r\n const dispatch = store.dispatch;\r\n const bufferedTime = hls.mainForwardBufferInfo?.end;\r\n const bufferedTimeWidth = (bufferedTime! / videoTag().duration) * 100;\r\n dispatch(setBufferedTimeWidth(bufferedTimeWidth));\r\n};\r\n\r\nexport const handleFragLoading = (hls: any) => {\r\n const dispatch = store.dispatch;\r\n if (conditions(ConditionName.isLiveParam)) dispatch(setHlsLivePosition(hls.liveSyncPosition));\r\n};\r\n\r\nexport const handleFragChanged = (Hls: any, hls: any, data: any, setQualityLevel: any) => {\r\n const { params, multiAudio, selectedAudioId } = store.getState().videoData;\r\n\r\n if (multiAudio && selectedAudioId !== undefined && selectedAudioId !== hls.audioTrack) {\r\n hls.audioTrack = selectedAudioId;\r\n hls.trigger(Hls.Events.AUDIO_TRACK_LOADING, multiAudio[selectedAudioId]);\r\n }\r\n if (params.type || !conditions(ConditionName.isLiveParam)) handleLevels(hls, data, setQualityLevel);\r\n};\r\n\r\nexport const handleFragParsed = (hls: any, data: any, setQualityLevel: any) => {\r\n const { type } = store.getState().videoData.params;\r\n if (type || type === \"live\") handleLevels(hls, data, setQualityLevel);\r\n};\r\n\r\n// ************* HLS Error Handlers ************* //\r\n\r\nexport const handleHlsErrors = (Hls: any, data: any) => {\r\n if (data.event !== \"hlsAudioTrackLoading\") return { type: \"HLS_\" + data.type, message: data.error.message };\r\n return undefined;\r\n};\r\n\r\nexport const handlePreview = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { params, details } = store.getState().videoData;\r\n const previewStart = conditions(ConditionName.hasPreviewStart) ? details.preview_start : 0;\r\n const previewEnd = conditions(ConditionName.hasPreviewEnd) ? details.preview_end : videoTag() ? videoTag().duration : 0;\r\n if (params.preview === \"true\" && event.target.currentTime >= previewEnd!) {\r\n videoTag().currentTime = previewStart!;\r\n dispatch(setCurrentTime(previewStart!));\r\n }\r\n};\r\n\r\n// ************* Video Tag Handlers ************* //\r\n\r\nexport const handleVideoWaiting = (event: any, waitingTimerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n waitingTimerRef.current = Date.now();\r\n dispatch(setIsLoading(true));\r\n};\r\n\r\nexport const handleVideoSeeking = (event: any, waitingTimerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n waitingTimerRef.current = 0;\r\n dispatch(setIsLoading(true));\r\n};\r\n\r\nexport const handleVideoPlay = (event: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n const { details, params } = store.getState().videoData;\r\n const { videoSettings } = store.getState().user;\r\n event.preventDefault();\r\n timerRef.current = Date.now();\r\n dispatch(setPlay(true));\r\n if (conditions(ConditionName.isFirstPlay)) {\r\n if (!conditions(ConditionName.isLiveParam)) {\r\n videoTag().currentTime = params.t ? +params.t : videoSettings.time;\r\n dispatch(setCurrentTime(params.t ? +params.t : videoSettings.time));\r\n }\r\n if (conditions(ConditionName.hasFullScreenParams)) handleAutoFullScreen();\r\n if (conditions(ConditionName.isFullScreen)) handleLockOrientation();\r\n if (conditions(ConditionName.hasPreviewParams)) {\r\n const previewStart = details.preview_start ? details.preview_start : 0;\r\n videoTag().currentTime = previewStart;\r\n dispatch(setCurrentTime(previewStart));\r\n }\r\n dispatch(setVideoTimelines([Math.floor(videoTag().currentTime)]));\r\n }\r\n sendFluentLog(pausePlayLog(true));\r\n dispatch(setSubtitleText(\"\"));\r\n};\r\n\r\nexport const handleVideoPlaying = (\r\n loadingCounterRef: any,\r\n loadingDurationRef: any,\r\n initialWaitingDurationRef: any,\r\n bannerLoadingDurationRef: any,\r\n timerRef: any,\r\n waitingDurationRef: any,\r\n waitingTimerRef: any,\r\n videoEntranceTimeRef: any\r\n) => {\r\n const dispatch = store.dispatch;\r\n const { autoQuality, canPlayVideo, firstPlay, qualityLevels } = store.getState().controller;\r\n const { settings } = store.getState().user;\r\n const qualityLevel = settings.quality === -1 && autoQuality ? qualityLevels[autoQuality] : qualityLevels[settings.quality!];\r\n let waitingDuration = 0;\r\n if (!!waitingTimerRef.current) waitingDuration = Date.now() - waitingTimerRef.current;\r\n if (firstPlay && !!videoTag().played)\r\n sendFluentLog(\r\n initLog(\r\n loadingDurationRef.current,\r\n Date.now() - initialWaitingDurationRef.current,\r\n bannerLoadingDurationRef.current - initialWaitingDurationRef.current,\r\n Date.now() - timerRef.current,\r\n timerRef\r\n )\r\n );\r\n dispatch(setFirstPlay(false));\r\n if (canPlayVideo && waitingDuration > 0 && qualityLevel !== undefined) {\r\n waitingDurationRef.current = waitingDuration;\r\n waitingTimerRef.current = 0;\r\n sendFluentLog(loadingLog(waitingDuration, qualityLevel, timerRef, loadingCounterRef, videoEntranceTimeRef.current));\r\n loadingCounterRef.current = loadingCounterRef.current + 1;\r\n timerRef.current = Date.now();\r\n }\r\n};\r\n\r\nexport const handleVideoPause = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n sendFluentLog(pausePlayLog(false));\r\n dispatch(setPlay(false));\r\n};\r\n\r\nexport const handleVideoTimeUpdate = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { selectedSubtitle } = store.getState().videoData;\r\n event.preventDefault();\r\n handlePreview(event);\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n if (selectedSubtitle && selectedSubtitle.activeCues && selectedSubtitle.activeCues.length > 0)\r\n dispatch(setSubtitleText(selectedSubtitle.activeCues[0].text));\r\n};\r\n\r\nexport const handleVideoCanPlay = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { settings } = store.getState().user;\r\n event.preventDefault();\r\n dispatch(setIsLoading(false));\r\n dispatch(setCanPlayVideo(true));\r\n videoTag().volume = settings.volume / 100;\r\n if (!conditions(ConditionName.isIOSLive)) dispatch(setDuration(event.target.duration));\r\n if (conditions(ConditionName.isIOS)) {\r\n const subtitle: any = Object.values(event.target.textTracks);\r\n if (!!subtitle && subtitle.length) dispatch(setSubtitles(!!Object.values(subtitle[0]).length ? subtitle : []));\r\n } else dispatch(setSubtitles(Object.values(event.target.textTracks)));\r\n};\r\n\r\nexport const handleVideoEnded = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { params } = store.getState().videoData;\r\n event.preventDefault();\r\n dispatch(setIsLiveError(true));\r\n dispatch(setIsEnded(true));\r\n dispatch(setActiveElements(true));\r\n handleVideoTimeline(videoTag().duration);\r\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\r\n};\r\n\r\n// ************* IOS Video Tag Handlers ************* //\r\n\r\nexport const handleIosVideoPlay = (event: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n timerRef.current = Date.now();\r\n dispatch(setFirstPlay(false));\r\n};\r\n\r\nexport const handleIosVideoPlaying = () => {\r\n const dispatch = store.dispatch;\r\n dispatch(setIsLoading(false));\r\n};\r\n\r\nexport const handleIosVideoTimeUpdate = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n handlePreview(event);\r\n};\r\n\r\nexport const handleIosVideoEnded = () => {\r\n const { params } = store.getState().videoData;\r\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\r\n};\r\n\r\n// ************* Static Video Tag Handlers ************* //\r\n\r\nexport const handleStaticVideoPause = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setPlay(false));\r\n};\r\n\r\nexport const handleStaticVideoPlay = (event: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setPlay(true));\r\n timerRef.current = Date.now();\r\n if (conditions(ConditionName.isFirstPlay) && conditions(ConditionName.hasFullScreenParams)) handleAutoFullScreen();\r\n if (conditions(ConditionName.isFullScreen)) handleLockOrientation();\r\n};\r\n\r\nexport const handleStaticVideoPlaying = (loadingDurationRef: any, initialWaitingDurationRef: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n const { firstPlay } = store.getState().controller;\r\n dispatch(setIsLoading(false));\r\n if (firstPlay && !!videoTag().played)\r\n sendFluentLog(\r\n initLog(\r\n Math.round(loadingDurationRef.current),\r\n Date.now() - initialWaitingDurationRef.current,\r\n 0,\r\n Date.now() - timerRef.current,\r\n timerRef\r\n )\r\n );\r\n dispatch(setFirstPlay(false));\r\n};\r\n\r\nexport const handleStaticVideoTimeUpdate = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n dispatch(setDuration(event.target.duration));\r\n};\r\n\r\nexport const handleStaticVideoCanPlay = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setIsLoading(false));\r\n dispatch(setCanPlayVideo(true));\r\n};\r\n\r\nexport const handleStaticVideoLoadedData = (event: any, intervalRef: any) => {\r\n event.preventDefault();\r\n handleBufferedTime(event, intervalRef);\r\n};\r\n\r\nexport const handleStaticVideoEnded = (event: any) => {\r\n const { params } = store.getState().videoData;\r\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\r\n event.preventDefault();\r\n};\r\n\r\n// ************* Quiz Video Tag Handlers ************* //\r\nexport const handleQuizVideoTimeUpdate = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n};\r\n\r\nexport const handleQuizVideoPlaying = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setFirstPlay(false));\r\n};\r\n\r\n// ************* MultiLive Video Tag Handlers ************* //\r\nexport const handleMultiLiveManifestParsed = (hls: any) =>\r\n (hls.nextLevel = hls.levels.findIndex((level: any) => level.attrs.RESOLUTION!.split(\"x\")[1].trim() === \"144\"));\r\n\r\nexport const handleMultiLiveMediaAttached = async (Hls: any, hls: any) => {\r\n const { multiLives } = store.getState().videoData;\r\n const { stream_link } = await getLiveAndVodDetails(multiLives[0].user_id);\r\n hls.loadSource(stream_link);\r\n hls.on(Hls.Events.MANIFEST_PARSED, () => handleMultiLiveManifestParsed(hls));\r\n};\r\n\r\nexport const handleMultiLiveFragLoading = async (hls: any) => {\r\n const dispatch = store.dispatch;\r\n if (conditions(ConditionName.isLiveParam)) dispatch(setHlsLivePosition(hls.liveSyncPosition));\r\n};\r\n\r\nexport const handleVideoVisibilityChange = (hls: any) => {\r\n handleVideoTimeline(videoTag().currentTime);\r\n if (conditions(ConditionName.isVisibilityChange)) {\r\n if (document.hidden) hls.stopLoad();\r\n else hls.startLoad();\r\n }\r\n};\r\n"]}
@@ -0,0 +1,2 @@
1
+ var r=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var c=(e,t)=>()=>(e&&(t=e(e=0)),t);var s=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),_=(e,t)=>{for(var m in t)r(e,m,{get:t[m],enumerable:!0})},f=(e,t,m,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of a(t))!p.call(e,o)&&o!==m&&r(e,o,{get:()=>t[o],enumerable:!(i=n(t,o))||i.enumerable});return e};var d=e=>f(r({},"__esModule",{value:!0}),e);var l=c(()=>{});export{c as a,s as b,_ as c,d,l as e};
2
+ //# sourceMappingURL=chunk-TU7BZ2RY.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../node_modules/tsup/assets/esm_shims.js"],"sourcesContent":["// Shim globals in esm bundle\nimport { fileURLToPath } from 'url'\nimport path from 'path'\n\nconst getFilename = () => fileURLToPath(import.meta.url)\nconst getDirname = () => path.dirname(getFilename())\n\nexport const __dirname = /* @__PURE__ */ getDirname()\nexport const __filename = /* @__PURE__ */ getFilename()\n"],"mappings":"yfAAA,IAAAA,EAAAC,EAAA","names":["init_esm_shims","__esmMin"]}
@@ -0,0 +1,2 @@
1
+ import{$ as P,A as _,G as U,H,I as i,O as l,T as W,a as m,b as v,ba as r,c as u,d as k,e as A,f,g as q,h as y,i as O,j as x,k as g,l as Q,ma as T,na as M,o as C,oa as $,p as S,pa as p,q as B,ua as F,v as N,w as z,wa as w,x as D,y as L}from"./chunk-5F7JQEMY.mjs";import{e as I}from"./chunk-TU7BZ2RY.mjs";I();var G=()=>{let t=i.dispatch,{params:e}=i.getState().videoData,a=n=>{n.requestFullScreen?n.requestFullScreen():n.mozRequestFullScreen?n.mozRequestFullScreen():n.webkitRequestFullScreen&&n.webkitRequestFullScreen()};t(U()),a(document.documentElement),t(O(e.fullscreen==="true"))},Se=()=>{let t=".ts",e=XMLHttpRequest.prototype.open;XMLHttpRequest.prototype.open=function(){arguments[1].endsWith(t)&&(arguments[1]=arguments[1]+"?uuid="+W()),e.apply(this,arguments)}},Z=(t,e)=>{let a=i.dispatch;e.current=setInterval(()=>{let s=t.target.buffered.end(0)/l().duration*100;a(x(s))},500)},De=()=>{let{params:t,streamLinkParams:e}=i.getState().videoData;return{xhrSetup:(a,n)=>{n.split("m3u8")[1]||(n=`${n}${e}`),a.open("GET",n,!0)},startLevel:t.type==="live"?1:-1,debug:!1,enableWorker:!0,liveDurationInfinity:r("hasQuizParams"),maxLiveSyncPlaybackRate:r("hasQuizParams")?2:1,abrBandWidthUpFactor:r("hasQuizParams")?.6:.7,abrBandWidthFactor:r("hasQuizParams")?.8:.95,backBufferLength:r("hasQuizParams")?2:1/0,maxBufferLength:r("hasQuizParams")?12:30,maxMaxBufferLength:r("hasQuizParams")?600:60,liveMaxLatencyDuration:r("hasQuizParams")?8:void 0,manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:10,retryDelayMs:5e3,maxRetryDelayMs:1e4},errorRetry:{maxNumRetry:10,retryDelayMs:5e3,maxRetryDelayMs:1e4}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:10,retryDelayMs:5e3,maxRetryDelayMs:1e4},errorRetry:{maxNumRetry:10,retryDelayMs:5e3,maxRetryDelayMs:1e4}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:10,retryDelayMs:5e3,maxRetryDelayMs:1e4},errorRetry:{maxNumRetry:10,retryDelayMs:5e3,maxRetryDelayMs:1e4}}}}};var ee=(t,e)=>{let a=i.dispatch,n=[],s=[""],d=[];if(t.levels.map(o=>{n.push(o.attrs.RESOLUTION.split("x")[1].trim()),s.push(`${(o.bitrate/1e3).toFixed(0)}kbps`),d.push(o.attrs.RESOLUTION)}),t.autoLevelCapping=P(d,window.innerWidth,window.innerHeight),a(k(n)),a(A(s)),["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","msfullscreenchange"].forEach(o=>document.addEventListener(o,c=>{r("isAutoQuality")&&(t.autoLevelCapping=P(d,window.innerWidth,window.innerHeight),t.nextLevel=-1)},!1)),e.audioTracks.length>0){let o=e.audioTracks.sort(c=>c.default===!0?-1:1);a(z(o))}},te=t=>t.audioTrack=0,Le=(t,e)=>{let{params:a,details:n}=i.getState().videoData,s=r("isGeneral")?a.src:n.stream_link;e.loadSource(s),e.on(t.Events.MANIFEST_PARSED,(d,o)=>ee(e,o)),e.on(t.Events.MANIFEST_LOADED,()=>te(e))},j=(t,e,a)=>{if(e.frag.type!=="audio"){let n=i.dispatch,{settings:s}=i.getState().user,{qualityLevels:d,manualQuality:o,autoQuality:c}=i.getState().controller;r("isAutoQuality")?r("isAutoQuality")&&c===void 0?(t.nextLevel=-1,a(d[e.frag.level]),n(f(e.frag.level))):r("isAutoQuality")&&(a(d[e.frag.level]),c!==e.frag.level&&n(f(e.frag.level))):(e.frag.level!==o&&(t.nextLevel=d[s.quality]?s.quality:-1),d[s.quality]?(n(C(s.quality)),n(f(void 0))):(a(d[e.frag.level]),n(f(e.frag.level)),n(H({...s,quality:-1}))))}},Pe=t=>{let e=i.dispatch,n=t.mainForwardBufferInfo?.end/l().duration*100;e(x(n))},Te=t=>{let e=i.dispatch;r("isLiveParam")&&e(Q(t.liveSyncPosition))},Me=(t,e,a,n)=>{let{params:s,multiAudio:d,selectedAudioId:o}=i.getState().videoData;d&&o!==void 0&&o!==e.audioTrack&&(e.audioTrack=o,e.trigger(t.Events.AUDIO_TRACK_LOADING,d[o])),(s.type||!r("isLiveParam"))&&j(e,a,n)},Fe=(t,e,a)=>{let{type:n}=i.getState().videoData.params;(n||n==="live")&&j(t,e,a)},we=(t,e)=>{if(e.event!=="hlsAudioTrackLoading")return{type:"HLS_"+e.type,message:e.error.message}},X=t=>{let e=i.dispatch,{params:a,details:n}=i.getState().videoData,s=r("hasPreviewStart")?n.preview_start:0,d=r("hasPreviewEnd")?n.preview_end:l()?l().duration:0;a.preview==="true"&&t.target.currentTime>=d&&(l().currentTime=s,e(u(s)))},Re=(t,e)=>{let a=i.dispatch;t.preventDefault(),e.current=Date.now(),a(y(!0))},Ve=(t,e)=>{let a=i.dispatch;t.preventDefault(),e.current=0,a(y(!0))},be=(t,e)=>{let a=i.dispatch,{details:n,params:s}=i.getState().videoData,{videoSettings:d}=i.getState().user;if(t.preventDefault(),e.current=Date.now(),a(m(!0)),r("isFirstPlay")){if(r("isLiveParam")||(l().currentTime=s.t?+s.t:d.time,a(u(s.t?+s.t:d.time))),r("hasFullScreenParams")&&G(),r("isFullScreen")&&F(),r("hasPreviewParams")){let o=n.preview_start?n.preview_start:0;l().currentTime=o,a(u(o))}a(_([Math.floor(l().currentTime)]))}p(T(!0)),a(L(""))},Ee=(t,e,a,n,s,d,o,c)=>{let K=i.dispatch,{autoQuality:R,canPlayVideo:J,firstPlay:Y,qualityLevels:V}=i.getState().controller,{settings:b}=i.getState().user,E=b.quality===-1&&R?V[R]:V[b.quality],h=0;o.current&&(h=Date.now()-o.current),Y&&l().played&&p(M(e.current,Date.now()-a.current,n.current-a.current,Date.now()-s.current,s)),K(g(!1)),J&&h>0&&E!==void 0&&(d.current=h,o.current=0,p($(h,E,s,t,c.current)),t.current=t.current+1,s.current=Date.now())},Ie=t=>{let e=i.dispatch;t.preventDefault(),p(T(!1)),e(m(!1))},ke=t=>{let e=i.dispatch,{selectedSubtitle:a}=i.getState().videoData;t.preventDefault(),X(t),e(u(t.target.currentTime)),a&&a.activeCues&&a.activeCues.length>0&&e(L(a.activeCues[0].text))},Ae=t=>{let e=i.dispatch,{settings:a}=i.getState().user;if(t.preventDefault(),e(y(!1)),e(S(!0)),l().volume=a.volume/100,r("isIOSLive")||e(v(t.target.duration)),r("isIOS")){let n=Object.values(t.target.textTracks);n&&n.length&&e(D(Object.values(n[0]).length?n:[]))}else e(D(Object.values(t.target.textTracks)))},qe=t=>{let e=i.dispatch,{params:a}=i.getState().videoData;t.preventDefault(),e(N(!0)),e(B(!0)),e(q(!0)),w(l().duration),r("hasOnFinishedParams")&&a.onFinished()},Oe=(t,e)=>{let a=i.dispatch;t.preventDefault(),e.current=Date.now(),a(g(!1))},Qe=()=>{let t=i.dispatch;t(y(!1))},Ce=t=>{let e=i.dispatch;t.preventDefault(),e(u(t.target.currentTime)),X(t)},Be=()=>{let{params:t}=i.getState().videoData;r("hasOnFinishedParams")&&t.onFinished()},Ne=t=>{let e=i.dispatch;t.preventDefault(),e(m(!1))},ze=(t,e)=>{let a=i.dispatch;t.preventDefault(),a(m(!0)),e.current=Date.now(),r("isFirstPlay")&&r("hasFullScreenParams")&&G(),r("isFullScreen")&&F()},_e=(t,e,a)=>{let n=i.dispatch,{firstPlay:s}=i.getState().controller;n(y(!1)),s&&l().played&&p(M(Math.round(t.current),Date.now()-e.current,0,Date.now()-a.current,a)),n(g(!1))},Ue=t=>{let e=i.dispatch;t.preventDefault(),e(u(t.target.currentTime)),e(v(t.target.duration))},He=t=>{let e=i.dispatch;t.preventDefault(),e(y(!1)),e(S(!0))},We=(t,e)=>{t.preventDefault(),Z(t,e)},$e=t=>{let{params:e}=i.getState().videoData;r("hasOnFinishedParams")&&e.onFinished(),t.preventDefault()};var Ge=t=>{w(l().currentTime),r("isVisibilityChange")&&(document.hidden?t.stopLoad():t.startLoad())};export{Se as a,De as b,ee as c,te as d,Le as e,Pe as f,Te as g,Me as h,Fe as i,we as j,Re as k,Ve as l,be as m,Ee as n,Ie as o,ke as p,Ae as q,qe as r,Oe as s,Qe as t,Ce as u,Be as v,Ne as w,ze as x,_e as y,Ue as z,He as A,We as B,$e as C,Ge as D};
2
+ //# sourceMappingURL=chunk-VA5NNH6I.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/videoPlayerLibrary/helpers/redux/actions/playerCore.actions.ts"],"sourcesContent":["import { conditions } from \"../../conditions/conditions\";\r\nimport { videoTag } from \"../../constants\";\r\nimport { getUUID, highestResolutionSupported } from \"../../helpers\";\r\nimport { ConditionName } from \"../../interfaces/enums\";\r\nimport { sendFluentLog } from \"../../logs/fluentdLogger\";\r\nimport { initLog, loadingLog, pausePlayLog } from \"../../logs/logs\";\r\nimport {\r\n setActiveElements,\r\n setAutoQuality,\r\n setBufferedTimeWidth,\r\n setCanPlayVideo,\r\n setCurrentTime,\r\n setDuration,\r\n setFirstPlay,\r\n setHlsLivePosition,\r\n setIsEnded,\r\n setIsFullScreen,\r\n setIsLoading,\r\n setLoadedFragmentsCount,\r\n setManualQuality,\r\n setPlay,\r\n setQualityBitrates,\r\n setQualityLevels\r\n} from \"../slices/controllerSlice\";\r\nimport { setClearPopoversSlice } from \"../slices/popoversSlice\";\r\nimport { setUserSettings } from \"../slices/userSlice\";\r\nimport {\r\n setIsLiveError,\r\n setMultiAudio,\r\n setSubtitleText,\r\n setSubtitles,\r\n setVideoTimelines\r\n} from \"../slices/videoDataSlice\";\r\nimport store from \"../store\";\r\nimport { handleLockOrientation, handleVideoTimeline } from \"./controller.actions\";\r\nimport { getLiveAndVodDetails } from \"./videoData.actions\";\r\n\r\nexport const handleAutoFullScreen = () => {\r\n const dispatch = store.dispatch;\r\n const { params } = store.getState().videoData;\r\n const launchFullScreen = (element: any) => {\r\n if (element.requestFullScreen) element.requestFullScreen();\r\n else if (element.mozRequestFullScreen) element.mozRequestFullScreen();\r\n else if (element.webkitRequestFullScreen) element.webkitRequestFullScreen();\r\n };\r\n dispatch(setClearPopoversSlice());\r\n launchFullScreen(document.documentElement);\r\n dispatch(setIsFullScreen(params.fullscreen === \"true\"));\r\n};\r\n\r\nexport const appendQueryParamsToChunksIOS = () => {\r\n let fragmentExtension = \".ts\";\r\n let originalOpen = XMLHttpRequest.prototype.open;\r\n XMLHttpRequest.prototype.open = function () {\r\n if (arguments[1].endsWith(fragmentExtension)) arguments[1] = arguments[1] + \"?uuid=\" + getUUID!();\r\n originalOpen.apply(this, arguments as any);\r\n };\r\n};\r\n\r\nexport const handleBufferedTime = (event: any, intervalRef: any) => {\r\n const dispatch = store.dispatch;\r\n intervalRef.current = setInterval(() => {\r\n const bufferedTime = event.target.buffered.end(0);\r\n const bufferedTimeWidth = (bufferedTime / videoTag().duration) * 100;\r\n dispatch(setBufferedTimeWidth(bufferedTimeWidth));\r\n }, 500);\r\n};\r\n\r\n// ************* Hls Config Handlers ************* //\r\nexport const handleHlsConfig = () => {\r\n const { params, streamLinkParams } = store.getState().videoData;\r\n return {\r\n xhrSetup: (xhr: any, url: any) => {\r\n if (!url.split(\"m3u8\")[1]) url = `${url}${streamLinkParams}`;\r\n xhr.open(\"GET\", url, true);\r\n },\r\n startLevel: params.type === \"live\" ? 1 : -1,\r\n debug: false,\r\n enableWorker: true,\r\n liveDurationInfinity: conditions(ConditionName.hasQuizParams),\r\n maxLiveSyncPlaybackRate: conditions(ConditionName.hasQuizParams) ? 2 : 1,\r\n abrBandWidthUpFactor: conditions(ConditionName.hasQuizParams) ? 0.6 : 0.7,\r\n abrBandWidthFactor: conditions(ConditionName.hasQuizParams) ? 0.8 : 0.95,\r\n backBufferLength: conditions(ConditionName.hasQuizParams) ? 2 : Infinity,\r\n maxBufferLength: conditions(ConditionName.hasQuizParams) ? 12 : 30,\r\n maxMaxBufferLength: conditions(ConditionName.hasQuizParams) ? 600 : 60,\r\n liveMaxLatencyDuration: conditions(ConditionName.hasQuizParams) ? 8 : undefined,\r\n manifestLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: Infinity,\r\n maxLoadTimeMs: 20000,\r\n timeoutRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000\r\n },\r\n errorRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000\r\n }\r\n }\r\n },\r\n fragLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: 10000,\r\n maxLoadTimeMs: 120000,\r\n timeoutRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000\r\n },\r\n errorRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000\r\n }\r\n }\r\n },\r\n playlistLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: 10000,\r\n maxLoadTimeMs: 20000,\r\n timeoutRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000\r\n },\r\n errorRetry: {\r\n maxNumRetry: 10,\r\n retryDelayMs: 5000,\r\n maxRetryDelayMs: 10000\r\n }\r\n }\r\n }\r\n };\r\n};\r\n\r\nexport const handleMultiLiveHlsConfig = () => {\r\n const { streamLinkParams } = store.getState().videoData;\r\n return {\r\n xhrSetup: (xhr: any, url: any) => {\r\n url = `${url}${streamLinkParams}`;\r\n xhr.open(\"GET\", url, true);\r\n },\r\n startLevel: 1,\r\n debug: false,\r\n maxMaxBufferLength: 60,\r\n playlistLoadPolicy: {\r\n default: {\r\n maxTimeToFirstByteMs: 10000,\r\n maxLoadTimeMs: 20000,\r\n timeoutRetry: {\r\n maxNumRetry: 1000,\r\n retryDelayMs: 0,\r\n maxRetryDelayMs: 0\r\n },\r\n errorRetry: {\r\n maxNumRetry: 1000,\r\n retryDelayMs: 1000,\r\n maxRetryDelayMs: 1000\r\n }\r\n }\r\n }\r\n };\r\n};\r\n\r\n// ************* Manifest Handlers ************* //\r\n\r\nexport const handleManifestParsed = (hls: any, data: any) => {\r\n const dispatch = store.dispatch;\r\n let qualityLevels: any[] = [];\r\n let qualityBitrates: string[] = [\"\"];\r\n let resolutions: any[] = [];\r\n hls.levels.map((level: any) => {\r\n qualityLevels.push(level.attrs.RESOLUTION!.split(\"x\")[1].trim());\r\n qualityBitrates.push(`${(level.bitrate / 1000).toFixed(0)}kbps`);\r\n resolutions.push(level.attrs.RESOLUTION!);\r\n });\r\n hls.autoLevelCapping = highestResolutionSupported(resolutions, window.innerWidth, window.innerHeight);\r\n dispatch(setQualityLevels(qualityLevels));\r\n dispatch(setQualityBitrates(qualityBitrates));\r\n [\"fullscreenchange\", \"webkitfullscreenchange\", \"mozfullscreenchange\", \"msfullscreenchange\"].forEach((eventType) =>\r\n document.addEventListener(\r\n eventType,\r\n (event: any) => {\r\n if (conditions(ConditionName.isAutoQuality)) {\r\n hls.autoLevelCapping = highestResolutionSupported(resolutions, window.innerWidth, window.innerHeight);\r\n hls.nextLevel = -1;\r\n }\r\n },\r\n false\r\n )\r\n );\r\n if (data.audioTracks.length > 0) {\r\n const sortedAudioTracks = data.audioTracks.sort((a: any) => (a.default === true ? -1 : 1));\r\n dispatch(setMultiAudio(sortedAudioTracks));\r\n }\r\n};\r\n\r\nexport const handleManifestLoaded = (hls: any) => (hls.audioTrack = 0);\r\n\r\nexport const handleMediaAttached = (Hls: any, hls: any) => {\r\n const { params, details } = store.getState().videoData;\r\n let streamLink = conditions(ConditionName.isGeneral) ? params.src! : details.stream_link;\r\n hls.loadSource(streamLink);\r\n hls.on(Hls.Events.MANIFEST_PARSED, (event: any, data: any) => handleManifestParsed(hls, data));\r\n hls.on(Hls.Events.MANIFEST_LOADED, () => handleManifestLoaded(hls));\r\n};\r\n\r\n// ************* Level Handlers ************* //\r\n\r\nexport const handleLevels = (hls: any, data: any, setQualityLevel: any) => {\r\n if (data.frag.type !== \"audio\") {\r\n const dispatch = store.dispatch;\r\n const { settings } = store.getState().user;\r\n const { qualityLevels, manualQuality, autoQuality } = store.getState().controller;\r\n if (!conditions(ConditionName.isAutoQuality)) {\r\n if (data.frag.level !== manualQuality) hls.nextLevel = qualityLevels[settings.quality!] ? settings.quality : -1;\r\n if (qualityLevels[settings.quality!]) {\r\n dispatch(setManualQuality(settings.quality!));\r\n dispatch(setAutoQuality(undefined));\r\n } else {\r\n setQualityLevel(qualityLevels[data.frag.level]);\r\n dispatch(setAutoQuality(data.frag.level));\r\n dispatch(setUserSettings({ ...settings, quality: -1 }));\r\n }\r\n } else if (conditions(ConditionName.isAutoQuality) && autoQuality === undefined) {\r\n hls.nextLevel = -1;\r\n setQualityLevel(qualityLevels[data.frag.level]);\r\n dispatch(setAutoQuality(data.frag.level));\r\n } else if (conditions(ConditionName.isAutoQuality)) {\r\n setQualityLevel(qualityLevels[data.frag.level]);\r\n if (autoQuality !== data.frag.level) dispatch(setAutoQuality(data.frag.level));\r\n }\r\n }\r\n};\r\n\r\n// ************* Fragment Handlers ************* //\r\n\r\nexport const handleFragBuffered = (hls: any) => {\r\n const dispatch = store.dispatch;\r\n const bufferedTime = hls.mainForwardBufferInfo?.end;\r\n const bufferedTimeWidth = (bufferedTime! / videoTag().duration) * 100;\r\n dispatch(setBufferedTimeWidth(bufferedTimeWidth));\r\n};\r\n\r\nexport const handleFragLoading = (hls: any) => {\r\n const dispatch = store.dispatch;\r\n if (conditions(ConditionName.isLiveParam)) dispatch(setHlsLivePosition(hls.liveSyncPosition));\r\n};\r\n\r\nexport const handleFragChanged = (Hls: any, hls: any, data: any, setQualityLevel: any) => {\r\n const { params, multiAudio, selectedAudioId } = store.getState().videoData;\r\n\r\n if (multiAudio && selectedAudioId !== undefined && selectedAudioId !== hls.audioTrack) {\r\n hls.audioTrack = selectedAudioId;\r\n hls.trigger(Hls.Events.AUDIO_TRACK_LOADING, multiAudio[selectedAudioId]);\r\n }\r\n if (params.type || !conditions(ConditionName.isLiveParam)) handleLevels(hls, data, setQualityLevel);\r\n};\r\n\r\nexport const handleFragParsed = (hls: any, data: any, setQualityLevel: any) => {\r\n const { type } = store.getState().videoData.params;\r\n if (type || type === \"live\") handleLevels(hls, data, setQualityLevel);\r\n};\r\n\r\n// ************* HLS Error Handlers ************* //\r\n\r\nexport const handleHlsErrors = (Hls: any, data: any) => {\r\n if (data.event !== \"hlsAudioTrackLoading\") return { type: \"HLS_\" + data.type, message: data.error.message };\r\n return undefined;\r\n};\r\n\r\nexport const handlePreview = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { params, details } = store.getState().videoData;\r\n const previewStart = conditions(ConditionName.hasPreviewStart) ? details.preview_start : 0;\r\n const previewEnd = conditions(ConditionName.hasPreviewEnd) ? details.preview_end : videoTag() ? videoTag().duration : 0;\r\n if (params.preview === \"true\" && event.target.currentTime >= previewEnd!) {\r\n videoTag().currentTime = previewStart!;\r\n dispatch(setCurrentTime(previewStart!));\r\n }\r\n};\r\n\r\n// ************* Video Tag Handlers ************* //\r\n\r\nexport const handleVideoWaiting = (event: any, waitingTimerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n waitingTimerRef.current = Date.now();\r\n dispatch(setIsLoading(true));\r\n};\r\n\r\nexport const handleVideoSeeking = (event: any, waitingTimerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n waitingTimerRef.current = 0;\r\n dispatch(setIsLoading(true));\r\n};\r\n\r\nexport const handleVideoPlay = (event: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n const { details, params } = store.getState().videoData;\r\n const { videoSettings } = store.getState().user;\r\n event.preventDefault();\r\n timerRef.current = Date.now();\r\n dispatch(setPlay(true));\r\n if (conditions(ConditionName.isFirstPlay)) {\r\n if (!conditions(ConditionName.isLiveParam)) {\r\n videoTag().currentTime = params.t ? +params.t : videoSettings.time;\r\n dispatch(setCurrentTime(params.t ? +params.t : videoSettings.time));\r\n }\r\n if (conditions(ConditionName.hasFullScreenParams)) handleAutoFullScreen();\r\n if (conditions(ConditionName.isFullScreen)) handleLockOrientation();\r\n if (conditions(ConditionName.hasPreviewParams)) {\r\n const previewStart = details.preview_start ? details.preview_start : 0;\r\n videoTag().currentTime = previewStart;\r\n dispatch(setCurrentTime(previewStart));\r\n }\r\n dispatch(setVideoTimelines([Math.floor(videoTag().currentTime)]));\r\n }\r\n sendFluentLog(pausePlayLog(true));\r\n dispatch(setSubtitleText(\"\"));\r\n};\r\n\r\nexport const handleVideoPlaying = (\r\n loadingCounterRef: any,\r\n loadingDurationRef: any,\r\n initialWaitingDurationRef: any,\r\n bannerLoadingDurationRef: any,\r\n timerRef: any,\r\n waitingDurationRef: any,\r\n waitingTimerRef: any,\r\n videoEntranceTimeRef: any\r\n) => {\r\n const dispatch = store.dispatch;\r\n const { autoQuality, canPlayVideo, firstPlay, qualityLevels } = store.getState().controller;\r\n const { settings } = store.getState().user;\r\n const qualityLevel = settings.quality === -1 && autoQuality ? qualityLevels[autoQuality] : qualityLevels[settings.quality!];\r\n let waitingDuration = 0;\r\n if (!!waitingTimerRef.current) waitingDuration = Date.now() - waitingTimerRef.current;\r\n if (firstPlay && !!videoTag().played)\r\n sendFluentLog(\r\n initLog(\r\n loadingDurationRef.current,\r\n Date.now() - initialWaitingDurationRef.current,\r\n bannerLoadingDurationRef.current - initialWaitingDurationRef.current,\r\n Date.now() - timerRef.current,\r\n timerRef\r\n )\r\n );\r\n dispatch(setFirstPlay(false));\r\n if (canPlayVideo && waitingDuration > 0 && qualityLevel !== undefined) {\r\n waitingDurationRef.current = waitingDuration;\r\n waitingTimerRef.current = 0;\r\n sendFluentLog(loadingLog(waitingDuration, qualityLevel, timerRef, loadingCounterRef, videoEntranceTimeRef.current));\r\n loadingCounterRef.current = loadingCounterRef.current + 1;\r\n timerRef.current = Date.now();\r\n }\r\n};\r\n\r\nexport const handleVideoPause = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n sendFluentLog(pausePlayLog(false));\r\n dispatch(setPlay(false));\r\n};\r\n\r\nexport const handleVideoTimeUpdate = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { selectedSubtitle } = store.getState().videoData;\r\n event.preventDefault();\r\n handlePreview(event);\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n if (selectedSubtitle && selectedSubtitle.activeCues && selectedSubtitle.activeCues.length > 0)\r\n dispatch(setSubtitleText(selectedSubtitle.activeCues[0].text));\r\n};\r\n\r\nexport const handleVideoCanPlay = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { settings } = store.getState().user;\r\n event.preventDefault();\r\n dispatch(setIsLoading(false));\r\n dispatch(setCanPlayVideo(true));\r\n videoTag().volume = settings.volume / 100;\r\n if (!conditions(ConditionName.isIOSLive)) dispatch(setDuration(event.target.duration));\r\n if (conditions(ConditionName.isIOS)) {\r\n const subtitle: any = Object.values(event.target.textTracks);\r\n if (!!subtitle && subtitle.length) dispatch(setSubtitles(!!Object.values(subtitle[0]).length ? subtitle : []));\r\n } else dispatch(setSubtitles(Object.values(event.target.textTracks)));\r\n};\r\n\r\nexport const handleVideoEnded = (event: any) => {\r\n const dispatch = store.dispatch;\r\n const { params } = store.getState().videoData;\r\n event.preventDefault();\r\n dispatch(setIsLiveError(true));\r\n dispatch(setIsEnded(true));\r\n dispatch(setActiveElements(true));\r\n handleVideoTimeline(videoTag().duration);\r\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\r\n};\r\n\r\n// ************* IOS Video Tag Handlers ************* //\r\n\r\nexport const handleIosVideoPlay = (event: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n timerRef.current = Date.now();\r\n dispatch(setFirstPlay(false));\r\n};\r\n\r\nexport const handleIosVideoPlaying = () => {\r\n const dispatch = store.dispatch;\r\n dispatch(setIsLoading(false));\r\n};\r\n\r\nexport const handleIosVideoTimeUpdate = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n handlePreview(event);\r\n};\r\n\r\nexport const handleIosVideoEnded = () => {\r\n const { params } = store.getState().videoData;\r\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\r\n};\r\n\r\n// ************* Static Video Tag Handlers ************* //\r\n\r\nexport const handleStaticVideoPause = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setPlay(false));\r\n};\r\n\r\nexport const handleStaticVideoPlay = (event: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setPlay(true));\r\n timerRef.current = Date.now();\r\n if (conditions(ConditionName.isFirstPlay) && conditions(ConditionName.hasFullScreenParams)) handleAutoFullScreen();\r\n if (conditions(ConditionName.isFullScreen)) handleLockOrientation();\r\n};\r\n\r\nexport const handleStaticVideoPlaying = (loadingDurationRef: any, initialWaitingDurationRef: any, timerRef: any) => {\r\n const dispatch = store.dispatch;\r\n const { firstPlay } = store.getState().controller;\r\n dispatch(setIsLoading(false));\r\n if (firstPlay && !!videoTag().played)\r\n sendFluentLog(\r\n initLog(\r\n Math.round(loadingDurationRef.current),\r\n Date.now() - initialWaitingDurationRef.current,\r\n 0,\r\n Date.now() - timerRef.current,\r\n timerRef\r\n )\r\n );\r\n dispatch(setFirstPlay(false));\r\n};\r\n\r\nexport const handleStaticVideoTimeUpdate = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n dispatch(setDuration(event.target.duration));\r\n};\r\n\r\nexport const handleStaticVideoCanPlay = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setIsLoading(false));\r\n dispatch(setCanPlayVideo(true));\r\n};\r\n\r\nexport const handleStaticVideoLoadedData = (event: any, intervalRef: any) => {\r\n event.preventDefault();\r\n handleBufferedTime(event, intervalRef);\r\n};\r\n\r\nexport const handleStaticVideoEnded = (event: any) => {\r\n const { params } = store.getState().videoData;\r\n if (conditions(ConditionName.hasOnFinishedParams)) params.onFinished!();\r\n event.preventDefault();\r\n};\r\n\r\n// ************* Quiz Video Tag Handlers ************* //\r\nexport const handleQuizVideoTimeUpdate = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setCurrentTime(event.target.currentTime));\r\n};\r\n\r\nexport const handleQuizVideoPlaying = (event: any) => {\r\n const dispatch = store.dispatch;\r\n event.preventDefault();\r\n dispatch(setFirstPlay(false));\r\n};\r\n\r\n// ************* MultiLive Video Tag Handlers ************* //\r\nexport const handleMultiLiveManifestParsed = (hls: any) =>\r\n (hls.nextLevel = hls.levels.findIndex((level: any) => level.attrs.RESOLUTION!.split(\"x\")[1].trim() === \"144\"));\r\n\r\nexport const handleMultiLiveMediaAttached = async (Hls: any, hls: any) => {\r\n const { multiLives } = store.getState().videoData;\r\n const { stream_link } = await getLiveAndVodDetails(multiLives[0].user_id);\r\n hls.loadSource(stream_link);\r\n hls.on(Hls.Events.MANIFEST_PARSED, () => handleMultiLiveManifestParsed(hls));\r\n};\r\n\r\nexport const handleMultiLiveFragLoading = async (hls: any) => {\r\n const dispatch = store.dispatch;\r\n if (conditions(ConditionName.isLiveParam)) dispatch(setHlsLivePosition(hls.liveSyncPosition));\r\n};\r\n\r\nexport const handleVideoVisibilityChange = (hls: any) => {\r\n handleVideoTimeline(videoTag().currentTime);\r\n if (conditions(ConditionName.isVisibilityChange)) {\r\n if (document.hidden) hls.stopLoad();\r\n else hls.startLoad();\r\n }\r\n};\r\n"],"mappings":"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","names":["init_esm_shims","handleAutoFullScreen","dispatch","store_default","params","launchFullScreen","element","setClearPopoversSlice","setIsFullScreen","appendQueryParamsToChunksIOS","fragmentExtension","originalOpen","getUUID","handleBufferedTime","event","intervalRef","bufferedTimeWidth","videoTag","setBufferedTimeWidth","handleHlsConfig","streamLinkParams","xhr","url","conditions","handleManifestParsed","hls","data","dispatch","store_default","qualityLevels","qualityBitrates","resolutions","level","highestResolutionSupported","setQualityLevels","setQualityBitrates","eventType","event","conditions","sortedAudioTracks","a","setMultiAudio","handleManifestLoaded","handleMediaAttached","Hls","params","details","streamLink","handleLevels","setQualityLevel","settings","manualQuality","autoQuality","setAutoQuality","setManualQuality","setUserSettings","handleFragBuffered","bufferedTimeWidth","videoTag","setBufferedTimeWidth","handleFragLoading","setHlsLivePosition","handleFragChanged","multiAudio","selectedAudioId","handleFragParsed","type","handleHlsErrors","handlePreview","previewStart","previewEnd","setCurrentTime","handleVideoWaiting","waitingTimerRef","setIsLoading","handleVideoSeeking","handleVideoPlay","timerRef","videoSettings","setPlay","handleAutoFullScreen","handleLockOrientation","setVideoTimelines","sendFluentLog","pausePlayLog","setSubtitleText","handleVideoPlaying","loadingCounterRef","loadingDurationRef","initialWaitingDurationRef","bannerLoadingDurationRef","waitingDurationRef","videoEntranceTimeRef","canPlayVideo","firstPlay","qualityLevel","waitingDuration","initLog","setFirstPlay","loadingLog","handleVideoPause","handleVideoTimeUpdate","selectedSubtitle","handleVideoCanPlay","setCanPlayVideo","setDuration","subtitle","setSubtitles","handleVideoEnded","setIsLiveError","setIsEnded","setActiveElements","handleVideoTimeline","handleIosVideoPlay","handleIosVideoPlaying","handleIosVideoTimeUpdate","handleIosVideoEnded","handleStaticVideoPause","handleStaticVideoPlay","handleStaticVideoPlaying","handleStaticVideoTimeUpdate","handleStaticVideoCanPlay","handleStaticVideoLoadedData","intervalRef","handleBufferedTime","handleStaticVideoEnded","handleVideoVisibilityChange","hls","handleVideoTimeline","videoTag","conditions"]}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkA3BCKK27js = require('./chunk-A3BCKK27.js');_chunkA3BCKK27js.e.call(void 0, );var t=({className:e,onClick:n})=>React.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e,onClick:n},React.createElement("path",{d:"M6 6L18.7742 18.7742",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),React.createElement("path",{d:"M6 18.7744L18.7742 6.00022",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})),s= exports.default =t;exports.default = s;
2
+ //# sourceMappingURL=closeIcon-F4QAFIMQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/videoPlayerLibrary/components/icon-components/closeIcon.tsx"],"names":["init_cjs_shims","CloseIcon","className","onClick","closeIcon_default"],"mappings":"wCAAAA,IAEA,IAAMC,EAAY,CAAC,CAAE,UAAAC,EAAW,QAAAC,CAAQ,IAEhC,oBAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAA6B,UAAWD,EAAW,QAASC,GAC1H,oBAAC,QAAK,EAAE,uBAAuB,YAAY,IAAI,cAAc,QAAQ,eAAe,QAAQ,EAC5F,oBAAC,QAAK,EAAE,6BAA6B,YAAY,IAAI,cAAc,QAAQ,eAAe,QAAQ,CACtG,EAIDC,EAAQH","sourcesContent":["import { ICloseIconProps } from \"../../helpers/interfaces/interfaces\";\r\n\r\nconst CloseIcon = ({ className, onClick }: ICloseIconProps) => {\r\n return (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" className={className} onClick={onClick}>\r\n <path d=\"M6 6L18.7742 18.7742\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\r\n <path d=\"M6 18.7744L18.7742 6.00022\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\r\n </svg>\r\n );\r\n};\r\n\r\nexport default CloseIcon;\r\n"]}
@@ -0,0 +1,2 @@
1
+ import{e as o}from"./chunk-TU7BZ2RY.mjs";o();var t=({className:e,onClick:n})=>React.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e,onClick:n},React.createElement("path",{d:"M6 6L18.7742 18.7742",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),React.createElement("path",{d:"M6 18.7744L18.7742 6.00022",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})),i=t;export{i as default};
2
+ //# sourceMappingURL=closeIcon-XWQDG2XW.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/videoPlayerLibrary/components/icon-components/closeIcon.tsx"],"sourcesContent":["import { ICloseIconProps } from \"../../helpers/interfaces/interfaces\";\r\n\r\nconst CloseIcon = ({ className, onClick }: ICloseIconProps) => {\r\n return (\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" className={className} onClick={onClick}>\r\n <path d=\"M6 6L18.7742 18.7742\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\r\n <path d=\"M6 18.7744L18.7742 6.00022\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\r\n </svg>\r\n );\r\n};\r\n\r\nexport default CloseIcon;\r\n"],"mappings":"yCAAAA,IAEA,IAAMC,EAAY,CAAC,CAAE,UAAAC,EAAW,QAAAC,CAAQ,IAEhC,oBAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAA6B,UAAWD,EAAW,QAASC,GAC1H,oBAAC,QAAK,EAAE,uBAAuB,YAAY,IAAI,cAAc,QAAQ,eAAe,QAAQ,EAC5F,oBAAC,QAAK,EAAE,6BAA6B,YAAY,IAAI,cAAc,QAAQ,eAAe,QAAQ,CACtG,EAIDC,EAAQH","names":["init_esm_shims","CloseIcon","className","onClick","closeIcon_default"]}
Binary file
Binary file
package/index.d.mts ADDED
@@ -0,0 +1,61 @@
1
+ import * as react from 'react';
2
+
3
+ interface IParams {
4
+ src?: string;
5
+ type?: string;
6
+ id?: string;
7
+ fullscreen?: string;
8
+ autoplay?: string;
9
+ portrait?: string;
10
+ t?: string;
11
+ h?: string;
12
+ isGeneral?: string;
13
+ raw?: string;
14
+ theme?: string;
15
+ provider?: string;
16
+ snapshot?: string;
17
+ fullrate?: string;
18
+ "e-url"?: string;
19
+ "e-cover"?: string;
20
+ cover?: string;
21
+ uid?: string;
22
+ user_id?: string;
23
+ user_ids?: string;
24
+ preview?: string;
25
+ isAuth?: string;
26
+ authentication?: string;
27
+ site?: string;
28
+ xToken?: string;
29
+ width?: string;
30
+ height?: string;
31
+ chart?: string;
32
+ onFinished?: Function;
33
+ showModuleTitle?: string;
34
+ scrollElementId?: string;
35
+ onSnapshot?: (snapshot: string) => void;
36
+ isMarkersChange?: boolean;
37
+ quiz?: string;
38
+ featureSet?: {
39
+ downloadUrl?: string;
40
+ feedback?: string;
41
+ personalMarker?: string;
42
+ profileFooter?: string;
43
+ bookmark?: string;
44
+ continuousPlayback?: string;
45
+ videoUploadTime?: string;
46
+ videoViewers?: string;
47
+ recommendationList?: string;
48
+ chat?: string;
49
+ playlist?: string;
50
+ enableTracker?: string;
51
+ };
52
+ uuid?: string;
53
+ handleRedirectCards?: (id: string, type: string) => void;
54
+ homeButtonClickFlag?: number | null;
55
+ }
56
+
57
+ declare const VideoPlayerLibrary: ({ params }: {
58
+ params: IParams;
59
+ }) => react.JSX.Element;
60
+
61
+ export { VideoPlayerLibrary as default };
package/index.d.ts ADDED
@@ -0,0 +1,61 @@
1
+ import * as react from 'react';
2
+
3
+ interface IParams {
4
+ src?: string;
5
+ type?: string;
6
+ id?: string;
7
+ fullscreen?: string;
8
+ autoplay?: string;
9
+ portrait?: string;
10
+ t?: string;
11
+ h?: string;
12
+ isGeneral?: string;
13
+ raw?: string;
14
+ theme?: string;
15
+ provider?: string;
16
+ snapshot?: string;
17
+ fullrate?: string;
18
+ "e-url"?: string;
19
+ "e-cover"?: string;
20
+ cover?: string;
21
+ uid?: string;
22
+ user_id?: string;
23
+ user_ids?: string;
24
+ preview?: string;
25
+ isAuth?: string;
26
+ authentication?: string;
27
+ site?: string;
28
+ xToken?: string;
29
+ width?: string;
30
+ height?: string;
31
+ chart?: string;
32
+ onFinished?: Function;
33
+ showModuleTitle?: string;
34
+ scrollElementId?: string;
35
+ onSnapshot?: (snapshot: string) => void;
36
+ isMarkersChange?: boolean;
37
+ quiz?: string;
38
+ featureSet?: {
39
+ downloadUrl?: string;
40
+ feedback?: string;
41
+ personalMarker?: string;
42
+ profileFooter?: string;
43
+ bookmark?: string;
44
+ continuousPlayback?: string;
45
+ videoUploadTime?: string;
46
+ videoViewers?: string;
47
+ recommendationList?: string;
48
+ chat?: string;
49
+ playlist?: string;
50
+ enableTracker?: string;
51
+ };
52
+ uuid?: string;
53
+ handleRedirectCards?: (id: string, type: string) => void;
54
+ homeButtonClickFlag?: number | null;
55
+ }
56
+
57
+ declare const VideoPlayerLibrary: ({ params }: {
58
+ params: IParams;
59
+ }) => react.JSX.Element;
60
+
61
+ export { VideoPlayerLibrary as default };