node_modules ignore

This commit is contained in:
oier committed 2025-05-08 23:43:47 +02:00
1 parent e19d52f172
commit 4574544c9f
65041 files changed
+10593536

No files matched your search

+9
View File
@@ -0,0 +1,9 @@
MIT License
Copyright (c) 2021 Mux, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+9
View File
@@ -0,0 +1,9 @@
# Playback Core
This is a collection of utility functions directly related to the playback and Mux Data integration with various mux elements.
It is currently used by `mux-video`, `mux-video-react`, `mux-audio`, and `mux-audio-react`.
You shouldn't need use this package directly, but if you're building something custom for your application you may find it handy.
Check the `src/index.ts` file to see the functions and types that get exported.
+13
View File
@@ -0,0 +1,13 @@
"use strict";var xt=Object.create;var $=Object.defineProperty;var vt=Object.getOwnPropertyDescriptor;var Pt=Object.getOwnPropertyNames;var Dt=Object.getPrototypeOf,_t=Object.prototype.hasOwnProperty;var kt=(e,t)=>{for(var r in t)$(e,r,{get:t[r],enumerable:!0})},be=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Pt(t))!_t.call(e,o)&&o!==r&&$(e,o,{get:()=>t[o],enumerable:!(n=vt(t,o))||n.enumerable});return e};var xe=(e,t,r)=>(r=e!=null?xt(Dt(e)):{},be(t||!e||!e.__esModule?$(r,"default",{value:e,enumerable:!0}):r,e)),ht=e=>be($({},"__esModule",{value:!0}),e);var er={};kt(er,{AutoplayTypes:()=>U,CmcdTypeValues:()=>Lt,CmcdTypes:()=>w,ExtensionMimeTypeMap:()=>L,Hls:()=>R,MaxResolution:()=>St,MediaError:()=>f,MimeTypeShorthandMap:()=>H,MinResolution:()=>wt,MuxErrorCategory:()=>C,MuxErrorCode:()=>g,MuxJWTAud:()=>X,PlaybackTypes:()=>B,RenditionOrder:()=>Ot,StreamTypes:()=>P,addChapters:()=>de,addCuePoints:()=>se,addTextTrack:()=>z,allMediaTypes:()=>At,errorCategoryToTokenNameOrPrefix:()=>O,generatePlayerInitTime:()=>Jt,generateUUID:()=>at,getActiveChapter:()=>le,getActiveCuePoint:()=>ie,getAppCertificate:()=>mt,getChapters:()=>Ke,getCuePoints:()=>Ve,getCurrentPdt:()=>We,getDRMConfig:()=>yt,getEnded:()=>dt,getError:()=>it,getLicenseKey:()=>Et,getLiveEdgeStart:()=>zt,getMediaPlaylistLinesFromMultivariantPlaylistSrc:()=>Qe,getSeekable:()=>ye,getStartDate:()=>Ye,getStreamInfoFromHlsjsLevelDetails:()=>rt,getStreamInfoFromPlaylistLines:()=>Ze,getStreamInfoFromSrcAndType:()=>et,getStreamType:()=>fe,getStreamTypeConfig:()=>Tt,getTargetLiveWindow:()=>jt,getTextTrack:()=>A,i18n:()=>E,initialize:()=>Qt,isKeyOf:()=>S,isMuxVideoSrc:()=>Me,isPseudoEnded:()=>ut,isStuckOnLastFragment:()=>Ee,loadMedia:()=>Rt,mux:()=>W.default,muxMediaState:()=>D,parseJwt:()=>G,removeTextTrack:()=>Oe,setupChapters:()=>pe,setupCuePoints:()=>ce,setupHls:()=>ft,setupMux:()=>Mt,setupNativeFairplayDRM:()=>gt,shorthandKeys:()=>It,teardown:()=>lt,toAppCertURL:()=>ge,toDRMTypeFromKeySystem:()=>Xe,toLicenseKeyURL:()=>Y,toMuxVideoURL:()=>Gt,toPlaybackIdFromSrc:()=>st,toPlaybackIdParts:()=>V,updateStreamInfoFromHlsjsLevelDetails:()=>nt,updateStreamInfoFromSrc:()=>tt});module.exports=ht(er);var W=xe(require("mux-embed"));var ve=xe(require("hls.js")),R=ve.default;var C={VIDEO:"video",THUMBNAIL:"thumbnail",STORYBOARD:"storyboard",DRM:"drm"},g={NOT_AN_ERROR:0,NETWORK_OFFLINE:2000002,NETWORK_UNKNOWN_ERROR:2e6,NETWORK_NO_STATUS:2000001,NETWORK_INVALID_URL:24e5,NETWORK_NOT_FOUND:2404e3,NETWORK_NOT_READY:2412e3,NETWORK_GENERIC_SERVER_FAIL:25e5,NETWORK_TOKEN_MISSING:2403201,NETWORK_TOKEN_MALFORMED:2412202,NETWORK_TOKEN_EXPIRED:2403210,NETWORK_TOKEN_AUD_MISSING:2403221,NETWORK_TOKEN_AUD_MISMATCH:2403222,NETWORK_TOKEN_SUB_MISMATCH:2403232,ENCRYPTED_ERROR:5e6,ENCRYPTED_UNSUPPORTED_KEY_SYSTEM:5000001,ENCRYPTED_GENERATE_REQUEST_FAILED:5000002,ENCRYPTED_UPDATE_LICENSE_FAILED:5000003,ENCRYPTED_UPDATE_SERVER_CERT_FAILED:5000004,ENCRYPTED_CDM_ERROR:5000005,ENCRYPTED_OUTPUT_RESTRICTED:5000006,ENCRYPTED_MISSING_TOKEN:5000002},O=e=>e===C.VIDEO?"playback":e,k=class k extends Error{constructor(t,r=k.MEDIA_ERR_CUSTOM,n,o){var a;super(t),this.name="MediaError",this.code=r,this.context=o,this.fatal=n!=null?n:r>=k.MEDIA_ERR_NETWORK&&r<=k.MEDIA_ERR_ENCRYPTED,this.message||(this.message=(a=k.defaultMessages[this.code])!=null?a:"")}};k.MEDIA_ERR_ABORTED=1,k.MEDIA_ERR_NETWORK=2,k.MEDIA_ERR_DECODE=3,k.MEDIA_ERR_SRC_NOT_SUPPORTED=4,k.MEDIA_ERR_ENCRYPTED=5,k.MEDIA_ERR_CUSTOM=100,k.defaultMessages={1:"You aborted the media playback",2:"A network error caused the media download to fail.",3:"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.",4:"An unsupported error occurred. The server or network failed, or your browser does not support this format.",5:"The media is encrypted and there are no keys to decrypt it."};var f=k;var Nt=e=>e==null,S=(e,t)=>Nt(t)?!1:e in t,U={ANY:"any",MUTED:"muted"},P={ON_DEMAND:"on-demand",LIVE:"live",UNKNOWN:"unknown"},B={MSE:"mse",NATIVE:"native"},w={HEADER:"header",QUERY:"query",NONE:"none"},Lt=Object.values(w),L={M3U8:"application/vnd.apple.mpegurl",MP4:"video/mp4"},H={HLS:L.M3U8},It=Object.keys(H),At=[...Object.values(L),"hls","HLS"],St={upTo720p:"720p",upTo1080p:"1080p",upTo1440p:"1440p",upTo2160p:"2160p"},wt={noLessThan480p:"480p",noLessThan540p:"540p",noLessThan720p:"720p",noLessThan1080p:"1080p",noLessThan1440p:"1440p",noLessThan2160p:"2160p"},Ot={DESCENDING:"desc"};var Ut="en",J={code:Ut};var x=(e,t,r,n,o=e)=>{o.addEventListener(t,r,n),e.addEventListener("teardown",()=>{o.removeEventListener(t,r)},{once:!0})};function Pe(e,t,r){t&&r>t&&(r=t);for(let n=0;n<e.length;n++)if(e.start(n)<=r&&e.end(n)>=r)return!0;return!1}var V=e=>{let t=e.indexOf("?");if(t<0)return[e];let r=e.slice(0,t),n=e.slice(t);return[r,n]},F=e=>{let t=e.type;if(t){let n=t.toUpperCase();return S(n,H)?H[n]:t}let{src:r}=e;return r?Ht(r):""},te=e=>e==="VOD"?P.ON_DEMAND:P.LIVE,re=e=>e==="EVENT"?Number.POSITILine truncated
`).find((n,o,a)=>o&&a[o-1].startsWith("#EXT-X-STREAM-INF"));return fetch(r).then(n=>n.status!==200?Promise.reject(n):n.text()).then(n=>n.split(`
`))}),Ze=e=>{var s,u,l;let r=(u=((s=e.find(c=>c.startsWith("#EXT-X-PLAYLIST-TYPE")))!=null?s:"").split(":")[1])==null?void 0:u.trim(),n=te(r),o=re(r),a;if(n===P.LIVE){let c=e.find(d=>d.startsWith("#EXT-X-PART-INF"));if(!!c)a=+c.split(":")[1].split("=")[1]*2;else{let d=e.find(y=>y.startsWith("#EXT-X-TARGETDURATION")),p=(l=d==null?void 0:d.split(":"))==null?void 0:l[1];a=+(p!=null?p:6)*3}}return{streamType:n,targetLiveWindow:o,liveEdgeStartOffset:a}},et=async(e,t)=>{if(t===L.MP4)return{streamType:P.ON_DEMAND,targetLiveWindow:Number.NaN,liveEdgeStartOffset:void 0};if(t===L.M3U8){let r=await Qe(e);return Ze(r)}return console.error(`Media type ${t} is an unrecognized or unsupported type for src ${e}.`),{streamType:void 0,targetLiveWindow:void 0,liveEdgeStartOffset:void 0}},tt=async(e,t,r=F({src:e}))=>{var s,u,l;let{streamType:n,targetLiveWindow:o,liveEdgeStartOffset:a}=await et(e,r);((s=D.get(t))!=null?s:{}).liveEdgeStartOffset=a,((u=D.get(t))!=null?u:{}).targetLiveWindow=o,t.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((l=D.get(t))!=null?l:{}).streamType=n,t.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},rt=e=>{var s;let t=e.type,r=te(t),n=re(t),o,a=!!((s=e.partList)!=null&&s.length);return r===P.LIVE&&(o=a?e.partTarget*2:e.targetduration*3),{streamType:r,targetLiveWindow:n,liveEdgeStartOffset:o,lowLatency:a}},nt=(e,t,r)=>{var u,l,c,i,d,p,T,y;let{streamType:n,targetLiveWindow:o,liveEdgeStartOffset:a,lowLatency:s}=rt(e);if(n===P.LIVE){s?(r.config.backBufferLength=(u=r.userConfig.backBufferLength)!=null?u:4,r.config.maxFragLookUpTolerance=(l=r.userConfig.maxFragLookUpTolerance)!=null?l:.001,r.config.abrBandWidthUpFactor=(c=r.userConfig.abrBandWidthUpFactor)!=null?c:r.config.abrBandWidthFactor):r.config.backBufferLength=(i=r.userConfig.backBufferLength)!=null?i:8;let v=Object.freeze({get length(){return t.seekable.length},start(_){return t.seekable.start(_)},end(_){var M;return _>this.length||_<0||Number.isFinite(t.duration)?t.seekable.end(_):(M=r.liveSyncPosition)!=null?M:t.seekable.end(_)}});((d=D.get(t))!=null?d:{}).seekable=v}((p=D.get(t))!=null?p:{}).liveEdgeStartOffset=a,((T=D.get(t))!=null?T:{}).targetLiveWindow=o,t.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((y=D.get(t))!=null?y:{}).streamType=n,t.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},$e,Be,Yt=(Be=($e=globalThis==null?void 0:globalThis.navigator)==null?void 0:$e.userAgent)!=null?Be:"",Je,Ge,qe,Wt=(qe=(Ge=(Je=globalThis==null?void 0:globalThis.navigator)==null?void 0:Je.userAgentData)==null?void 0:Ge.platform)!=null?qe:"",$t=Yt.toLowerCase().includes("android")||["x11","android"].some(e=>Wt.toLowerCase().includes(e)),D=new WeakMap,I="mux.com",je,ze,ot=(ze=(je=R).isSupported)==null?void 0:ze.call(je),Bt=$t,Jt=()=>W.default.utils.now(),at=W.default.utils.generateUUID,Gt=({playbackId:e,customDomain:t=I,maxResolution:r,minResolution:n,renditionOrder:o,programStartTime:a,programEndTime:s,assetStartTime:u,assetEndTime:l,playbackToken:c,tokens:{playback:i=c}={},extraSourceParams:d={}}={})=>{if(!e)return;let[p,T=""]=V(e),y=new URL(`https://stream.${t}/${p}.m3u8${T}`);return i||y.searchParams.has("token")?(y.searchParams.forEach((v,_)=>{_!="token"&&y.searchParams.delete(_)}),i&&y.searchParams.set("token",i)):(r&&y.searchParams.set("max_resolution",r),n&&(y.searchParams.set("min_resolution",n),r&&+r.slice(0,-1)<+n.slice(0,-1)&&console.error("minResolution must be <= maxResolution","minResolution",n,"maxResolution",r)),o&&y.searchParams.set("rendition_order",o),a&&y.searchParams.set("program_start_time",`${a}`),s&&y.searchParams.set("program_end_time",`${s}`),u&&y.searchParams.set("asset_start_time",`${u}`),l&&y.searchParams.set("asset_end_time",`${l}`),Object.entries(d).forEach(([v,_])=>{_!=null&&y.searchParams.set(v,_)})),y.toString()},Z=e=>{if(!e)return;let[t]=e.split("?");return t||void 0},st=e=>{if(!e||!e.startsWith("https://stream."))return;let[t]=new URL(e).pathname.slice(1).split(".m3u8");return t||void 0},qt=e=>{var t,r,n;return(t=e==null?void 0:e.metadata)!=null&&t.video_id?e.metadata.video_id:Me(e)&&(n=(r=Z(e.playbackId))!=null?r:st(e.src))!=null?n:e.src},it=e=>{var t;return(t=D.get(e))==null?void 0:t.error},fe=e=>{var t,r;return(r=(t=D.get(e))==null?void 0:t.streamType)!=null?r:P.UNKNOWN},jt=e=>{var t,r;return(r=(t=D.get(e))==null?void 0:t.targetLiveWindow)!=null?r:Number.NaN},ye=e=>{var t,r;return(r=(t=D.get(e))==null?void 0:t.seekable)!=null?r:e.seekable},zt=e=>{var n;let t=(n=D.get(e))==null?void 0:n.liveEdgeStartOffset;if(typeof t!="number")return Number.NaN;let r=ye(e);return r.length?r.end(r.length-1)-t:Number.NaN},me=.034,Xt=(e,t,r=me)=>Math.abs(e-t)<=r,ct=(e,t,r=me)=>e>t||Xt(e,t,r),ut=(e,t=me)=>e.paused&&ct(e.currentTime,e.duration,t),Ee=(e,t)=>{var c,i,d;if(!t||!e.buffered.length)return;if(e.readyState>2)return!1;let r=t.currentLevel>=0?(i=(c=t.levels)==null?void 0:c[t.currentLevel])==null?void 0:i.deta Line truncated
`:""}${e.response&&(e.response.code||e.response.text)?`response: ${e.response.code}, ${e.response.text}
`:""}${e.reason?`failure reason: ${e.reason}
`:""}${e.level?`level: ${e.level}
`:""}${e.parent?`parent stream controller: ${e.parent}
`:""}${e.buffer?`buffer length: ${e.buffer}
`:""}${e.error?`error: ${e.error}
`:""}${e.event?`event: ${e.event}
`:""}${e.err?`error message: ${(c=e.err)==null?void 0:c.message}
`:""}`),a.data=e,a};
//# sourceMappingURL=index.cjs.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../src/index.ts", "../src/hls.ts", "../src/errors.ts", "../src/types.ts", "../lang/en.json", "../src/util.ts", "../src/autoplay.ts", "../src/preload.ts", "../src/media-tracks.ts", "../src/text-tracks.ts", "../src/pdt.ts", "../src/request-errors.ts"],
"sourcesContent": ["import type { ValueOf, PlaybackCore, MuxMediaProps, MuxMediaPropsInternal, MuxMediaPropTypes } from './types';\nimport mux, { ErrorEvent } from 'mux-embed';\nimport Hls from './hls';\nimport type { HlsInterface } from './hls';\nimport { MediaError, MuxErrorCategory, MuxErrorCode, errorCategoryToTokenNameOrPrefix } from './errors';\nimport { setupAutoplay } from './autoplay';\nimport { setupPreload } from './preload';\nimport { setupMediaTracks } from './media-tracks';\nimport {\n setupTextTracks,\n addTextTrack,\n removeTextTrack,\n getTextTrack,\n addCuePoints,\n getCuePoints,\n getActiveCuePoint,\n setupCuePoints,\n addChapters,\n getChapters,\n getActiveChapter,\n setupChapters,\n} from './text-tracks';\nimport { getStartDate, getCurrentPdt } from './pdt';\nimport {\n inSeekableRange,\n toPlaybackIdParts,\n getType,\n toStreamTypeFromPlaylistType,\n toTargetLiveWindowFromPlaylistType,\n addEventListenerWithTeardown,\n i18n,\n parseJwt,\n} from './util';\nimport { StreamTypes, PlaybackTypes, ExtensionMimeTypeMap, CmcdTypes, HlsPlaylistTypes, MediaTypes } from './types';\nimport { ErrorDetails, ErrorTypes, type ErrorData, type HlsConfig } from 'hls.js';\nimport { getErrorFromResponse, MuxJWTAud } from './request-errors';\n// import { MediaKeySessionContext } from 'hls.js';\nexport {\n mux,\n Hls,\n MediaError,\n MuxErrorCategory,\n MuxErrorCode,\n errorCategoryToTokenNameOrPrefix,\n MuxJWTAud,\n addTextTrack,\n removeTextTrack,\n getTextTrack,\n addCuePoints,\n getCuePoints,\n getActiveCuePoint,\n setupCuePoints,\n addChapters,\n getChapters,\n getActiveChapter,\n setupChapters,\n getStartDate,\n getCurrentPdt,\n toPlaybackIdParts,\n i18n,\n parseJwt,\n};\nexport * from './types';\n\nconst DRMType = {\n FAIRPLAY: 'fairplay',\n PLAYREADY: 'playready',\n WIDEVINE: 'widevine',\n} as const;\n\ntype DRMTypeValue = (typeof DRMType)[keyof typeof DRMType];\nexport const toDRMTypeFromKeySystem = (keySystem: string): DRMTypeValue | undefined => {\n if (keySystem.includes('fps')) return DRMType.FAIRPLAY;\n if (keySystem.includes('playready')) return DRMType.PLAYREADY;\n if (keySystem.includes('widevine')) return DRMType.WIDEVINE;\n return undefined;\n};\n\nexport const getMediaPlaylistLinesFromMultivariantPlaylistSrc = async (src: string) => {\n return fetch(src)\n .then((resp) => {\n if (resp.status !== 200) {\n return Promise.reject(resp);\n }\n return resp.text();\n })\n .then((multivariantPlaylistStr) => {\n const mediaPlaylistUrl = multivariantPlaylistStr.split('\\n').find((_line, idx, lines) => {\n return idx && lines[idx - 1].startsWith('#EXT-X-STREAM-INF');\n }) as string;\n\n return fetch(mediaPlaylistUrl)\n .then((resp) => {\n if (resp.status !== 200) {\n return Promise.reject(resp);\n }\n return resp.text();\n })\n .then((mediaPlaylistStr) => mediaPlaylistStr.split('\\n'));\n });\n};\n\nexport const getStreamInfoFromPlaylistLines = (playlistLines: string[]) => {\n const typeLine = playlistLines.find((line) => line.startsWith('#EXT-X-PLAYLIST-TYPE')) ?? '';\n const playlistType = typeLine.split(':')[1]?.trim() as HlsPlaylistTypes;\n const streamType = toStreamTypeFromPlaylistType(playlistType);\n const targetLiveWindow = toTargetLiveWindowFromPlaylistType(playlistType);\n\n // Computation of the live edge start offset per media-ui-extensions proposal. See: https://github.com/video-dev/media-ui-extensions/blob/main/proposals/0007-live-edge.md#recommended-computation-for-rfc8216bis12-aka-hls (CJP)\n let liveEdgeStartOffset = undefined;\n\n if (streamType === StreamTypes.LIVE) {\n // Required if playlist contains one or more EXT-X-PART tags. See: https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis-12#section-4.4.3.7 (CJP)\n const partInfLine = playlistLines.find((line) => line.startsWith('#EXT-X-PART-INF'));\n const lowLatency = !!partInfLine;\n\n if (lowLatency) {\n // The EXT-X-PART-INF only has one in-spec named attribute, PART-TARGET, which is required,\n // so parsing & casting presumptuously here. See spec link above for more info. (CJP)\n const partTarget = +partInfLine.split(':')[1].split('=')[1];\n liveEdgeStartOffset = partTarget * 2;\n } else {\n // This is required for all media playlists. See: https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis-12#section-4.4.3.1 (CJP)\n const targetDurationLine = playlistLines.find((line) => line.startsWith('#EXT-X-TARGETDURATION')) as string;\n // EXT-X-TARGETDURATION has exactly one unnamed attribute that represents the target duration value, which is required,\n // so parsing and casting presumptuously here. See spec link above for more info. (CJP)\n const targetDurationValue = targetDurationLine?.split(':')?.[1];\n // NOTE: Defaulting here and using optional chaining above siLine truncated
"mappings": "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 truncated
"names": ["src_exports", "__export", "AutoplayTypes", "CmcdTypeValues", "CmcdTypes", "ExtensionMimeTypeMap", "hls_default", "MaxResolution", "MediaError", "MimeTypeShorthandMap", "MinResolution", "MuxErrorCategory", "MuxErrorCode", "MuxJWTAud", "PlaybackTypes", "RenditionOrder", "StreamTypes", "addChapters", "addCuePoints", "addTextTrack", "allMediaTypes", "errorCategoryToTokenNameOrPrefix", "generatePlayerInitTime", "generateUUID", "getActiveChapter", "getActiveCuePoint", "getAppCertificate", "getChapters", "getCuePoints", "getCurrentPdt", "getDRMConfig", "getEnded", "getError", "getLicenseKey", "getLiveEdgeStart", "getMediaPlaylistLinesFromMultivariantPlaylistSrc", "getSeekable", "getStartDate", "getStreamInfoFromHlsjsLevelDetails", "getStreamInfoFromPlaylistLines", "getStreamInfoFromSrcAndType", "getStreamType", "getStreamTypeConfig", "getTargetLiveWindow", "getTextTrack", "i18n", "initialize", "isKeyOf", "isMuxVideoSrc", "isPseudoEnded", "isStuckOnLastFragment", "loadMedia", "mux", "muxMediaState", "parseJwt", "removeTextTrack", "setupChapters", "setupCuePoints", "setupHls", "setupMux", "setupNativeFairplayDRM", "shorthandKeys", "teardown", "toAppCertURL", "toDRMTypeFromKeySystem", "toLicenseKeyURL", "toMuxVideoURL", "toPlaybackIdFromSrc", "toPlaybackIdParts", "updateStreamInfoFromHlsjsLevelDetails", "updateStreamInfoFromSrc", "__toCommonJS", "import_mux_embed", "import_hls", "hls_default", "Hls", "MuxErrorCategory", "MuxErrorCode", "errorCategoryToTokenNameOrPrefix", "category", "_MediaError", "message", "code", "fatal", "context", "_a", "MediaError", "isNil", "x", "isKeyOf", "k", "o", "AutoplayTypes", "StreamTypes", "PlaybackTypes", "CmcdTypes", "CmcdTypeValues", "ExtensionMimeTypeMap", "MimeTypeShorthandMap", "shorthandKeys", "allMediaTypes", "MaxResolution", "MinResolution", "RenditionOrder", "code", "en_default", "addEventListenerWithTeardown", "mediaEl", "type", "listener", "options", "target", "inSeekableRange", "seekable", "duration", "time", "i", "toPlaybackIdParts", "playbackIdWithOptionalParams", "qIndex", "idPart", "queryPart", "getType", "props", "upperType", "isKeyOf", "MimeTypeShorthandMap", "src", "inferMimeTypeFromURL", "toStreamTypeFromPlaylistType", "playlistType", "StreamTypes", "toTargetLiveWindowFromPlaylistType", "url", "pathname", "extDelimIdx", "upperExt", "ExtensionMimeTypeMap", "parseJwt", "token", "base64Url", "base64", "jsonPayload", "c", "isJWTExpired", "exp", "referenceTime", "isJWTSubMismatch", "sub", "expectedSub", "isJWTAudMissing", "aud", "_expectedAud", "isJWTAudMismatch", "expectedAud", "DEFAULT_LOCALE", "i18n", "str", "translate", "_a", "_b", "message", "en_default", "locale", "IntlMessageFormat", "values", "match", "key", "AutoplayTypeValues", "AutoplayTypes", "isAutoplayValue", "value", "setupAutoplay", "props", "mediaEl", "hls", "maybeAutoplay", "hasPlayed", "isLive", "autoplay", "updateHasPlayed", "addEventListenerWithTeardown", "handleAutoplay", "StreamTypes", "hls_default", "e", "data", "_a", "handleSeek", "newAutoplay", "oldMuted", "restoreMuted", "setupPreload", "preload", "src", "mediaEl", "hls", "updatePreload", "val", "hasLoadedSource", "hasPlayFired", "originalLength", "originalSize", "updateHlsPreload", "newPreload", "safeLoadSource", "addEventListenerWithTeardown", "setupMediaTracks", "customMediaEl", "hls", "_a", "levelIdMap", "hls_default", "event", "data", "removeAllMediaTracks", "videoTrack", "id", "level", "videoRendition", "removeAudioTracks", "a", "kind", "audioTrack", "audioTrackId", "t", "availableIds", "levelIds", "l", "rendition", "switchRendition", "smoothSwitch", "levelIndex", "currentTime", "flushedFwdBuffer", "callback", "removeVideoTracks", "cuePointStart", "cuePoint", "setupTextTracks", "mediaEl", "hls", "hls_default", "_type", "tracks", "trackObj", "_a", "_b", "baseTrackObj", "idx", "lang", "name", "type", "id", "addTextTrack", "changeHandler", "showingTrack", "textTrack", "currentHlsTrack", "hlsTrackId", "defaultTrack", "cue", "track", "cues", "disabled", "trackEl", "forceHiddenTracks", "selector", "src", "kind", "label", "removeTextTrack", "trackElement", "getTextTrack", "addCuesToTextTrack", "resolve", "cuePointA", "cuePointB", "value", "startTime", "cueAfterIndex", "cueAfter", "endTime", "previousCue", "DEFAULT_CUEPOINTS_TRACK_LABEL", "DefaultCuePointsConfig", "addCuePoints", "cuePoints", "cuePointsConfig", "toCuePoint", "getCuePoints", "getActiveCuePoint", "currentTime", "actualActiveCue", "setupCuePoints", "addEventListenerWithTeardown", "activeCuePoint", "evt", "DEFAULT_CHAPTERS_TRACK_LABEL", "DefaultChaptersConfig", "vttCueToChapter", "addChapters", "chapters", "chaptersConfig", "getChapters", "getActiveChapter", "setupChapters", "getStartDate", "mediaEl", "hls", "playingDate", "getCurrentPdt", "startDate", "import_hls", "MuxJWTAud", "categoryToAud", "category", "MuxErrorCategory", "categoryToToken", "muxMediaEl", "_a", "_b", "nameOrPrefix", "errorCategoryToTokenNameOrPrefix", "tokenName", "isKeyOf", "getErrorFromResponse",Line truncated
}
+13
View File
@@ -0,0 +1,13 @@
import se from"mux-embed";import qe from"hls.js";var R=qe;var C={VIDEO:"video",THUMBNAIL:"thumbnail",STORYBOARD:"storyboard",DRM:"drm"},M={NOT_AN_ERROR:0,NETWORK_OFFLINE:2000002,NETWORK_UNKNOWN_ERROR:2e6,NETWORK_NO_STATUS:2000001,NETWORK_INVALID_URL:24e5,NETWORK_NOT_FOUND:2404e3,NETWORK_NOT_READY:2412e3,NETWORK_GENERIC_SERVER_FAIL:25e5,NETWORK_TOKEN_MISSING:2403201,NETWORK_TOKEN_MALFORMED:2412202,NETWORK_TOKEN_EXPIRED:2403210,NETWORK_TOKEN_AUD_MISSING:2403221,NETWORK_TOKEN_AUD_MISMATCH:2403222,NETWORK_TOKEN_SUB_MISMATCH:2403232,ENCRYPTED_ERROR:5e6,ENCRYPTED_UNSUPPORTED_KEY_SYSTEM:5000001,ENCRYPTED_GENERATE_REQUEST_FAILED:5000002,ENCRYPTED_UPDATE_LICENSE_FAILED:5000003,ENCRYPTED_UPDATE_SERVER_CERT_FAILED:5000004,ENCRYPTED_CDM_ERROR:5000005,ENCRYPTED_OUTPUT_RESTRICTED:5000006,ENCRYPTED_MISSING_TOKEN:5000002},H=e=>e===C.VIDEO?"playback":e,k=class k extends Error{constructor(t,r=k.MEDIA_ERR_CUSTOM,n,o){var a;super(t),this.name="MediaError",this.code=r,this.context=o,this.fatal=n!=null?n:r>=k.MEDIA_ERR_NETWORK&&r<=k.MEDIA_ERR_ENCRYPTED,this.message||(this.message=(a=k.defaultMessages[this.code])!=null?a:"")}};k.MEDIA_ERR_ABORTED=1,k.MEDIA_ERR_NETWORK=2,k.MEDIA_ERR_DECODE=3,k.MEDIA_ERR_SRC_NOT_SUPPORTED=4,k.MEDIA_ERR_ENCRYPTED=5,k.MEDIA_ERR_CUSTOM=100,k.defaultMessages={1:"You aborted the media playback",2:"A network error caused the media download to fail.",3:"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.",4:"An unsupported error occurred. The server or network failed, or your browser does not support this format.",5:"The media is encrypted and there are no keys to decrypt it."};var T=k;var je=e=>e==null,S=(e,t)=>je(t)?!1:e in t,V={ANY:"any",MUTED:"muted"},D={ON_DEMAND:"on-demand",LIVE:"live",UNKNOWN:"unknown"},q={MSE:"mse",NATIVE:"native"},w={HEADER:"header",QUERY:"query",NONE:"none"},Ut=Object.values(w),N={M3U8:"application/vnd.apple.mpegurl",MP4:"video/mp4"},F={HLS:N.M3U8},Ht=Object.keys(F),Vt=[...Object.values(N),"hls","HLS"],Ft={upTo720p:"720p",upTo1080p:"1080p",upTo1440p:"1440p",upTo2160p:"2160p"},Kt={noLessThan480p:"480p",noLessThan540p:"540p",noLessThan720p:"720p",noLessThan1080p:"1080p",noLessThan1440p:"1440p",noLessThan2160p:"2160p"},Yt={DESCENDING:"desc"};var ze="en",K={code:ze};var x=(e,t,r,n,o=e)=>{o.addEventListener(t,r,n),e.addEventListener("teardown",()=>{o.removeEventListener(t,r)},{once:!0})};function de(e,t,r){t&&r>t&&(r=t);for(let n=0;n<e.length;n++)if(e.start(n)<=r&&e.end(n)>=r)return!0;return!1}var Y=e=>{let t=e.indexOf("?");if(t<0)return[e];let r=e.slice(0,t),n=e.slice(t);return[r,n]},O=e=>{let t=e.type;if(t){let n=t.toUpperCase();return S(n,F)?F[n]:t}let{src:r}=e;return r?Xe(r):""},z=e=>e==="VOD"?D.ON_DEMAND:D.LIVE,X=e=>e==="EVENT"?Number.POSITIVE_INFINITY:e==="VOD"?Number.NaN:0,Xe=e=>{let t="";try{t=new URL(e).pathname}catch{console.error("invalid url")}let r=t.lastIndexOf(".");if(r<0)return"";let o=t.slice(r+1).toUpperCase();return S(o,N)?N[o]:""},Q=e=>{let t=(e!=null?e:"").split(".")[1];if(t)try{let r=t.replace(/-/g,"+").replace(/_/g,"/"),n=decodeURIComponent(atob(r).split("").map(function(o){return"%"+("00"+o.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(n)}catch{return}},le=({exp:e},t=Date.now())=>!e||e*1e3<t,pe=({sub:e},t)=>e!==t,fe=({aud:e},t)=>!e,Te=({aud:e},t)=>e!==t,ye="en";function E(e,t=!0){var o,a;let r=t&&(a=(o=K)==null?void 0:o[e])!=null?a:e,n=t?K.code:ye;return new j(r,n)}var j=class{constructor(t,r=(n=>(n=K)!=null?n:ye)()){this.message=t,this.locale=r}format(t){return this.message.replace(/\{(\w+)\}/g,(r,n)=>{var o;return(o=t[n])!=null?o:""})}toString(){return this.message}};var Qe=Object.values(V),me=e=>typeof e=="boolean"||typeof e=="string"&&Qe.includes(e),Ee=(e,t,r)=>{let{autoplay:n}=e,o=!1,a=!1,s=me(n)?n:!!n,u=()=>{o||x(t,"playing",()=>{o=!0},{once:!0})};if(u(),x(t,"loadstart",()=>{o=!1,u(),Z(t,s)},{once:!0}),x(t,"loadstart",()=>{r||(e.streamType&&e.streamType!==D.UNKNOWN?a=e.streamType===D.LIVE:a=!Number.isFinite(t.duration)),Z(t,s)},{once:!0}),r&&r.once(R.Events.LEVEL_LOADED,(c,i)=>{var d;e.streamType&&e.streamType!==D.UNKNOWN?a=e.streamType===D.LIVE:a=(d=i.details.live)!=null?d:!1}),!s){let c=()=>{!a||Number.isFinite(e.startTime)||(r!=null&&r.liveSyncPosition?t.currentTime=r.liveSyncPosition:Number.isFinite(t.seekable.end(0))&&(t.currentTime=t.seekable.end(0)))};r&&x(t,"play",()=>{t.preload==="metadata"?r.once(R.Events.LEVEL_UPDATED,c):c()},{once:!0})}return c=>{o||(s=me(c)?c:!!c,Z(t,s))}},Z=(e,t)=>{if(!t)return;let r=e.muted,n=()=>e.muted=r;switch(t){case V.ANY:e.play().catch(()=>{e.muted=!0,e.play().catch(n)});break;case V.MUTED:e.muted=!0,e.play().catch(n);break;default:e.play().catch(()=>{});break}};var ge=({preload:e,src:t},r,n)=>{let o=d=>{d!=null&&["","none","metadata","auto"].includes(d)?r.setAttribute("preload",d):r.removeAttribute("preload")};if(!n)return o(e),o;let a=!1,s=!1,u=n.config.maxBufferLength,l=n.config.maxBufferSize,c=d=>{o(d);let p=d!=null?d:r.preloLine truncated
`).find((n,o,a)=>o&&a[o-1].startsWith("#EXT-X-STREAM-INF"));return fetch(r).then(n=>n.status!==200?Promise.reject(n):n.text()).then(n=>n.split(`
`))}),ct=e=>{var s,u,l;let r=(u=((s=e.find(c=>c.startsWith("#EXT-X-PLAYLIST-TYPE")))!=null?s:"").split(":")[1])==null?void 0:u.trim(),n=z(r),o=X(r),a;if(n===D.LIVE){let c=e.find(d=>d.startsWith("#EXT-X-PART-INF"));if(!!c)a=+c.split(":")[1].split("=")[1]*2;else{let d=e.find(y=>y.startsWith("#EXT-X-TARGETDURATION")),p=(l=d==null?void 0:d.split(":"))==null?void 0:l[1];a=+(p!=null?p:6)*3}}return{streamType:n,targetLiveWindow:o,liveEdgeStartOffset:a}},ut=async(e,t)=>{if(t===N.MP4)return{streamType:D.ON_DEMAND,targetLiveWindow:Number.NaN,liveEdgeStartOffset:void 0};if(t===N.M3U8){let r=await it(e);return ct(r)}return console.error(`Media type ${t} is an unrecognized or unsupported type for src ${e}.`),{streamType:void 0,targetLiveWindow:void 0,liveEdgeStartOffset:void 0}},dt=async(e,t,r=O({src:e}))=>{var s,u,l;let{streamType:n,targetLiveWindow:o,liveEdgeStartOffset:a}=await ut(e,r);((s=_.get(t))!=null?s:{}).liveEdgeStartOffset=a,((u=_.get(t))!=null?u:{}).targetLiveWindow=o,t.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((l=_.get(t))!=null?l:{}).streamType=n,t.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},lt=e=>{var s;let t=e.type,r=z(t),n=X(t),o,a=!!((s=e.partList)!=null&&s.length);return r===D.LIVE&&(o=a?e.partTarget*2:e.targetduration*3),{streamType:r,targetLiveWindow:n,liveEdgeStartOffset:o,lowLatency:a}},pt=(e,t,r)=>{var u,l,c,i,d,p,f,y;let{streamType:n,targetLiveWindow:o,liveEdgeStartOffset:a,lowLatency:s}=lt(e);if(n===D.LIVE){s?(r.config.backBufferLength=(u=r.userConfig.backBufferLength)!=null?u:4,r.config.maxFragLookUpTolerance=(l=r.userConfig.maxFragLookUpTolerance)!=null?l:.001,r.config.abrBandWidthUpFactor=(c=r.userConfig.abrBandWidthUpFactor)!=null?c:r.config.abrBandWidthFactor):r.config.backBufferLength=(i=r.userConfig.backBufferLength)!=null?i:8;let v=Object.freeze({get length(){return t.seekable.length},start(P){return t.seekable.start(P)},end(P){var g;return P>this.length||P<0||Number.isFinite(t.duration)?t.seekable.end(P):(g=r.liveSyncPosition)!=null?g:t.seekable.end(P)}});((d=_.get(t))!=null?d:{}).seekable=v}((p=_.get(t))!=null?p:{}).liveEdgeStartOffset=a,((f=_.get(t))!=null?f:{}).targetLiveWindow=o,t.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((y=_.get(t))!=null?y:{}).streamType=n,t.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},Ie,Ae,ft=(Ae=(Ie=globalThis==null?void 0:globalThis.navigator)==null?void 0:Ie.userAgent)!=null?Ae:"",Se,we,Oe,Tt=(Oe=(we=(Se=globalThis==null?void 0:globalThis.navigator)==null?void 0:Se.userAgentData)==null?void 0:we.platform)!=null?Oe:"",yt=ft.toLowerCase().includes("android")||["x11","android"].some(e=>Tt.toLowerCase().includes(e)),_=new WeakMap,I="mux.com",Ue,He,Ve=(He=(Ue=R).isSupported)==null?void 0:He.call(Ue),mt=yt,Nr=()=>se.utils.now(),Et=se.utils.generateUUID,Lr=({playbackId:e,customDomain:t=I,maxResolution:r,minResolution:n,renditionOrder:o,programStartTime:a,programEndTime:s,assetStartTime:u,assetEndTime:l,playbackToken:c,tokens:{playback:i=c}={},extraSourceParams:d={}}={})=>{if(!e)return;let[p,f=""]=Y(e),y=new URL(`https://stream.${t}/${p}.m3u8${f}`);return i||y.searchParams.has("token")?(y.searchParams.forEach((v,P)=>{P!="token"&&y.searchParams.delete(P)}),i&&y.searchParams.set("token",i)):(r&&y.searchParams.set("max_resolution",r),n&&(y.searchParams.set("min_resolution",n),r&&+r.slice(0,-1)<+n.slice(0,-1)&&console.error("minResolution must be <= maxResolution","minResolution",n,"maxResolution",r)),o&&y.searchParams.set("rendition_order",o),a&&y.searchParams.set("program_start_time",`${a}`),s&&y.searchParams.set("program_end_time",`${s}`),u&&y.searchParams.set("asset_start_time",`${u}`),l&&y.searchParams.set("asset_end_time",`${l}`),Object.entries(d).forEach(([v,P])=>{P!=null&&y.searchParams.set(v,P)})),y.toString()},G=e=>{if(!e)return;let[t]=e.split("?");return t||void 0},gt=e=>{if(!e||!e.startsWith("https://stream."))return;let[t]=new URL(e).pathname.slice(1).split(".m3u8");return t||void 0},Mt=e=>{var t,r,n;return(t=e==null?void 0:e.metadata)!=null&&t.video_id?e.metadata.video_id:Be(e)&&(n=(r=G(e.playbackId))!=null?r:gt(e.src))!=null?n:e.src},Rt=e=>{var t;return(t=_.get(e))==null?void 0:t.error},Le=e=>{var t,r;return(r=(t=_.get(e))==null?void 0:t.streamType)!=null?r:D.UNKNOWN},Ir=e=>{var t,r;return(r=(t=_.get(e))==null?void 0:t.targetLiveWindow)!=null?r:Number.NaN},Fe=e=>{var t,r;return(r=(t=_.get(e))==null?void 0:t.seekable)!=null?r:e.seekable},Ar=e=>{var n;let t=(n=_.get(e))==null?void 0:n.liveEdgeStartOffset;if(typeof t!="number")return Number.NaN;let r=Fe(e);return r.length?r.end(r.length-1)-t:Number.NaN},ie=.034,Ct=(e,t,r=ie)=>Math.abs(e-t)<=r,Ke=(e,t,r=ie)=>e>t||Ct(e,t,r),bt=(e,t=ie)=>e.paused&&Ke(e.currentTime,e.duration,t),Ye=(e,t)=>{var c,i,d;if(!t||!e.buffered.length)return;if(e.readyState>2)return!1;let r=t.currentLevel>=0?(i=(c=t.levels)==null?void 0:c[t.currentLevel])==null?void 0:i.details:(d=t.levels.fi Line truncated
`:""}${e.response&&(e.response.code||e.response.text)?`response: ${e.response.code}, ${e.response.text}
`:""}${e.reason?`failure reason: ${e.reason}
`:""}${e.level?`level: ${e.level}
`:""}${e.parent?`parent stream controller: ${e.parent}
`:""}${e.buffer?`buffer length: ${e.buffer}
`:""}${e.error?`error: ${e.error}
`:""}${e.event?`event: ${e.event}
`:""}${e.err?`error message: ${(c=e.err)==null?void 0:c.message}
`:""}`),a.data=e,a};export{V as AutoplayTypes,Ut as CmcdTypeValues,w as CmcdTypes,N as ExtensionMimeTypeMap,R as Hls,Ft as MaxResolution,T as MediaError,F as MimeTypeShorthandMap,Kt as MinResolution,C as MuxErrorCategory,M as MuxErrorCode,oe as MuxJWTAud,q as PlaybackTypes,Yt as RenditionOrder,D as StreamTypes,_e as addChapters,xe as addCuePoints,te as addTextTrack,Vt as allMediaTypes,H as errorCategoryToTokenNameOrPrefix,Nr as generatePlayerInitTime,Et as generateUUID,ke as getActiveChapter,ve as getActiveCuePoint,kt as getAppCertificate,tt as getChapters,et as getCuePoints,nt as getCurrentPdt,_t as getDRMConfig,xt as getEnded,Rt as getError,ht as getLicenseKey,Ar as getLiveEdgeStart,it as getMediaPlaylistLinesFromMultivariantPlaylistSrc,Fe as getSeekable,rt as getStartDate,lt as getStreamInfoFromHlsjsLevelDetails,ct as getStreamInfoFromPlaylistLines,ut as getStreamInfoFromSrcAndType,Le as getStreamType,Dt as getStreamTypeConfig,Ir as getTargetLiveWindow,A as getTextTrack,E as i18n,Sr as initialize,S as isKeyOf,Be as isMuxVideoSrc,bt as isPseudoEnded,Ye as isStuckOnLastFragment,It as loadMedia,se as mux,_ as muxMediaState,Q as parseJwt,Ze as removeTextTrack,he as setupChapters,Pe as setupCuePoints,Pt as setupHls,Lt as setupMux,Nt as setupNativeFairplayDRM,Ht as shorthandKeys,vt as teardown,$e as toAppCertURL,st as toDRMTypeFromKeySystem,J as toLicenseKeyURL,Lr as toMuxVideoURL,gt as toPlaybackIdFromSrc,Y as toPlaybackIdParts,pt as updateStreamInfoFromHlsjsLevelDetails,dt as updateStreamInfoFromSrc};
//# sourceMappingURL=index.mjs.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../src/index.ts", "../src/hls.ts", "../src/errors.ts", "../src/types.ts", "../lang/en.json", "../src/util.ts", "../src/autoplay.ts", "../src/preload.ts", "../src/media-tracks.ts", "../src/text-tracks.ts", "../src/pdt.ts", "../src/request-errors.ts"],
"sourcesContent": ["import type { ValueOf, PlaybackCore, MuxMediaProps, MuxMediaPropsInternal, MuxMediaPropTypes } from './types';\nimport mux, { ErrorEvent } from 'mux-embed';\nimport Hls from './hls';\nimport type { HlsInterface } from './hls';\nimport { MediaError, MuxErrorCategory, MuxErrorCode, errorCategoryToTokenNameOrPrefix } from './errors';\nimport { setupAutoplay } from './autoplay';\nimport { setupPreload } from './preload';\nimport { setupMediaTracks } from './media-tracks';\nimport {\n setupTextTracks,\n addTextTrack,\n removeTextTrack,\n getTextTrack,\n addCuePoints,\n getCuePoints,\n getActiveCuePoint,\n setupCuePoints,\n addChapters,\n getChapters,\n getActiveChapter,\n setupChapters,\n} from './text-tracks';\nimport { getStartDate, getCurrentPdt } from './pdt';\nimport {\n inSeekableRange,\n toPlaybackIdParts,\n getType,\n toStreamTypeFromPlaylistType,\n toTargetLiveWindowFromPlaylistType,\n addEventListenerWithTeardown,\n i18n,\n parseJwt,\n} from './util';\nimport { StreamTypes, PlaybackTypes, ExtensionMimeTypeMap, CmcdTypes, HlsPlaylistTypes, MediaTypes } from './types';\nimport { ErrorDetails, ErrorTypes, type ErrorData, type HlsConfig } from 'hls.js';\nimport { getErrorFromResponse, MuxJWTAud } from './request-errors';\n// import { MediaKeySessionContext } from 'hls.js';\nexport {\n mux,\n Hls,\n MediaError,\n MuxErrorCategory,\n MuxErrorCode,\n errorCategoryToTokenNameOrPrefix,\n MuxJWTAud,\n addTextTrack,\n removeTextTrack,\n getTextTrack,\n addCuePoints,\n getCuePoints,\n getActiveCuePoint,\n setupCuePoints,\n addChapters,\n getChapters,\n getActiveChapter,\n setupChapters,\n getStartDate,\n getCurrentPdt,\n toPlaybackIdParts,\n i18n,\n parseJwt,\n};\nexport * from './types';\n\nconst DRMType = {\n FAIRPLAY: 'fairplay',\n PLAYREADY: 'playready',\n WIDEVINE: 'widevine',\n} as const;\n\ntype DRMTypeValue = (typeof DRMType)[keyof typeof DRMType];\nexport const toDRMTypeFromKeySystem = (keySystem: string): DRMTypeValue | undefined => {\n if (keySystem.includes('fps')) return DRMType.FAIRPLAY;\n if (keySystem.includes('playready')) return DRMType.PLAYREADY;\n if (keySystem.includes('widevine')) return DRMType.WIDEVINE;\n return undefined;\n};\n\nexport const getMediaPlaylistLinesFromMultivariantPlaylistSrc = async (src: string) => {\n return fetch(src)\n .then((resp) => {\n if (resp.status !== 200) {\n return Promise.reject(resp);\n }\n return resp.text();\n })\n .then((multivariantPlaylistStr) => {\n const mediaPlaylistUrl = multivariantPlaylistStr.split('\\n').find((_line, idx, lines) => {\n return idx && lines[idx - 1].startsWith('#EXT-X-STREAM-INF');\n }) as string;\n\n return fetch(mediaPlaylistUrl)\n .then((resp) => {\n if (resp.status !== 200) {\n return Promise.reject(resp);\n }\n return resp.text();\n })\n .then((mediaPlaylistStr) => mediaPlaylistStr.split('\\n'));\n });\n};\n\nexport const getStreamInfoFromPlaylistLines = (playlistLines: string[]) => {\n const typeLine = playlistLines.find((line) => line.startsWith('#EXT-X-PLAYLIST-TYPE')) ?? '';\n const playlistType = typeLine.split(':')[1]?.trim() as HlsPlaylistTypes;\n const streamType = toStreamTypeFromPlaylistType(playlistType);\n const targetLiveWindow = toTargetLiveWindowFromPlaylistType(playlistType);\n\n // Computation of the live edge start offset per media-ui-extensions proposal. See: https://github.com/video-dev/media-ui-extensions/blob/main/proposals/0007-live-edge.md#recommended-computation-for-rfc8216bis12-aka-hls (CJP)\n let liveEdgeStartOffset = undefined;\n\n if (streamType === StreamTypes.LIVE) {\n // Required if playlist contains one or more EXT-X-PART tags. See: https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis-12#section-4.4.3.7 (CJP)\n const partInfLine = playlistLines.find((line) => line.startsWith('#EXT-X-PART-INF'));\n const lowLatency = !!partInfLine;\n\n if (lowLatency) {\n // The EXT-X-PART-INF only has one in-spec named attribute, PART-TARGET, which is required,\n // so parsing & casting presumptuously here. See spec link above for more info. (CJP)\n const partTarget = +partInfLine.split(':')[1].split('=')[1];\n liveEdgeStartOffset = partTarget * 2;\n } else {\n // This is required for all media playlists. See: https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis-12#section-4.4.3.1 (CJP)\n const targetDurationLine = playlistLines.find((line) => line.startsWith('#EXT-X-TARGETDURATION')) as string;\n // EXT-X-TARGETDURATION has exactly one unnamed attribute that represents the target duration value, which is required,\n // so parsing and casting presumptuously here. See spec link above for more info. (CJP)\n const targetDurationValue = targetDurationLine?.split(':')?.[1];\n // NOTE: Defaulting here and using optional chaining above siLine truncated
"mappings": "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 truncated
"names": ["mux", "Hls", "hls_default", "MuxErrorCategory", "MuxErrorCode", "errorCategoryToTokenNameOrPrefix", "category", "_MediaError", "message", "code", "fatal", "context", "_a", "MediaError", "isNil", "x", "isKeyOf", "k", "o", "AutoplayTypes", "StreamTypes", "PlaybackTypes", "CmcdTypes", "CmcdTypeValues", "ExtensionMimeTypeMap", "MimeTypeShorthandMap", "shorthandKeys", "allMediaTypes", "MaxResolution", "MinResolution", "RenditionOrder", "code", "en_default", "addEventListenerWithTeardown", "mediaEl", "type", "listener", "options", "target", "inSeekableRange", "seekable", "duration", "time", "i", "toPlaybackIdParts", "playbackIdWithOptionalParams", "qIndex", "idPart", "queryPart", "getType", "props", "upperType", "isKeyOf", "MimeTypeShorthandMap", "src", "inferMimeTypeFromURL", "toStreamTypeFromPlaylistType", "playlistType", "StreamTypes", "toTargetLiveWindowFromPlaylistType", "url", "pathname", "extDelimIdx", "upperExt", "ExtensionMimeTypeMap", "parseJwt", "token", "base64Url", "base64", "jsonPayload", "c", "isJWTExpired", "exp", "referenceTime", "isJWTSubMismatch", "sub", "expectedSub", "isJWTAudMissing", "aud", "_expectedAud", "isJWTAudMismatch", "expectedAud", "DEFAULT_LOCALE", "i18n", "str", "translate", "_a", "_b", "message", "en_default", "locale", "IntlMessageFormat", "values", "match", "key", "AutoplayTypeValues", "AutoplayTypes", "isAutoplayValue", "value", "setupAutoplay", "props", "mediaEl", "hls", "maybeAutoplay", "hasPlayed", "isLive", "autoplay", "updateHasPlayed", "addEventListenerWithTeardown", "handleAutoplay", "StreamTypes", "hls_default", "e", "data", "_a", "handleSeek", "newAutoplay", "oldMuted", "restoreMuted", "setupPreload", "preload", "src", "mediaEl", "hls", "updatePreload", "val", "hasLoadedSource", "hasPlayFired", "originalLength", "originalSize", "updateHlsPreload", "newPreload", "safeLoadSource", "addEventListenerWithTeardown", "setupMediaTracks", "customMediaEl", "hls", "_a", "levelIdMap", "hls_default", "event", "data", "removeAllMediaTracks", "videoTrack", "id", "level", "videoRendition", "removeAudioTracks", "a", "kind", "audioTrack", "audioTrackId", "t", "availableIds", "levelIds", "l", "rendition", "switchRendition", "smoothSwitch", "levelIndex", "currentTime", "flushedFwdBuffer", "callback", "removeVideoTracks", "cuePointStart", "cuePoint", "setupTextTracks", "mediaEl", "hls", "hls_default", "_type", "tracks", "trackObj", "_a", "_b", "baseTrackObj", "idx", "lang", "name", "type", "id", "addTextTrack", "changeHandler", "showingTrack", "textTrack", "currentHlsTrack", "hlsTrackId", "defaultTrack", "cue", "track", "cues", "disabled", "trackEl", "forceHiddenTracks", "selector", "src", "kind", "label", "removeTextTrack", "trackElement", "getTextTrack", "addCuesToTextTrack", "resolve", "cuePointA", "cuePointB", "value", "startTime", "cueAfterIndex", "cueAfter", "endTime", "previousCue", "DEFAULT_CUEPOINTS_TRACK_LABEL", "DefaultCuePointsConfig", "addCuePoints", "cuePoints", "cuePointsConfig", "toCuePoint", "getCuePoints", "getActiveCuePoint", "currentTime", "actualActiveCue", "setupCuePoints", "addEventListenerWithTeardown", "activeCuePoint", "evt", "DEFAULT_CHAPTERS_TRACK_LABEL", "DefaultChaptersConfig", "vttCueToChapter", "addChapters", "chapters", "chaptersConfig", "getChapters", "getActiveChapter", "setupChapters", "getStartDate", "mediaEl", "hls", "playingDate", "getCurrentPdt", "startDate", "ErrorDetails", "ErrorTypes", "MuxJWTAud", "categoryToAud", "category", "MuxErrorCategory", "categoryToToken", "muxMediaEl", "_a", "_b", "nameOrPrefix", "errorCategoryToTokenNameOrPrefix", "tokenName", "isKeyOf", "getErrorFromResponse", "resp", "translate", "offline", "message", "i18n", "context", "mediaErrorCode", "MediaError", "mediaError", "MuxErrorCode", "status", "requestTime", "tokenNamePrefix", "token", "expectedAud", "playbackId", "toPlaybackIdParts", "jwtObj", "parseJwt", "isJWTExpired", "dateOptions", "isJWTSubMismatch", "isJWTAudMissing", "isJWTAudMismatch", "DRMType", "toDRMTypeFromKeySystem", "keySystem", "getMediaPlaylistLinesFromMultivariantPlaylistSrc", "src", "resp", "multivariantPlaylistStr", "mediaPlaylistUrl", "_line", "idx", "lines", "mediaPlaylistStr", "getStreamInfoFromPlaylistLines", "playlistLines", "_a", "_b", "_c", "playlistType", "line", "streamType", "toStreamTypeFromPlaylistType", "targetLiveWindow", "toTargetLiveWindowFromPlaylistType", "liveEdgeStartOffset", "StreamTypes", "partInfLine", "targetDurationLine", "targetDurationValue", "getStreamInfoFromSrcAndType", "type", "ExtensionMimeTypeMap", "updateStreamInfoFromSrc", "mediaEl", "getType", "muxMediaState", "getStreamInfoFromHlsjsLevelDetails", "levelDetails", "lowLatency", "updateStreamInfoFromHlsjsLevelDetails", "hls", "_d", "_e", "_f", "_g", "_h", "seekable", "index", "userAgentStr", "userAgentPlatform", "isAndroidLike", "platformStr", "MUX_VIDEO_DOMAIN", "MSE_SUPPORTED", "hls_default", "DEFAULT_PREFER_MSE", "generatePlayerInitTime", "mux", "generateUUID", "toMuxVideoURL", "playbackIdWithParamsLine truncated
}
+64
View File
@@ -0,0 +1,64 @@
"use strict";(()=>{var Ml=Object.create,Mn=Object.defineProperty,Ol=Object.getOwnPropertyDescriptor,Nl=Object.getOwnPropertyNames,Fl=Object.getPrototypeOf,Ul=Object.prototype.hasOwnProperty,On=function(r,e){return function(){return r&&(e=r(r=0)),e}},Ae=function(r,e){return function(){return e||r((e={exports:{}}).exports,e),e.exports}},Bl=function(r,e,t,i){if(e&&typeof e=="object"||typeof e=="function")for(var s=Nl(e),n=0,a=s.length,o;n<a;n++)o=s[n],!Ul.call(r,o)&&o!==t&&Mn(r,o,{get:function(l){return e[l]}.bind(null,o),enumerable:!(i=Ol(e,o))||i.enumerable});return r},Oe=function(r,e,t){return t=r!=null?Ml(Fl(r)):{},Bl(e||!r||!r.__esModule?Mn(t,"default",{value:r,enumerable:!0}):t,r)},Ge=Ae(function(r,e){var t;typeof window!="undefined"?t=window:typeof global!="undefined"?t=global:typeof self!="undefined"?t=self:t={},e.exports=t});function ut(r,e){return e!=null&&typeof Symbol!="undefined"&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](r):ut(r,e)}var dt=On(function(){dt()});function _r(r){"@swc/helpers - typeof";return r&&typeof Symbol!="undefined"&&r.constructor===Symbol?"symbol":typeof r}var Sr=On(function(){}),Nn=Ae(function(r,e){var t=Array.prototype.slice;e.exports=i;function i(s,n){for(("length"in s)||(s=[s]),s=t.call(s);s.length;){var a=s.shift(),o=n(a);if(o)return o;a.childNodes&&a.childNodes.length&&(s=t.call(a.childNodes).concat(s))}}}),$l=Ae(function(r,e){dt(),e.exports=t;function t(i,s){if(!ut(this,t))return new t(i,s);this.data=i,this.nodeValue=i,this.length=i.length,this.ownerDocument=s||null}t.prototype.nodeType=8,t.prototype.nodeName="#comment",t.prototype.toString=function(){return"[object Comment]"}}),Gl=Ae(function(r,e){dt(),e.exports=t;function t(i,s){if(!ut(this,t))return new t(i);this.data=i||"",this.length=this.data.length,this.ownerDocument=s||null}t.prototype.type="DOMTextNode",t.prototype.nodeType=3,t.prototype.nodeName="#text",t.prototype.toString=function(){return this.data},t.prototype.replaceData=function(i,s,n){var a=this.data,o=a.substring(0,i),l=a.substring(i+s,a.length);this.data=o+n+l,this.length=this.data.length}}),Fn=Ae(function(r,e){e.exports=t;function t(i){var s=this,n=i.type;i.target||(i.target=s),s.listeners||(s.listeners={});var a=s.listeners[n];if(a)return a.forEach(function(o){i.currentTarget=s,typeof o=="function"?o(i):o.handleEvent(i)});s.parentNode&&s.parentNode.dispatchEvent(i)}}),Un=Ae(function(r,e){e.exports=t;function t(i,s){var n=this;n.listeners||(n.listeners={}),n.listeners[i]||(n.listeners[i]=[]),n.listeners[i].indexOf(s)===-1&&n.listeners[i].push(s)}}),Bn=Ae(function(r,e){e.exports=t;function t(i,s){var n=this;if(n.listeners&&n.listeners[i]){var a=n.listeners[i],o=a.indexOf(s);o!==-1&&a.splice(o,1)}}}),Hl=Ae(function(r,e){Sr(),e.exports=i;var t=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"];function i(h){switch(h.nodeType){case 3:return u(h.data);case 8:return"<!--"+h.data+"-->";default:return s(h)}}function s(h){var f=[],m=h.tagName;return h.namespaceURI==="http://www.w3.org/1999/xhtml"&&(m=m.toLowerCase()),f.push("<"+m+c(h)+o(h)),t.indexOf(m)>-1?f.push(" />"):(f.push(">"),h.childNodes.length?f.push.apply(f,h.childNodes.map(i)):h.textContent||h.innerText?f.push(u(h.textContent||h.innerText)):h.innerHTML&&f.push(h.innerHTML),f.push("</"+m+">")),f.join("")}function n(h,f){var m=_r(h[f]);return f==="style"&&Object.keys(h.style).length>0?!0:h.hasOwnProperty(f)&&(m==="string"||m==="boolean"||m==="number")&&f!=="nodeName"&&f!=="className"&&f!=="tagName"&&f!=="textContent"&&f!=="innerText"&&f!=="namespaceURI"&&f!=="innerHTML"}function a(h){if(typeof h=="string")return h;var f="";return Object.keys(h).forEach(function(m){var g=h[m];m=m.replace(/[A-Z]/g,function(p){return"-"+p.toLowerCase()}),f+=m+":"+g+";"}),f}function o(h){var f=h.dataset,m=[];for(var g in f)m.push({name:"data-"+g,value:f[g]});return m.length?l(m):""}function l(h){var f=[];return h.forEach(function(m){var g=m.name,p=m.value;g==="style"&&(p=a(p)),f.push(g+'="'+d(p)+'"')}),f.length?" "+f.join(" "):""}function c(h){var f=[];for(var m in h)n(h,m)&&f.push({name:m,value:h[m]});for(var g in h._attributes)for(var p in h._attributes[g]){var T=h._attributes[g][p],E=(T.prefix?T.prefix+":":"")+p;f.push({name:E,value:T.value})}return h.className&&f.push({name:"class",value:h.className}),f.length?l(f):""}function u(h){var f="";return typeof h=="string"?f=h:h&&(f=h.toString()),f.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function d(h){return u(h).replace(/"/g,"&quot;")}}),$n=Ae(function(r,e){dt();var t=Nn(),i=Fn(),s=Un(),n=Bn(),a=Hl(),o="http://www.w3.org/1999/xhtml";e.exports=l;function l(c,u,d){if(!ut(this,l))return new l(c);var h=d===void 0?o:d||null;this.tagName=h===o?String(c).toUpperCase():c,this.nodeName=this.tagName,this.className="",this.dataset={},this.childNodes=[],this.parentNode=null,this.style={},this.ownerDocument=u||null,this.namespaceURI=h,this._attributes={},this.tagName==="INPUT"&&(this.type="tLine truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yr(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,i=new Array(e);t<e;t++)i[t]=r[t];return i}function Gn(r,e){if(r){if(typeof r=="string")return yr(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);if(t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set")return Array.from(t);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return yr(r,e)}}function Xe(r,e){return jl(r)||zl(r,e)||Gn(r,e)||Xl()}var Mt=Oe(Ge()),Nt=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(r){var e=Math.random()*16|0,t=r==="x"?e:e&3|8;return t.toString(16)})},Hn=function(){return("000000"+(Math.random()*Math.pow(36,6)<<0).toString(36)).slice(-6)},ot=function(r){if(r&&typeof r.nodeName!="undefined")return r.muxId||(r.muxId=Hn()),r.muxId;var e;try{e=document.querySelector(r)}catch{}return e&&!e.muxId&&(e.muxId=r),(e==null?void 0:e.muxId)||r},Tr=function(r){var e;r&&typeof r.nodeName!="undefined"?(e=r,r=ot(e)):e=document.querySelector(r);var t=e&&e.nodeName?e.nodeName.toLowerCase():"";return[e,r,t]};function Ql(r){if(Array.isArray(r))return yr(r)}function Jl(r){if(typeof Symbol!="undefined"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function Zl(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $e(r){return Ql(r)||Jl(r)||Gn(r)||Zl()}var lt={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},ec=function(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:3,t,i,s,n,a,o=r?[console,r]:[console],l=(t=console.trace).bind.apply(t,$e(o)),c=(i=console.info).bind.apply(i,$e(o)),u=(s=console.debug).bind.apply(s,$e(o)),d=(n=console.warn).bind.apply(n,$e(o)),h=(a=console.error).bind.apply(a,$e(o)),f=e;return{trace:function(){for(var m=arguments.length,g=new Array(m),p=0;p<m;p++)g[p]=arguments[p];if(!(f>lt.TRACE))return l.apply(void 0,$e(g))},debug:function(){for(var m=arguments.length,g=new Array(m),p=0;p<m;p++)g[p]=arguments[p];if(!(f>lt.DEBUG))return u.apply(void 0,$e(g))},info:function(){for(var m=arguments.length,g=new Array(m),p=0;p<m;p++)g[p]=arguments[p];if(!(f>lt.INFO))return c.apply(void 0,$e(g))},warn:function(){for(var m=arguments.length,g=new Array(m),p=0;p<m;p++)g[p]=arguments[p];if(!(f>lt.WARN))return d.apply(void 0,$e(g))},error:function(){for(var m=arguments.length,g=new Array(m),p=0;p<m;p++)g[p]=arguments[p];if(!(f>lt.ERROR))return h.apply(void 0,$e(g))},get level(){return f},set level(m){m!==this.level&&(f=m!=null?m:e)}}},oe=ec("[mux]"),hr=Oe(Ge());function vr(){var r=hr.default.doNotTrack||hr.default.navigator&&hr.default.navigator.doNotTrack;return r==="1"}var tc=Oe(Ge()),ic={now:function(){var r=tc.default.performance,e=r&&r.timing,t=e&&e.navigationStart,i=typeof t=="number"&&typeof r.now=="function"?t+r.now():Date.now();return Math.round(i)}},me=ic;function W(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}dt();function ye(r,e){if(!ut(r,e))throw new TypeError("Cannot call a class as a function")}function Ln(r,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(r,i.key,i)}}function He(r,e,t){return e&&Ln(r.prototype,e),t&&Ln(r,t),r}function C(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Er(r,e){return Er=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t},Er(r,e)}function rc(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&Er(r,e)}function si(r){return si=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},si(r)}function sc(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}Sr();function nc(r,e){return e&&(_r(e)==="object"||typeof e=="function")?e:W(r)}function ac(r){var e=sc();return function(){var t=si(r),i;if(e){var s=si(this).constructor;i=Reflect.construct(t,arguments,s)}else i=t.apply(this,arguments);return nc(this,i)}}var Me=function(r){return Ft(r)[0]},Ft=function(r){if(typeof r!="string"||r==="")return["localhost"];var e=/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,t=r.match(e)||[],i=t[4],s;return i&&(s=(i.match(/[^\.]+\.[^\.]+$/)||[])[0]),[i,s]},fr=Oe(Ge()),oc={exists:function(){var r=fr.default.performance,e=r&&r.timing;return e!==void 0},domContentLoadedEventEnd:function(){var r=fr.default.performance,e=r&&r.timing;return e&&e.domContentLoadedEventEnd},navigationStart:function(){var r=fr.default.performance,e=r&&r.timing;return e&&e.navigationStart}},ni=oc;function de(r,e,t){t=t===void 0?1:t,r[e]=r[e]||0,r[e]+=t}function ai(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{},i=Object.keys(t);typeof Object.getOwnPropertySymbols=="function"&&(i=i.concat(Object.getOwnPropertySymbols(t).filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable}))),i.forEach(function(s){C(r,s,t[s])})}return r}function lc(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable})),t.push.apply(t,i)}return t}function br(r,e){return e=e!=null?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(e)):lc(Object(e)).forEach(function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(e,t))}),r}var cc=["x-cdn","content-type"],Kn=["x-request-id","cf-ray","x-amz-cf-id","x-akamai-request-id"],uc=cc.concat(Kn);function Ar(r){r=r||"";var e={},t=r.trim().split(/[\r\n]+/);return t.forEach(function(i){if(i){var s=i.split(": "),n=s.shift();n&&(uc.indexOf(n.toLowerCase())>=0||n.toLowerCase().indexOf("x-litix-")===0)&&(e[n]=s.join(": "))}}),e}function oi(r){if(r){var e=Kn.find(function(t){return r[t]!==void 0});return e?r[e]:void 0}}var dc=function(r){var e={};for(var t i Line truncated
`):"")+"".concat(_&&(_.code||_.text)?"response: ".concat(_.code,", ").concat(_.text,`
`):"")+"".concat(E.reason?"failure reason: ".concat(E.reason,`
`):"")+"".concat(E.level?"level: ".concat(E.level,`
`):"")+"".concat(E.parent?"parent stream controller: ".concat(E.parent,`
`):"")+"".concat(E.buffer?"buffer length: ".concat(E.buffer,`
`):"")+"".concat(E.error?"error: ".concat(E.error,`
`):"")+"".concat(E.event?"event: ".concat(E.event,`
`):"")+"".concat(E.err?"error message: ".concat((I=E.err)===null||I===void 0?void 0:I.message,`
`):"");l("error",{player_error_code:v,player_error_message:x,player_error_context:P})}};t.on(s.Events.ERROR,m);var g=function(T,E){var v=E.frag,x=v&&v._url||"";l("requestcanceled",{request_event_type:T,request_url:x,request_type:"media",request_hostname:Me(x)})};t.on(s.Events.FRAG_LOAD_EMERGENCY_ABORTED,g);var p=function(T,E){var v=E.level,x=t.levels[v];if(x&&x.attrs&&x.attrs.BANDWIDTH){var _=x.attrs.BANDWIDTH,A,S=parseFloat(x.attrs["FRAME-RATE"]);isNaN(S)||(A=S),_?l("renditionchange",{video_source_fps:A,video_source_bitrate:_,video_source_width:x.width,video_source_height:x.height,video_source_rendition_name:x.name,video_source_codec:x==null?void 0:x.videoCodec}):n.warn("missing BANDWIDTH from HLS manifest parsed by HLS.js")}};t.on(s.Events.LEVEL_SWITCHED,p),t._stopMuxMonitor=function(){t.off(s.Events.MANIFEST_LOADED,c),t.off(s.Events.LEVEL_LOADED,u),t.off(s.Events.AUDIO_TRACK_LOADED,d),t.off(s.Events.FRAG_LOADED,h),t.off(s.Events.FRAG_CHANGED,f),t.off(s.Events.ERROR,m),t.off(s.Events.FRAG_LOAD_EMERGENCY_ABORTED,g),t.off(s.Events.LEVEL_SWITCHED,p),t.off(s.Events.DESTROYING,t._stopMuxMonitor),delete t._stopMuxMonitor},t.on(s.Events.DESTROYING,t._stopMuxMonitor)},fc=function(r){r&&typeof r._stopMuxMonitor=="function"&&r._stopMuxMonitor()},Dn=function(r,e){if(!r||!r.requestEndDate)return{};var t=Me(r.url),i=r.url,s=r.bytesLoaded,n=new Date(r.requestStartDate).getTime(),a=new Date(r.firstByteDate).getTime(),o=new Date(r.requestEndDate).getTime(),l=isNaN(r.duration)?0:r.duration,c=typeof e.getMetricsFor=="function"?e.getMetricsFor(r.mediaType).HttpList:e.getDashMetrics().getHttpRequests(r.mediaType),u;c.length>0&&(u=Ar(c[c.length-1]._responseHeaders||""));var d=u?oi(u):void 0;return{requestStart:n,requestResponseStart:a,requestResponseEnd:o,requestBytesLoaded:s,requestResponseHeaders:u,requestMediaDuration:l,requestHostname:t,requestUrl:i,requestId:d}},mc=function(r,e){var t=e.getQualityFor(r),i=e.getCurrentTrackFor(r).bitrateList;return i?{currentLevel:t,renditionWidth:i[t].width||null,renditionHeight:i[t].height||null,renditionBitrate:i[t].bandwidth}:{}},gc=function(r){var e;return(e=r.match(/.*codecs\*?="(.*)"/))===null||e===void 0?void 0:e[1]},pc=function(r){try{var e,t,i=(t=r.getVersion)===null||t===void 0||(e=t.call(r))===null||e===void 0?void 0:e.split(".").map(function(s){return parseInt(s)})[0];return i}catch{return!1}},yc=function(r,e,t){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=r.log;if(!t||!t.on){s.warn("Invalid dash.js player reference. Monitoring blocked.");return}var n=pc(t),a=function(v,x){return r.emit(e,v,x)},o=function(v){var x=v.type,_=v.data,A=(_||{}).url;a("requestcompleted",{request_event_type:x,request_start:0,request_response_start:0,request_response_end:0,request_bytes_loaded:-1,request_type:"manifest",request_hostname:Me(A),request_url:A})};t.on("manifestLoaded",o);var l={},c=function(v){if(typeof v.getRequests!="function")return null;var x=v.getRequests({state:"executed"});return x.length===0?null:x[x.length-1]},u=function(v){var x=v.type,_=v.fragmentModel,A=v.chunk,S=c(_);d({type:x,request:S,chunk:A})},d=function(v){var x=v.type,_=v.chunk,A=v.request,S=(_||{}).mediaInfo,D=S||{},k=D.type,L=D.bitrateList;L=L||[];var I={};L.forEach(function(z,q){I[q]={},I[q].width=z.width,I[q].height=z.height,I[q].bitrate=z.bandwidth,I[q].attrs={}}),k==="video"?l.video=I:k==="audio"?l.audio=I:l.media=I;var P=Dn(A,t),M=P.requestStart,V=P.requestResponseStart,K=P.requestResponseEnd,U=P.requestResponseHeaders,j=P.requestMediaDuration,J=P.requestHostname,F=P.requestUrl,O=P.requestId;a("requestcompleted",{request_event_type:x,request_start:M,request_response_start:V,request_response_end:K,request_bytes_loaded:-1,request_type:k+"_init",request_response_headers:U,request_hostname:J,request_id:O,request_url:F,request_media_duration:j,request_rendition_lists:l})};n>=4?t.on("initFragmentLoaded",d):t.on("initFragmentLoaded",u);var h=function(v){var x=v.type,_=v.fragmentModel,A=v.chunk,S=c(_);f({type:x,request:S,chunk:A})},f=function(v){var x=v.type,_=v.chunk,A=v.request,S=_||{},D=S.mediaInfo,k=S.start,L=D||{},I=L.type,P=Dn(A,t),M=P.requestStart,V=P.requestResponseStart,K=P.requestResponseEnd,U=P.requestBytesLoaded,j=P.requestResponseHeaders,J=P.requestMediaDuration,F=P.requestHostname,O=P.requestUrl,z=P.requestId,q=mc(I,t),Z=q.currentLevel,ce=q.renditionWidth,ue=q.renditionHeight,fe=q.renditionBitrate;a("requestcompleted",{request_event_type:x,request_start:M,request_response_start:V,request_response_end:K,request_bytes_loaded:U,request_type:I,request_response_headers:j,request_hostname:F,request_id:z,request_url:O,request_media_start_time:k,request_media_duration:J,request_current_level:Z,request_labeled_bitrate:fe,request_video_width:ce,request_video_height:ue})};n>=4?t.on("mediaFragmentLoaded",f):t.on("mediaFragmentLoaded",h);var m={video:void 0,audio:void 0,totalBitrate:void 0},g=function(){if(m.video&&typeof m.video.bitrate=="number"){if(!(m.video.width&&m.video.height)){s.warn("have Line truncated
`):"")+"".concat(D!=null&&D.status||D!=null&&D.statusText?"response: ".concat(D==null?void 0:D.status,", ").concat(D==null?void 0:D.statusText,`
`):"");a("error",{player_error_code:x==null?void 0:x.code,player_error_message:x==null?void 0:x.message,player_error_context:k})};t.on("error",E),t._stopMuxMonitor=function(){t.off("manifestLoaded",o),t.off("initFragmentLoaded",d),t.off("mediaFragmentLoaded",f),t.off("qualityChangeRendered",p),t.off("error",E),t.off("fragmentLoadingAbandoned",T),delete t._stopMuxMonitor}},Tc=function(r){r&&typeof r._stopMuxMonitor=="function"&&r._stopMuxMonitor()},In=0,vc=function(){"use strict";function r(){ye(this,r),C(this,"_listeners",void 0)}return He(r,[{key:"on",value:function(e,t,i){return t._eventEmitterGuid=t._eventEmitterGuid||++In,this._listeners=this._listeners||{},this._listeners[e]=this._listeners[e]||[],i&&(t=t.bind(i)),this._listeners[e].push(t),t}},{key:"off",value:function(e,t){var i=this._listeners&&this._listeners[e];i&&i.forEach(function(s,n){s._eventEmitterGuid===t._eventEmitterGuid&&i.splice(n,1)})}},{key:"one",value:function(e,t,i){var s=this;t._eventEmitterGuid=t._eventEmitterGuid||++In;var n=function(){s.off(e,n),t.apply(i||this,arguments)};n._eventEmitterGuid=t._eventEmitterGuid,this.on(e,n)}},{key:"emit",value:function(e,t){var i=this;if(this._listeners){t=t||{};var s=this._listeners["before*"]||[],n=this._listeners[e]||[],a=this._listeners["after"+e]||[],o=function(l,c){l=l.slice(),l.forEach(function(u){u.call(i,{type:e},c)})};o(s,t),o(n,t),o(a,t)}}}]),r}(),Ec=vc,mr=Oe(Ge()),xc=function(){"use strict";function r(e){var t=this;ye(this,r),C(this,"_playbackHeartbeatInterval",void 0),C(this,"_playheadShouldBeProgressing",void 0),C(this,"pm",void 0),this.pm=e,this._playbackHeartbeatInterval=null,this._playheadShouldBeProgressing=!1,e.on("playing",function(){t._playheadShouldBeProgressing=!0}),e.on("play",this._startPlaybackHeartbeatInterval.bind(this)),e.on("playing",this._startPlaybackHeartbeatInterval.bind(this)),e.on("adbreakstart",this._startPlaybackHeartbeatInterval.bind(this)),e.on("adplay",this._startPlaybackHeartbeatInterval.bind(this)),e.on("adplaying",this._startPlaybackHeartbeatInterval.bind(this)),e.on("devicewake",this._startPlaybackHeartbeatInterval.bind(this)),e.on("viewstart",this._startPlaybackHeartbeatInterval.bind(this)),e.on("rebufferstart",this._startPlaybackHeartbeatInterval.bind(this)),e.on("pause",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("ended",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("viewend",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("error",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("aderror",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("adpause",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("adended",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("adbreakend",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("seeked",function(){e.data.player_is_paused?t._stopPlaybackHeartbeatInterval():t._startPlaybackHeartbeatInterval()}),e.on("timeupdate",function(){t._playbackHeartbeatInterval!==null&&e.emit("playbackheartbeat")}),e.on("devicesleep",function(i,s){t._playbackHeartbeatInterval!==null&&(mr.default.clearInterval(t._playbackHeartbeatInterval),e.emit("playbackheartbeatend",{viewer_time:s.viewer_time}),t._playbackHeartbeatInterval=null)})}return He(r,[{key:"_startPlaybackHeartbeatInterval",value:function(){var e=this;this._playbackHeartbeatInterval===null&&(this.pm.emit("playbackheartbeat"),this._playbackHeartbeatInterval=mr.default.setInterval(function(){e.pm.emit("playbackheartbeat")},this.pm.playbackHeartbeatTime))}},{key:"_stopPlaybackHeartbeatInterval",value:function(){this._playheadShouldBeProgressing=!1,this._playbackHeartbeatInterval!==null&&(mr.default.clearInterval(this._playbackHeartbeatInterval),this.pm.emit("playbackheartbeatend"),this._playbackHeartbeatInterval=null)}}]),r}(),_c=xc,Sc=function r(e){"use strict";var t=this;ye(this,r),C(this,"viewErrored",void 0),e.on("viewinit",function(){t.viewErrored=!1}),e.on("error",function(i,s){try{var n=e.errorTranslator({player_error_code:s.player_error_code,player_error_message:s.player_error_message,player_error_context:s.player_error_context,player_error_severity:s.player_error_severity,player_error_business_exception:s.player_error_business_exception});n&&(e.data.player_error_code=n.player_error_code||s.player_error_code,e.data.player_error_message=n.player_error_message||s.player_error_message,e.data.player_error_context=n.player_error_context||s.player_error_context,e.data.player_error_severity=n.player_error_severity||s.player_error_severity,e.data.player_error_business_exception=n.player_error_business_exception||s.player_error_business_exception,t.viewErrored=!0)}catch(a){e.mux.log.warn("Exception in error translator callback.",a),t.viewErrored=!0}}),e.on("aftererror",function(){var i,s,n,a,o;(i=e.data)===null||i===void 0||delete i.player_error_code,(s=e.data)===null||s===void 0||delete s.player_error_message,(n=e.data)===null||n===void 0||delete n.player_error_context,(a=e.data)===null||a===void 0||delete a.player_error_severity,(o=e.data)=== Line truncated
`);e>-1;e=this.buffer.indexOf(`
`))this.processLine(this.buffer.substring(0,e)),this.buffer=this.buffer.substring(e+1)};li.prototype.processLine=function(r){var e=r.indexOf(":"),t=Nu(r,e),i=t[0],s=t.length===2?Rr(t[1]):void 0;if(i[0]!=="#")this.currentUri.uri=i,this.manifest.segments.push(this.currentUri),this.manifest.targetDuration&&!("duration"in this.currentUri)&&(this.currentUri.duration=this.manifest.targetDuration),this.currentUri={};else switch(i){case at.TARGET_DURATION:{if(!isFinite(s)||s<0)return;this.manifest.targetDuration=s,this.setHoldBack();break}case at.PART_INF:{pr(this.manifest,t),this.manifest.partInf.partTarget&&(this.manifest.partTargetDuration=this.manifest.partInf.partTarget),this.setHoldBack();break}case at.SERVER_CONTROL:{pr(this.manifest,t),this.setHoldBack();break}case at.INF:{s===0?this.currentUri.duration=.01:s>0&&(this.currentUri.duration=s);break}case at.PROGRAM_DATE_TIME:{var n=s,a=new Date(n);this.manifest.dateTimeString||(this.manifest.dateTimeString=n,this.manifest.dateTimeObject=a),this.currentUri.dateTimeString=n,this.currentUri.dateTimeObject=a;break}case at.VERSION:{pr(this.manifest,t);break}case at.SESSION_DATA:{var o=Fu(t[1]),l=Vn(o);Object.assign(this.manifest.sessionData,l)}}};li.prototype.setHoldBack=function(){var r=this.manifest,e=r.serverControl,t=r.targetDuration,i=r.partTargetDuration;if(e){var s="holdBack",n="partHoldBack",a=t&&t*3,o=i&&i*2;t&&!e.hasOwnProperty(s)&&(e[s]=a),a&&e[s]<a&&(e[s]=a),i&&!e.hasOwnProperty(n)&&(e[n]=i*3),i&&e[n]<o&&(e[n]=o)}};var pr=function(r,e){var t=Zn(e[0].replace("#EXT-X-","")),i;Ou(e[1])?(i={},i=Object.assign(Mu(e[1]),i)):i=Rr(e[1]),r[t]=i},Zn=function(r){return r.toLowerCase().replace(/-(\w)/g,function(e){return e[1].toUpperCase()})},Rr=function(r){if(r.toLowerCase()==="yes"||r.toLowerCase()==="no")return r.toLowerCase()==="yes";var e=r.indexOf(":")!==-1?r:parseFloat(r);return isNaN(e)?r:e},Pu=function(r){var e={},t=r.split("=");if(t.length>1){var i=Zn(t[0]);e[i]=Rr(t[1])}return e},Mu=function(r){for(var e=r.split(","),t={},i=0;e.length>i;i++){var s=e[i],n=Pu(s);t=Object.assign(n,t)}return t},Ou=function(r){return r.indexOf("=")>-1},Nu=function(r,e){return e===-1?[r]:[r.substring(0,e),r.substring(e+1)]},Fu=function(r){var e={};if(r){var t=r.search(","),i=r.slice(0,t),s=r.slice(t+1),n=[i,s];return n.forEach(function(a,o){for(var l=a.replace(/['"]+/g,"").split("="),c=0;c<l.length;c++)l[c]==="DATA-ID"&&(e["DATA-ID"]=l[1-c]),l[c]==="VALUE"&&(e.VALUE=l[1-c])}),{data:e}}},Uu=li,Bu={safeCall:wu,safeIncrement:de,getComputedStyle:ku,secondsToMs:Cu,assign:Object.assign,headersStringToObject:Ar,cdnHeadersToRequestId:oi,extractHostnameAndDomain:Ft,extractHostname:Me,manifestParser:Uu,generateShortID:Hn,generateUUID:Nt,now:me.now},$u=Bu,Gu={PLAYER_READY:"playerready",VIEW_INIT:"viewinit",VIDEO_CHANGE:"videochange",PLAY:"play",PAUSE:"pause",PLAYING:"playing",TIME_UPDATE:"timeupdate",SEEKING:"seeking",SEEKED:"seeked",REBUFFER_START:"rebufferstart",REBUFFER_END:"rebufferend",ERROR:"error",ENDED:"ended",RENDITION_CHANGE:"renditionchange",ORIENTATION_CHANGE:"orientationchange",AD_REQUEST:"adrequest",AD_RESPONSE:"adresponse",AD_BREAK_START:"adbreakstart",AD_PLAY:"adplay",AD_PLAYING:"adplaying",AD_PAUSE:"adpause",AD_FIRST_QUARTILE:"adfirstquartile",AD_MID_POINT:"admidpoint",AD_THIRD_QUARTILE:"adthirdquartile",AD_ENDED:"adended",AD_BREAK_END:"adbreakend",AD_ERROR:"aderror",REQUEST_COMPLETED:"requestcompleted",REQUEST_FAILED:"requestfailed",REQUEST_CANCELLED:"requestcanceled"},Hu=Gu,Ku="mux-embed",Vu="5.3.1",qu="2.1",ke={},tt=function(r){var e=arguments;typeof r=="string"?tt.hasOwnProperty(r)?Mt.default.setTimeout(function(){e=Array.prototype.splice.call(e,1),tt[r].apply(null,e)},0):oe.warn("`"+r+"` is an unknown task"):typeof r=="function"?Mt.default.setTimeout(function(){r(tt)},0):oe.warn("`"+r+"` is invalid.")},Wu={loaded:me.now(),NAME:Ku,VERSION:Vu,API_VERSION:qu,PLAYER_TRACKED:!1,monitor:function(r,e){return Iu(tt,r,e)},destroyMonitor:function(r){var e=Xe(Tr(r),1),t=e[0];t&&t.mux&&typeof t.mux.destroy=="function"?t.mux.destroy():oe.error("A video element monitor for `"+r+"` has not been initialized via `mux.monitor`.")},addHLSJS:function(r,e){var t=ot(r);ke[t]?ke[t].addHLSJS(e):oe.error("A monitor for `"+t+"` has not been initialized.")},addDashJS:function(r,e){var t=ot(r);ke[t]?ke[t].addDashJS(e):oe.error("A monitor for `"+t+"` has not been initialized.")},removeHLSJS:function(r){var e=ot(r);ke[e]?ke[e].removeHLSJS():oe.error("A monitor for `"+e+"` has not been initialized.")},removeDashJS:function(r){var e=ot(r);ke[e]?ke[e].removeDashJS():oe.error("A monitor for `"+e+"` has not been initialized.")},init:function(r,e){vr()&&e&&e.respectDoNotTrack&&oe.info("The browser's Do Not Track flag is enabled - Mux beaconing is disabled.");var t=ot(r);ke[t]=new Au(tt,t,e)},emit:function(r,e,t){var i=ot(r);ke[i]?(ke[i].emit(e,t),e==="destroy"&&delete ke[i]):oe.error("A monitor for `"+i+"` has not been initialized.")},checkDoNotTrack:vr,log:oe,utils:$u,events:Hu,WINDOW_HIDDEN:!1,WINDO Line truncated
Time to underbuffer: ${g.toFixed(3)} s
Estimated load time for current fragment: ${D.toFixed(3)} s
Estimated load time for down switch fragment: ${L.toFixed(3)} s
TTFB estimate: ${p|0} ms
Current BW estimate: ${N(E)?E|0:"Unknown"} bps
New BW estimate: ${this.getBwEstimate()|0} bps
Switching to level ${I} @ ${P|0} bps`),s.trigger(y.FRAG_LOAD_EMERGENCY_ABORTED,{frag:t,part:i,stats:l})},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}resetEstimator(e){e&&(b.log(`setting initial bwe to ${e}`),this.hls.config.abrEwmaDefaultEstimate=e),this.firstSelection=-1,this.bwEstimator=this.initEstimator()}initEstimator(){let e=this.hls.config;return new as(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)}registerListeners(){let{hls:e}=this;e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.FRAG_LOADING,this.onFragLoading,this),e.on(y.FRAG_LOADED,this.onFragLoaded,this),e.on(y.FRAG_BUFFERED,this.onFragBuffered,this),e.on(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(y.LEVEL_LOADED,this.onLevelLoaded,this),e.on(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(y.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(y.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e&&(e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.FRAG_LOADING,this.onFragLoading,this),e.off(y.FRAG_LOADED,this.onFragLoaded,this),e.off(y.FRAG_BUFFERED,this.onFragBuffered,this),e.off(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(y.LEVEL_LOADED,this.onLevelLoaded,this),e.off(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(y.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(y.ERROR,this.onError,this))}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=null,this.fragCurrent=this.partCurrent=null}onManifestLoading(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()}onLevelsUpdated(){this.lastLoadedFragLevel>-1&&this.fragCurrent&&(this.lastLoadedFragLevel=this.fragCurrent.level),this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null}onMaxAutoLevelUpdated(){this.firstSelection=-1,this.nextAutoLevelKey=""}onFragLoading(e,t){let i=t.frag;if(!this.ignoreFragment(i)){if(!i.bitrateTest){var s;this.fragCurrent=i,this.partCurrent=(s=t.part)!=null?s:null}this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100)}}onLevelSwitching(e,t){this.clearTimer()}onError(e,t){if(!t.fatal)switch(t.details){case R.BUFFER_ADD_CODEC_ERROR:case R.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case R.FRAG_LOAD_TIMEOUT:{let i=t.frag,{fragCurrent:s,partCurrent:n}=this;if(i&&s&&i.sn===s.sn&&i.level===s.level){let a=performance.now(),o=n?n.stats:i.stats,l=a-o.loading.start,c=o.loading.first?o.loading.first-o.loading.start:-1;if(o.loaded&&c>-1){let d=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(l-Math.min(d,c),o.loaded)}else this.bwEstimator.sampleTTFB(l)}break}}}getTimeToLoadFrag(e,t,i,s){let n=e+i/t,a=s?this.lastLevelLoadSec:0;return n+a}onLevelLoaded(e,t){let i=this.hls.config,{loading:s}=t.stats,n=s.end-s.start;N(n)&&(this.lastLevelLoadSec=n/1e3),t.details.live?this.bwEstimator.update(i.abrEwmaSlowLive,i.abrEwmaFastLive):this.bwEstimator.update(i.abrEwmaSlowVoD,i.abrEwmaFastVoD)}onFragLoaded(e,{frag:t,part:i}){let s=i?i.stats:t.stats;if(t.type===H.MAIN&&this.bwEstimator.sampleTTFB(s.loading.first-s.loading.start),!this.ignoreFragment(t)){if(this.clearTimer(),t.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){let n=i?i.duration:t.duration,a=this.hls.levels[t.level],o=(a.loaded?a.loaded.bytes:0)+s.loaded,l=(a.loaded?a.loaded.duration:0)+n;a.loaded={bytes:o,duration:l},a.realBitrate=Math.round(8*o/l)}if(t.bitrateTest){let n={stats:s,frag:t,part:i,id:t.type};this.onFragBuffered(y.FRAG_BUFFERED,n),t.bitrateTest=!1}else this.lastLoadedFragLevel=t.level}}onFragBuffered(e,t){let{frag:i,part:s}=t,n=s!=null&&s.stats.loaded?s.stats:i.stats;if(n.aborted||this.ignoreFragment(i))return;let a=n.parsing.end-n.loading.start-Math.min(n.loading.first-n.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(a,n.loaded),n.bwEstimate=this.getBwEstimate(),i.bitrateTest?this.bitrateTestDelay=a/1e3:this.bitrateTestDelay=0}ignoreFragment(e){return e.type!==H.MAIN||e.sn==="initSegment"}clearTimer(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)}get firstAutoLevel(){let{maxAutoLevel:e,minAutoLevel:t}=this.hls,i=this.getBwEstimate(),s=this.hls.config.maxStarvationDelay,n=this.findBestLevel(i,t,e,0,s,1,1);if(n>-1)return n;let a=this.hls.firstLevel,o=Math.min(Math.max(a,t),e);return b.warn(`[abr] Could not find best starting auto level. Defaulting to first in playlist ${a} clamped to ${o}`),o}get forcedAutoLevel(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}get nextAutoLevel(){let e=this.forcedAutoLevel,i=this.bwEstimator.canEstimate(),s=this.lastLoadedFragLevel>-1;if(e!==-1&&(!i||!s||this.nextAutoLevelKey===this.getAutoLevelKey()))return e;let n=i&&s?this.getNextABRAutoLevel():this.firstAutoLevel;if(e!==-1){let a=this.hls.levels;if( Line truncated
discontinuity: ${T}
trackSwitch: ${E}
contiguous: ${A}
accurateTimeOffset: ${l}
timeOffset: ${m}
initSegmentChange: ${D}`);let L=new bs(i,s,t,o,u);this.configureTransmuxer(L)}if(this.frag=n,this.part=a,this.workerContext)this.workerContext.worker.postMessage({cmd:"demux",data:e,decryptdata:g,chunkMeta:c,state:k},e instanceof ArrayBuffer?[e]:[]);else if(f){let L=f.push(e,g,c,k);bi(L)?(f.async=!0,L.then(I=>{this.handleTransmuxComplete(I)}).catch(I=>{this.transmuxerError(I,c,"transmuxer-interface push error")})):(f.async=!1,this.handleTransmuxComplete(L))}}flush(e){e.transmuxing.start=self.performance.now();let{transmuxer:t}=this;if(this.workerContext)this.workerContext.worker.postMessage({cmd:"flush",chunkMeta:e});else if(t){let i=t.flush(e);bi(i)||t.async?(bi(i)||(i=Promise.resolve(i)),i.then(n=>{this.handleFlushResult(n,e)}).catch(n=>{this.transmuxerError(n,e,"transmuxer-interface flush error")})):this.handleFlushResult(i,e)}}transmuxerError(e,t,i){this.hls&&(this.error=e,this.hls.trigger(y.ERROR,{type:G.MEDIA_ERROR,details:R.FRAG_PARSING_ERROR,chunkMeta:t,frag:this.frag||void 0,fatal:!1,error:e,err:e,reason:i}))}handleFlushResult(e,t){e.forEach(i=>{this.handleTransmuxComplete(i)}),this.onFlush(t)}onWorkerMessage(e){let t=e.data;if(!(t!=null&&t.event)){b.warn(`worker message received with no ${t?"event name":"data"}`);return}let i=this.hls;if(this.hls)switch(t.event){case"init":{var s;let n=(s=this.workerContext)==null?void 0:s.objectURL;n&&self.URL.revokeObjectURL(n);break}case"transmuxComplete":{this.handleTransmuxComplete(t.data);break}case"flush":{this.onFlush(t.data);break}case"workerLog":b[t.data.logType]&&b[t.data.logType](t.data.message);break;default:{t.data=t.data||{},t.data.frag=this.frag,t.data.id=this.id,i.trigger(t.event,t.data);break}}}configureTransmuxer(e){let{transmuxer:t}=this;this.workerContext?this.workerContext.worker.postMessage({cmd:"configure",config:e}):t&&t.configure(e)}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)}};function Mo(r,e){if(r.length!==e.length)return!1;for(let t=0;t<r.length;t++)if(!It(r[t].attrs,e[t].attrs))return!1;return!0}function It(r,e,t){let i=r["STABLE-RENDITION-ID"];return i&&!t?i===e["STABLE-RENDITION-ID"]:!(t||["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED","ASSOC-LANGUAGE"]).some(s=>r[s]!==e[s])}function Rs(r,e){return e.label.toLowerCase()===r.name.toLowerCase()&&(!e.language||e.language.toLowerCase()===(r.lang||"").toLowerCase())}var Oa=100,Ls=class extends zt{constructor(e,t,i){super(e,t,i,"[audio-stream-controller]",H.AUDIO),this.videoBuffer=null,this.videoTrackCC=-1,this.waitingVideoCC=-1,this.bufferedTrack=null,this.switchingTrack=null,this.trackId=-1,this.waitingData=null,this.mainDetails=null,this.flushing=!1,this.bufferFlushed=!1,this.cachedTrackLoadedData=null,this._registerListeners()}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null,this.bufferedTrack=null,this.switchingTrack=null}_registerListeners(){let{hls:e}=this;e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.LEVEL_LOADED,this.onLevelLoaded,this),e.on(y.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(y.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(y.ERROR,this.onError,this),e.on(y.BUFFER_RESET,this.onBufferReset,this),e.on(y.BUFFER_CREATED,this.onBufferCreated,this),e.on(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(y.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){let{hls:e}=this;e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.LEVEL_LOADED,this.onLevelLoaded,this),e.off(y.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(y.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(y.ERROR,this.onError,this),e.off(y.BUFFER_RESET,this.onBufferReset,this),e.off(y.BUFFER_CREATED,this.onBufferCreated,this),e.off(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(y.FRAG_BUFFERED,this.onFragBuffered,this)}onInitPtsFound(e,{frag:t,id:i,initPTS:s,timescale:n}){if(i==="main"){let a=t.cc;this.initPTS[t.cc]={baseTime:s,timescale:n},this.log(`InitPTS for cc: ${a} found from main: ${s}`),this.videoTrackCC=a,this.state===w.WAITING_INIT_PTS&&this.tick()}}startLoad(e){if(!this.levels){this.startPosition=e,this.state=w.STOPPED;return}let t=this.lastCurrentTime;this.stopLoad(),this.setInterval(Oa),t>0&&e===-1?(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t,this.state=w.IDLE):(this.loadedmetadata=!1,this.state=w.WAITING_TRACK),this.nextLoadPosition=this.sta Line truncated
`)),i}getTextAndFormat(){return this.rows}},ji=class{constructor(e,t,i){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=t,this.mode=null,this.verbose=0,this.displayedMemory=new Ht(i),this.nonDisplayedMemory=new Ht(i),this.lastOutputScreen=new Ht(i),this.currRollUpRow=this.displayedMemory.rows[Fe-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=i}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[Fe-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null}getHandler(){return this.outputFilter}setHandler(e){this.outputFilter=e}setPAC(e){this.writeScreen.setPAC(e)}setBkgData(e){this.writeScreen.setBkgData(e)}setMode(e){e!==this.mode&&(this.mode=e,this.logger.log(2,()=>"MODE="+e),this.mode==="MODE_POP-ON"?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),this.mode!=="MODE_ROLL-UP"&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)}insertChars(e){for(let i=0;i<e.length;i++)this.writeScreen.insertChar(e[i]);let t=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(2,()=>t+": "+this.writeScreen.getDisplayText(!0)),(this.mode==="MODE_PAINT-ON"||this.mode==="MODE_ROLL-UP")&&(this.logger.log(1,()=>"DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate())}ccRCL(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")}ccBS(){this.logger.log(2,"BS - BackSpace"),this.mode!=="MODE_TEXT"&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()}ccRU(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e)}ccFON(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})}ccRDC(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")}ccTR(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")}ccRTD(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")}ccEDM(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)}ccCR(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)}ccENM(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()}ccEOC(){if(this.logger.log(2,"EOC - End Of Caption"),this.mode==="MODE_POP-ON"){let e=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=e,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,()=>"DISP: "+this.displayedMemory.getDisplayText())}this.outputDataUpdate(!0)}ccTO(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e)}ccMIDROW(e){let t={flash:!1};if(t.underline=e%2===1,t.italics=e>=46,t.italics)t.foreground="white";else{let i=Math.floor(e/2)-16,s=["white","green","blue","cyan","red","yellow","magenta"];t.foreground=s[i]}this.logger.log(2,"MIDROW: "+JSON.stringify(t)),this.writeScreen.setPen(t)}outputDataUpdate(e=!1){let t=this.logger.time;t!==null&&this.outputFilter&&(this.cueStartTime===null&&!this.displayedMemory.isEmpty()?this.cueStartTime=t:this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t),this.lastOutputScreen.copy(this.displayedMemory))}cueSplitAtTime(e){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e))}},zi=class{constructor(e,t,i){this.channels=void 0,this.currentChannel=0,this.cmdHistory=uf(),this.logger=void 0;let s=this.logger=new Ms;this.channels=[null,new ji(e,t,s),new ji(e+1,i,s)]}getHandler(e){return this.channels[e].getHandler()}setHandler(e,t){this.channels[e].setHandler(t)}addData(e,t){this.logger.time=e;for(let i=0;i<t.length;i+=2){let s=t[i]&127,n=t[i+1]&127,a=!1,o=null;if(s===0&&n===0)continue;this.logger.log(3,()=>"["+ht([t[i],t[i+1]])+"] -> ("+ht([s,n])+")");let l=this.cmdHistory;if(s>=16&&s<=31){if(cf(s,n,l)){pi(null,null,l),this.logger.log(3,()=>"Repeated command ("+ht([s,n])+") is dropped");continue}pi(s,n,this.cmdHistory),a=this.parseCmd(s,n),a||(a=this.parseMidrow(s,n)),a||(a=this.parsePAC(s,n)),a||(a=this.parseBackgroundAttributes(s,n))}else pi(null,null,l);if(!a&&(o=this.par Line truncated
`)}var $s=class{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new Fs,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(e){let t=this;e&&(t.buffer+=t.decoder.decode(e,{stream:!0}));function i(){let n=t.buffer,a=0;for(n=Uo(n);a<n.length&&n[a]!=="\r"&&n[a]!==`
`;)++a;let o=n.slice(0,a);return n[a]==="\r"&&++a,n[a]===`
`&&++a,t.buffer=n.slice(a),o}function s(n){Fo(n,function(a,o){},/:/)}try{let n="";if(t.state==="INITIAL"){if(!/\r\n|\n/.test(t.buffer))return this;n=i();let o=n.match(/^()?WEBVTT([ \t].*)?$/);if(!(o!=null&&o[0]))throw new Error("Malformed WebVTT signature.");t.state="HEADER"}let a=!1;for(;t.buffer;){if(!/\r\n|\n/.test(t.buffer))return this;switch(a?a=!1:n=i(),t.state){case"HEADER":/:/.test(n)?s(n):n||(t.state="ID");continue;case"NOTE":n||(t.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(n)){t.state="NOTE";break}if(!n)continue;if(t.cue=new dn(0,0,""),t.state="CUE",n.indexOf("-->")===-1){t.cue.id=n;continue}case"CUE":if(!t.cue){t.state="BADCUE";continue}try{df(n,t.cue,t.regionList)}catch{t.cue=null,t.state="BADCUE";continue}t.state="CUETEXT";continue;case"CUETEXT":{let o=n.indexOf("-->")!==-1;if(!n||o&&(a=!0)){t.oncue&&t.cue&&t.oncue(t.cue),t.cue=null,t.state="ID";continue}if(t.cue===null)continue;t.cue.text&&(t.cue.text+=`
`),t.cue.text+=n}continue;case"BADCUE":n||(t.state="ID")}}}catch{t.state==="CUETEXT"&&t.cue&&t.oncue&&t.oncue(t.cue),t.cue=null,t.state=t.state==="INITIAL"?"BADWEBVTT":"BADCUE"}return this}flush(){let e=this;try{if((e.cue||e.state==="HEADER")&&(e.buffer+=`
`,e.parse()),e.state==="INITIAL"||e.state==="BADWEBVTT")throw new Error("Malformed WebVTT signature.")}catch(t){e.onparsingerror&&e.onparsingerror(t)}return e.onflush&&e.onflush(),this}},hf=/\r\n|\n\r|\n|\r/g,Br=function(e,t,i=0){return e.slice(i,i+t.length)===t},ff=function(e){let t=parseInt(e.slice(-3)),i=parseInt(e.slice(-6,-4)),s=parseInt(e.slice(-9,-7)),n=e.length>9?parseInt(e.substring(0,e.indexOf(":"))):0;if(!N(t)||!N(i)||!N(s)||!N(n))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${e}`);return t+=1e3*i,t+=60*1e3*s,t+=60*60*1e3*n,t},$r=function(e){let t=5381,i=e.length;for(;i;)t=t*33^e.charCodeAt(--i);return(t>>>0).toString()};function hn(r,e,t){return $r(r.toString())+$r(e.toString())+$r(t)}var mf=function(e,t,i){let s=e[t],n=e[s.prevCC];if(!n||!n.new&&s.new){e.ccOffset=e.presentationOffset=s.start,s.new=!1;return}for(;(a=n)!=null&&a.new;){var a;e.ccOffset+=s.start-n.start,s.new=!1,s=n,n=e[s.prevCC]}e.presentationOffset=i};function gf(r,e,t,i,s,n,a){let o=new $s,l=Ye(new Uint8Array(r)).trim().replace(hf,`
`).split(`
`),c=[],u=e?Yh(e.baseTime,e.timescale):0,d="00:00.000",h=0,f=0,m,g=!0;o.oncue=function(p){let T=t[i],E=t.ccOffset,v=(h-u)/9e4;if(T!=null&&T.new&&(f!==void 0?E=t.ccOffset=T.start:mf(t,i,v)),v){if(!e){m=new Error("Missing initPTS for VTT MPEGTS");return}E=v-t.presentationOffset}let x=p.endTime-p.startTime,_=Ce((p.startTime+E-f)*9e4,s*9e4)/9e4;p.startTime=Math.max(_,0),p.endTime=Math.max(_+x,0);let A=p.text.trim();p.text=decodeURIComponent(encodeURIComponent(A)),p.id||(p.id=hn(p.startTime,p.endTime,A)),p.endTime>0&&c.push(p)},o.onparsingerror=function(p){m=p},o.onflush=function(){if(m){a(m);return}n(c)},l.forEach(p=>{if(g)if(Br(p,"X-TIMESTAMP-MAP=")){g=!1,p.slice(16).split(",").forEach(T=>{Br(T,"LOCAL:")?d=T.slice(6):Br(T,"MPEGTS:")&&(h=parseInt(T.slice(7)))});try{f=ff(d)/1e3}catch(T){m=T}return}else p===""&&(g=!1);o.parse(p+`
`)}),o.flush()}var Gr="stpp.ttml.im1t",Bo=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,$o=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,pf={left:"start",center:"center",right:"end",start:"start",end:"end"};function Ba(r,e,t,i){let s=Y(new Uint8Array(r),["mdat"]);if(s.length===0){i(new Error("Could not parse IMSC1 mdat"));return}let n=s.map(o=>Ye(o)),a=Wh(e.baseTime,1,e.timescale);try{n.forEach(o=>t(yf(o,a)))}catch(o){i(o)}}function yf(r,e){let s=new DOMParser().parseFromString(r,"text/xml").getElementsByTagName("tt")[0];if(!s)throw new Error("Invalid ttml");let n={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},a=Object.keys(n).reduce((d,h)=>(d[h]=s.getAttribute(`ttp:${h}`)||n[h],d),{}),o=s.getAttribute("xml:space")!=="preserve",l=$a(Hr(s,"styling","style")),c=$a(Hr(s,"layout","region")),u=Hr(s,"body","[begin]");return[].map.call(u,d=>{let h=Go(d,o);if(!h||!d.hasAttribute("begin"))return null;let f=Vr(d.getAttribute("begin"),a),m=Vr(d.getAttribute("dur"),a),g=Vr(d.getAttribute("end"),a);if(f===null)throw Ga(d);if(g===null){if(m===null)throw Ga(d);g=f+m}let p=new dn(f-e,g-e,h);p.id=hn(p.startTime,p.endTime,p.text);let T=c[d.getAttribute("region")],E=l[d.getAttribute("style")],v=Tf(T,E,l),{textAlign:x}=v;if(x){let _=pf[x];_&&(p.lineAlign=_),p.align=x}return he(p,v),p}).filter(d=>d!==null)}function Hr(r,e,t){let i=r.getElementsByTagName(e)[0];return i?[].slice.call(i.querySelectorAll(t)):[]}function $a(r){return r.reduce((e,t)=>{let i=t.getAttribute("xml:id");return i&&(e[i]=t),e},{})}function Go(r,e){return[].slice.call(r.childNodes).reduce((t,i,s)=>{var n;return i.nodeName==="br"&&s?t+`
`:(n=i.childNodes)!=null&&n.length?Go(i,e):e?t+i.textContent.trim().replace(/\s+/g," "):t+i.textContent},"")}function Tf(r,e,t){let i="http://www.w3.org/ns/ttml#styling",s=null,n=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],a=r!=null&&r.hasAttribute("style")?r.getAttribute("style"):null;return a&&t.hasOwnProperty(a)&&(s=t[a]),n.reduce((o,l)=>{let c=Kr(e,i,l)||Kr(r,i,l)||Kr(s,i,l);return c&&(o[l]=c),o},{})}function Kr(r,e,t){return r&&r.hasAttributeNS(e,t)?r.getAttributeNS(e,t):null}function Ga(r){return new Error(`Could not parse ttml timestamp ${r}`)}function Vr(r,e){if(!r)return null;let t=No(r);return t===null&&(Bo.test(r)?t=vf(r,e):$o.test(r)&&(t=Ef(r,e))),t}function vf(r,e){let t=Bo.exec(r),i=(t[4]|0)+(t[5]|0)/e.subFrameRate;return(t[1]|0)*3600+(t[2]|0)*60+(t[3]|0)+i/e.frameRate}function Ef(r,e){let t=$o.exec(r),i=Number(t[1]);switch(t[2]){case"h":return i*3600;case"m":return i*60;case"ms":return i*1e3;case"f":return i/e.frameRate;case"t":return i/e.tickRate}return i}var Gs=class{constructor(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=Ka(),this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},e.on(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(y.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(y.FRAG_LOADING,this.onFragLoading,this),e.on(y.FRAG_LOADED,this.onFragLoaded,this),e.on(y.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(y.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(y.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(y.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){let{hls:e}=this;e.off(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(y.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(y.FRAG_LOADING,this.onFragLoading,this),e.off(y.FRAG_LOADED,this.onFragLoaded,this),e.off(y.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(y.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(y.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(y.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){if(this.config.enableCEA708Captions&&(!this.cea608Parser1||!this.cea608Parser2)){let e=new bt(this,"textTrack1"),t=new bt(this,"textTrack2"),i=new bt(this,"textTrack3"),s=new bt(this,"textTrack4");this.cea608Parser1=new zi(1,e,t),this.cea608Parser2=new zi(3,i,s)}}addCues(e,t,i,s,n){let a=!1;for(let o=n.length;o--;){let l=n[o],c=xf(l[0],l[1],t,i);if(c>=0&&(l[0]=Math.min(l[0],t),l[1]=Math.max(l[1],i),a=!0,c/(i-t)>.5))return}if(a||n.push([t,i]),this.config.renderTextTracksNatively){let o=this.captionsTracks[e];this.Cues.newCue(o,t,i,s)}else{let o=this.Cues.newCue(null,t,i,s);this.hls.trigger(y.CUES_PARSED,{type:"captions",cues:o,track:e})}}onInitPtsFound(e,{frag:t,id:i,initPTS:s,timescale:n}){let{unparsedVttFrags:a}=this;i==="main"&&(this.initPTS[t.cc]={baseTime:s,timescale:n}),a.length&&(this.unparsedVttFrags=[],a.forEach(o=>{this.onFragLoaded(y.FRAG_LOADED,o)}))}getExistingTrack(e,t){let{media:i}=this;if(i)for(let s=0;s<i.textTracks.length;s++){let n=i.textTracks[s];if(Ha(n,{name:e,lang:t,attrs:{}}))return n}return null}createCaptionsTrack(e){this.config.renderTextTracksNatively?this.createNativeTrack(e):this.createNonNativeTrack(e)}createNativeTrack(e){if(this.captionsTracks[e])return;let{captionsProperties:t,captionsTracks:i,media:s}=this,{label:n,languageCode:a}=t[e],o=this.getExistingTrack(n,a);if(o)i[e]=o,St(i[e]),co(i[e],s);else{let l=this.createTextTrack("captions",n,a);l&&(l[e]=!0,i[e]=l)}}createNonNativeTrack(e){if(this.nonNativeCaptionsTracks[e])return;let t=this.captionsProperties[e];if(!t)return;let i=t.label,s={_id:e,label:i,kind:"captions",default:t.media?!!t.media.default:!1,closedCaptions:t.med Line truncated
} (data length: ${t&&t.byteLength})`),s.update(t)}selectKeySystemFormat(e){let t=Object.keys(e.levelkeys||{});return this.keyFormatPromise||(this.log(`Selecting key-system from fragment (sn: ${e.sn} ${e.type}: ${e.level}) key formats ${t.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(t)),this.keyFormatPromise}getKeyFormatPromise(e){return new Promise((t,i)=>{let s=Lr(this.config),n=e.map(ia).filter(a=>!!a&&s.indexOf(a)!==-1);return this.getKeySystemSelectionPromise(n).then(({keySystem:a})=>{let o=sa(a);o?t(o):i(new Error(`Unable to find format for key-system "${a}"`))}).catch(i)})}loadKey(e){let t=e.keyInfo.decryptdata,i=this.getKeyIdString(t),s=`(keyId: ${i} format: "${t.keyFormat}" method: ${t.method} uri: ${t.uri})`;this.log(`Starting session for key ${s}`);let n=this.keyIdToKeySessionPromise[i];return n||(n=this.keyIdToKeySessionPromise[i]=this.getKeySystemForKeyPromise(t).then(({keySystem:a,mediaKeys:o})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${e.frag.sn} ${e.frag.type}: ${e.frag.level} using key ${s}`),this.attemptSetMediaKeys(a,o).then(()=>{this.throwIfDestroyed();let l=this.createMediaKeySessionContext({keySystem:a,mediaKeys:o,decryptdata:t});return this.generateRequestWithPreferredKeySession(l,"cenc",t.pssh,"playlist-key")}))),n.catch(a=>this.handleError(a))),n}throwIfDestroyed(e="Invalid state"){if(!this.hls)throw new Error("invalid state")}handleError(e){this.hls&&(this.error(e.message),e instanceof Le?this.hls.trigger(y.ERROR,e.data):this.hls.trigger(y.ERROR,{type:G.KEY_SYSTEM_ERROR,details:R.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0}))}getKeySystemForKeyPromise(e){let t=this.getKeyIdString(e),i=this.keyIdToKeySessionPromise[t];if(!i){let s=ia(e.keyFormat),n=s?[s]:Lr(this.config);return this.attemptKeySystemAccess(n)}return i}getKeySystemSelectionPromise(e){if(e.length||(e=Lr(this.config)),e.length===0)throw new Le({type:G.KEY_SYSTEM_ERROR,details:R.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${JSON.stringify({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(e)}_onMediaEncrypted(e){let{initDataType:t,initData:i}=e,s=`"${e.type}" event: init data type: "${t}"`;if(this.debug(s),i===null)return;let n,a;if(t==="sinf"&&this.config.drmSystems[re.FAIRPLAY]){let d=ge(new Uint8Array(i));try{let h=rn(JSON.parse(d).sinf),f=so(new Uint8Array(h));if(!f)throw new Error("'schm' box missing or not cbcs/cenc with schi > tenc");n=f.subarray(8,24),a=re.FAIRPLAY}catch(h){this.warn(`${s} Failed to parse sinf: ${h}`);return}}else{let d=Md(i),h=d.filter(f=>f.systemId===Bt.WIDEVINE)[0];if(!h){d.length===0||d.some(f=>!f.systemId)?this.warn(`${s} contains incomplete or invalid pssh data`):this.log(`ignoring ${s} for ${d.map(f=>ra(f.systemId)).join(",")} pssh data in favor of playlist keys`);return}if(a=ra(h.systemId),h.version===0&&h.data){let f=h.data.length-22;n=h.data.subarray(f,f+16)}}if(!a||!n)return;let o=Ve.hexDump(n),{keyIdToKeySessionPromise:l,mediaKeySessions:c}=this,u=l[o];for(let d=0;d<c.length;d++){let h=c[d],f=h.decryptdata;if(!f.keyId)continue;let m=Ve.hexDump(f.keyId);if(o===m||f.uri.replace(/-/g,"").indexOf(o)!==-1){if(u=l[m],f.pssh)break;delete l[m],f.pssh=new Uint8Array(i),f.keyId=n,u=l[o]=u.then(()=>this.generateRequestWithPreferredKeySession(h,t,i,"encrypted-event-key-match"));break}}u||(u=l[o]=this.getKeySystemSelectionPromise([a]).then(({keySystem:d,mediaKeys:h})=>{var f;this.throwIfDestroyed();let m=new Vt("ISO-23001-7",o,(f=sa(d))!=null?f:"");return m.pssh=new Uint8Array(i),m.keyId=n,this.attemptSetMediaKeys(d,h).then(()=>{this.throwIfDestroyed();let g=this.createMediaKeySessionContext({decryptdata:m,keySystem:d,mediaKeys:h});return this.generateRequestWithPreferredKeySession(g,t,i,"encrypted-event-no-match")})})),u.catch(d=>this.handleError(d))}_onWaitingForKey(e){this.log(`"${e.type}" event`)}attemptSetMediaKeys(e,t){let i=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${e}"`);let s=Promise.all(i).then(()=>{if(!this.media)throw new Error("Attempted to set mediaKeys without media element attached");return this.media.setMediaKeys(t)});return this.setMediaKeysQueue.push(s),s.then(()=>{this.log(`Media-keys set for "${e}"`),i.push(s),this.setMediaKeysQueue=this.setMediaKeysQueue.filter(n=>i.indexOf(n)===-1)})}generateRequestWithPreferredKeySession(e,t,i,s){var n,a;let o=(n=this.config.drmSystems)==null||(a=n[e.keySystem])==null?void 0:a.generateRequest;if(o)try{let m=o.call(this.hls,t,i,e);if(!m)throw new Error("Invalid response from configured generateRequest filter");t=m.initDataType,i=e.decryptdata.pssh=m.initData?new Uint8Array(m.initData):null}catch(m){var l;if(this.warn(m.message),(l=this.hls)!=null&&l.config.debug)throw m}if(i===null)return this.log(`Skipping key-session request for "${s}" (no initData)`),Promise.resolve(e);let c=this.getKeyIdString(e.decryptdata);this.log(`Generating key-session request for "${s}": ${c} (init data type: ${t} length: ${i?i.byteLenLine truncated
`).find((i,s,n)=>s&&n[s-1].startsWith("#EXT-X-STREAM-INF"));return fetch(t).then(i=>i.status!==200?Promise.reject(i):i.text()).then(i=>i.split(`
`))}),Nm=r=>{var a,o,l;let t=(o=((a=r.find(c=>c.startsWith("#EXT-X-PLAYLIST-TYPE")))!=null?a:"").split(":")[1])==null?void 0:o.trim(),i=pn(t),s=yn(t),n;if(i===_e.LIVE){let c=r.find(d=>d.startsWith("#EXT-X-PART-INF"));if(!!c)n=+c.split(":")[1].split("=")[1]*2;else{let d=r.find(m=>m.startsWith("#EXT-X-TARGETDURATION")),h=(l=d==null?void 0:d.split(":"))==null?void 0:l[1];n=+(h!=null?h:6)*3}}return{streamType:i,targetLiveWindow:s,liveEdgeStartOffset:n}},Fm=async(r,e)=>{if(e===ze.MP4)return{streamType:_e.ON_DEMAND,targetLiveWindow:Number.NaN,liveEdgeStartOffset:void 0};if(e===ze.M3U8){let t=await Om(r);return Nm(t)}return console.error(`Media type ${e} is an unrecognized or unsupported type for src ${r}.`),{streamType:void 0,targetLiveWindow:void 0,liveEdgeStartOffset:void 0}},Um=async(r,e,t=ti({src:r}))=>{var a,o,l;let{streamType:i,targetLiveWindow:s,liveEdgeStartOffset:n}=await Fm(r,t);((a=Se.get(e))!=null?a:{}).liveEdgeStartOffset=n,((o=Se.get(e))!=null?o:{}).targetLiveWindow=s,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((l=Se.get(e))!=null?l:{}).streamType=i,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},Bm=r=>{var a;let e=r.type,t=pn(e),i=yn(e),s,n=!!((a=r.partList)!=null&&a.length);return t===_e.LIVE&&(s=n?r.partTarget*2:r.targetduration*3),{streamType:t,targetLiveWindow:i,liveEdgeStartOffset:s,lowLatency:n}},$m=(r,e,t)=>{var o,l,c,u,d,h,f,m;let{streamType:i,targetLiveWindow:s,liveEdgeStartOffset:n,lowLatency:a}=Bm(r);if(i===_e.LIVE){a?(t.config.backBufferLength=(o=t.userConfig.backBufferLength)!=null?o:4,t.config.maxFragLookUpTolerance=(l=t.userConfig.maxFragLookUpTolerance)!=null?l:.001,t.config.abrBandWidthUpFactor=(c=t.userConfig.abrBandWidthUpFactor)!=null?c:t.config.abrBandWidthFactor):t.config.backBufferLength=(u=t.userConfig.backBufferLength)!=null?u:8;let g=Object.freeze({get length(){return e.seekable.length},start(p){return e.seekable.start(p)},end(p){var T;return p>this.length||p<0||Number.isFinite(e.duration)?e.seekable.end(p):(T=t.liveSyncPosition)!=null?T:e.seekable.end(p)}});((d=Se.get(e))!=null?d:{}).seekable=g}((h=Se.get(e))!=null?h:{}).liveEdgeStartOffset=n,((f=Se.get(e))!=null?f:{}).targetLiveWindow=s,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((m=Se.get(e))!=null?m:{}).streamType=i,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},Tl,vl,Gm=(vl=(Tl=globalThis==null?void 0:globalThis.navigator)==null?void 0:Tl.userAgent)!=null?vl:"",El,xl,_l,Hm=(_l=(xl=(El=globalThis==null?void 0:globalThis.navigator)==null?void 0:El.userAgentData)==null?void 0:xl.platform)!=null?_l:"",Km=Gm.toLowerCase().includes("android")||["x11","android"].some(r=>Hm.toLowerCase().includes(r)),Se=new WeakMap,nt="mux.com",Sl,bl,Al=(bl=(Sl=ie).isSupported)==null?void 0:bl.call(Sl),Vm=Km,lp=()=>ci.utils.now(),qm=ci.utils.generateUUID,cp=({playbackId:r,customDomain:e=nt,maxResolution:t,minResolution:i,renditionOrder:s,programStartTime:n,programEndTime:a,assetStartTime:o,assetEndTime:l,playbackToken:c,tokens:{playback:u=c}={},extraSourceParams:d={}}={})=>{if(!r)return;let[h,f=""]=nr(r),m=new URL(`https://stream.${e}/${h}.m3u8${f}`);return u||m.searchParams.has("token")?(m.searchParams.forEach((g,p)=>{p!="token"&&m.searchParams.delete(p)}),u&&m.searchParams.set("token",u)):(t&&m.searchParams.set("max_resolution",t),i&&(m.searchParams.set("min_resolution",i),t&&+t.slice(0,-1)<+i.slice(0,-1)&&console.error("minResolution must be <= maxResolution","minResolution",i,"maxResolution",t)),s&&m.searchParams.set("rendition_order",s),n&&m.searchParams.set("program_start_time",`${n}`),a&&m.searchParams.set("program_end_time",`${a}`),o&&m.searchParams.set("asset_start_time",`${o}`),l&&m.searchParams.set("asset_end_time",`${l}`),Object.entries(d).forEach(([g,p])=>{p!=null&&m.searchParams.set(g,p)})),m.toString()},ur=r=>{if(!r)return;let[e]=r.split("?");return e||void 0},Wm=r=>{if(!r||!r.startsWith("https://stream."))return;let[e]=new URL(r).pathname.slice(1).split(".m3u8");return e||void 0},Ym=r=>{var e,t,i;return(e=r==null?void 0:r.metadata)!=null&&e.video_id?r.metadata.video_id:kl(r)&&(i=(t=ur(r.playbackId))!=null?t:Wm(r.src))!=null?i:r.src},jm=r=>{var e;return(e=Se.get(r))==null?void 0:e.error},yl=r=>{var e,t;return(t=(e=Se.get(r))==null?void 0:e.streamType)!=null?t:_e.UNKNOWN},up=r=>{var e,t;return(t=(e=Se.get(r))==null?void 0:e.targetLiveWindow)!=null?t:Number.NaN},Rl=r=>{var e,t;return(t=(e=Se.get(r))==null?void 0:e.seekable)!=null?t:r.seekable},dp=r=>{var i;let e=(i=Se.get(r))==null?void 0:i.liveEdgeStartOffset;if(typeof e!="number")return Number.NaN;let t=Rl(r);return t.length?t.end(t.length-1)-e:Number.NaN},Rn=.034,zm=(r,e,t=Rn)=>Math.abs(r-e)<=t,Ll=(r,e,t=Rn)=>r>e||zm(r,e,t),Xm=(r,e=Rn)=>r.paused&&Ll(r.currentTime,r.duration,e),Dl=(r,e)=>{var c,u,d;if(!e||!r.buffered.length)return;if(r.readyState>2)return!1;let t=e.currentLevel>=0?(u=(c=e.levels)==null?void 0:c[e.currentLevel])==null? Line truncated
`:""}${r.response&&(r.response.code||r.response.text)?`response: ${r.response.code}, ${r.response.text}
`:""}${r.reason?`failure reason: ${r.reason}
`:""}${r.level?`level: ${r.level}
`:""}${r.parent?`parent stream controller: ${r.parent}
`:""}${r.buffer?`buffer length: ${r.buffer}
`:""}${r.error?`error: ${r.error}
`:""}${r.event?`event: ${r.event}
`:""}${r.err?`error message: ${(c=r.err)==null?void 0:c.message}
`:""}`),n.data=r,n};})();
/*! Bundled license information:
mux-embed/dist/mux.mjs:
(*!
* JavaScript Cookie v2.1.3
* https://github.com/js-cookie/js-cookie
*
* Copyright 2006, 2015 Klaus Hartl & Fagner Brack
* Released under the MIT license
*)
*/
//# sourceMappingURL=playback-core.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../node_modules/mux-embed/dist/mux.mjs", "../../../node_modules/hls.js/dist/node_modules/url-toolkit/src/url-toolkit.js", "../../../node_modules/hls.js/dist/src/polyfills/number.ts", "../../../node_modules/hls.js/dist/src/events.ts", "../../../node_modules/hls.js/dist/src/errors.ts", "../../../node_modules/hls.js/dist/src/utils/logger.ts", "../../../node_modules/hls.js/dist/src/utils/attr-list.ts", "../../../node_modules/hls.js/dist/src/loader/date-range.ts", "../../../node_modules/hls.js/dist/src/loader/load-stats.ts", "../../../node_modules/hls.js/dist/src/loader/fragment.ts", "../../../node_modules/hls.js/dist/src/loader/level-details.ts", "../../../node_modules/hls.js/dist/src/utils/numeric-encoding-utils.ts", "../../../node_modules/hls.js/dist/src/utils/keysystem-util.ts", "../../../node_modules/hls.js/dist/src/utils/global.ts", "../../../node_modules/hls.js/dist/src/utils/mediakeys-helper.ts", "../../../node_modules/hls.js/dist/src/utils/typed-array.ts", "../../../node_modules/hls.js/dist/src/demux/id3.ts", "../../../node_modules/hls.js/dist/src/utils/hex.ts", "../../../node_modules/hls.js/dist/src/utils/mp4-tools.ts", "../../../node_modules/hls.js/dist/src/loader/level-key.ts", "../../../node_modules/hls.js/dist/src/utils/variable-substitution.ts", "../../../node_modules/hls.js/dist/src/utils/mediasource-helper.ts", "../../../node_modules/hls.js/dist/src/utils/codecs.ts", "../../../node_modules/hls.js/dist/src/loader/m3u8-parser.ts", "../../../node_modules/hls.js/dist/src/types/loader.ts", "../../../node_modules/hls.js/dist/src/loader/playlist-loader.ts", "../../../node_modules/hls.js/dist/src/utils/texttrack-utils.ts", "../../../node_modules/hls.js/dist/src/types/demuxer.ts", "../../../node_modules/hls.js/dist/src/controller/id3-track-controller.ts", "../../../node_modules/hls.js/dist/src/controller/latency-controller.ts", "../../../node_modules/hls.js/dist/src/types/level.ts", "../../../node_modules/hls.js/dist/src/utils/level-helper.ts", "../../../node_modules/hls.js/dist/src/utils/error-helper.ts", "../../../node_modules/hls.js/dist/src/utils/binary-search.ts", "../../../node_modules/hls.js/dist/src/controller/fragment-finders.ts", "../../../node_modules/hls.js/dist/src/controller/error-controller.ts", "../../../node_modules/hls.js/dist/src/controller/base-playlist-controller.ts", "../../../node_modules/hls.js/dist/src/utils/ewma.ts", "../../../node_modules/hls.js/dist/src/utils/ewma-bandwidth-estimator.ts", "../../../node_modules/hls.js/dist/src/utils/mediacapabilities-helper.ts", "../../../node_modules/hls.js/dist/src/utils/hdr.ts", "../../../node_modules/hls.js/dist/src/utils/rendition-helper.ts", "../../../node_modules/hls.js/dist/src/controller/abr-controller.ts", "../../../node_modules/hls.js/dist/src/task-loop.ts", "../../../node_modules/hls.js/dist/src/controller/fragment-tracker.ts", "../../../node_modules/hls.js/dist/src/utils/buffer-helper.ts", "../../../node_modules/hls.js/dist/src/types/transmuxer.ts", "../../../node_modules/hls.js/dist/src/utils/discontinuities.ts", "../../../node_modules/hls.js/dist/src/loader/fragment-loader.ts", "../../../node_modules/hls.js/dist/src/crypt/aes-crypto.ts", "../../../node_modules/hls.js/dist/src/crypt/fast-aes-key.ts", "../../../node_modules/hls.js/dist/src/crypt/aes-decryptor.ts", "../../../node_modules/hls.js/dist/src/crypt/decrypter.ts", "../../../node_modules/hls.js/dist/src/utils/time-ranges.ts", "../../../node_modules/hls.js/dist/src/controller/base-stream-controller.ts", "../../../node_modules/hls.js/dist/src/demux/chunk-cache.ts", "../../../node_modules/hls.js/dist/src/demux/inject-worker.ts", "../../../node_modules/hls.js/dist/src/demux/dummy-demuxed-track.ts", "../../../node_modules/hls.js/dist/src/demux/audio/base-audio-demuxer.ts", "../../../node_modules/hls.js/dist/src/demux/audio/adts.ts", "../../../node_modules/hls.js/dist/src/demux/audio/mpegaudio.ts", "../../../node_modules/hls.js/dist/src/demux/audio/aacdemuxer.ts", "../../../node_modules/hls.js/dist/src/demux/mp4demuxer.ts", "../../../node_modules/hls.js/dist/src/demux/audio/dolby.ts", "../../../node_modules/hls.js/dist/src/demux/audio/ac3-demuxer.ts", "../../../node_modules/hls.js/dist/src/demux/video/base-video-parser.ts", "../../../node_modules/hls.js/dist/src/demux/video/exp-golomb.ts", "../../../node_modules/hls.js/dist/src/demux/video/avc-video-parser.ts", "../../../node_modules/hls.js/dist/src/demux/sample-aes.ts", "../../../node_modules/hls.js/dist/src/demux/tsdemuxer.ts", "../../../node_modules/hls.js/dist/src/demux/audio/mp3demuxer.ts", "../../../node_modules/hls.js/dist/src/remux/aac-helper.ts", "../../../node_modules/hls.js/dist/src/remux/mp4-generator.ts", "../../../node_modules/hls.js/dist/src/utils/timescale-conversion.ts", "../../../node_modules/hls.js/dist/src/remux/mp4-remuxer.ts", "../../../node_modules/hls.js/dist/src/remux/passthrough-remuxer.ts", "../../../node_modules/hls.js/dist/src/demux/transmuxer.ts", "../../../node_modules/hls.js/Line truncated
"sourcesContent": ["var Jr=Object.create;var lt=Object.defineProperty;var Qr=Object.getOwnPropertyDescriptor;var zr=Object.getOwnPropertyNames;var Kr=Object.getPrototypeOf,Yr=Object.prototype.hasOwnProperty;var ct=function(r,e){return function(){return r&&(e=r(r=0)),e}};var H=function(r,e){return function(){return e||r((e={exports:{}}).exports,e),e.exports}};var Xr=function(r,e,t,i){if(e&&typeof e==\"object\"||typeof e==\"function\")for(var a=zr(e),n=0,o=a.length,s;n<o;n++)s=a[n],!Yr.call(r,s)&&s!==t&&lt(r,s,{get:function(l){return e[l]}.bind(null,s),enumerable:!(i=Qr(e,s))||i.enumerable});return r};var W=function(r,e,t){return t=r!=null?Jr(Kr(r)):{},Xr(e||!r||!r.__esModule?lt(t,\"default\",{value:r,enumerable:!0}):t,r)};var G=H(function(Ui,vt){var ke;typeof window!=\"undefined\"?ke=window:typeof global!=\"undefined\"?ke=global:typeof self!=\"undefined\"?ke=self:ke={};vt.exports=ke});function B(r,e){return e!=null&&typeof Symbol!=\"undefined\"&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](r):B(r,e)}var ee=ct(function(){ee()});function le(r){\"@swc/helpers - typeof\";return r&&typeof Symbol!=\"undefined\"&&r.constructor===Symbol?\"symbol\":typeof r}var Pe=ct(function(){});var ze=H(function(pu,fr){var _r=Array.prototype.slice;fr.exports=Wa;function Wa(r,e){for((\"length\"in r)||(r=[r]),r=_r.call(r);r.length;){var t=r.shift(),i=e(t);if(i)return i;t.childNodes&&t.childNodes.length&&(r=_r.call(t.childNodes).concat(r))}}});var vr=H(function(mu,pr){ee();pr.exports=ve;function ve(r,e){if(!B(this,ve))return new ve(r,e);this.data=r,this.nodeValue=r,this.length=r.length,this.ownerDocument=e||null}ve.prototype.nodeType=8;ve.prototype.nodeName=\"#comment\";ve.prototype.toString=function(){return\"[object Comment]\"}});var hr=H(function(yu,mr){ee();mr.exports=ae;function ae(r,e){if(!B(this,ae))return new ae(r);this.data=r||\"\",this.length=this.data.length,this.ownerDocument=e||null}ae.prototype.type=\"DOMTextNode\";ae.prototype.nodeType=3;ae.prototype.nodeName=\"#text\";ae.prototype.toString=function(){return this.data};ae.prototype.replaceData=function(e,t,i){var a=this.data,n=a.substring(0,e),o=a.substring(e+t,a.length);this.data=n+i+o,this.length=this.data.length}});var Ke=H(function(gu,yr){yr.exports=Ga;function Ga(r){var e=this,t=r.type;r.target||(r.target=e),e.listeners||(e.listeners={});var i=e.listeners[t];if(i)return i.forEach(function(a){r.currentTarget=e,typeof a==\"function\"?a(r):a.handleEvent(r)});e.parentNode&&e.parentNode.dispatchEvent(r)}});var Ye=H(function(bu,gr){gr.exports=Ja;function Ja(r,e){var t=this;t.listeners||(t.listeners={}),t.listeners[r]||(t.listeners[r]=[]),t.listeners[r].indexOf(e)===-1&&t.listeners[r].push(e)}});var Xe=H(function(Tu,br){br.exports=Qa;function Qa(r,e){var t=this;if(t.listeners&&t.listeners[r]){var i=t.listeners[r],a=i.indexOf(e);a!==-1&&i.splice(a,1)}}});var kr=H(function(Eu,Er){Pe();Er.exports=Tr;var za=[\"area\",\"base\",\"br\",\"col\",\"embed\",\"hr\",\"img\",\"input\",\"keygen\",\"link\",\"menuitem\",\"meta\",\"param\",\"source\",\"track\",\"wbr\"];function Tr(r){switch(r.nodeType){case 3:return $e(r.data);case 8:return\"<!--\"+r.data+\"-->\";default:return Ka(r)}}function Ka(r){var e=[],t=r.tagName;return r.namespaceURI===\"http://www.w3.org/1999/xhtml\"&&(t=t.toLowerCase()),e.push(\"<\"+t+Za(r)+$a(r)),za.indexOf(t)>-1?e.push(\" />\"):(e.push(\">\"),r.childNodes.length?e.push.apply(e,r.childNodes.map(Tr)):r.textContent||r.innerText?e.push($e(r.textContent||r.innerText)):r.innerHTML&&e.push(r.innerHTML),e.push(\"</\"+t+\">\")),e.join(\"\")}function Ya(r,e){var t=le(r[e]);return e===\"style\"&&Object.keys(r.style).length>0?!0:r.hasOwnProperty(e)&&(t===\"string\"||t===\"boolean\"||t===\"number\")&&e!==\"nodeName\"&&e!==\"className\"&&e!==\"tagName\"&&e!==\"textContent\"&&e!==\"innerText\"&&e!==\"namespaceURI\"&&e!==\"innerHTML\"}function Xa(r){if(typeof r==\"string\")return r;var e=\"\";return Object.keys(r).forEach(function(t){var i=r[t];t=t.replace(/[A-Z]/g,function(a){return\"-\"+a.toLowerCase()}),e+=t+\":\"+i+\";\"}),e}function $a(r){var e=r.dataset,t=[];for(var i in e)t.push({name:\"data-\"+i,value:e[i]});return t.length?wr(t):\"\"}function wr(r){var e=[];return r.forEach(function(t){var i=t.name,a=t.value;i===\"style\"&&(a=Xa(a)),e.push(i+'=\"'+ei(a)+'\"')}),e.length?\" \"+e.join(\" \"):\"\"}function Za(r){var e=[];for(var t in r)Ya(r,t)&&e.push({name:t,value:r[t]});for(var i in r._attributes)for(var a in r._attributes[i]){var n=r._attributes[i][a],o=(n.prefix?n.prefix+\":\":\"\")+a;e.push({name:o,value:n.value})}return r.className&&e.push({name:\"class\",value:r.className}),e.length?wr(e):\"\"}function $e(r){var e=\"\";return typeof r==\"string\"?e=r:r&&(e=r.toString()),e.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\")}function ei(r){return $e(r).replace(/\"/g,\"&quot;\")}});var et=H(function(xu,Dr){ee();var Ze=ze(),ti=Ke(),ri=Ye(),ai=Xe(),ii=kr(),xr=\"http://www.w3.org/1999/xhtml\";Dr.exports=N;function N(r,e,t){if(!B(this,N))return newLine truncated
"mappings": "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 truncated
"names": ["Jr", "lt", "Qr", "zr", "Kr", "Yr", "ct", "H", "Xr", "a", "o", "s", "W", "G", "Ui", "vt", "ke", "B", "ee", "le", "Pe", "ze", "pu", "fr", "_r", "Wa", "r", "e", "t", "i", "vr", "mu", "pr", "ve", "hr", "yu", "mr", "ae", "n", "Ke", "gu", "yr", "Ga", "Ye", "bu", "gr", "Ja", "Xe", "Tu", "br", "Qa", "kr", "Eu", "Er", "Tr", "za", "$e", "Ka", "Za", "$a", "Ya", "Xa", "wr", "ei", "et", "xu", "Dr", "Ze", "ti", "ri", "ai", "ii", "xr", "N", "Rr", "Su", "Sr", "tt", "z", "Ar", "Ru", "qr", "rt", "Ir", "Au", "Or", "ni", "oi", "si", "Re", "ui", "di", "li", "ci", "_i", "Ue", "F", "Pr", "Ou", "Nr", "fi", "Mr", "Iu", "Cr", "Lr", "pi", "qe", "_t", "ft", "pt", "Ee", "Ae", "M", "ge", "$", "Oe", "Z", "xe", "mt", "ht", "yt", "J", "K", "gt", "m", "g", "T", "w", "E", "x", "v", "_", "O", "Ie", "de", "bt", "$r", "q", "h", "D", "Tt", "L", "u", "Ne", "wt", "De", "Et", "kt", "xt", "U", "te", "Le", "Zr", "ce", "A", "oe", "ea", "_e", "ta", "Dt", "ra", "fe", "se", "aa", "Ce", "Me", "Se", "St", "p", "c", "d", "y", "b", "k", "S", "P", "C", "V", "ne", "R", "X", "be", "Te", "Rt", "qt", "ia", "na", "oa", "At", "we", "Q", "Ve", "je", "We", "Vr", "jr", "Wr", "Gr", "Ot", "It", "sa", "l", "Nt", "He", "ua", "Pt", "da", "Lt", "la", "Ct", "ca", "Mt", "_a", "Ht", "Bt", "fa", "Ut", "pa", "Ft", "va", "Vt", "ma", "jt", "ha", "ya", "Wt", "Gt", "ga", "ba", "Jt", "Ge", "Ta", "Qt", "wa", "zt", "Be", "Je", "Kt", "Ea", "ka", "Yt", "Xt", "$t", "Zt", "Qe", "er", "tr", "rr", "ar", "xa", "Da", "nr", "Sa", "ir", "pe", "re", "Ra", "qa", "Aa", "Oa", "Y", "or", "Ia", "sr", "Na", "Pa", "La", "Ca", "Ma", "ur", "Ha", "dr", "Ba", "Ua", "lr", "Fa", "Va", "ja", "cr", "me", "at", "vi", "mi", "it", "nt", "ye", "he", "ot", "st", "ue", "Fe", "bi", "dt", "ut", "Ti", "Hr", "gi", "yi", "hi", "Br", "wi", "Ur", "Ei", "Fr", "ki", "xi", "Di", "j", "ie", "Si", "cd", "root", "URL_REGEX", "FIRST_SEGMENT_REGEX", "SLASH_DOT_REGEX", "SLASH_DOT_DOT_REGEX", "URLToolkit", "baseURL", "relativeURL", "opts", "basePartsForNormalise", "relativeParts", "baseParts", "pathParts", "builtParts", "baseURLPath", "newPath", "url", "parts", "path", "module", "isFiniteNumber", "Number", "isFinite", "value", "isSafeInteger", "Math", "abs", "MAX_SAFE_INTEGER", "Events", "ErrorTypes", "ErrorDetails", "noop", "fakeLogger", "trace", "debug", "log", "warn", "info", "error", "exportedLogger", "consolePrintFn", "type", "func", "self", "console", "bind", "exportLoggerFunctions", "debugConfig", "functions", "forEach", "enableLogs", "id", "logger", "DECIMAL_RESOLUTION_REGEX", "ATTR_LIST_REGEX", "AttrList", "constructor", "attrs", "parseAttrList", "_extends", "clientAttrs", "Object", "keys", "filter", "attr", "substring", "decimalInteger", "attrName", "intValue", "parseInt", "Infinity", "hexadecimalInteger", "stringValue", "slice", "length", "Uint8Array", "i", "hexadecimalIntegerAsNumber", "decimalFloatingPoint", "parseFloat", "optionalFloat", "defaultValue", "enumeratedString", "bool", "decimalResolution", "res", "exec", "width", "height", "input", "match", "quote", "lastIndex", "indexOf", "lastIndexOf", "name", "trim", "isDateRangeCueAttribute", "isSCTE35Attribute", "DateRange", "dateRangeAttr", "dateRangeWithSameId", "_startDate", "_endDate", "_badValueForSameId", "previousAttr", "key", "prototype", "hasOwnProperty", "call", "ID", "Date", "endDate", "_isFiniteNumber", "getTime", "class", "CLASS", "startDate", "duration", "_isFiniteNumber2", "plannedDuration", "endOnNext", "isValid", "_isFiniteNumber3", "LoadStats", "aborted", "loaded", "retry", "total", "chunkCount", "bwEstimate", "loading", "start", "first", "end", "parsing", "buffering", "ElementaryStreamTypes", "AUDIO", "VIDEO", "AUDIOVIDEO", "BaseSegment", "baseurl", "_byteRange", "_url", "relurl", "elementaryStreams", "setByteRange", "previous", "params", "split", "byteRangeEndOffset", "byteRange", "byteRangeStartOffset", "buildAbsoluteURL", "alwaysNormalize", "Fragment", "_decryptdata", "rawProgramDateTime", "programDateTime", "tagList", "sn", "levelkeys", "loader", "keyLoader", "level", "cc", "startPTS", "endPTS", "startDTS", "endDTS", "deltaPTS", "maxStartPTS", "minEndPTS", "stats", "data", "bitrateTest", "title", "initSegment", "endList", "gap", "urlId", "decryptdata", "NONE", "identity", "getDecryptData", "keyFormats", "endProgramDateTime", "encrypted", "_this$_decryptdata", "len", "setKeyFormat", "keyFormat", "abortRequests", "_this$loader", "_this$keyLoader", "abort", "setElementaryStreamInfo", "partial", "min", "max", "clearElementaryStreamInfo", "Part", "partAttrs", "frag", "index", "fragOffset", "independent", "fragment", "audio", "video", "audiovideo", "DEFAULT_TARGET_DURATION", "LevelDetails", "baseUrl", "PTSKnown", "alignedSliding", "averagetargetduration", "endCC", "endSN", "fragments", "fragmentHint", "partList", "dateRanges", "live", "ageHeader", "advancedDateTime", "updated", "advanced", "availabilityDelay", "misses", "startCC", "startSN", "startTimeOffset", "targetduration", "totalduration", "m3u8", "version", "canBlockReload", "canSkipLine truncated
}
+64
View File
@@ -0,0 +1,64 @@
var Ml=Object.create,Mn=Object.defineProperty,Ol=Object.getOwnPropertyDescriptor,Nl=Object.getOwnPropertyNames,Fl=Object.getPrototypeOf,Ul=Object.prototype.hasOwnProperty,On=function(r,e){return function(){return r&&(e=r(r=0)),e}},Ae=function(r,e){return function(){return e||r((e={exports:{}}).exports,e),e.exports}},Bl=function(r,e,t,i){if(e&&typeof e=="object"||typeof e=="function")for(var s=Nl(e),n=0,a=s.length,o;n<a;n++)o=s[n],!Ul.call(r,o)&&o!==t&&Mn(r,o,{get:function(l){return e[l]}.bind(null,o),enumerable:!(i=Ol(e,o))||i.enumerable});return r},Oe=function(r,e,t){return t=r!=null?Ml(Fl(r)):{},Bl(e||!r||!r.__esModule?Mn(t,"default",{value:r,enumerable:!0}):t,r)},Ge=Ae(function(r,e){var t;typeof window!="undefined"?t=window:typeof global!="undefined"?t=global:typeof self!="undefined"?t=self:t={},e.exports=t});function ut(r,e){return e!=null&&typeof Symbol!="undefined"&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](r):ut(r,e)}var dt=On(function(){dt()});function _r(r){"@swc/helpers - typeof";return r&&typeof Symbol!="undefined"&&r.constructor===Symbol?"symbol":typeof r}var Sr=On(function(){}),Nn=Ae(function(r,e){var t=Array.prototype.slice;e.exports=i;function i(s,n){for(("length"in s)||(s=[s]),s=t.call(s);s.length;){var a=s.shift(),o=n(a);if(o)return o;a.childNodes&&a.childNodes.length&&(s=t.call(a.childNodes).concat(s))}}}),$l=Ae(function(r,e){dt(),e.exports=t;function t(i,s){if(!ut(this,t))return new t(i,s);this.data=i,this.nodeValue=i,this.length=i.length,this.ownerDocument=s||null}t.prototype.nodeType=8,t.prototype.nodeName="#comment",t.prototype.toString=function(){return"[object Comment]"}}),Gl=Ae(function(r,e){dt(),e.exports=t;function t(i,s){if(!ut(this,t))return new t(i);this.data=i||"",this.length=this.data.length,this.ownerDocument=s||null}t.prototype.type="DOMTextNode",t.prototype.nodeType=3,t.prototype.nodeName="#text",t.prototype.toString=function(){return this.data},t.prototype.replaceData=function(i,s,n){var a=this.data,o=a.substring(0,i),l=a.substring(i+s,a.length);this.data=o+n+l,this.length=this.data.length}}),Fn=Ae(function(r,e){e.exports=t;function t(i){var s=this,n=i.type;i.target||(i.target=s),s.listeners||(s.listeners={});var a=s.listeners[n];if(a)return a.forEach(function(o){i.currentTarget=s,typeof o=="function"?o(i):o.handleEvent(i)});s.parentNode&&s.parentNode.dispatchEvent(i)}}),Un=Ae(function(r,e){e.exports=t;function t(i,s){var n=this;n.listeners||(n.listeners={}),n.listeners[i]||(n.listeners[i]=[]),n.listeners[i].indexOf(s)===-1&&n.listeners[i].push(s)}}),Bn=Ae(function(r,e){e.exports=t;function t(i,s){var n=this;if(n.listeners&&n.listeners[i]){var a=n.listeners[i],o=a.indexOf(s);o!==-1&&a.splice(o,1)}}}),Hl=Ae(function(r,e){Sr(),e.exports=i;var t=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"];function i(h){switch(h.nodeType){case 3:return u(h.data);case 8:return"<!--"+h.data+"-->";default:return s(h)}}function s(h){var f=[],m=h.tagName;return h.namespaceURI==="http://www.w3.org/1999/xhtml"&&(m=m.toLowerCase()),f.push("<"+m+c(h)+o(h)),t.indexOf(m)>-1?f.push(" />"):(f.push(">"),h.childNodes.length?f.push.apply(f,h.childNodes.map(i)):h.textContent||h.innerText?f.push(u(h.textContent||h.innerText)):h.innerHTML&&f.push(h.innerHTML),f.push("</"+m+">")),f.join("")}function n(h,f){var m=_r(h[f]);return f==="style"&&Object.keys(h.style).length>0?!0:h.hasOwnProperty(f)&&(m==="string"||m==="boolean"||m==="number")&&f!=="nodeName"&&f!=="className"&&f!=="tagName"&&f!=="textContent"&&f!=="innerText"&&f!=="namespaceURI"&&f!=="innerHTML"}function a(h){if(typeof h=="string")return h;var f="";return Object.keys(h).forEach(function(m){var g=h[m];m=m.replace(/[A-Z]/g,function(p){return"-"+p.toLowerCase()}),f+=m+":"+g+";"}),f}function o(h){var f=h.dataset,m=[];for(var g in f)m.push({name:"data-"+g,value:f[g]});return m.length?l(m):""}function l(h){var f=[];return h.forEach(function(m){var g=m.name,p=m.value;g==="style"&&(p=a(p)),f.push(g+'="'+d(p)+'"')}),f.length?" "+f.join(" "):""}function c(h){var f=[];for(var m in h)n(h,m)&&f.push({name:m,value:h[m]});for(var g in h._attributes)for(var p in h._attributes[g]){var T=h._attributes[g][p],E=(T.prefix?T.prefix+":":"")+p;f.push({name:E,value:T.value})}return h.className&&f.push({name:"class",value:h.className}),f.length?l(f):""}function u(h){var f="";return typeof h=="string"?f=h:h&&(f=h.toString()),f.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function d(h){return u(h).replace(/"/g,"&quot;")}}),$n=Ae(function(r,e){dt();var t=Nn(),i=Fn(),s=Un(),n=Bn(),a=Hl(),o="http://www.w3.org/1999/xhtml";e.exports=l;function l(c,u,d){if(!ut(this,l))return new l(c);var h=d===void 0?o:d||null;this.tagName=h===o?String(c).toUpperCase():c,this.nodeName=this.tagName,this.className="",this.dataset={},this.childNodes=[],this.parentNode=null,this.style={},this.ownerDocument=u||null,this.namespaceURI=h,this._attributes={},this.tagName==="INPUT"&&(this.type="text")}l.prototype.tLine truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yr(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,i=new Array(e);t<e;t++)i[t]=r[t];return i}function Gn(r,e){if(r){if(typeof r=="string")return yr(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);if(t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set")return Array.from(t);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return yr(r,e)}}function Xe(r,e){return jl(r)||zl(r,e)||Gn(r,e)||Xl()}var Mt=Oe(Ge()),Nt=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(r){var e=Math.random()*16|0,t=r==="x"?e:e&3|8;return t.toString(16)})},Hn=function(){return("000000"+(Math.random()*Math.pow(36,6)<<0).toString(36)).slice(-6)},ot=function(r){if(r&&typeof r.nodeName!="undefined")return r.muxId||(r.muxId=Hn()),r.muxId;var e;try{e=document.querySelector(r)}catch{}return e&&!e.muxId&&(e.muxId=r),(e==null?void 0:e.muxId)||r},Tr=function(r){var e;r&&typeof r.nodeName!="undefined"?(e=r,r=ot(e)):e=document.querySelector(r);var t=e&&e.nodeName?e.nodeName.toLowerCase():"";return[e,r,t]};function Ql(r){if(Array.isArray(r))return yr(r)}function Jl(r){if(typeof Symbol!="undefined"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function Zl(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $e(r){return Ql(r)||Jl(r)||Gn(r)||Zl()}var lt={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},ec=function(r){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:3,t,i,s,n,a,o=r?[console,r]:[console],l=(t=console.trace).bind.apply(t,$e(o)),c=(i=console.info).bind.apply(i,$e(o)),u=(s=console.debug).bind.apply(s,$e(o)),d=(n=console.warn).bind.apply(n,$e(o)),h=(a=console.error).bind.apply(a,$e(o)),f=e;return{trace:function(){for(var m=arguments.length,g=new Array(m),p=0;p<m;p++)g[p]=arguments[p];if(!(f>lt.TRACE))return l.apply(void 0,$e(g))},debug:function(){for(var m=arguments.length,g=new Array(m),p=0;p<m;p++)g[p]=arguments[p];if(!(f>lt.DEBUG))return u.apply(void 0,$e(g))},info:function(){for(var m=arguments.length,g=new Array(m),p=0;p<m;p++)g[p]=arguments[p];if(!(f>lt.INFO))return c.apply(void 0,$e(g))},warn:function(){for(var m=arguments.length,g=new Array(m),p=0;p<m;p++)g[p]=arguments[p];if(!(f>lt.WARN))return d.apply(void 0,$e(g))},error:function(){for(var m=arguments.length,g=new Array(m),p=0;p<m;p++)g[p]=arguments[p];if(!(f>lt.ERROR))return h.apply(void 0,$e(g))},get level(){return f},set level(m){m!==this.level&&(f=m!=null?m:e)}}},oe=ec("[mux]"),hr=Oe(Ge());function vr(){var r=hr.default.doNotTrack||hr.default.navigator&&hr.default.navigator.doNotTrack;return r==="1"}var tc=Oe(Ge()),ic={now:function(){var r=tc.default.performance,e=r&&r.timing,t=e&&e.navigationStart,i=typeof t=="number"&&typeof r.now=="function"?t+r.now():Date.now();return Math.round(i)}},me=ic;function W(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}dt();function ye(r,e){if(!ut(r,e))throw new TypeError("Cannot call a class as a function")}function Ln(r,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(r,i.key,i)}}function He(r,e,t){return e&&Ln(r.prototype,e),t&&Ln(r,t),r}function C(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Er(r,e){return Er=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t},Er(r,e)}function rc(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&Er(r,e)}function si(r){return si=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},si(r)}function sc(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}Sr();function nc(r,e){return e&&(_r(e)==="object"||typeof e=="function")?e:W(r)}function ac(r){var e=sc();return function(){var t=si(r),i;if(e){var s=si(this).constructor;i=Reflect.construct(t,arguments,s)}else i=t.apply(this,arguments);return nc(this,i)}}var Me=function(r){return Ft(r)[0]},Ft=function(r){if(typeof r!="string"||r==="")return["localhost"];var e=/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,t=r.match(e)||[],i=t[4],s;return i&&(s=(i.match(/[^\.]+\.[^\.]+$/)||[])[0]),[i,s]},fr=Oe(Ge()),oc={exists:function(){var r=fr.default.performance,e=r&&r.timing;return e!==void 0},domContentLoadedEventEnd:function(){var r=fr.default.performance,e=r&&r.timing;return e&&e.domContentLoadedEventEnd},navigationStart:function(){var r=fr.default.performance,e=r&&r.timing;return e&&e.navigationStart}},ni=oc;function de(r,e,t){t=t===void 0?1:t,r[e]=r[e]||0,r[e]+=t}function ai(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{},i=Object.keys(t);typeof Object.getOwnPropertySymbols=="function"&&(i=i.concat(Object.getOwnPropertySymbols(t).filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable}))),i.forEach(function(s){C(r,s,t[s])})}return r}function lc(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable})),t.push.apply(t,i)}return t}function br(r,e){return e=e!=null?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(e)):lc(Object(e)).forEach(function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(e,t))}),r}var cc=["x-cdn","content-type"],Kn=["x-request-id","cf-ray","x-amz-cf-id","x-akamai-request-id"],uc=cc.concat(Kn);function Ar(r){r=r||"";var e={},t=r.trim().split(/[\r\n]+/);return t.forEach(function(i){if(i){var s=i.split(": "),n=s.shift();n&&(uc.indexOf(n.toLowerCase())>=0||n.toLowerCase().indexOf("x-litix-")===0)&&(e[n]=s.join(": "))}}),e}function oi(r){if(r){var e=Kn.find(function(t){return r[t]!==void 0});return e?r[e]:void 0}}var dc=function(r){var e={};for(var t i Line truncated
`):"")+"".concat(_&&(_.code||_.text)?"response: ".concat(_.code,", ").concat(_.text,`
`):"")+"".concat(E.reason?"failure reason: ".concat(E.reason,`
`):"")+"".concat(E.level?"level: ".concat(E.level,`
`):"")+"".concat(E.parent?"parent stream controller: ".concat(E.parent,`
`):"")+"".concat(E.buffer?"buffer length: ".concat(E.buffer,`
`):"")+"".concat(E.error?"error: ".concat(E.error,`
`):"")+"".concat(E.event?"event: ".concat(E.event,`
`):"")+"".concat(E.err?"error message: ".concat((I=E.err)===null||I===void 0?void 0:I.message,`
`):"");l("error",{player_error_code:v,player_error_message:x,player_error_context:P})}};t.on(s.Events.ERROR,m);var g=function(T,E){var v=E.frag,x=v&&v._url||"";l("requestcanceled",{request_event_type:T,request_url:x,request_type:"media",request_hostname:Me(x)})};t.on(s.Events.FRAG_LOAD_EMERGENCY_ABORTED,g);var p=function(T,E){var v=E.level,x=t.levels[v];if(x&&x.attrs&&x.attrs.BANDWIDTH){var _=x.attrs.BANDWIDTH,A,S=parseFloat(x.attrs["FRAME-RATE"]);isNaN(S)||(A=S),_?l("renditionchange",{video_source_fps:A,video_source_bitrate:_,video_source_width:x.width,video_source_height:x.height,video_source_rendition_name:x.name,video_source_codec:x==null?void 0:x.videoCodec}):n.warn("missing BANDWIDTH from HLS manifest parsed by HLS.js")}};t.on(s.Events.LEVEL_SWITCHED,p),t._stopMuxMonitor=function(){t.off(s.Events.MANIFEST_LOADED,c),t.off(s.Events.LEVEL_LOADED,u),t.off(s.Events.AUDIO_TRACK_LOADED,d),t.off(s.Events.FRAG_LOADED,h),t.off(s.Events.FRAG_CHANGED,f),t.off(s.Events.ERROR,m),t.off(s.Events.FRAG_LOAD_EMERGENCY_ABORTED,g),t.off(s.Events.LEVEL_SWITCHED,p),t.off(s.Events.DESTROYING,t._stopMuxMonitor),delete t._stopMuxMonitor},t.on(s.Events.DESTROYING,t._stopMuxMonitor)},fc=function(r){r&&typeof r._stopMuxMonitor=="function"&&r._stopMuxMonitor()},Dn=function(r,e){if(!r||!r.requestEndDate)return{};var t=Me(r.url),i=r.url,s=r.bytesLoaded,n=new Date(r.requestStartDate).getTime(),a=new Date(r.firstByteDate).getTime(),o=new Date(r.requestEndDate).getTime(),l=isNaN(r.duration)?0:r.duration,c=typeof e.getMetricsFor=="function"?e.getMetricsFor(r.mediaType).HttpList:e.getDashMetrics().getHttpRequests(r.mediaType),u;c.length>0&&(u=Ar(c[c.length-1]._responseHeaders||""));var d=u?oi(u):void 0;return{requestStart:n,requestResponseStart:a,requestResponseEnd:o,requestBytesLoaded:s,requestResponseHeaders:u,requestMediaDuration:l,requestHostname:t,requestUrl:i,requestId:d}},mc=function(r,e){var t=e.getQualityFor(r),i=e.getCurrentTrackFor(r).bitrateList;return i?{currentLevel:t,renditionWidth:i[t].width||null,renditionHeight:i[t].height||null,renditionBitrate:i[t].bandwidth}:{}},gc=function(r){var e;return(e=r.match(/.*codecs\*?="(.*)"/))===null||e===void 0?void 0:e[1]},pc=function(r){try{var e,t,i=(t=r.getVersion)===null||t===void 0||(e=t.call(r))===null||e===void 0?void 0:e.split(".").map(function(s){return parseInt(s)})[0];return i}catch{return!1}},yc=function(r,e,t){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=r.log;if(!t||!t.on){s.warn("Invalid dash.js player reference. Monitoring blocked.");return}var n=pc(t),a=function(v,x){return r.emit(e,v,x)},o=function(v){var x=v.type,_=v.data,A=(_||{}).url;a("requestcompleted",{request_event_type:x,request_start:0,request_response_start:0,request_response_end:0,request_bytes_loaded:-1,request_type:"manifest",request_hostname:Me(A),request_url:A})};t.on("manifestLoaded",o);var l={},c=function(v){if(typeof v.getRequests!="function")return null;var x=v.getRequests({state:"executed"});return x.length===0?null:x[x.length-1]},u=function(v){var x=v.type,_=v.fragmentModel,A=v.chunk,S=c(_);d({type:x,request:S,chunk:A})},d=function(v){var x=v.type,_=v.chunk,A=v.request,S=(_||{}).mediaInfo,D=S||{},k=D.type,L=D.bitrateList;L=L||[];var I={};L.forEach(function(z,q){I[q]={},I[q].width=z.width,I[q].height=z.height,I[q].bitrate=z.bandwidth,I[q].attrs={}}),k==="video"?l.video=I:k==="audio"?l.audio=I:l.media=I;var P=Dn(A,t),M=P.requestStart,V=P.requestResponseStart,K=P.requestResponseEnd,U=P.requestResponseHeaders,j=P.requestMediaDuration,J=P.requestHostname,F=P.requestUrl,O=P.requestId;a("requestcompleted",{request_event_type:x,request_start:M,request_response_start:V,request_response_end:K,request_bytes_loaded:-1,request_type:k+"_init",request_response_headers:U,request_hostname:J,request_id:O,request_url:F,request_media_duration:j,request_rendition_lists:l})};n>=4?t.on("initFragmentLoaded",d):t.on("initFragmentLoaded",u);var h=function(v){var x=v.type,_=v.fragmentModel,A=v.chunk,S=c(_);f({type:x,request:S,chunk:A})},f=function(v){var x=v.type,_=v.chunk,A=v.request,S=_||{},D=S.mediaInfo,k=S.start,L=D||{},I=L.type,P=Dn(A,t),M=P.requestStart,V=P.requestResponseStart,K=P.requestResponseEnd,U=P.requestBytesLoaded,j=P.requestResponseHeaders,J=P.requestMediaDuration,F=P.requestHostname,O=P.requestUrl,z=P.requestId,q=mc(I,t),Z=q.currentLevel,ce=q.renditionWidth,ue=q.renditionHeight,fe=q.renditionBitrate;a("requestcompleted",{request_event_type:x,request_start:M,request_response_start:V,request_response_end:K,request_bytes_loaded:U,request_type:I,request_response_headers:j,request_hostname:F,request_id:z,request_url:O,request_media_start_time:k,request_media_duration:J,request_current_level:Z,request_labeled_bitrate:fe,request_video_width:ce,request_video_height:ue})};n>=4?t.on("mediaFragmentLoaded",f):t.on("mediaFragmentLoaded",h);var m={video:void 0,audio:void 0,totalBitrate:void 0},g=function(){if(m.video&&typeof m.video.bitrate=="number"){if(!(m.video.width&&m.video.height)){s.warn("have Line truncated
`):"")+"".concat(D!=null&&D.status||D!=null&&D.statusText?"response: ".concat(D==null?void 0:D.status,", ").concat(D==null?void 0:D.statusText,`
`):"");a("error",{player_error_code:x==null?void 0:x.code,player_error_message:x==null?void 0:x.message,player_error_context:k})};t.on("error",E),t._stopMuxMonitor=function(){t.off("manifestLoaded",o),t.off("initFragmentLoaded",d),t.off("mediaFragmentLoaded",f),t.off("qualityChangeRendered",p),t.off("error",E),t.off("fragmentLoadingAbandoned",T),delete t._stopMuxMonitor}},Tc=function(r){r&&typeof r._stopMuxMonitor=="function"&&r._stopMuxMonitor()},In=0,vc=function(){"use strict";function r(){ye(this,r),C(this,"_listeners",void 0)}return He(r,[{key:"on",value:function(e,t,i){return t._eventEmitterGuid=t._eventEmitterGuid||++In,this._listeners=this._listeners||{},this._listeners[e]=this._listeners[e]||[],i&&(t=t.bind(i)),this._listeners[e].push(t),t}},{key:"off",value:function(e,t){var i=this._listeners&&this._listeners[e];i&&i.forEach(function(s,n){s._eventEmitterGuid===t._eventEmitterGuid&&i.splice(n,1)})}},{key:"one",value:function(e,t,i){var s=this;t._eventEmitterGuid=t._eventEmitterGuid||++In;var n=function(){s.off(e,n),t.apply(i||this,arguments)};n._eventEmitterGuid=t._eventEmitterGuid,this.on(e,n)}},{key:"emit",value:function(e,t){var i=this;if(this._listeners){t=t||{};var s=this._listeners["before*"]||[],n=this._listeners[e]||[],a=this._listeners["after"+e]||[],o=function(l,c){l=l.slice(),l.forEach(function(u){u.call(i,{type:e},c)})};o(s,t),o(n,t),o(a,t)}}}]),r}(),Ec=vc,mr=Oe(Ge()),xc=function(){"use strict";function r(e){var t=this;ye(this,r),C(this,"_playbackHeartbeatInterval",void 0),C(this,"_playheadShouldBeProgressing",void 0),C(this,"pm",void 0),this.pm=e,this._playbackHeartbeatInterval=null,this._playheadShouldBeProgressing=!1,e.on("playing",function(){t._playheadShouldBeProgressing=!0}),e.on("play",this._startPlaybackHeartbeatInterval.bind(this)),e.on("playing",this._startPlaybackHeartbeatInterval.bind(this)),e.on("adbreakstart",this._startPlaybackHeartbeatInterval.bind(this)),e.on("adplay",this._startPlaybackHeartbeatInterval.bind(this)),e.on("adplaying",this._startPlaybackHeartbeatInterval.bind(this)),e.on("devicewake",this._startPlaybackHeartbeatInterval.bind(this)),e.on("viewstart",this._startPlaybackHeartbeatInterval.bind(this)),e.on("rebufferstart",this._startPlaybackHeartbeatInterval.bind(this)),e.on("pause",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("ended",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("viewend",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("error",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("aderror",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("adpause",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("adended",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("adbreakend",this._stopPlaybackHeartbeatInterval.bind(this)),e.on("seeked",function(){e.data.player_is_paused?t._stopPlaybackHeartbeatInterval():t._startPlaybackHeartbeatInterval()}),e.on("timeupdate",function(){t._playbackHeartbeatInterval!==null&&e.emit("playbackheartbeat")}),e.on("devicesleep",function(i,s){t._playbackHeartbeatInterval!==null&&(mr.default.clearInterval(t._playbackHeartbeatInterval),e.emit("playbackheartbeatend",{viewer_time:s.viewer_time}),t._playbackHeartbeatInterval=null)})}return He(r,[{key:"_startPlaybackHeartbeatInterval",value:function(){var e=this;this._playbackHeartbeatInterval===null&&(this.pm.emit("playbackheartbeat"),this._playbackHeartbeatInterval=mr.default.setInterval(function(){e.pm.emit("playbackheartbeat")},this.pm.playbackHeartbeatTime))}},{key:"_stopPlaybackHeartbeatInterval",value:function(){this._playheadShouldBeProgressing=!1,this._playbackHeartbeatInterval!==null&&(mr.default.clearInterval(this._playbackHeartbeatInterval),this.pm.emit("playbackheartbeatend"),this._playbackHeartbeatInterval=null)}}]),r}(),_c=xc,Sc=function r(e){"use strict";var t=this;ye(this,r),C(this,"viewErrored",void 0),e.on("viewinit",function(){t.viewErrored=!1}),e.on("error",function(i,s){try{var n=e.errorTranslator({player_error_code:s.player_error_code,player_error_message:s.player_error_message,player_error_context:s.player_error_context,player_error_severity:s.player_error_severity,player_error_business_exception:s.player_error_business_exception});n&&(e.data.player_error_code=n.player_error_code||s.player_error_code,e.data.player_error_message=n.player_error_message||s.player_error_message,e.data.player_error_context=n.player_error_context||s.player_error_context,e.data.player_error_severity=n.player_error_severity||s.player_error_severity,e.data.player_error_business_exception=n.player_error_business_exception||s.player_error_business_exception,t.viewErrored=!0)}catch(a){e.mux.log.warn("Exception in error translator callback.",a),t.viewErrored=!0}}),e.on("aftererror",function(){var i,s,n,a,o;(i=e.data)===null||i===void 0||delete i.player_error_code,(s=e.data)===null||s===void 0||delete s.player_error_message,(n=e.data)===null||n===void 0||delete n.player_error_context,(a=e.data)===null||a===void 0||delete a.player_error_severity,(o=e.data)=== Line truncated
`);e>-1;e=this.buffer.indexOf(`
`))this.processLine(this.buffer.substring(0,e)),this.buffer=this.buffer.substring(e+1)};li.prototype.processLine=function(r){var e=r.indexOf(":"),t=Nu(r,e),i=t[0],s=t.length===2?Rr(t[1]):void 0;if(i[0]!=="#")this.currentUri.uri=i,this.manifest.segments.push(this.currentUri),this.manifest.targetDuration&&!("duration"in this.currentUri)&&(this.currentUri.duration=this.manifest.targetDuration),this.currentUri={};else switch(i){case at.TARGET_DURATION:{if(!isFinite(s)||s<0)return;this.manifest.targetDuration=s,this.setHoldBack();break}case at.PART_INF:{pr(this.manifest,t),this.manifest.partInf.partTarget&&(this.manifest.partTargetDuration=this.manifest.partInf.partTarget),this.setHoldBack();break}case at.SERVER_CONTROL:{pr(this.manifest,t),this.setHoldBack();break}case at.INF:{s===0?this.currentUri.duration=.01:s>0&&(this.currentUri.duration=s);break}case at.PROGRAM_DATE_TIME:{var n=s,a=new Date(n);this.manifest.dateTimeString||(this.manifest.dateTimeString=n,this.manifest.dateTimeObject=a),this.currentUri.dateTimeString=n,this.currentUri.dateTimeObject=a;break}case at.VERSION:{pr(this.manifest,t);break}case at.SESSION_DATA:{var o=Fu(t[1]),l=Vn(o);Object.assign(this.manifest.sessionData,l)}}};li.prototype.setHoldBack=function(){var r=this.manifest,e=r.serverControl,t=r.targetDuration,i=r.partTargetDuration;if(e){var s="holdBack",n="partHoldBack",a=t&&t*3,o=i&&i*2;t&&!e.hasOwnProperty(s)&&(e[s]=a),a&&e[s]<a&&(e[s]=a),i&&!e.hasOwnProperty(n)&&(e[n]=i*3),i&&e[n]<o&&(e[n]=o)}};var pr=function(r,e){var t=Zn(e[0].replace("#EXT-X-","")),i;Ou(e[1])?(i={},i=Object.assign(Mu(e[1]),i)):i=Rr(e[1]),r[t]=i},Zn=function(r){return r.toLowerCase().replace(/-(\w)/g,function(e){return e[1].toUpperCase()})},Rr=function(r){if(r.toLowerCase()==="yes"||r.toLowerCase()==="no")return r.toLowerCase()==="yes";var e=r.indexOf(":")!==-1?r:parseFloat(r);return isNaN(e)?r:e},Pu=function(r){var e={},t=r.split("=");if(t.length>1){var i=Zn(t[0]);e[i]=Rr(t[1])}return e},Mu=function(r){for(var e=r.split(","),t={},i=0;e.length>i;i++){var s=e[i],n=Pu(s);t=Object.assign(n,t)}return t},Ou=function(r){return r.indexOf("=")>-1},Nu=function(r,e){return e===-1?[r]:[r.substring(0,e),r.substring(e+1)]},Fu=function(r){var e={};if(r){var t=r.search(","),i=r.slice(0,t),s=r.slice(t+1),n=[i,s];return n.forEach(function(a,o){for(var l=a.replace(/['"]+/g,"").split("="),c=0;c<l.length;c++)l[c]==="DATA-ID"&&(e["DATA-ID"]=l[1-c]),l[c]==="VALUE"&&(e.VALUE=l[1-c])}),{data:e}}},Uu=li,Bu={safeCall:wu,safeIncrement:de,getComputedStyle:ku,secondsToMs:Cu,assign:Object.assign,headersStringToObject:Ar,cdnHeadersToRequestId:oi,extractHostnameAndDomain:Ft,extractHostname:Me,manifestParser:Uu,generateShortID:Hn,generateUUID:Nt,now:me.now},$u=Bu,Gu={PLAYER_READY:"playerready",VIEW_INIT:"viewinit",VIDEO_CHANGE:"videochange",PLAY:"play",PAUSE:"pause",PLAYING:"playing",TIME_UPDATE:"timeupdate",SEEKING:"seeking",SEEKED:"seeked",REBUFFER_START:"rebufferstart",REBUFFER_END:"rebufferend",ERROR:"error",ENDED:"ended",RENDITION_CHANGE:"renditionchange",ORIENTATION_CHANGE:"orientationchange",AD_REQUEST:"adrequest",AD_RESPONSE:"adresponse",AD_BREAK_START:"adbreakstart",AD_PLAY:"adplay",AD_PLAYING:"adplaying",AD_PAUSE:"adpause",AD_FIRST_QUARTILE:"adfirstquartile",AD_MID_POINT:"admidpoint",AD_THIRD_QUARTILE:"adthirdquartile",AD_ENDED:"adended",AD_BREAK_END:"adbreakend",AD_ERROR:"aderror",REQUEST_COMPLETED:"requestcompleted",REQUEST_FAILED:"requestfailed",REQUEST_CANCELLED:"requestcanceled"},Hu=Gu,Ku="mux-embed",Vu="5.3.1",qu="2.1",ke={},tt=function(r){var e=arguments;typeof r=="string"?tt.hasOwnProperty(r)?Mt.default.setTimeout(function(){e=Array.prototype.splice.call(e,1),tt[r].apply(null,e)},0):oe.warn("`"+r+"` is an unknown task"):typeof r=="function"?Mt.default.setTimeout(function(){r(tt)},0):oe.warn("`"+r+"` is invalid.")},Wu={loaded:me.now(),NAME:Ku,VERSION:Vu,API_VERSION:qu,PLAYER_TRACKED:!1,monitor:function(r,e){return Iu(tt,r,e)},destroyMonitor:function(r){var e=Xe(Tr(r),1),t=e[0];t&&t.mux&&typeof t.mux.destroy=="function"?t.mux.destroy():oe.error("A video element monitor for `"+r+"` has not been initialized via `mux.monitor`.")},addHLSJS:function(r,e){var t=ot(r);ke[t]?ke[t].addHLSJS(e):oe.error("A monitor for `"+t+"` has not been initialized.")},addDashJS:function(r,e){var t=ot(r);ke[t]?ke[t].addDashJS(e):oe.error("A monitor for `"+t+"` has not been initialized.")},removeHLSJS:function(r){var e=ot(r);ke[e]?ke[e].removeHLSJS():oe.error("A monitor for `"+e+"` has not been initialized.")},removeDashJS:function(r){var e=ot(r);ke[e]?ke[e].removeDashJS():oe.error("A monitor for `"+e+"` has not been initialized.")},init:function(r,e){vr()&&e&&e.respectDoNotTrack&&oe.info("The browser's Do Not Track flag is enabled - Mux beaconing is disabled.");var t=ot(r);ke[t]=new Au(tt,t,e)},emit:function(r,e,t){var i=ot(r);ke[i]?(ke[i].emit(e,t),e==="destroy"&&delete ke[i]):oe.error("A monitor for `"+i+"` has not been initialized.")},checkDoNotTrack:vr,log:oe,utils:$u,events:Hu,WINDOW_HIDDEN:!1,WINDO Line truncated
Time to underbuffer: ${g.toFixed(3)} s
Estimated load time for current fragment: ${D.toFixed(3)} s
Estimated load time for down switch fragment: ${L.toFixed(3)} s
TTFB estimate: ${p|0} ms
Current BW estimate: ${N(E)?E|0:"Unknown"} bps
New BW estimate: ${this.getBwEstimate()|0} bps
Switching to level ${I} @ ${P|0} bps`),s.trigger(y.FRAG_LOAD_EMERGENCY_ABORTED,{frag:t,part:i,stats:l})},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}resetEstimator(e){e&&(b.log(`setting initial bwe to ${e}`),this.hls.config.abrEwmaDefaultEstimate=e),this.firstSelection=-1,this.bwEstimator=this.initEstimator()}initEstimator(){let e=this.hls.config;return new as(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)}registerListeners(){let{hls:e}=this;e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.FRAG_LOADING,this.onFragLoading,this),e.on(y.FRAG_LOADED,this.onFragLoaded,this),e.on(y.FRAG_BUFFERED,this.onFragBuffered,this),e.on(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(y.LEVEL_LOADED,this.onLevelLoaded,this),e.on(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(y.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(y.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e&&(e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.FRAG_LOADING,this.onFragLoading,this),e.off(y.FRAG_LOADED,this.onFragLoaded,this),e.off(y.FRAG_BUFFERED,this.onFragBuffered,this),e.off(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(y.LEVEL_LOADED,this.onLevelLoaded,this),e.off(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(y.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(y.ERROR,this.onError,this))}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=null,this.fragCurrent=this.partCurrent=null}onManifestLoading(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()}onLevelsUpdated(){this.lastLoadedFragLevel>-1&&this.fragCurrent&&(this.lastLoadedFragLevel=this.fragCurrent.level),this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null}onMaxAutoLevelUpdated(){this.firstSelection=-1,this.nextAutoLevelKey=""}onFragLoading(e,t){let i=t.frag;if(!this.ignoreFragment(i)){if(!i.bitrateTest){var s;this.fragCurrent=i,this.partCurrent=(s=t.part)!=null?s:null}this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100)}}onLevelSwitching(e,t){this.clearTimer()}onError(e,t){if(!t.fatal)switch(t.details){case R.BUFFER_ADD_CODEC_ERROR:case R.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case R.FRAG_LOAD_TIMEOUT:{let i=t.frag,{fragCurrent:s,partCurrent:n}=this;if(i&&s&&i.sn===s.sn&&i.level===s.level){let a=performance.now(),o=n?n.stats:i.stats,l=a-o.loading.start,c=o.loading.first?o.loading.first-o.loading.start:-1;if(o.loaded&&c>-1){let d=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(l-Math.min(d,c),o.loaded)}else this.bwEstimator.sampleTTFB(l)}break}}}getTimeToLoadFrag(e,t,i,s){let n=e+i/t,a=s?this.lastLevelLoadSec:0;return n+a}onLevelLoaded(e,t){let i=this.hls.config,{loading:s}=t.stats,n=s.end-s.start;N(n)&&(this.lastLevelLoadSec=n/1e3),t.details.live?this.bwEstimator.update(i.abrEwmaSlowLive,i.abrEwmaFastLive):this.bwEstimator.update(i.abrEwmaSlowVoD,i.abrEwmaFastVoD)}onFragLoaded(e,{frag:t,part:i}){let s=i?i.stats:t.stats;if(t.type===H.MAIN&&this.bwEstimator.sampleTTFB(s.loading.first-s.loading.start),!this.ignoreFragment(t)){if(this.clearTimer(),t.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){let n=i?i.duration:t.duration,a=this.hls.levels[t.level],o=(a.loaded?a.loaded.bytes:0)+s.loaded,l=(a.loaded?a.loaded.duration:0)+n;a.loaded={bytes:o,duration:l},a.realBitrate=Math.round(8*o/l)}if(t.bitrateTest){let n={stats:s,frag:t,part:i,id:t.type};this.onFragBuffered(y.FRAG_BUFFERED,n),t.bitrateTest=!1}else this.lastLoadedFragLevel=t.level}}onFragBuffered(e,t){let{frag:i,part:s}=t,n=s!=null&&s.stats.loaded?s.stats:i.stats;if(n.aborted||this.ignoreFragment(i))return;let a=n.parsing.end-n.loading.start-Math.min(n.loading.first-n.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(a,n.loaded),n.bwEstimate=this.getBwEstimate(),i.bitrateTest?this.bitrateTestDelay=a/1e3:this.bitrateTestDelay=0}ignoreFragment(e){return e.type!==H.MAIN||e.sn==="initSegment"}clearTimer(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)}get firstAutoLevel(){let{maxAutoLevel:e,minAutoLevel:t}=this.hls,i=this.getBwEstimate(),s=this.hls.config.maxStarvationDelay,n=this.findBestLevel(i,t,e,0,s,1,1);if(n>-1)return n;let a=this.hls.firstLevel,o=Math.min(Math.max(a,t),e);return b.warn(`[abr] Could not find best starting auto level. Defaulting to first in playlist ${a} clamped to ${o}`),o}get forcedAutoLevel(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}get nextAutoLevel(){let e=this.forcedAutoLevel,i=this.bwEstimator.canEstimate(),s=this.lastLoadedFragLevel>-1;if(e!==-1&&(!i||!s||this.nextAutoLevelKey===this.getAutoLevelKey()))return e;let n=i&&s?this.getNextABRAutoLevel():this.firstAutoLevel;if(e!==-1){let a=this.hls.levels;if( Line truncated
discontinuity: ${T}
trackSwitch: ${E}
contiguous: ${A}
accurateTimeOffset: ${l}
timeOffset: ${m}
initSegmentChange: ${D}`);let L=new bs(i,s,t,o,u);this.configureTransmuxer(L)}if(this.frag=n,this.part=a,this.workerContext)this.workerContext.worker.postMessage({cmd:"demux",data:e,decryptdata:g,chunkMeta:c,state:k},e instanceof ArrayBuffer?[e]:[]);else if(f){let L=f.push(e,g,c,k);bi(L)?(f.async=!0,L.then(I=>{this.handleTransmuxComplete(I)}).catch(I=>{this.transmuxerError(I,c,"transmuxer-interface push error")})):(f.async=!1,this.handleTransmuxComplete(L))}}flush(e){e.transmuxing.start=self.performance.now();let{transmuxer:t}=this;if(this.workerContext)this.workerContext.worker.postMessage({cmd:"flush",chunkMeta:e});else if(t){let i=t.flush(e);bi(i)||t.async?(bi(i)||(i=Promise.resolve(i)),i.then(n=>{this.handleFlushResult(n,e)}).catch(n=>{this.transmuxerError(n,e,"transmuxer-interface flush error")})):this.handleFlushResult(i,e)}}transmuxerError(e,t,i){this.hls&&(this.error=e,this.hls.trigger(y.ERROR,{type:G.MEDIA_ERROR,details:R.FRAG_PARSING_ERROR,chunkMeta:t,frag:this.frag||void 0,fatal:!1,error:e,err:e,reason:i}))}handleFlushResult(e,t){e.forEach(i=>{this.handleTransmuxComplete(i)}),this.onFlush(t)}onWorkerMessage(e){let t=e.data;if(!(t!=null&&t.event)){b.warn(`worker message received with no ${t?"event name":"data"}`);return}let i=this.hls;if(this.hls)switch(t.event){case"init":{var s;let n=(s=this.workerContext)==null?void 0:s.objectURL;n&&self.URL.revokeObjectURL(n);break}case"transmuxComplete":{this.handleTransmuxComplete(t.data);break}case"flush":{this.onFlush(t.data);break}case"workerLog":b[t.data.logType]&&b[t.data.logType](t.data.message);break;default:{t.data=t.data||{},t.data.frag=this.frag,t.data.id=this.id,i.trigger(t.event,t.data);break}}}configureTransmuxer(e){let{transmuxer:t}=this;this.workerContext?this.workerContext.worker.postMessage({cmd:"configure",config:e}):t&&t.configure(e)}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)}};function Mo(r,e){if(r.length!==e.length)return!1;for(let t=0;t<r.length;t++)if(!It(r[t].attrs,e[t].attrs))return!1;return!0}function It(r,e,t){let i=r["STABLE-RENDITION-ID"];return i&&!t?i===e["STABLE-RENDITION-ID"]:!(t||["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED","ASSOC-LANGUAGE"]).some(s=>r[s]!==e[s])}function Rs(r,e){return e.label.toLowerCase()===r.name.toLowerCase()&&(!e.language||e.language.toLowerCase()===(r.lang||"").toLowerCase())}var Oa=100,Ls=class extends zt{constructor(e,t,i){super(e,t,i,"[audio-stream-controller]",H.AUDIO),this.videoBuffer=null,this.videoTrackCC=-1,this.waitingVideoCC=-1,this.bufferedTrack=null,this.switchingTrack=null,this.trackId=-1,this.waitingData=null,this.mainDetails=null,this.flushing=!1,this.bufferFlushed=!1,this.cachedTrackLoadedData=null,this._registerListeners()}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null,this.bufferedTrack=null,this.switchingTrack=null}_registerListeners(){let{hls:e}=this;e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.LEVEL_LOADED,this.onLevelLoaded,this),e.on(y.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(y.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(y.ERROR,this.onError,this),e.on(y.BUFFER_RESET,this.onBufferReset,this),e.on(y.BUFFER_CREATED,this.onBufferCreated,this),e.on(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(y.FRAG_BUFFERED,this.onFragBuffered,this)}_unregisterListeners(){let{hls:e}=this;e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.LEVEL_LOADED,this.onLevelLoaded,this),e.off(y.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(y.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(y.ERROR,this.onError,this),e.off(y.BUFFER_RESET,this.onBufferReset,this),e.off(y.BUFFER_CREATED,this.onBufferCreated,this),e.off(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(y.FRAG_BUFFERED,this.onFragBuffered,this)}onInitPtsFound(e,{frag:t,id:i,initPTS:s,timescale:n}){if(i==="main"){let a=t.cc;this.initPTS[t.cc]={baseTime:s,timescale:n},this.log(`InitPTS for cc: ${a} found from main: ${s}`),this.videoTrackCC=a,this.state===w.WAITING_INIT_PTS&&this.tick()}}startLoad(e){if(!this.levels){this.startPosition=e,this.state=w.STOPPED;return}let t=this.lastCurrentTime;this.stopLoad(),this.setInterval(Oa),t>0&&e===-1?(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t,this.state=w.IDLE):(this.loadedmetadata=!1,this.state=w.WAITING_TRACK),this.nextLoadPosition=this.sta Line truncated
`)),i}getTextAndFormat(){return this.rows}},ji=class{constructor(e,t,i){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=t,this.mode=null,this.verbose=0,this.displayedMemory=new Ht(i),this.nonDisplayedMemory=new Ht(i),this.lastOutputScreen=new Ht(i),this.currRollUpRow=this.displayedMemory.rows[Fe-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=i}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[Fe-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null}getHandler(){return this.outputFilter}setHandler(e){this.outputFilter=e}setPAC(e){this.writeScreen.setPAC(e)}setBkgData(e){this.writeScreen.setBkgData(e)}setMode(e){e!==this.mode&&(this.mode=e,this.logger.log(2,()=>"MODE="+e),this.mode==="MODE_POP-ON"?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),this.mode!=="MODE_ROLL-UP"&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)}insertChars(e){for(let i=0;i<e.length;i++)this.writeScreen.insertChar(e[i]);let t=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(2,()=>t+": "+this.writeScreen.getDisplayText(!0)),(this.mode==="MODE_PAINT-ON"||this.mode==="MODE_ROLL-UP")&&(this.logger.log(1,()=>"DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate())}ccRCL(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")}ccBS(){this.logger.log(2,"BS - BackSpace"),this.mode!=="MODE_TEXT"&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()}ccRU(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e)}ccFON(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})}ccRDC(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")}ccTR(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")}ccRTD(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")}ccEDM(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)}ccCR(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)}ccENM(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()}ccEOC(){if(this.logger.log(2,"EOC - End Of Caption"),this.mode==="MODE_POP-ON"){let e=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=e,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,()=>"DISP: "+this.displayedMemory.getDisplayText())}this.outputDataUpdate(!0)}ccTO(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e)}ccMIDROW(e){let t={flash:!1};if(t.underline=e%2===1,t.italics=e>=46,t.italics)t.foreground="white";else{let i=Math.floor(e/2)-16,s=["white","green","blue","cyan","red","yellow","magenta"];t.foreground=s[i]}this.logger.log(2,"MIDROW: "+JSON.stringify(t)),this.writeScreen.setPen(t)}outputDataUpdate(e=!1){let t=this.logger.time;t!==null&&this.outputFilter&&(this.cueStartTime===null&&!this.displayedMemory.isEmpty()?this.cueStartTime=t:this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t),this.lastOutputScreen.copy(this.displayedMemory))}cueSplitAtTime(e){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e))}},zi=class{constructor(e,t,i){this.channels=void 0,this.currentChannel=0,this.cmdHistory=uf(),this.logger=void 0;let s=this.logger=new Ms;this.channels=[null,new ji(e,t,s),new ji(e+1,i,s)]}getHandler(e){return this.channels[e].getHandler()}setHandler(e,t){this.channels[e].setHandler(t)}addData(e,t){this.logger.time=e;for(let i=0;i<t.length;i+=2){let s=t[i]&127,n=t[i+1]&127,a=!1,o=null;if(s===0&&n===0)continue;this.logger.log(3,()=>"["+ht([t[i],t[i+1]])+"] -> ("+ht([s,n])+")");let l=this.cmdHistory;if(s>=16&&s<=31){if(cf(s,n,l)){pi(null,null,l),this.logger.log(3,()=>"Repeated command ("+ht([s,n])+") is dropped");continue}pi(s,n,this.cmdHistory),a=this.parseCmd(s,n),a||(a=this.parseMidrow(s,n)),a||(a=this.parsePAC(s,n)),a||(a=this.parseBackgroundAttributes(s,n))}else pi(null,null,l);if(!a&&(o=this.par Line truncated
`)}var $s=class{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new Fs,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(e){let t=this;e&&(t.buffer+=t.decoder.decode(e,{stream:!0}));function i(){let n=t.buffer,a=0;for(n=Uo(n);a<n.length&&n[a]!=="\r"&&n[a]!==`
`;)++a;let o=n.slice(0,a);return n[a]==="\r"&&++a,n[a]===`
`&&++a,t.buffer=n.slice(a),o}function s(n){Fo(n,function(a,o){},/:/)}try{let n="";if(t.state==="INITIAL"){if(!/\r\n|\n/.test(t.buffer))return this;n=i();let o=n.match(/^()?WEBVTT([ \t].*)?$/);if(!(o!=null&&o[0]))throw new Error("Malformed WebVTT signature.");t.state="HEADER"}let a=!1;for(;t.buffer;){if(!/\r\n|\n/.test(t.buffer))return this;switch(a?a=!1:n=i(),t.state){case"HEADER":/:/.test(n)?s(n):n||(t.state="ID");continue;case"NOTE":n||(t.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(n)){t.state="NOTE";break}if(!n)continue;if(t.cue=new dn(0,0,""),t.state="CUE",n.indexOf("-->")===-1){t.cue.id=n;continue}case"CUE":if(!t.cue){t.state="BADCUE";continue}try{df(n,t.cue,t.regionList)}catch{t.cue=null,t.state="BADCUE";continue}t.state="CUETEXT";continue;case"CUETEXT":{let o=n.indexOf("-->")!==-1;if(!n||o&&(a=!0)){t.oncue&&t.cue&&t.oncue(t.cue),t.cue=null,t.state="ID";continue}if(t.cue===null)continue;t.cue.text&&(t.cue.text+=`
`),t.cue.text+=n}continue;case"BADCUE":n||(t.state="ID")}}}catch{t.state==="CUETEXT"&&t.cue&&t.oncue&&t.oncue(t.cue),t.cue=null,t.state=t.state==="INITIAL"?"BADWEBVTT":"BADCUE"}return this}flush(){let e=this;try{if((e.cue||e.state==="HEADER")&&(e.buffer+=`
`,e.parse()),e.state==="INITIAL"||e.state==="BADWEBVTT")throw new Error("Malformed WebVTT signature.")}catch(t){e.onparsingerror&&e.onparsingerror(t)}return e.onflush&&e.onflush(),this}},hf=/\r\n|\n\r|\n|\r/g,Br=function(e,t,i=0){return e.slice(i,i+t.length)===t},ff=function(e){let t=parseInt(e.slice(-3)),i=parseInt(e.slice(-6,-4)),s=parseInt(e.slice(-9,-7)),n=e.length>9?parseInt(e.substring(0,e.indexOf(":"))):0;if(!N(t)||!N(i)||!N(s)||!N(n))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${e}`);return t+=1e3*i,t+=60*1e3*s,t+=60*60*1e3*n,t},$r=function(e){let t=5381,i=e.length;for(;i;)t=t*33^e.charCodeAt(--i);return(t>>>0).toString()};function hn(r,e,t){return $r(r.toString())+$r(e.toString())+$r(t)}var mf=function(e,t,i){let s=e[t],n=e[s.prevCC];if(!n||!n.new&&s.new){e.ccOffset=e.presentationOffset=s.start,s.new=!1;return}for(;(a=n)!=null&&a.new;){var a;e.ccOffset+=s.start-n.start,s.new=!1,s=n,n=e[s.prevCC]}e.presentationOffset=i};function gf(r,e,t,i,s,n,a){let o=new $s,l=Ye(new Uint8Array(r)).trim().replace(hf,`
`).split(`
`),c=[],u=e?Yh(e.baseTime,e.timescale):0,d="00:00.000",h=0,f=0,m,g=!0;o.oncue=function(p){let T=t[i],E=t.ccOffset,v=(h-u)/9e4;if(T!=null&&T.new&&(f!==void 0?E=t.ccOffset=T.start:mf(t,i,v)),v){if(!e){m=new Error("Missing initPTS for VTT MPEGTS");return}E=v-t.presentationOffset}let x=p.endTime-p.startTime,_=Ce((p.startTime+E-f)*9e4,s*9e4)/9e4;p.startTime=Math.max(_,0),p.endTime=Math.max(_+x,0);let A=p.text.trim();p.text=decodeURIComponent(encodeURIComponent(A)),p.id||(p.id=hn(p.startTime,p.endTime,A)),p.endTime>0&&c.push(p)},o.onparsingerror=function(p){m=p},o.onflush=function(){if(m){a(m);return}n(c)},l.forEach(p=>{if(g)if(Br(p,"X-TIMESTAMP-MAP=")){g=!1,p.slice(16).split(",").forEach(T=>{Br(T,"LOCAL:")?d=T.slice(6):Br(T,"MPEGTS:")&&(h=parseInt(T.slice(7)))});try{f=ff(d)/1e3}catch(T){m=T}return}else p===""&&(g=!1);o.parse(p+`
`)}),o.flush()}var Gr="stpp.ttml.im1t",Bo=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,$o=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,pf={left:"start",center:"center",right:"end",start:"start",end:"end"};function Ba(r,e,t,i){let s=Y(new Uint8Array(r),["mdat"]);if(s.length===0){i(new Error("Could not parse IMSC1 mdat"));return}let n=s.map(o=>Ye(o)),a=Wh(e.baseTime,1,e.timescale);try{n.forEach(o=>t(yf(o,a)))}catch(o){i(o)}}function yf(r,e){let s=new DOMParser().parseFromString(r,"text/xml").getElementsByTagName("tt")[0];if(!s)throw new Error("Invalid ttml");let n={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},a=Object.keys(n).reduce((d,h)=>(d[h]=s.getAttribute(`ttp:${h}`)||n[h],d),{}),o=s.getAttribute("xml:space")!=="preserve",l=$a(Hr(s,"styling","style")),c=$a(Hr(s,"layout","region")),u=Hr(s,"body","[begin]");return[].map.call(u,d=>{let h=Go(d,o);if(!h||!d.hasAttribute("begin"))return null;let f=Vr(d.getAttribute("begin"),a),m=Vr(d.getAttribute("dur"),a),g=Vr(d.getAttribute("end"),a);if(f===null)throw Ga(d);if(g===null){if(m===null)throw Ga(d);g=f+m}let p=new dn(f-e,g-e,h);p.id=hn(p.startTime,p.endTime,p.text);let T=c[d.getAttribute("region")],E=l[d.getAttribute("style")],v=Tf(T,E,l),{textAlign:x}=v;if(x){let _=pf[x];_&&(p.lineAlign=_),p.align=x}return he(p,v),p}).filter(d=>d!==null)}function Hr(r,e,t){let i=r.getElementsByTagName(e)[0];return i?[].slice.call(i.querySelectorAll(t)):[]}function $a(r){return r.reduce((e,t)=>{let i=t.getAttribute("xml:id");return i&&(e[i]=t),e},{})}function Go(r,e){return[].slice.call(r.childNodes).reduce((t,i,s)=>{var n;return i.nodeName==="br"&&s?t+`
`:(n=i.childNodes)!=null&&n.length?Go(i,e):e?t+i.textContent.trim().replace(/\s+/g," "):t+i.textContent},"")}function Tf(r,e,t){let i="http://www.w3.org/ns/ttml#styling",s=null,n=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],a=r!=null&&r.hasAttribute("style")?r.getAttribute("style"):null;return a&&t.hasOwnProperty(a)&&(s=t[a]),n.reduce((o,l)=>{let c=Kr(e,i,l)||Kr(r,i,l)||Kr(s,i,l);return c&&(o[l]=c),o},{})}function Kr(r,e,t){return r&&r.hasAttributeNS(e,t)?r.getAttributeNS(e,t):null}function Ga(r){return new Error(`Could not parse ttml timestamp ${r}`)}function Vr(r,e){if(!r)return null;let t=No(r);return t===null&&(Bo.test(r)?t=vf(r,e):$o.test(r)&&(t=Ef(r,e))),t}function vf(r,e){let t=Bo.exec(r),i=(t[4]|0)+(t[5]|0)/e.subFrameRate;return(t[1]|0)*3600+(t[2]|0)*60+(t[3]|0)+i/e.frameRate}function Ef(r,e){let t=$o.exec(r),i=Number(t[1]);switch(t[2]){case"h":return i*3600;case"m":return i*60;case"ms":return i*1e3;case"f":return i/e.frameRate;case"t":return i/e.tickRate}return i}var Gs=class{constructor(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=Ka(),this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},e.on(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(y.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(y.FRAG_LOADING,this.onFragLoading,this),e.on(y.FRAG_LOADED,this.onFragLoaded,this),e.on(y.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(y.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(y.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(y.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){let{hls:e}=this;e.off(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(y.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(y.FRAG_LOADING,this.onFragLoading,this),e.off(y.FRAG_LOADED,this.onFragLoaded,this),e.off(y.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(y.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(y.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(y.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){if(this.config.enableCEA708Captions&&(!this.cea608Parser1||!this.cea608Parser2)){let e=new bt(this,"textTrack1"),t=new bt(this,"textTrack2"),i=new bt(this,"textTrack3"),s=new bt(this,"textTrack4");this.cea608Parser1=new zi(1,e,t),this.cea608Parser2=new zi(3,i,s)}}addCues(e,t,i,s,n){let a=!1;for(let o=n.length;o--;){let l=n[o],c=xf(l[0],l[1],t,i);if(c>=0&&(l[0]=Math.min(l[0],t),l[1]=Math.max(l[1],i),a=!0,c/(i-t)>.5))return}if(a||n.push([t,i]),this.config.renderTextTracksNatively){let o=this.captionsTracks[e];this.Cues.newCue(o,t,i,s)}else{let o=this.Cues.newCue(null,t,i,s);this.hls.trigger(y.CUES_PARSED,{type:"captions",cues:o,track:e})}}onInitPtsFound(e,{frag:t,id:i,initPTS:s,timescale:n}){let{unparsedVttFrags:a}=this;i==="main"&&(this.initPTS[t.cc]={baseTime:s,timescale:n}),a.length&&(this.unparsedVttFrags=[],a.forEach(o=>{this.onFragLoaded(y.FRAG_LOADED,o)}))}getExistingTrack(e,t){let{media:i}=this;if(i)for(let s=0;s<i.textTracks.length;s++){let n=i.textTracks[s];if(Ha(n,{name:e,lang:t,attrs:{}}))return n}return null}createCaptionsTrack(e){this.config.renderTextTracksNatively?this.createNativeTrack(e):this.createNonNativeTrack(e)}createNativeTrack(e){if(this.captionsTracks[e])return;let{captionsProperties:t,captionsTracks:i,media:s}=this,{label:n,languageCode:a}=t[e],o=this.getExistingTrack(n,a);if(o)i[e]=o,St(i[e]),co(i[e],s);else{let l=this.createTextTrack("captions",n,a);l&&(l[e]=!0,i[e]=l)}}createNonNativeTrack(e){if(this.nonNativeCaptionsTracks[e])return;let t=this.captionsProperties[e];if(!t)return;let i=t.label,s={_id:e,label:i,kind:"captions",default:t.media?!!t.media.default:!1,closedCaptions:t.med Line truncated
} (data length: ${t&&t.byteLength})`),s.update(t)}selectKeySystemFormat(e){let t=Object.keys(e.levelkeys||{});return this.keyFormatPromise||(this.log(`Selecting key-system from fragment (sn: ${e.sn} ${e.type}: ${e.level}) key formats ${t.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(t)),this.keyFormatPromise}getKeyFormatPromise(e){return new Promise((t,i)=>{let s=Lr(this.config),n=e.map(ia).filter(a=>!!a&&s.indexOf(a)!==-1);return this.getKeySystemSelectionPromise(n).then(({keySystem:a})=>{let o=sa(a);o?t(o):i(new Error(`Unable to find format for key-system "${a}"`))}).catch(i)})}loadKey(e){let t=e.keyInfo.decryptdata,i=this.getKeyIdString(t),s=`(keyId: ${i} format: "${t.keyFormat}" method: ${t.method} uri: ${t.uri})`;this.log(`Starting session for key ${s}`);let n=this.keyIdToKeySessionPromise[i];return n||(n=this.keyIdToKeySessionPromise[i]=this.getKeySystemForKeyPromise(t).then(({keySystem:a,mediaKeys:o})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${e.frag.sn} ${e.frag.type}: ${e.frag.level} using key ${s}`),this.attemptSetMediaKeys(a,o).then(()=>{this.throwIfDestroyed();let l=this.createMediaKeySessionContext({keySystem:a,mediaKeys:o,decryptdata:t});return this.generateRequestWithPreferredKeySession(l,"cenc",t.pssh,"playlist-key")}))),n.catch(a=>this.handleError(a))),n}throwIfDestroyed(e="Invalid state"){if(!this.hls)throw new Error("invalid state")}handleError(e){this.hls&&(this.error(e.message),e instanceof Le?this.hls.trigger(y.ERROR,e.data):this.hls.trigger(y.ERROR,{type:G.KEY_SYSTEM_ERROR,details:R.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0}))}getKeySystemForKeyPromise(e){let t=this.getKeyIdString(e),i=this.keyIdToKeySessionPromise[t];if(!i){let s=ia(e.keyFormat),n=s?[s]:Lr(this.config);return this.attemptKeySystemAccess(n)}return i}getKeySystemSelectionPromise(e){if(e.length||(e=Lr(this.config)),e.length===0)throw new Le({type:G.KEY_SYSTEM_ERROR,details:R.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${JSON.stringify({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(e)}_onMediaEncrypted(e){let{initDataType:t,initData:i}=e,s=`"${e.type}" event: init data type: "${t}"`;if(this.debug(s),i===null)return;let n,a;if(t==="sinf"&&this.config.drmSystems[re.FAIRPLAY]){let d=ge(new Uint8Array(i));try{let h=rn(JSON.parse(d).sinf),f=so(new Uint8Array(h));if(!f)throw new Error("'schm' box missing or not cbcs/cenc with schi > tenc");n=f.subarray(8,24),a=re.FAIRPLAY}catch(h){this.warn(`${s} Failed to parse sinf: ${h}`);return}}else{let d=Md(i),h=d.filter(f=>f.systemId===Bt.WIDEVINE)[0];if(!h){d.length===0||d.some(f=>!f.systemId)?this.warn(`${s} contains incomplete or invalid pssh data`):this.log(`ignoring ${s} for ${d.map(f=>ra(f.systemId)).join(",")} pssh data in favor of playlist keys`);return}if(a=ra(h.systemId),h.version===0&&h.data){let f=h.data.length-22;n=h.data.subarray(f,f+16)}}if(!a||!n)return;let o=Ve.hexDump(n),{keyIdToKeySessionPromise:l,mediaKeySessions:c}=this,u=l[o];for(let d=0;d<c.length;d++){let h=c[d],f=h.decryptdata;if(!f.keyId)continue;let m=Ve.hexDump(f.keyId);if(o===m||f.uri.replace(/-/g,"").indexOf(o)!==-1){if(u=l[m],f.pssh)break;delete l[m],f.pssh=new Uint8Array(i),f.keyId=n,u=l[o]=u.then(()=>this.generateRequestWithPreferredKeySession(h,t,i,"encrypted-event-key-match"));break}}u||(u=l[o]=this.getKeySystemSelectionPromise([a]).then(({keySystem:d,mediaKeys:h})=>{var f;this.throwIfDestroyed();let m=new Vt("ISO-23001-7",o,(f=sa(d))!=null?f:"");return m.pssh=new Uint8Array(i),m.keyId=n,this.attemptSetMediaKeys(d,h).then(()=>{this.throwIfDestroyed();let g=this.createMediaKeySessionContext({decryptdata:m,keySystem:d,mediaKeys:h});return this.generateRequestWithPreferredKeySession(g,t,i,"encrypted-event-no-match")})})),u.catch(d=>this.handleError(d))}_onWaitingForKey(e){this.log(`"${e.type}" event`)}attemptSetMediaKeys(e,t){let i=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${e}"`);let s=Promise.all(i).then(()=>{if(!this.media)throw new Error("Attempted to set mediaKeys without media element attached");return this.media.setMediaKeys(t)});return this.setMediaKeysQueue.push(s),s.then(()=>{this.log(`Media-keys set for "${e}"`),i.push(s),this.setMediaKeysQueue=this.setMediaKeysQueue.filter(n=>i.indexOf(n)===-1)})}generateRequestWithPreferredKeySession(e,t,i,s){var n,a;let o=(n=this.config.drmSystems)==null||(a=n[e.keySystem])==null?void 0:a.generateRequest;if(o)try{let m=o.call(this.hls,t,i,e);if(!m)throw new Error("Invalid response from configured generateRequest filter");t=m.initDataType,i=e.decryptdata.pssh=m.initData?new Uint8Array(m.initData):null}catch(m){var l;if(this.warn(m.message),(l=this.hls)!=null&&l.config.debug)throw m}if(i===null)return this.log(`Skipping key-session request for "${s}" (no initData)`),Promise.resolve(e);let c=this.getKeyIdString(e.decryptdata);this.log(`Generating key-session request for "${s}": ${c} (init data type: ${t} length: ${i?i.byteLenLine truncated
`).find((i,s,n)=>s&&n[s-1].startsWith("#EXT-X-STREAM-INF"));return fetch(t).then(i=>i.status!==200?Promise.reject(i):i.text()).then(i=>i.split(`
`))}),Nm=r=>{var a,o,l;let t=(o=((a=r.find(c=>c.startsWith("#EXT-X-PLAYLIST-TYPE")))!=null?a:"").split(":")[1])==null?void 0:o.trim(),i=pn(t),s=yn(t),n;if(i===_e.LIVE){let c=r.find(d=>d.startsWith("#EXT-X-PART-INF"));if(!!c)n=+c.split(":")[1].split("=")[1]*2;else{let d=r.find(m=>m.startsWith("#EXT-X-TARGETDURATION")),h=(l=d==null?void 0:d.split(":"))==null?void 0:l[1];n=+(h!=null?h:6)*3}}return{streamType:i,targetLiveWindow:s,liveEdgeStartOffset:n}},Fm=async(r,e)=>{if(e===ze.MP4)return{streamType:_e.ON_DEMAND,targetLiveWindow:Number.NaN,liveEdgeStartOffset:void 0};if(e===ze.M3U8){let t=await Om(r);return Nm(t)}return console.error(`Media type ${e} is an unrecognized or unsupported type for src ${r}.`),{streamType:void 0,targetLiveWindow:void 0,liveEdgeStartOffset:void 0}},Um=async(r,e,t=ti({src:r}))=>{var a,o,l;let{streamType:i,targetLiveWindow:s,liveEdgeStartOffset:n}=await Fm(r,t);((a=Se.get(e))!=null?a:{}).liveEdgeStartOffset=n,((o=Se.get(e))!=null?o:{}).targetLiveWindow=s,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((l=Se.get(e))!=null?l:{}).streamType=i,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},Bm=r=>{var a;let e=r.type,t=pn(e),i=yn(e),s,n=!!((a=r.partList)!=null&&a.length);return t===_e.LIVE&&(s=n?r.partTarget*2:r.targetduration*3),{streamType:t,targetLiveWindow:i,liveEdgeStartOffset:s,lowLatency:n}},$m=(r,e,t)=>{var o,l,c,u,d,h,f,m;let{streamType:i,targetLiveWindow:s,liveEdgeStartOffset:n,lowLatency:a}=Bm(r);if(i===_e.LIVE){a?(t.config.backBufferLength=(o=t.userConfig.backBufferLength)!=null?o:4,t.config.maxFragLookUpTolerance=(l=t.userConfig.maxFragLookUpTolerance)!=null?l:.001,t.config.abrBandWidthUpFactor=(c=t.userConfig.abrBandWidthUpFactor)!=null?c:t.config.abrBandWidthFactor):t.config.backBufferLength=(u=t.userConfig.backBufferLength)!=null?u:8;let g=Object.freeze({get length(){return e.seekable.length},start(p){return e.seekable.start(p)},end(p){var T;return p>this.length||p<0||Number.isFinite(e.duration)?e.seekable.end(p):(T=t.liveSyncPosition)!=null?T:e.seekable.end(p)}});((d=Se.get(e))!=null?d:{}).seekable=g}((h=Se.get(e))!=null?h:{}).liveEdgeStartOffset=n,((f=Se.get(e))!=null?f:{}).targetLiveWindow=s,e.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((m=Se.get(e))!=null?m:{}).streamType=i,e.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},Tl,vl,Gm=(vl=(Tl=globalThis==null?void 0:globalThis.navigator)==null?void 0:Tl.userAgent)!=null?vl:"",El,xl,_l,Hm=(_l=(xl=(El=globalThis==null?void 0:globalThis.navigator)==null?void 0:El.userAgentData)==null?void 0:xl.platform)!=null?_l:"",Km=Gm.toLowerCase().includes("android")||["x11","android"].some(r=>Hm.toLowerCase().includes(r)),Se=new WeakMap,nt="mux.com",Sl,bl,Al=(bl=(Sl=ie).isSupported)==null?void 0:bl.call(Sl),Vm=Km,lp=()=>ci.utils.now(),qm=ci.utils.generateUUID,cp=({playbackId:r,customDomain:e=nt,maxResolution:t,minResolution:i,renditionOrder:s,programStartTime:n,programEndTime:a,assetStartTime:o,assetEndTime:l,playbackToken:c,tokens:{playback:u=c}={},extraSourceParams:d={}}={})=>{if(!r)return;let[h,f=""]=nr(r),m=new URL(`https://stream.${e}/${h}.m3u8${f}`);return u||m.searchParams.has("token")?(m.searchParams.forEach((g,p)=>{p!="token"&&m.searchParams.delete(p)}),u&&m.searchParams.set("token",u)):(t&&m.searchParams.set("max_resolution",t),i&&(m.searchParams.set("min_resolution",i),t&&+t.slice(0,-1)<+i.slice(0,-1)&&console.error("minResolution must be <= maxResolution","minResolution",i,"maxResolution",t)),s&&m.searchParams.set("rendition_order",s),n&&m.searchParams.set("program_start_time",`${n}`),a&&m.searchParams.set("program_end_time",`${a}`),o&&m.searchParams.set("asset_start_time",`${o}`),l&&m.searchParams.set("asset_end_time",`${l}`),Object.entries(d).forEach(([g,p])=>{p!=null&&m.searchParams.set(g,p)})),m.toString()},ur=r=>{if(!r)return;let[e]=r.split("?");return e||void 0},Wm=r=>{if(!r||!r.startsWith("https://stream."))return;let[e]=new URL(r).pathname.slice(1).split(".m3u8");return e||void 0},Ym=r=>{var e,t,i;return(e=r==null?void 0:r.metadata)!=null&&e.video_id?r.metadata.video_id:kl(r)&&(i=(t=ur(r.playbackId))!=null?t:Wm(r.src))!=null?i:r.src},jm=r=>{var e;return(e=Se.get(r))==null?void 0:e.error},yl=r=>{var e,t;return(t=(e=Se.get(r))==null?void 0:e.streamType)!=null?t:_e.UNKNOWN},up=r=>{var e,t;return(t=(e=Se.get(r))==null?void 0:e.targetLiveWindow)!=null?t:Number.NaN},Rl=r=>{var e,t;return(t=(e=Se.get(r))==null?void 0:e.seekable)!=null?t:r.seekable},dp=r=>{var i;let e=(i=Se.get(r))==null?void 0:i.liveEdgeStartOffset;if(typeof e!="number")return Number.NaN;let t=Rl(r);return t.length?t.end(t.length-1)-e:Number.NaN},Rn=.034,zm=(r,e,t=Rn)=>Math.abs(r-e)<=t,Ll=(r,e,t=Rn)=>r>e||zm(r,e,t),Xm=(r,e=Rn)=>r.paused&&Ll(r.currentTime,r.duration,e),Dl=(r,e)=>{var c,u,d;if(!e||!r.buffered.length)return;if(r.readyState>2)return!1;let t=e.currentLevel>=0?(u=(c=e.levels)==null?void 0:c[e.currentLevel])==null? Line truncated
`:""}${r.response&&(r.response.code||r.response.text)?`response: ${r.response.code}, ${r.response.text}
`:""}${r.reason?`failure reason: ${r.reason}
`:""}${r.level?`level: ${r.level}
`:""}${r.parent?`parent stream controller: ${r.parent}
`:""}${r.buffer?`buffer length: ${r.buffer}
`:""}${r.error?`error: ${r.error}
`:""}${r.event?`event: ${r.event}
`:""}${r.err?`error message: ${(c=r.err)==null?void 0:c.message}
`:""}`),n.data=r,n};export{ir as AutoplayTypes,gg as CmcdTypeValues,ei as CmcdTypes,ze as ExtensionMimeTypeMap,ie as Hls,Tg as MaxResolution,B as MediaError,rr as MimeTypeShorthandMap,vg as MinResolution,se as MuxErrorCategory,te as MuxErrorCode,bn as MuxJWTAud,mn as PlaybackTypes,Eg as RenditionOrder,_e as StreamTypes,ml as addChapters,ul as addCuePoints,xn as addTextTrack,yg as allMediaTypes,tr as errorCategoryToTokenNameOrPrefix,lp as generatePlayerInitTime,qm as generateUUID,gl as getActiveChapter,dl as getActiveCuePoint,ig as getAppCertificate,Im as getChapters,Dm as getCuePoints,km as getCurrentPdt,tg as getDRMConfig,Qm as getEnded,jm as getError,rg as getLicenseKey,dp as getLiveEdgeStart,Om as getMediaPlaylistLinesFromMultivariantPlaylistSrc,Rl as getSeekable,wm as getStartDate,Bm as getStreamInfoFromHlsjsLevelDetails,Nm as getStreamInfoFromPlaylistLines,Fm as getStreamInfoFromSrcAndType,yl as getStreamType,eg as getStreamTypeConfig,up as getTargetLiveWindow,wt as getTextTrack,X as i18n,hp as initialize,Zt as isKeyOf,kl as isMuxVideoSrc,Xm as isPseudoEnded,Dl as isStuckOnLastFragment,ag as loadMedia,ci as mux,Se as muxMediaState,Tn as parseJwt,Lm as removeTextTrack,pl as setupChapters,hl as setupCuePoints,Zm as setupHls,ng as setupMux,sg as setupNativeFairplayDRM,pg as shorthandKeys,Jm as teardown,wl as toAppCertURL,Mm as toDRMTypeFromKeySystem,cr as toLicenseKeyURL,cp as toMuxVideoURL,Wm as toPlaybackIdFromSrc,nr as toPlaybackIdParts,$m as updateStreamInfoFromHlsjsLevelDetails,Um as updateStreamInfoFromSrc};
/*! Bundled license information:
mux-embed/dist/mux.mjs:
(*!
* JavaScript Cookie v2.1.3
* https://github.com/js-cookie/js-cookie
*
* Copyright 2006, 2015 Klaus Hartl & Fagner Brack
* Released under the MIT license
*)
*/
//# sourceMappingURL=playback-core.mjs.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../node_modules/mux-embed/dist/mux.mjs", "../../../node_modules/hls.js/dist/node_modules/url-toolkit/src/url-toolkit.js", "../../../node_modules/hls.js/dist/src/polyfills/number.ts", "../../../node_modules/hls.js/dist/src/events.ts", "../../../node_modules/hls.js/dist/src/errors.ts", "../../../node_modules/hls.js/dist/src/utils/logger.ts", "../../../node_modules/hls.js/dist/src/utils/attr-list.ts", "../../../node_modules/hls.js/dist/src/loader/date-range.ts", "../../../node_modules/hls.js/dist/src/loader/load-stats.ts", "../../../node_modules/hls.js/dist/src/loader/fragment.ts", "../../../node_modules/hls.js/dist/src/loader/level-details.ts", "../../../node_modules/hls.js/dist/src/utils/numeric-encoding-utils.ts", "../../../node_modules/hls.js/dist/src/utils/keysystem-util.ts", "../../../node_modules/hls.js/dist/src/utils/global.ts", "../../../node_modules/hls.js/dist/src/utils/mediakeys-helper.ts", "../../../node_modules/hls.js/dist/src/utils/typed-array.ts", "../../../node_modules/hls.js/dist/src/demux/id3.ts", "../../../node_modules/hls.js/dist/src/utils/hex.ts", "../../../node_modules/hls.js/dist/src/utils/mp4-tools.ts", "../../../node_modules/hls.js/dist/src/loader/level-key.ts", "../../../node_modules/hls.js/dist/src/utils/variable-substitution.ts", "../../../node_modules/hls.js/dist/src/utils/mediasource-helper.ts", "../../../node_modules/hls.js/dist/src/utils/codecs.ts", "../../../node_modules/hls.js/dist/src/loader/m3u8-parser.ts", "../../../node_modules/hls.js/dist/src/types/loader.ts", "../../../node_modules/hls.js/dist/src/loader/playlist-loader.ts", "../../../node_modules/hls.js/dist/src/utils/texttrack-utils.ts", "../../../node_modules/hls.js/dist/src/types/demuxer.ts", "../../../node_modules/hls.js/dist/src/controller/id3-track-controller.ts", "../../../node_modules/hls.js/dist/src/controller/latency-controller.ts", "../../../node_modules/hls.js/dist/src/types/level.ts", "../../../node_modules/hls.js/dist/src/utils/level-helper.ts", "../../../node_modules/hls.js/dist/src/utils/error-helper.ts", "../../../node_modules/hls.js/dist/src/utils/binary-search.ts", "../../../node_modules/hls.js/dist/src/controller/fragment-finders.ts", "../../../node_modules/hls.js/dist/src/controller/error-controller.ts", "../../../node_modules/hls.js/dist/src/controller/base-playlist-controller.ts", "../../../node_modules/hls.js/dist/src/utils/ewma.ts", "../../../node_modules/hls.js/dist/src/utils/ewma-bandwidth-estimator.ts", "../../../node_modules/hls.js/dist/src/utils/mediacapabilities-helper.ts", "../../../node_modules/hls.js/dist/src/utils/hdr.ts", "../../../node_modules/hls.js/dist/src/utils/rendition-helper.ts", "../../../node_modules/hls.js/dist/src/controller/abr-controller.ts", "../../../node_modules/hls.js/dist/src/task-loop.ts", "../../../node_modules/hls.js/dist/src/controller/fragment-tracker.ts", "../../../node_modules/hls.js/dist/src/utils/buffer-helper.ts", "../../../node_modules/hls.js/dist/src/types/transmuxer.ts", "../../../node_modules/hls.js/dist/src/utils/discontinuities.ts", "../../../node_modules/hls.js/dist/src/loader/fragment-loader.ts", "../../../node_modules/hls.js/dist/src/crypt/aes-crypto.ts", "../../../node_modules/hls.js/dist/src/crypt/fast-aes-key.ts", "../../../node_modules/hls.js/dist/src/crypt/aes-decryptor.ts", "../../../node_modules/hls.js/dist/src/crypt/decrypter.ts", "../../../node_modules/hls.js/dist/src/utils/time-ranges.ts", "../../../node_modules/hls.js/dist/src/controller/base-stream-controller.ts", "../../../node_modules/hls.js/dist/src/demux/chunk-cache.ts", "../../../node_modules/hls.js/dist/src/demux/inject-worker.ts", "../../../node_modules/hls.js/dist/src/demux/dummy-demuxed-track.ts", "../../../node_modules/hls.js/dist/src/demux/audio/base-audio-demuxer.ts", "../../../node_modules/hls.js/dist/src/demux/audio/adts.ts", "../../../node_modules/hls.js/dist/src/demux/audio/mpegaudio.ts", "../../../node_modules/hls.js/dist/src/demux/audio/aacdemuxer.ts", "../../../node_modules/hls.js/dist/src/demux/mp4demuxer.ts", "../../../node_modules/hls.js/dist/src/demux/audio/dolby.ts", "../../../node_modules/hls.js/dist/src/demux/audio/ac3-demuxer.ts", "../../../node_modules/hls.js/dist/src/demux/video/base-video-parser.ts", "../../../node_modules/hls.js/dist/src/demux/video/exp-golomb.ts", "../../../node_modules/hls.js/dist/src/demux/video/avc-video-parser.ts", "../../../node_modules/hls.js/dist/src/demux/sample-aes.ts", "../../../node_modules/hls.js/dist/src/demux/tsdemuxer.ts", "../../../node_modules/hls.js/dist/src/demux/audio/mp3demuxer.ts", "../../../node_modules/hls.js/dist/src/remux/aac-helper.ts", "../../../node_modules/hls.js/dist/src/remux/mp4-generator.ts", "../../../node_modules/hls.js/dist/src/utils/timescale-conversion.ts", "../../../node_modules/hls.js/dist/src/remux/mp4-remuxer.ts", "../../../node_modules/hls.js/dist/src/remux/passthrough-remuxer.ts", "../../../node_modules/hls.js/dist/src/demux/transmuxer.ts", "../../../node_modules/hls.js/Line truncated
"sourcesContent": ["var Jr=Object.create;var lt=Object.defineProperty;var Qr=Object.getOwnPropertyDescriptor;var zr=Object.getOwnPropertyNames;var Kr=Object.getPrototypeOf,Yr=Object.prototype.hasOwnProperty;var ct=function(r,e){return function(){return r&&(e=r(r=0)),e}};var H=function(r,e){return function(){return e||r((e={exports:{}}).exports,e),e.exports}};var Xr=function(r,e,t,i){if(e&&typeof e==\"object\"||typeof e==\"function\")for(var a=zr(e),n=0,o=a.length,s;n<o;n++)s=a[n],!Yr.call(r,s)&&s!==t&&lt(r,s,{get:function(l){return e[l]}.bind(null,s),enumerable:!(i=Qr(e,s))||i.enumerable});return r};var W=function(r,e,t){return t=r!=null?Jr(Kr(r)):{},Xr(e||!r||!r.__esModule?lt(t,\"default\",{value:r,enumerable:!0}):t,r)};var G=H(function(Ui,vt){var ke;typeof window!=\"undefined\"?ke=window:typeof global!=\"undefined\"?ke=global:typeof self!=\"undefined\"?ke=self:ke={};vt.exports=ke});function B(r,e){return e!=null&&typeof Symbol!=\"undefined\"&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](r):B(r,e)}var ee=ct(function(){ee()});function le(r){\"@swc/helpers - typeof\";return r&&typeof Symbol!=\"undefined\"&&r.constructor===Symbol?\"symbol\":typeof r}var Pe=ct(function(){});var ze=H(function(pu,fr){var _r=Array.prototype.slice;fr.exports=Wa;function Wa(r,e){for((\"length\"in r)||(r=[r]),r=_r.call(r);r.length;){var t=r.shift(),i=e(t);if(i)return i;t.childNodes&&t.childNodes.length&&(r=_r.call(t.childNodes).concat(r))}}});var vr=H(function(mu,pr){ee();pr.exports=ve;function ve(r,e){if(!B(this,ve))return new ve(r,e);this.data=r,this.nodeValue=r,this.length=r.length,this.ownerDocument=e||null}ve.prototype.nodeType=8;ve.prototype.nodeName=\"#comment\";ve.prototype.toString=function(){return\"[object Comment]\"}});var hr=H(function(yu,mr){ee();mr.exports=ae;function ae(r,e){if(!B(this,ae))return new ae(r);this.data=r||\"\",this.length=this.data.length,this.ownerDocument=e||null}ae.prototype.type=\"DOMTextNode\";ae.prototype.nodeType=3;ae.prototype.nodeName=\"#text\";ae.prototype.toString=function(){return this.data};ae.prototype.replaceData=function(e,t,i){var a=this.data,n=a.substring(0,e),o=a.substring(e+t,a.length);this.data=n+i+o,this.length=this.data.length}});var Ke=H(function(gu,yr){yr.exports=Ga;function Ga(r){var e=this,t=r.type;r.target||(r.target=e),e.listeners||(e.listeners={});var i=e.listeners[t];if(i)return i.forEach(function(a){r.currentTarget=e,typeof a==\"function\"?a(r):a.handleEvent(r)});e.parentNode&&e.parentNode.dispatchEvent(r)}});var Ye=H(function(bu,gr){gr.exports=Ja;function Ja(r,e){var t=this;t.listeners||(t.listeners={}),t.listeners[r]||(t.listeners[r]=[]),t.listeners[r].indexOf(e)===-1&&t.listeners[r].push(e)}});var Xe=H(function(Tu,br){br.exports=Qa;function Qa(r,e){var t=this;if(t.listeners&&t.listeners[r]){var i=t.listeners[r],a=i.indexOf(e);a!==-1&&i.splice(a,1)}}});var kr=H(function(Eu,Er){Pe();Er.exports=Tr;var za=[\"area\",\"base\",\"br\",\"col\",\"embed\",\"hr\",\"img\",\"input\",\"keygen\",\"link\",\"menuitem\",\"meta\",\"param\",\"source\",\"track\",\"wbr\"];function Tr(r){switch(r.nodeType){case 3:return $e(r.data);case 8:return\"<!--\"+r.data+\"-->\";default:return Ka(r)}}function Ka(r){var e=[],t=r.tagName;return r.namespaceURI===\"http://www.w3.org/1999/xhtml\"&&(t=t.toLowerCase()),e.push(\"<\"+t+Za(r)+$a(r)),za.indexOf(t)>-1?e.push(\" />\"):(e.push(\">\"),r.childNodes.length?e.push.apply(e,r.childNodes.map(Tr)):r.textContent||r.innerText?e.push($e(r.textContent||r.innerText)):r.innerHTML&&e.push(r.innerHTML),e.push(\"</\"+t+\">\")),e.join(\"\")}function Ya(r,e){var t=le(r[e]);return e===\"style\"&&Object.keys(r.style).length>0?!0:r.hasOwnProperty(e)&&(t===\"string\"||t===\"boolean\"||t===\"number\")&&e!==\"nodeName\"&&e!==\"className\"&&e!==\"tagName\"&&e!==\"textContent\"&&e!==\"innerText\"&&e!==\"namespaceURI\"&&e!==\"innerHTML\"}function Xa(r){if(typeof r==\"string\")return r;var e=\"\";return Object.keys(r).forEach(function(t){var i=r[t];t=t.replace(/[A-Z]/g,function(a){return\"-\"+a.toLowerCase()}),e+=t+\":\"+i+\";\"}),e}function $a(r){var e=r.dataset,t=[];for(var i in e)t.push({name:\"data-\"+i,value:e[i]});return t.length?wr(t):\"\"}function wr(r){var e=[];return r.forEach(function(t){var i=t.name,a=t.value;i===\"style\"&&(a=Xa(a)),e.push(i+'=\"'+ei(a)+'\"')}),e.length?\" \"+e.join(\" \"):\"\"}function Za(r){var e=[];for(var t in r)Ya(r,t)&&e.push({name:t,value:r[t]});for(var i in r._attributes)for(var a in r._attributes[i]){var n=r._attributes[i][a],o=(n.prefix?n.prefix+\":\":\"\")+a;e.push({name:o,value:n.value})}return r.className&&e.push({name:\"class\",value:r.className}),e.length?wr(e):\"\"}function $e(r){var e=\"\";return typeof r==\"string\"?e=r:r&&(e=r.toString()),e.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\")}function ei(r){return $e(r).replace(/\"/g,\"&quot;\")}});var et=H(function(xu,Dr){ee();var Ze=ze(),ti=Ke(),ri=Ye(),ai=Xe(),ii=kr(),xr=\"http://www.w3.org/1999/xhtml\";Dr.exports=N;function N(r,e,t){if(!B(this,N))return newLine truncated
"mappings": "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 truncated
"names": ["Jr", "lt", "Qr", "zr", "Kr", "Yr", "ct", "H", "Xr", "a", "o", "s", "W", "G", "Ui", "vt", "ke", "B", "ee", "le", "Pe", "ze", "pu", "fr", "_r", "Wa", "r", "e", "t", "i", "vr", "mu", "pr", "ve", "hr", "yu", "mr", "ae", "n", "Ke", "gu", "yr", "Ga", "Ye", "bu", "gr", "Ja", "Xe", "Tu", "br", "Qa", "kr", "Eu", "Er", "Tr", "za", "$e", "Ka", "Za", "$a", "Ya", "Xa", "wr", "ei", "et", "xu", "Dr", "Ze", "ti", "ri", "ai", "ii", "xr", "N", "Rr", "Su", "Sr", "tt", "z", "Ar", "Ru", "qr", "rt", "Ir", "Au", "Or", "ni", "oi", "si", "Re", "ui", "di", "li", "ci", "_i", "Ue", "F", "Pr", "Ou", "Nr", "fi", "Mr", "Iu", "Cr", "Lr", "pi", "qe", "_t", "ft", "pt", "Ee", "Ae", "M", "ge", "$", "Oe", "Z", "xe", "mt", "ht", "yt", "J", "K", "gt", "m", "g", "T", "w", "E", "x", "v", "_", "O", "Ie", "de", "bt", "$r", "q", "h", "D", "Tt", "L", "u", "Ne", "wt", "De", "Et", "kt", "xt", "U", "te", "Le", "Zr", "ce", "A", "oe", "ea", "_e", "ta", "Dt", "ra", "fe", "se", "aa", "Ce", "Me", "Se", "St", "p", "c", "d", "y", "b", "k", "S", "P", "C", "V", "ne", "R", "X", "be", "Te", "Rt", "qt", "ia", "na", "oa", "At", "we", "Q", "Ve", "je", "We", "Vr", "jr", "Wr", "Gr", "Ot", "It", "sa", "l", "Nt", "He", "ua", "Pt", "da", "Lt", "la", "Ct", "ca", "Mt", "_a", "Ht", "Bt", "fa", "Ut", "pa", "Ft", "va", "Vt", "ma", "jt", "ha", "ya", "Wt", "Gt", "ga", "ba", "Jt", "Ge", "Ta", "Qt", "wa", "zt", "Be", "Je", "Kt", "Ea", "ka", "Yt", "Xt", "$t", "Zt", "Qe", "er", "tr", "rr", "ar", "xa", "Da", "nr", "Sa", "ir", "pe", "re", "Ra", "qa", "Aa", "Oa", "Y", "or", "Ia", "sr", "Na", "Pa", "La", "Ca", "Ma", "ur", "Ha", "dr", "Ba", "Ua", "lr", "Fa", "Va", "ja", "cr", "me", "at", "vi", "mi", "it", "nt", "ye", "he", "ot", "st", "ue", "Fe", "bi", "dt", "ut", "Ti", "Hr", "gi", "yi", "hi", "Br", "wi", "Ur", "Ei", "Fr", "ki", "xi", "Di", "j", "ie", "Si", "cd", "root", "URL_REGEX", "FIRST_SEGMENT_REGEX", "SLASH_DOT_REGEX", "SLASH_DOT_DOT_REGEX", "URLToolkit", "baseURL", "relativeURL", "opts", "basePartsForNormalise", "relativeParts", "baseParts", "pathParts", "builtParts", "baseURLPath", "newPath", "url", "parts", "path", "module", "isFiniteNumber", "Number", "isFinite", "value", "isSafeInteger", "Math", "abs", "MAX_SAFE_INTEGER", "Events", "ErrorTypes", "ErrorDetails", "noop", "fakeLogger", "trace", "debug", "log", "warn", "info", "error", "exportedLogger", "consolePrintFn", "type", "func", "self", "console", "bind", "exportLoggerFunctions", "debugConfig", "functions", "forEach", "enableLogs", "id", "logger", "DECIMAL_RESOLUTION_REGEX", "ATTR_LIST_REGEX", "AttrList", "constructor", "attrs", "parseAttrList", "_extends", "clientAttrs", "Object", "keys", "filter", "attr", "substring", "decimalInteger", "attrName", "intValue", "parseInt", "Infinity", "hexadecimalInteger", "stringValue", "slice", "length", "Uint8Array", "i", "hexadecimalIntegerAsNumber", "decimalFloatingPoint", "parseFloat", "optionalFloat", "defaultValue", "enumeratedString", "bool", "decimalResolution", "res", "exec", "width", "height", "input", "match", "quote", "lastIndex", "indexOf", "lastIndexOf", "name", "trim", "isDateRangeCueAttribute", "isSCTE35Attribute", "DateRange", "dateRangeAttr", "dateRangeWithSameId", "_startDate", "_endDate", "_badValueForSameId", "previousAttr", "key", "prototype", "hasOwnProperty", "call", "ID", "Date", "endDate", "_isFiniteNumber", "getTime", "class", "CLASS", "startDate", "duration", "_isFiniteNumber2", "plannedDuration", "endOnNext", "isValid", "_isFiniteNumber3", "LoadStats", "aborted", "loaded", "retry", "total", "chunkCount", "bwEstimate", "loading", "start", "first", "end", "parsing", "buffering", "ElementaryStreamTypes", "AUDIO", "VIDEO", "AUDIOVIDEO", "BaseSegment", "baseurl", "_byteRange", "_url", "relurl", "elementaryStreams", "setByteRange", "previous", "params", "split", "byteRangeEndOffset", "byteRange", "byteRangeStartOffset", "buildAbsoluteURL", "alwaysNormalize", "Fragment", "_decryptdata", "rawProgramDateTime", "programDateTime", "tagList", "sn", "levelkeys", "loader", "keyLoader", "level", "cc", "startPTS", "endPTS", "startDTS", "endDTS", "deltaPTS", "maxStartPTS", "minEndPTS", "stats", "data", "bitrateTest", "title", "initSegment", "endList", "gap", "urlId", "decryptdata", "NONE", "identity", "getDecryptData", "keyFormats", "endProgramDateTime", "encrypted", "_this$_decryptdata", "len", "setKeyFormat", "keyFormat", "abortRequests", "_this$loader", "_this$keyLoader", "abort", "setElementaryStreamInfo", "partial", "min", "max", "clearElementaryStreamInfo", "Part", "partAttrs", "frag", "index", "fragOffset", "independent", "fragment", "audio", "video", "audiovideo", "DEFAULT_TARGET_DURATION", "LevelDetails", "baseUrl", "PTSKnown", "alignedSliding", "averagetargetduration", "endCC", "endSN", "fragments", "fragmentHint", "partList", "dateRanges", "live", "ageHeader", "advancedDateTime", "updated", "advanced", "availabilityDelay", "misses", "startCC", "startSN", "startTimeOffset", "targetduration", "totalduration", "m3u8", "version", "canBlockReload", "canSkipLine truncated
}
+1
View File
@@ -0,0 +1 @@
{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.es2019.full.d.ts","../../../node_modules/mux-embed/dist/types/mux-embed.d.ts","../src/errors.ts","../../../node_modules/hls.js/dist/hls.js.d.ts","../src/types.ts","../lang/en.json","../src/util.ts","../src/hls.ts","../src/autoplay.ts","../src/preload.ts","../src/media-tracks.ts","../src/text-tracks.ts","../src/pdt.ts","../src/request-errors.ts","../src/index.ts","../../../node_modules/media-tracks/dist/video-rendition.d.ts","../../../node_modules/media-tracks/dist/video-track.d.ts","../../../node_modules/media-tracks/dist/video-track-list.d.ts","../../../node_modules/media-tracks/dist/audio-rendition.d.ts","../../../node_modules/media-tracks/dist/audio-track.d.ts","../../../node_modules/media-tracks/dist/audio-track-list.d.ts","../../../node_modules/media-tracks/dist/video-rendition-list.d.ts","../../../node_modules/media-tracks/dist/audio-rendition-list.d.ts","../../../node_modules/media-tracks/dist/global.d.ts"],"fileIdsList":[[59,60],[60],[59],[57,58,60,61,62,63],[56,57],[57],[56],[45,47,48],[44],[42,43,44,45,47,48,49,50,51,52,53,54],[48],[45],[45,47],[43,44,45,47],[42,43,44],[45,46]],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"9e8ca8ed051c2697578c023d9c29d6df689a083561feba5c14aedee895853999","affectsGlobalScope":true,"impliedFormat":1},{"version":"69e65d976bf166ce4a9e6f6c18f94d2424bf116e90837ace179610dbccad9b42","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true,"impliedFormat":1},{"Line truncated
@@ -0,0 +1,4 @@
import { Autoplay, PlaybackEngine, MuxMediaPropsInternal } from './types';
export declare const isAutoplayValue: (value: unknown) => value is Autoplay;
export declare const setupAutoplay: (props: Partial<MuxMediaPropsInternal>, mediaEl: HTMLMediaElement, hls?: PlaybackEngine) => (newAutoplay?: Autoplay) => void;
export declare const handleAutoplay: (mediaEl: HTMLMediaElement, autoplay: Autoplay) => void;
+52
View File
@@ -0,0 +1,52 @@
export declare const MuxErrorCategory: {
readonly VIDEO: "video";
readonly THUMBNAIL: "thumbnail";
readonly STORYBOARD: "storyboard";
readonly DRM: "drm";
};
export declare const MuxErrorCode: {
readonly NOT_AN_ERROR: 0;
readonly NETWORK_OFFLINE: 2000002;
readonly NETWORK_UNKNOWN_ERROR: 2000000;
readonly NETWORK_NO_STATUS: 2000001;
readonly NETWORK_INVALID_URL: 2400000;
readonly NETWORK_NOT_FOUND: 2404000;
readonly NETWORK_NOT_READY: 2412000;
readonly NETWORK_GENERIC_SERVER_FAIL: 2500000;
readonly NETWORK_TOKEN_MISSING: 2403201;
readonly NETWORK_TOKEN_MALFORMED: 2412202;
readonly NETWORK_TOKEN_EXPIRED: 2403210;
readonly NETWORK_TOKEN_AUD_MISSING: 2403221;
readonly NETWORK_TOKEN_AUD_MISMATCH: 2403222;
readonly NETWORK_TOKEN_SUB_MISMATCH: 2403232;
readonly ENCRYPTED_ERROR: 5000000;
readonly ENCRYPTED_UNSUPPORTED_KEY_SYSTEM: 5000001;
readonly ENCRYPTED_GENERATE_REQUEST_FAILED: 5000002;
readonly ENCRYPTED_UPDATE_LICENSE_FAILED: 5000003;
readonly ENCRYPTED_UPDATE_SERVER_CERT_FAILED: 5000004;
readonly ENCRYPTED_CDM_ERROR: 5000005;
readonly ENCRYPTED_OUTPUT_RESTRICTED: 5000006;
readonly ENCRYPTED_MISSING_TOKEN: 5000002;
};
export type MuxErrorCategory = typeof MuxErrorCategory;
export type MuxErrorCode = typeof MuxErrorCode;
export type MuxErrorCategoryValue = MuxErrorCategory[keyof MuxErrorCategory];
export type MuxErrorCodeValue = MuxErrorCode[keyof MuxErrorCode];
export declare const errorCategoryToTokenNameOrPrefix: (category: MuxErrorCategoryValue) => "thumbnail" | "storyboard" | "drm" | "playback";
export declare class MediaError extends Error {
static MEDIA_ERR_ABORTED: 1;
static MEDIA_ERR_NETWORK: 2;
static MEDIA_ERR_DECODE: 3;
static MEDIA_ERR_SRC_NOT_SUPPORTED: 4;
static MEDIA_ERR_ENCRYPTED: 5;
static MEDIA_ERR_CUSTOM: number;
static defaultMessages: Record<number, string>;
name: string;
code: number;
muxCode?: MuxErrorCodeValue;
errorCategory?: MuxErrorCategoryValue;
context?: string;
fatal: boolean;
data?: any;
constructor(message?: string, code?: number, fatal?: boolean, context?: string);
}
+4
View File
@@ -0,0 +1,4 @@
import Hls from 'hls.js';
import HlsClassType from 'hls.js';
export default Hls;
export type HlsInterface = HlsClassType;
+94
View File
@@ -0,0 +1,94 @@
import { ValueOf, PlaybackCore, MuxMediaProps, MuxMediaPropsInternal, MuxMediaPropTypes } from './types';
import mux from 'mux-embed';
import Hls from './hls';
import { HlsInterface } from './hls';
import { MediaError, MuxErrorCategory, MuxErrorCode, errorCategoryToTokenNameOrPrefix } from './errors';
import { addTextTrack, removeTextTrack, getTextTrack, addCuePoints, getCuePoints, getActiveCuePoint, setupCuePoints, addChapters, getChapters, getActiveChapter, setupChapters } from './text-tracks';
import { getStartDate, getCurrentPdt } from './pdt';
import { toPlaybackIdParts, i18n, parseJwt } from './util';
import { StreamTypes, MediaTypes } from './types';
import { HlsConfig } from 'hls.js';
import { MuxJWTAud } from './request-errors';
export { mux, Hls, MediaError, MuxErrorCategory, MuxErrorCode, errorCategoryToTokenNameOrPrefix, MuxJWTAud, addTextTrack, removeTextTrack, getTextTrack, addCuePoints, getCuePoints, getActiveCuePoint, setupCuePoints, addChapters, getChapters, getActiveChapter, setupChapters, getStartDate, getCurrentPdt, toPlaybackIdParts, i18n, parseJwt, };
export * from './types';
declare const DRMType: {
readonly FAIRPLAY: "fairplay";
readonly PLAYREADY: "playready";
readonly WIDEVINE: "widevine";
};
type DRMTypeValue = (typeof DRMType)[keyof typeof DRMType];
export declare const toDRMTypeFromKeySystem: (keySystem: string) => DRMTypeValue | undefined;
export declare const getMediaPlaylistLinesFromMultivariantPlaylistSrc: (src: string) => Promise<string[]>;
export declare const getStreamInfoFromPlaylistLines: (playlistLines: string[]) => {
streamType: "on-demand" | "live";
targetLiveWindow: number;
liveEdgeStartOffset: number | undefined;
};
export declare const getStreamInfoFromSrcAndType: (src: string, type?: MediaTypes | "") => Promise<{
streamType: "on-demand" | "live";
targetLiveWindow: number;
liveEdgeStartOffset: number | undefined;
} | {
streamType: undefined;
targetLiveWindow: undefined;
liveEdgeStartOffset: undefined;
}>;
export declare const updateStreamInfoFromSrc: (src: string, mediaEl: HTMLMediaElement, type?: MediaTypes | "") => Promise<void>;
export declare const getStreamInfoFromHlsjsLevelDetails: (levelDetails: any) => {
streamType: "on-demand" | "live";
targetLiveWindow: number;
liveEdgeStartOffset: number | undefined;
lowLatency: boolean;
};
export declare const updateStreamInfoFromHlsjsLevelDetails: (levelDetails: any, mediaEl: HTMLMediaElement, hls: Pick<Hls, "config" | "userConfig" | "liveSyncPosition">) => void;
declare global {
interface NavigatorUAData {
platform: string;
mobile: boolean;
brands: Array<{
brand: string;
version: string;
}>;
}
interface Navigator {
userAgentData?: NavigatorUAData;
}
}
export declare const muxMediaState: WeakMap<HTMLMediaElement, Partial<MuxMediaProps> & {
seekable?: TimeRanges;
liveEdgeStartOffset?: number;
}>;
export declare const generatePlayerInitTime: () => number;
export declare const generateUUID: () => string;
type MuxVideoURLProps = Partial<Pick<MuxMediaPropTypes, 'playbackId' | 'customDomain' | 'maxResolution' | 'minResolution' | 'renditionOrder' | 'programStartTime' | 'programEndTime' | 'assetStartTime' | 'assetEndTime' | 'tokens' | 'playbackToken' | 'extraSourceParams'>>;
export declare const toMuxVideoURL: ({ playbackId: playbackIdWithParams, customDomain: domain, maxResolution, minResolution, renditionOrder, programStartTime, programEndTime, assetStartTime, assetEndTime, playbackToken, tokens: { playback: token }, extraSourceParams, }?: MuxVideoURLProps) => string | undefined;
export declare const toPlaybackIdFromSrc: (src: string | undefined) => string | undefined;
export declare const getError: (mediaEl: HTMLMediaElement) => globalThis.MediaError | (globalThis.MediaError & MediaError) | null | undefined;
export declare const getStreamType: (mediaEl: HTMLMediaElement) => ValueOf<StreamTypes>;
export declare const getTargetLiveWindow: (mediaEl: HTMLMediaElement) => number;
export declare const getSeekable: (mediaEl: HTMLMediaElement) => TimeRanges;
export declare const getLiveEdgeStart: (mediaEl: HTMLMediaElement) => number;
export declare const isPseudoEnded: (mediaEl: HTMLMediaElement, moe?: number) => boolean;
export declare const isStuckOnLastFragment: (mediaEl: HTMLMediaElement, hls?: Pick<Hls,
/** Should we add audio fragments logic here, too? (CJP) */
"levels" | "currentLevel">) => boolean | undefined;
export declare const getEnded: (mediaEl: HTMLMediaElement, hls?: Pick<Hls,
/** Should we add audio fragments logic here, too? (CJP) */
"levels" | "currentLevel">) => boolean;
export declare const initialize: (props: Partial<MuxMediaPropsInternal>, mediaEl: HTMLMediaElement, core?: PlaybackCore) => {
engine: Hls | undefined;
setAutoplay: (newAutoplay?: import("./types").Autoplay) => void;
setPreload: (val?: HTMLMediaElement["preload"]) => void;
};
export declare const teardown: (mediaEl?: HTMLMediaElement | null, core?: PlaybackCore) => void;
export declare const setupHls: (props: Partial<Pick<MuxMediaPropsInternal, "debug" | "streamType" | "type" | "startTime" | "metadata" | "preferCmcd" | "_hlsConfig" | "tokens" | "drmTypeCb">>, mediaEl: Pick<HTMLMediaElement, "canPlayType">) => Hls | undefined;
export declare const getStreamTypeConfig: (streamType?: ValueOf<StreamTypes>) => {};
export declare const getDRMConfig: (props: Partial<Pick<MuxMediaPropsInternal, "src" | "playbackId" | "tokens" | "customDomain" | "drmTypeCb">>) => Partial<HlsConfig>;
export declare const getAppCertificate: (appCertificateUrl: string) => Promise<ArrayBuffer>;
export declare const getLicenseKey: (message: ArrayBuffer, licenseServerUrl: string) => Promise<Uint8Array>;
export declare const setupNativeFairplayDRM: (props: Partial<Pick<MuxMediaPropsInternal, "playbackId" | "tokens" | "playbackToken" | "customDomain" | "drmTypeCb">>, mediaEl: HTMLMediaElement) => void;
export declare const toLicenseKeyURL: ({ playbackId: playbackIdWithParams, tokens: { drm: token }, customDomain, }: Partial<Pick<MuxMediaPropsInternal, "playbackId" | "tokens" | "customDomain">>, scheme: "widevine" | "playready" | "fairplay") => string;
export declare const toAppCertURL: ({ playbackId: playbackIdWithParams, tokens: { drm: token }, customDomain, }: Partial<Pick<MuxMediaPropsInternal, "playbackId" | "tokens" | "customDomain">>, scheme: "widevine" | "playready" | "fairplay") => string;
export declare const isMuxVideoSrc: ({ playbackId, src, customDomain, }: Partial<Pick<MuxMediaPropsInternal, "playbackId" | "src" | "customDomain">>) => boolean;
export declare const setupMux: (props: Partial<Pick<MuxMediaPropsInternal, "envKey" | "playerInitTime" | "beaconCollectionDomain" | "errorTranslator" | "metadata" | "debug" | "playerSoftwareName" | "playerSoftwareVersion" | "playbackId" | "src" | "customDomain" | "disableCookies" | "disableTracking">>, mediaEl: HTMLMediaElement, hlsjs?: HlsInterface) => void;
export declare const loadMedia: (props: Partial<Pick<MuxMediaProps, "preferPlayback" | "src" | "type" | "startTime" | "streamType" | "autoplay" | "playbackId" | "tokens" | "customDomain">>, mediaEl: HTMLMediaElement, hls?: Pick<Hls, "config" | "on" | "once" | "off" | "trigger" | "startLoad" | "stopLoad" | "recoverMediaError" | "destroy" | "loadSource" | "attachMedia" | "liveSyncPosition" | "subtitleTracks" | "subtitleTrack" | "userConfig" | "audioTrack" | "audioTracks" | "autoLevelEnabled" | "nextLevel" | "levels" | "currentLevel">) => void;
@@ -0,0 +1,7 @@
declare module 'media-chrome' {
export class MediaTheme extends HTMLElement {
}
export class MediaController extends HTMLElement {
media: HTMLVideoElement;
}
}
@@ -0,0 +1,2 @@
import Hls from './hls';
export declare function setupMediaTracks(customMediaEl: HTMLMediaElement, hls: Pick<Hls, 'audioTrack' | 'audioTracks' | 'autoLevelEnabled' | 'nextLevel' | 'levels' | 'on' | 'once' | 'off' | 'trigger'>): void;
+7
View File
@@ -0,0 +1,7 @@
import { PlaybackEngine } from './types';
type MediaWithPDT = HTMLMediaElement & {
getStartDate?: () => Date;
};
export declare function getStartDate(mediaEl: MediaWithPDT, hls: PlaybackEngine | undefined): Date;
export declare function getCurrentPdt(mediaEl: MediaWithPDT, hls: PlaybackEngine | undefined): Date;
export {};
+2
View File
@@ -0,0 +1,2 @@
import { PlaybackEngine } from './types';
export declare const setupPreload: ({ preload, src }: Partial<HTMLMediaElement>, mediaEl: HTMLMediaElement, hls?: PlaybackEngine) => (val?: HTMLMediaElement["preload"]) => void;
@@ -0,0 +1,13 @@
import { LoaderResponse } from 'hls.js';
import { MuxMediaPropsInternal } from './types';
import { MuxErrorCategoryValue } from './errors';
import { MediaError } from './errors';
export declare const MuxJWTAud: {
readonly VIDEO: "v";
readonly THUMBNAIL: "t";
readonly STORYBOARD: "s";
readonly DRM: "d";
};
export declare const categoryToAud: (category: MuxErrorCategoryValue) => "d" | "v" | undefined;
export declare const categoryToToken: (category: MuxErrorCategoryValue, muxMediaEl: Partial<Pick<MuxMediaPropsInternal, "drmToken" | "playbackToken" | "tokens">>) => string | undefined;
export declare const getErrorFromResponse: (resp: Pick<Response, "status" | "url"> | Pick<LoaderResponse, "code" | "url">, category: MuxErrorCategoryValue, muxMediaEl: Partial<Pick<MuxMediaPropsInternal, "playbackId" | "drmToken" | "playbackToken" | "tokens">>, translate?: boolean, offline?: boolean) => MediaError | undefined;
@@ -0,0 +1,35 @@
import Hls from './hls';
import { CuePoint, Chapter } from './types';
type Config = {
label: string;
};
export declare function setupTextTracks(mediaEl: HTMLMediaElement, hls: Pick<Hls, 'on' | 'once' | 'subtitleTracks' | 'subtitleTrack'>): void;
export declare function addTextTrack(mediaEl: HTMLMediaElement, kind: TextTrackKind, label: string, lang?: string, id?: string, defaultTrack?: boolean): TextTrack;
export declare function removeTextTrack(mediaEl: HTMLMediaElement, track: TextTrack): void;
export declare function getTextTrack(mediaEl: HTMLMediaElement, label: string, kind: TextTrackKind): TextTrack | undefined;
export declare function addCuesToTextTrack<T = any>(mediaEl: HTMLMediaElement, cues: CuePoint<T>[] | Chapter[], label: string, kind: TextTrackKind): Promise<TextTrack>;
export declare const DefaultCuePointsConfig: Config;
export declare function addCuePoints<T>(mediaEl: HTMLMediaElement, cuePoints: CuePoint<T>[], cuePointsConfig?: Config): Promise<TextTrack>;
export declare function getCuePoints(mediaEl: HTMLMediaElement, cuePointsConfig?: Config): {
time: number;
value: any;
}[];
export declare function getActiveCuePoint(mediaEl: HTMLMediaElement, cuePointsConfig?: Config): {
time: number;
value: any;
} | undefined;
export declare function setupCuePoints(mediaEl: HTMLMediaElement, cuePointsConfig?: Config): Promise<unknown>;
export declare const DefaultChaptersConfig: Config;
export declare function addChapters(mediaEl: HTMLMediaElement, chapters: Chapter[], chaptersConfig?: Config): Promise<TextTrack>;
export declare function getChapters(mediaEl: HTMLMediaElement, chaptersConfig?: Config): {
startTime: number;
endTime: number;
value: string;
}[];
export declare function getActiveChapter(mediaEl: HTMLMediaElement, chaptersConfig?: Config): {
startTime: number;
endTime: number;
value: string;
} | undefined;
export declare function setupChapters(mediaEl: HTMLMediaElement, chaptersConfig?: Config): Promise<unknown>;
export {};
+134
View File
@@ -0,0 +1,134 @@
/// <reference path="../../../../node_modules/mux-embed/dist/types/mux-embed.d.ts" preserve="true" />
import { Options } from 'mux-embed';
import { MediaError } from './errors';
import { HlsConfig } from 'hls.js';
import Hls from 'hls.js';
type KeyTypes = string | number | symbol;
type Maybe<T> = T | null | undefined;
export declare const isKeyOf: <T extends {} = any>(k: KeyTypes, o: Maybe<T>) => k is keyof T;
export type ValueOf<T> = T[keyof T];
export type Metadata = Partial<Required<Options>['data']>;
type MetaData = Metadata;
export type PlaybackEngine = Hls;
export type PlaybackCore = {
engine?: PlaybackEngine;
setAutoplay: (autoplay?: Autoplay) => void;
setPreload: (preload?: HTMLMediaElement['preload']) => void;
};
export type AutoplayTypes = {
ANY: 'any';
MUTED: 'muted';
};
export declare const AutoplayTypes: AutoplayTypes;
export type Autoplay = boolean | ValueOf<AutoplayTypes>;
export type HlsPlaylistTypes = 'VOD' | 'EVENT' | null | undefined;
export type StreamTypes = {
ON_DEMAND: 'on-demand';
LIVE: 'live';
UNKNOWN: 'unknown';
};
export declare const StreamTypes: StreamTypes;
export type PlaybackTypes = {
MSE: 'mse';
NATIVE: 'native';
};
export declare const PlaybackTypes: PlaybackTypes;
export type CmcdTypes = {
HEADER: 'header';
QUERY: 'query';
NONE: 'none';
};
export declare const CmcdTypes: CmcdTypes;
export declare const CmcdTypeValues: ("none" | "header" | "query")[];
export type ExtensionMimeTypeMap = {
M3U8: 'application/vnd.apple.mpegurl';
MP4: 'video/mp4';
};
export declare const ExtensionMimeTypeMap: ExtensionMimeTypeMap;
export type MimeTypeShorthandMap = {
HLS: ExtensionMimeTypeMap['M3U8'];
};
export declare const MimeTypeShorthandMap: MimeTypeShorthandMap;
export declare const shorthandKeys: string[];
export type MediaTypes = ValueOf<ExtensionMimeTypeMap> | keyof MimeTypeShorthandMap
/** @TODO Figure out a way to "downgrade" derived types below to early TS syntax (e.g. 3.4) instead of explicit versions here (CJP) */
| 'hls';
export declare const allMediaTypes: MediaTypes[];
type CueLike<T = any> = {
startTime: number;
endTime?: number;
value: T;
};
export type CuePoint<T = any> = CueLike<T> | {
time: number;
value: T;
};
export type Chapter = CueLike<string>;
export declare const MaxResolution: {
readonly upTo720p: "720p";
readonly upTo1080p: "1080p";
readonly upTo1440p: "1440p";
readonly upTo2160p: "2160p";
};
export declare const MinResolution: {
readonly noLessThan480p: "480p";
readonly noLessThan540p: "540p";
readonly noLessThan720p: "720p";
readonly noLessThan1080p: "1080p";
readonly noLessThan1440p: "1440p";
readonly noLessThan2160p: "2160p";
};
export declare const RenditionOrder: {
readonly DESCENDING: "desc";
};
export type MaxResolutionValue = ValueOf<typeof MaxResolution>;
export type MinResolutionValue = ValueOf<typeof MinResolution>;
export type RenditionOrderValue = ValueOf<typeof RenditionOrder>;
export type Tokens = {
playback?: string;
drm?: string;
thumbnail?: string;
storyboard?: string;
};
export type MuxMediaPropTypes = {
_hlsConfig?: Partial<HlsConfig>;
autoPlay?: Autoplay;
autoplay?: Autoplay;
beaconCollectionDomain: Options['beaconCollectionDomain'];
customDomain: string;
debug: Options['debug'] & Hls['config']['debug'];
disableCookies: Options['disableCookies'];
disableTracking: boolean;
drmToken?: string;
playbackToken?: string;
envKey: MetaData['env_key'];
error?: HTMLMediaElement['error'] | MediaError;
errorTranslator: Options['errorTranslator'];
liveEdgeStart: number;
maxResolution: MaxResolutionValue;
metadata: Partial<Options['data']>;
minResolution: MinResolutionValue;
playbackId: string;
playerInitTime: MetaData['player_init_time'];
preferCmcd: ValueOf<CmcdTypes> | undefined;
preferPlayback: ValueOf<PlaybackTypes> | undefined;
programStartTime: number;
programEndTime: number;
assetStartTime: number;
assetEndTime: number;
renditionOrder: RenditionOrderValue;
startTime: Hls['config']['startPosition'];
streamType: ValueOf<StreamTypes>;
targetLiveWindow: number;
tokens: Tokens;
type: MediaTypes;
extraSourceParams: Record<string, any>;
};
export type HTMLMediaElementProps = Partial<Pick<HTMLMediaElement, 'src' | 'preload' | 'error' | 'seekable'>>;
export type MuxMediaProps = HTMLMediaElementProps & MuxMediaPropTypes;
export type MuxMediaPropsInternal = MuxMediaProps & {
playerSoftwareName: MetaData['player_software_name'];
playerSoftwareVersion: MetaData['player_software_version'];
drmTypeCb?: (drmType: Metadata['view_drm_type']) => void;
};
export {};
+24
View File
@@ -0,0 +1,24 @@
import { HlsPlaylistTypes, MuxMediaProps } from './types';
type addEventListenerWithTeardown = <K extends keyof HTMLMediaElementEventMap, T extends EventTarget = HTMLMediaElement>(mediaEl: HTMLMediaElement, type: K, listener: (this: T, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions, target?: T | HTMLMediaElement) => void;
export declare const addEventListenerWithTeardown: addEventListenerWithTeardown;
export declare function inSeekableRange(seekable: TimeRanges, duration: number, time: number): boolean;
export declare const toPlaybackIdParts: (playbackIdWithOptionalParams: string) => [
string,
string?
];
export declare const getType: (props: Partial<Pick<MuxMediaProps, "type" | "src">>) => "" | import("./types").MediaTypes;
export declare const toStreamTypeFromPlaylistType: (playlistType: HlsPlaylistTypes) => "on-demand" | "live";
export declare const toTargetLiveWindowFromPlaylistType: (playlistType: HlsPlaylistTypes) => number;
export declare const inferMimeTypeFromURL: (url: string) => "" | "application/vnd.apple.mpegurl" | "video/mp4";
export type MuxJWT = {
sub: string;
aud: 'v' | 't' | 'g' | 's' | 'd';
exp: number;
};
export declare const parseJwt: (token: string | undefined) => Partial<MuxJWT> | undefined;
export declare const isJWTExpired: ({ exp }: Partial<Pick<MuxJWT, "exp">>, referenceTime?: number) => boolean;
export declare const isJWTSubMismatch: ({ sub }: Partial<Pick<MuxJWT, "sub">>, expectedSub: string | undefined) => boolean;
export declare const isJWTAudMissing: ({ aud }: Partial<Pick<MuxJWT, "aud">>, _expectedAud: string | undefined) => boolean;
export declare const isJWTAudMismatch: ({ aud }: Partial<Pick<MuxJWT, "aud">>, expectedAud: string | undefined) => boolean;
export declare function i18n(str: string, translate?: boolean): any;
export {};
+4
View File
@@ -0,0 +1,4 @@
import { Autoplay, PlaybackEngine, MuxMediaPropsInternal } from './types';
export declare const isAutoplayValue: (value: unknown) => value is Autoplay;
export declare const setupAutoplay: (props: Partial<MuxMediaPropsInternal>, mediaEl: HTMLMediaElement, hls?: PlaybackEngine) => (newAutoplay?: Autoplay) => void;
export declare const handleAutoplay: (mediaEl: HTMLMediaElement, autoplay: Autoplay) => void;
+52
View File
@@ -0,0 +1,52 @@
export declare const MuxErrorCategory: {
readonly VIDEO: "video";
readonly THUMBNAIL: "thumbnail";
readonly STORYBOARD: "storyboard";
readonly DRM: "drm";
};
export declare const MuxErrorCode: {
readonly NOT_AN_ERROR: 0;
readonly NETWORK_OFFLINE: 2000002;
readonly NETWORK_UNKNOWN_ERROR: 2000000;
readonly NETWORK_NO_STATUS: 2000001;
readonly NETWORK_INVALID_URL: 2400000;
readonly NETWORK_NOT_FOUND: 2404000;
readonly NETWORK_NOT_READY: 2412000;
readonly NETWORK_GENERIC_SERVER_FAIL: 2500000;
readonly NETWORK_TOKEN_MISSING: 2403201;
readonly NETWORK_TOKEN_MALFORMED: 2412202;
readonly NETWORK_TOKEN_EXPIRED: 2403210;
readonly NETWORK_TOKEN_AUD_MISSING: 2403221;
readonly NETWORK_TOKEN_AUD_MISMATCH: 2403222;
readonly NETWORK_TOKEN_SUB_MISMATCH: 2403232;
readonly ENCRYPTED_ERROR: 5000000;
readonly ENCRYPTED_UNSUPPORTED_KEY_SYSTEM: 5000001;
readonly ENCRYPTED_GENERATE_REQUEST_FAILED: 5000002;
readonly ENCRYPTED_UPDATE_LICENSE_FAILED: 5000003;
readonly ENCRYPTED_UPDATE_SERVER_CERT_FAILED: 5000004;
readonly ENCRYPTED_CDM_ERROR: 5000005;
readonly ENCRYPTED_OUTPUT_RESTRICTED: 5000006;
readonly ENCRYPTED_MISSING_TOKEN: 5000002;
};
export type MuxErrorCategory = typeof MuxErrorCategory;
export type MuxErrorCode = typeof MuxErrorCode;
export type MuxErrorCategoryValue = MuxErrorCategory[keyof MuxErrorCategory];
export type MuxErrorCodeValue = MuxErrorCode[keyof MuxErrorCode];
export declare const errorCategoryToTokenNameOrPrefix: (category: MuxErrorCategoryValue) => "thumbnail" | "storyboard" | "drm" | "playback";
export declare class MediaError extends Error {
static MEDIA_ERR_ABORTED: 1;
static MEDIA_ERR_NETWORK: 2;
static MEDIA_ERR_DECODE: 3;
static MEDIA_ERR_SRC_NOT_SUPPORTED: 4;
static MEDIA_ERR_ENCRYPTED: 5;
static MEDIA_ERR_CUSTOM: number;
static defaultMessages: Record<number, string>;
name: string;
code: number;
muxCode?: MuxErrorCodeValue;
errorCategory?: MuxErrorCategoryValue;
context?: string;
fatal: boolean;
data?: any;
constructor(message?: string, code?: number, fatal?: boolean, context?: string);
}
+4
View File
@@ -0,0 +1,4 @@
import Hls from 'hls.js';
import type HlsClassType from 'hls.js';
export default Hls;
export type HlsInterface = HlsClassType;
+94
View File
@@ -0,0 +1,94 @@
import type { ValueOf, PlaybackCore, MuxMediaProps, MuxMediaPropsInternal, MuxMediaPropTypes } from './types';
import mux from 'mux-embed';
import Hls from './hls';
import type { HlsInterface } from './hls';
import { MediaError, MuxErrorCategory, MuxErrorCode, errorCategoryToTokenNameOrPrefix } from './errors';
import { addTextTrack, removeTextTrack, getTextTrack, addCuePoints, getCuePoints, getActiveCuePoint, setupCuePoints, addChapters, getChapters, getActiveChapter, setupChapters } from './text-tracks';
import { getStartDate, getCurrentPdt } from './pdt';
import { toPlaybackIdParts, i18n, parseJwt } from './util';
import { StreamTypes, MediaTypes } from './types';
import { type HlsConfig } from 'hls.js';
import { MuxJWTAud } from './request-errors';
export { mux, Hls, MediaError, MuxErrorCategory, MuxErrorCode, errorCategoryToTokenNameOrPrefix, MuxJWTAud, addTextTrack, removeTextTrack, getTextTrack, addCuePoints, getCuePoints, getActiveCuePoint, setupCuePoints, addChapters, getChapters, getActiveChapter, setupChapters, getStartDate, getCurrentPdt, toPlaybackIdParts, i18n, parseJwt, };
export * from './types';
declare const DRMType: {
readonly FAIRPLAY: "fairplay";
readonly PLAYREADY: "playready";
readonly WIDEVINE: "widevine";
};
type DRMTypeValue = (typeof DRMType)[keyof typeof DRMType];
export declare const toDRMTypeFromKeySystem: (keySystem: string) => DRMTypeValue | undefined;
export declare const getMediaPlaylistLinesFromMultivariantPlaylistSrc: (src: string) => Promise<string[]>;
export declare const getStreamInfoFromPlaylistLines: (playlistLines: string[]) => {
streamType: "on-demand" | "live";
targetLiveWindow: number;
liveEdgeStartOffset: number | undefined;
};
export declare const getStreamInfoFromSrcAndType: (src: string, type?: MediaTypes | "") => Promise<{
streamType: "on-demand" | "live";
targetLiveWindow: number;
liveEdgeStartOffset: number | undefined;
} | {
streamType: undefined;
targetLiveWindow: undefined;
liveEdgeStartOffset: undefined;
}>;
export declare const updateStreamInfoFromSrc: (src: string, mediaEl: HTMLMediaElement, type?: MediaTypes | "") => Promise<void>;
export declare const getStreamInfoFromHlsjsLevelDetails: (levelDetails: any) => {
streamType: "on-demand" | "live";
targetLiveWindow: number;
liveEdgeStartOffset: number | undefined;
lowLatency: boolean;
};
export declare const updateStreamInfoFromHlsjsLevelDetails: (levelDetails: any, mediaEl: HTMLMediaElement, hls: Pick<Hls, "config" | "userConfig" | "liveSyncPosition">) => void;
declare global {
interface NavigatorUAData {
platform: string;
mobile: boolean;
brands: Array<{
brand: string;
version: string;
}>;
}
interface Navigator {
userAgentData?: NavigatorUAData;
}
}
export declare const muxMediaState: WeakMap<HTMLMediaElement, Partial<MuxMediaProps> & {
seekable?: TimeRanges;
liveEdgeStartOffset?: number;
}>;
export declare const generatePlayerInitTime: () => number;
export declare const generateUUID: () => string;
type MuxVideoURLProps = Partial<Pick<MuxMediaPropTypes, 'playbackId' | 'customDomain' | 'maxResolution' | 'minResolution' | 'renditionOrder' | 'programStartTime' | 'programEndTime' | 'assetStartTime' | 'assetEndTime' | 'tokens' | 'playbackToken' | 'extraSourceParams'>>;
export declare const toMuxVideoURL: ({ playbackId: playbackIdWithParams, customDomain: domain, maxResolution, minResolution, renditionOrder, programStartTime, programEndTime, assetStartTime, assetEndTime, playbackToken, tokens: { playback: token }, extraSourceParams, }?: MuxVideoURLProps) => string | undefined;
export declare const toPlaybackIdFromSrc: (src: string | undefined) => string | undefined;
export declare const getError: (mediaEl: HTMLMediaElement) => globalThis.MediaError | (globalThis.MediaError & MediaError) | null | undefined;
export declare const getStreamType: (mediaEl: HTMLMediaElement) => ValueOf<StreamTypes>;
export declare const getTargetLiveWindow: (mediaEl: HTMLMediaElement) => number;
export declare const getSeekable: (mediaEl: HTMLMediaElement) => TimeRanges;
export declare const getLiveEdgeStart: (mediaEl: HTMLMediaElement) => number;
export declare const isPseudoEnded: (mediaEl: HTMLMediaElement, moe?: number) => boolean;
export declare const isStuckOnLastFragment: (mediaEl: HTMLMediaElement, hls?: Pick<Hls,
/** Should we add audio fragments logic here, too? (CJP) */
"levels" | "currentLevel">) => boolean | undefined;
export declare const getEnded: (mediaEl: HTMLMediaElement, hls?: Pick<Hls,
/** Should we add audio fragments logic here, too? (CJP) */
"levels" | "currentLevel">) => boolean;
export declare const initialize: (props: Partial<MuxMediaPropsInternal>, mediaEl: HTMLMediaElement, core?: PlaybackCore) => {
engine: Hls | undefined;
setAutoplay: (newAutoplay?: import("./types").Autoplay) => void;
setPreload: (val?: HTMLMediaElement["preload"]) => void;
};
export declare const teardown: (mediaEl?: HTMLMediaElement | null, core?: PlaybackCore) => void;
export declare const setupHls: (props: Partial<Pick<MuxMediaPropsInternal, "debug" | "streamType" | "type" | "startTime" | "metadata" | "preferCmcd" | "_hlsConfig" | "tokens" | "drmTypeCb">>, mediaEl: Pick<HTMLMediaElement, "canPlayType">) => Hls | undefined;
export declare const getStreamTypeConfig: (streamType?: ValueOf<StreamTypes>) => {};
export declare const getDRMConfig: (props: Partial<Pick<MuxMediaPropsInternal, "src" | "playbackId" | "tokens" | "customDomain" | "drmTypeCb">>) => Partial<HlsConfig>;
export declare const getAppCertificate: (appCertificateUrl: string) => Promise<ArrayBuffer>;
export declare const getLicenseKey: (message: ArrayBuffer, licenseServerUrl: string) => Promise<Uint8Array>;
export declare const setupNativeFairplayDRM: (props: Partial<Pick<MuxMediaPropsInternal, "playbackId" | "tokens" | "playbackToken" | "customDomain" | "drmTypeCb">>, mediaEl: HTMLMediaElement) => void;
export declare const toLicenseKeyURL: ({ playbackId: playbackIdWithParams, tokens: { drm: token }, customDomain, }: Partial<Pick<MuxMediaPropsInternal, "playbackId" | "tokens" | "customDomain">>, scheme: "widevine" | "playready" | "fairplay") => string;
export declare const toAppCertURL: ({ playbackId: playbackIdWithParams, tokens: { drm: token }, customDomain, }: Partial<Pick<MuxMediaPropsInternal, "playbackId" | "tokens" | "customDomain">>, scheme: "widevine" | "playready" | "fairplay") => string;
export declare const isMuxVideoSrc: ({ playbackId, src, customDomain, }: Partial<Pick<MuxMediaPropsInternal, "playbackId" | "src" | "customDomain">>) => boolean;
export declare const setupMux: (props: Partial<Pick<MuxMediaPropsInternal, "envKey" | "playerInitTime" | "beaconCollectionDomain" | "errorTranslator" | "metadata" | "debug" | "playerSoftwareName" | "playerSoftwareVersion" | "playbackId" | "src" | "customDomain" | "disableCookies" | "disableTracking">>, mediaEl: HTMLMediaElement, hlsjs?: HlsInterface) => void;
export declare const loadMedia: (props: Partial<Pick<MuxMediaProps, "preferPlayback" | "src" | "type" | "startTime" | "streamType" | "autoplay" | "playbackId" | "tokens" | "customDomain">>, mediaEl: HTMLMediaElement, hls?: Pick<Hls, "config" | "on" | "once" | "off" | "trigger" | "startLoad" | "stopLoad" | "recoverMediaError" | "destroy" | "loadSource" | "attachMedia" | "liveSyncPosition" | "subtitleTracks" | "subtitleTrack" | "userConfig" | "audioTrack" | "audioTracks" | "autoLevelEnabled" | "nextLevel" | "levels" | "currentLevel">) => void;
+6
View File
@@ -0,0 +1,6 @@
declare module 'media-chrome' {
export class MediaTheme extends HTMLElement {}
export class MediaController extends HTMLElement {
media: HTMLVideoElement;
}
}
+2
View File
@@ -0,0 +1,2 @@
import Hls from './hls';
export declare function setupMediaTracks(customMediaEl: HTMLMediaElement, hls: Pick<Hls, 'audioTrack' | 'audioTracks' | 'autoLevelEnabled' | 'nextLevel' | 'levels' | 'on' | 'once' | 'off' | 'trigger'>): void;
+7
View File
@@ -0,0 +1,7 @@
import { PlaybackEngine } from './types';
type MediaWithPDT = HTMLMediaElement & {
getStartDate?: () => Date;
};
export declare function getStartDate(mediaEl: MediaWithPDT, hls: PlaybackEngine | undefined): Date;
export declare function getCurrentPdt(mediaEl: MediaWithPDT, hls: PlaybackEngine | undefined): Date;
export {};
+2
View File
@@ -0,0 +1,2 @@
import { PlaybackEngine } from './types';
export declare const setupPreload: ({ preload, src }: Partial<HTMLMediaElement>, mediaEl: HTMLMediaElement, hls?: PlaybackEngine) => (val?: HTMLMediaElement["preload"]) => void;
+13
View File
@@ -0,0 +1,13 @@
import type { LoaderResponse } from 'hls.js';
import { MuxMediaPropsInternal } from './types';
import type { MuxErrorCategoryValue } from './errors';
import { MediaError } from './errors';
export declare const MuxJWTAud: {
readonly VIDEO: "v";
readonly THUMBNAIL: "t";
readonly STORYBOARD: "s";
readonly DRM: "d";
};
export declare const categoryToAud: (category: MuxErrorCategoryValue) => "d" | "v" | undefined;
export declare const categoryToToken: (category: MuxErrorCategoryValue, muxMediaEl: Partial<Pick<MuxMediaPropsInternal, "drmToken" | "playbackToken" | "tokens">>) => string | undefined;
export declare const getErrorFromResponse: (resp: Pick<Response, "status" | "url"> | Pick<LoaderResponse, "code" | "url">, category: MuxErrorCategoryValue, muxMediaEl: Partial<Pick<MuxMediaPropsInternal, "playbackId" | "drmToken" | "playbackToken" | "tokens">>, translate?: boolean, offline?: boolean) => MediaError | undefined;
+35
View File
@@ -0,0 +1,35 @@
import Hls from './hls';
import { CuePoint, Chapter } from './types';
type Config = {
label: string;
};
export declare function setupTextTracks(mediaEl: HTMLMediaElement, hls: Pick<Hls, 'on' | 'once' | 'subtitleTracks' | 'subtitleTrack'>): void;
export declare function addTextTrack(mediaEl: HTMLMediaElement, kind: TextTrackKind, label: string, lang?: string, id?: string, defaultTrack?: boolean): TextTrack;
export declare function removeTextTrack(mediaEl: HTMLMediaElement, track: TextTrack): void;
export declare function getTextTrack(mediaEl: HTMLMediaElement, label: string, kind: TextTrackKind): TextTrack | undefined;
export declare function addCuesToTextTrack<T = any>(mediaEl: HTMLMediaElement, cues: CuePoint<T>[] | Chapter[], label: string, kind: TextTrackKind): Promise<TextTrack>;
export declare const DefaultCuePointsConfig: Config;
export declare function addCuePoints<T>(mediaEl: HTMLMediaElement, cuePoints: CuePoint<T>[], cuePointsConfig?: Config): Promise<TextTrack>;
export declare function getCuePoints(mediaEl: HTMLMediaElement, cuePointsConfig?: Config): {
time: number;
value: any;
}[];
export declare function getActiveCuePoint(mediaEl: HTMLMediaElement, cuePointsConfig?: Config): {
time: number;
value: any;
} | undefined;
export declare function setupCuePoints(mediaEl: HTMLMediaElement, cuePointsConfig?: Config): Promise<unknown>;
export declare const DefaultChaptersConfig: Config;
export declare function addChapters(mediaEl: HTMLMediaElement, chapters: Chapter[], chaptersConfig?: Config): Promise<TextTrack>;
export declare function getChapters(mediaEl: HTMLMediaElement, chaptersConfig?: Config): {
startTime: number;
endTime: number;
value: string;
}[];
export declare function getActiveChapter(mediaEl: HTMLMediaElement, chaptersConfig?: Config): {
startTime: number;
endTime: number;
value: string;
} | undefined;
export declare function setupChapters(mediaEl: HTMLMediaElement, chaptersConfig?: Config): Promise<unknown>;
export {};
+134
View File
@@ -0,0 +1,134 @@
/// <reference path="../../../../node_modules/mux-embed/dist/types/mux-embed.d.ts" preserve="true" />
import type { Options } from 'mux-embed';
import type { MediaError } from './errors';
import type { HlsConfig } from 'hls.js';
import type Hls from 'hls.js';
type KeyTypes = string | number | symbol;
type Maybe<T> = T | null | undefined;
export declare const isKeyOf: <T extends {} = any>(k: KeyTypes, o: Maybe<T>) => k is keyof T;
export type ValueOf<T> = T[keyof T];
export type Metadata = Partial<Required<Options>['data']>;
type MetaData = Metadata;
export type PlaybackEngine = Hls;
export type PlaybackCore = {
engine?: PlaybackEngine;
setAutoplay: (autoplay?: Autoplay) => void;
setPreload: (preload?: HTMLMediaElement['preload']) => void;
};
export type AutoplayTypes = {
ANY: 'any';
MUTED: 'muted';
};
export declare const AutoplayTypes: AutoplayTypes;
export type Autoplay = boolean | ValueOf<AutoplayTypes>;
export type HlsPlaylistTypes = 'VOD' | 'EVENT' | null | undefined;
export type StreamTypes = {
ON_DEMAND: 'on-demand';
LIVE: 'live';
UNKNOWN: 'unknown';
};
export declare const StreamTypes: StreamTypes;
export type PlaybackTypes = {
MSE: 'mse';
NATIVE: 'native';
};
export declare const PlaybackTypes: PlaybackTypes;
export type CmcdTypes = {
HEADER: 'header';
QUERY: 'query';
NONE: 'none';
};
export declare const CmcdTypes: CmcdTypes;
export declare const CmcdTypeValues: ("none" | "header" | "query")[];
export type ExtensionMimeTypeMap = {
M3U8: 'application/vnd.apple.mpegurl';
MP4: 'video/mp4';
};
export declare const ExtensionMimeTypeMap: ExtensionMimeTypeMap;
export type MimeTypeShorthandMap = {
HLS: ExtensionMimeTypeMap['M3U8'];
};
export declare const MimeTypeShorthandMap: MimeTypeShorthandMap;
export declare const shorthandKeys: string[];
export type MediaTypes = ValueOf<ExtensionMimeTypeMap> | keyof MimeTypeShorthandMap
/** @TODO Figure out a way to "downgrade" derived types below to early TS syntax (e.g. 3.4) instead of explicit versions here (CJP) */
| 'hls';
export declare const allMediaTypes: MediaTypes[];
type CueLike<T = any> = {
startTime: number;
endTime?: number;
value: T;
};
export type CuePoint<T = any> = CueLike<T> | {
time: number;
value: T;
};
export type Chapter = CueLike<string>;
export declare const MaxResolution: {
readonly upTo720p: "720p";
readonly upTo1080p: "1080p";
readonly upTo1440p: "1440p";
readonly upTo2160p: "2160p";
};
export declare const MinResolution: {
readonly noLessThan480p: "480p";
readonly noLessThan540p: "540p";
readonly noLessThan720p: "720p";
readonly noLessThan1080p: "1080p";
readonly noLessThan1440p: "1440p";
readonly noLessThan2160p: "2160p";
};
export declare const RenditionOrder: {
readonly DESCENDING: "desc";
};
export type MaxResolutionValue = ValueOf<typeof MaxResolution>;
export type MinResolutionValue = ValueOf<typeof MinResolution>;
export type RenditionOrderValue = ValueOf<typeof RenditionOrder>;
export type Tokens = {
playback?: string;
drm?: string;
thumbnail?: string;
storyboard?: string;
};
export type MuxMediaPropTypes = {
_hlsConfig?: Partial<HlsConfig>;
autoPlay?: Autoplay;
autoplay?: Autoplay;
beaconCollectionDomain: Options['beaconCollectionDomain'];
customDomain: string;
debug: Options['debug'] & Hls['config']['debug'];
disableCookies: Options['disableCookies'];
disableTracking: boolean;
drmToken?: string;
playbackToken?: string;
envKey: MetaData['env_key'];
error?: HTMLMediaElement['error'] | MediaError;
errorTranslator: Options['errorTranslator'];
liveEdgeStart: number;
maxResolution: MaxResolutionValue;
metadata: Partial<Options['data']>;
minResolution: MinResolutionValue;
playbackId: string;
playerInitTime: MetaData['player_init_time'];
preferCmcd: ValueOf<CmcdTypes> | undefined;
preferPlayback: ValueOf<PlaybackTypes> | undefined;
programStartTime: number;
programEndTime: number;
assetStartTime: number;
assetEndTime: number;
renditionOrder: RenditionOrderValue;
startTime: Hls['config']['startPosition'];
streamType: ValueOf<StreamTypes>;
targetLiveWindow: number;
tokens: Tokens;
type: MediaTypes;
extraSourceParams: Record<string, any>;
};
export type HTMLMediaElementProps = Partial<Pick<HTMLMediaElement, 'src' | 'preload' | 'error' | 'seekable'>>;
export type MuxMediaProps = HTMLMediaElementProps & MuxMediaPropTypes;
export type MuxMediaPropsInternal = MuxMediaProps & {
playerSoftwareName: MetaData['player_software_name'];
playerSoftwareVersion: MetaData['player_software_version'];
drmTypeCb?: (drmType: Metadata['view_drm_type']) => void;
};
export {};
+21
View File
@@ -0,0 +1,21 @@
import type { HlsPlaylistTypes, MuxMediaProps } from './types';
type addEventListenerWithTeardown = <K extends keyof HTMLMediaElementEventMap, T extends EventTarget = HTMLMediaElement>(mediaEl: HTMLMediaElement, type: K, listener: (this: T, ev: HTMLMediaElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions, target?: T | HTMLMediaElement) => void;
export declare const addEventListenerWithTeardown: addEventListenerWithTeardown;
export declare function inSeekableRange(seekable: TimeRanges, duration: number, time: number): boolean;
export declare const toPlaybackIdParts: (playbackIdWithOptionalParams: string) => [string, string?];
export declare const getType: (props: Partial<Pick<MuxMediaProps, "type" | "src">>) => "" | import("./types").MediaTypes;
export declare const toStreamTypeFromPlaylistType: (playlistType: HlsPlaylistTypes) => "on-demand" | "live";
export declare const toTargetLiveWindowFromPlaylistType: (playlistType: HlsPlaylistTypes) => number;
export declare const inferMimeTypeFromURL: (url: string) => "" | "application/vnd.apple.mpegurl" | "video/mp4";
export type MuxJWT = {
sub: string;
aud: 'v' | 't' | 'g' | 's' | 'd';
exp: number;
};
export declare const parseJwt: (token: string | undefined) => Partial<MuxJWT> | undefined;
export declare const isJWTExpired: ({ exp }: Partial<Pick<MuxJWT, "exp">>, referenceTime?: number) => boolean;
export declare const isJWTSubMismatch: ({ sub }: Partial<Pick<MuxJWT, "sub">>, expectedSub: string | undefined) => boolean;
export declare const isJWTAudMissing: ({ aud }: Partial<Pick<MuxJWT, "aud">>, _expectedAud: string | undefined) => boolean;
export declare const isJWTAudMismatch: ({ aud }: Partial<Pick<MuxJWT, "aud">>, expectedAud: string | undefined) => boolean;
export declare function i18n(str: string, translate?: boolean): any;
export {};
+81
View File
@@ -0,0 +1,81 @@
{
"name": "@mux/playback-core",
"version": "0.27.0",
"description": "Core library for media playback in the browser shared by mux elements",
"main": "./dist/index.cjs.js",
"module": "./dist/index.mjs",
"browser": "./dist/index.mjs",
"unpkg": "./dist/playback-core.js",
"jsdelivr": "./dist/playback-core.js",
"typesVersions": {
"<4.3.5": {
".": [
"./dist/types-ts3.4/index.d.ts"
]
},
"*": {
".": [
"./dist/types/index.d.ts"
]
}
},
"exports": {
".": {
"import": "./dist/index.mjs",
"require": "./dist/index.cjs.js",
"default": "./dist/index.cjs.js",
"types@<4.3.5": "./dist/types-ts3.4/index.d.ts",
"types": "./dist/types/index.d.ts"
}
},
"types": "./dist/types/index.d.ts",
"repository": {
"type": "git",
"url": "https://github.com/muxinc/elements",
"directory": "packages/playback-core"
},
"author": "Mux, Inc.",
"license": "MIT",
"scripts": {
"clean": "shx rm -rf dist/",
"lint": "ESLINT_USE_FLAT_CONFIG=false eslint src/ --ext .js,.jsx,.ts,.tsx",
"test": "web-test-runner **/*.test.js --port 8004 --coverage --config test/web-test-runner.config.mjs --root-dir ../..",
"posttest": "replace 'SF:src/' 'SF:packages/playback-core/src/' coverage/lcov.info --silent",
"dev:cjs": "yarn build:cjs --watch=forever",
"dev:esm": "yarn build:esm --watch=forever",
"dev:esm-module": "yarn build:esm-module --watch=forever",
"dev:iife": "yarn build:iife --watch=forever",
"dev:types": "yarn build:types -w",
"dev": "npm-run-all --parallel dev:types dev:cjs dev:esm dev:iife dev:esm-module",
"build:esm": "esbuilder src/index.ts --sourcemap --format=esm --out-extension:.js=.mjs --external:mux-embed --external:hls.js",
"build:esm-module": "esbuilder src/index.ts --sourcemap --format=esm --outfile=./dist/playback-core.mjs",
"build:cjs": "esbuilder src/index.ts --sourcemap --format=cjs --out-extension:.js=.cjs.js --external:mux-embed --external:hls.js",
"build:iife": "esbuilder src/index.ts --sourcemap --format=iife --outfile=./dist/playback-core.js",
"prebuild:types": "shx mkdir -p ./dist/types && shx cp ../../types/** ./dist/types/",
"build:types": "tsc",
"postbuild:types": "downlevel-dts ./dist/types ./dist/types-ts3.4 --to=3.4",
"build": "npm-run-all --parallel 'build:esm --minify' 'build:iife --minify' 'build:cjs --minify' 'build:esm-module --minify'",
"create-release-notes": "create-release-notes ./CHANGELOG.md",
"publish-release": "../../scripts/publish.sh"
},
"dependencies": {
"hls.js": "~1.5.11",
"mux-embed": "^5.3.1"
},
"devDependencies": {
"@mux/esbuilder": "0.1.0",
"@open-wc/testing": "^4.0.0",
"@typescript-eslint/eslint-plugin": "^8.3.0",
"@typescript-eslint/parser": "^8.3.0",
"@web/dev-server-esbuild": "^1.0.2",
"@web/dev-server-import-maps": "^0.2.1",
"@web/test-runner": "^0.18.2",
"downlevel-dts": "^0.11.0",
"esbuild": "^0.19.8",
"eslint": "^9.9.1",
"npm-run-all": "^4.1.5",
"shx": "^0.3.4",
"typescript": "^5.5.4"
},
"gitHead": "e1d17f4ce383e95489fc778d3c5bda3b89a27b5b"
}