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

+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 {};