New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@mux/playback-core

Package Overview
Dependencies
Maintainers
1
Versions
589
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@mux/playback-core - npm Package Compare versions

Comparing version 0.22.0 to 0.22.1-canary.0-40792e0

CHANGELOG.md

4

dist/index.cjs.js

@@ -1,4 +0,4 @@

"use strict";var Ne=Object.create;var D=Object.defineProperty;var _e=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var Ve=Object.getPrototypeOf,Ue=Object.prototype.hasOwnProperty;var Fe=(e,t)=>{for(var n in t)D(e,n,{get:t[n],enumerable:!0})},G=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Oe(t))!Ue.call(e,o)&&o!==n&&D(e,o,{get:()=>t[o],enumerable:!(r=_e(t,o))||r.enumerable});return e};var j=(e,t,n)=>(n=e!=null?Ne(Ve(e)):{},G(t||!e||!e.__esModule?D(n,"default",{value:e,enumerable:!0}):n,e)),We=e=>G(D({},"__esModule",{value:!0}),e);var pt={};Fe(pt,{AutoplayTypes:()=>E,CmcdTypeValues:()=>Ke,CmcdTypes:()=>L,ExtensionMimeTypeMap:()=>b,Hls:()=>f,MaxResolution:()=>$e,MediaError:()=>x,MimeTypeShorthandMap:()=>h,MinResolution:()=>ze,PlaybackTypes:()=>w,RenditionOrder:()=>Xe,StreamTypes:()=>v,addCuePoints:()=>F,addTextTrack:()=>H,allMediaTypes:()=>qe,generatePlayerInitTime:()=>et,generateUUID:()=>xe,getActiveCuePoint:()=>W,getCuePoints:()=>ie,getCuePointsTrack:()=>S,getCurrentPdt:()=>ue,getEnded:()=>Ee,getError:()=>at,getLiveEdgeStart:()=>ct,getMediaPlaylistLinesFromMultivariantPlaylistSrc:()=>Te,getSeekable:()=>ke,getStartDate:()=>ce,getStreamInfoFromHlsjsLevelDetails:()=>ge,getStreamInfoFromPlaylistLines:()=>ye,getStreamInfoFromSrcAndType:()=>me,getStreamType:()=>st,getStreamTypeConfig:()=>Se,getTargetLiveWindow:()=>it,initialize:()=>dt,isKeyOf:()=>I,isMuxVideoSrc:()=>q,isPseudoEnded:()=>Le,loadMedia:()=>De,mux:()=>R.default,muxMediaState:()=>m,removeTextTrack:()=>ae,setupCuePoints:()=>B,setupHls:()=>Ae,setupMux:()=>Re,shorthandKeys:()=>Ye,teardown:()=>he,toMuxVideoURL:()=>tt,updateStreamInfoFromHlsjsLevelDetails:()=>Me,updateStreamInfoFromSrc:()=>K});module.exports=We(pt);var R=j(require("mux-embed"));var Q=j(require("hls.js")),f=Q.default;var M=class M extends Error{constructor(n,r=M.MEDIA_ERR_CUSTOM,o,a){var i;super(n);this.name="MediaError",this.code=r,this.context=a,this.fatal=o!=null?o:r>=M.MEDIA_ERR_NETWORK&&r<=M.MEDIA_ERR_ENCRYPTED,this.message||(this.message=(i=M.defaultMessages[this.code])!=null?i:"")}};M.MEDIA_ERR_ABORTED=1,M.MEDIA_ERR_NETWORK=2,M.MEDIA_ERR_DECODE=3,M.MEDIA_ERR_SRC_NOT_SUPPORTED=4,M.MEDIA_ERR_ENCRYPTED=5,M.MEDIA_ERR_CUSTOM=100,M.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 x=M;var Be=e=>e==null,I=(e,t)=>Be(t)?!1:e in t,E={ANY:"any",MUTED:"muted"},v={ON_DEMAND:"on-demand",LIVE:"live",UNKNOWN:"unknown"},w={MSE:"mse",NATIVE:"native"},L={HEADER:"header",QUERY:"query",NONE:"none"},Ke=Object.values(L),b={M3U8:"application/vnd.apple.mpegurl",MP4:"video/mp4"},h={HLS:b.M3U8},Ye=Object.keys(h),qe=[...Object.values(b),"hls","HLS"],$e={upTo720p:"720p",upTo1080p:"1080p",upTo1440p:"1440p",upTo2160p:"2160p"},ze={noLessThan480p:"480p",noLessThan540p:"540p",noLessThan720p:"720p",noLessThan1080p:"1080p",noLessThan1440p:"1440p",noLessThan2160p:"2160p"},Xe={DESCENDING:"desc"};var g=(e,t,n,r,o=e)=>{o.addEventListener(t,n,r),e.addEventListener("teardown",()=>{o.removeEventListener(t,n)},{once:!0})};function J(e,t,n){t&&n>t&&(n=t);for(let r=0;r<e.length;r++)if(e.start(r)<=n&&e.end(r)>=n)return!0;return!1}var Z=e=>{let t=e.indexOf("?");if(t<0)return[e];let n=e.slice(0,t),r=e.slice(t);return[n,r]},C=e=>{let t=e.type;if(t){let r=t.toUpperCase();return I(r,h)?h[r]:t}let{src:n}=e;return n?Ge(n):""},_=e=>e==="VOD"?v.ON_DEMAND:v.LIVE,O=e=>e==="EVENT"?Number.POSITIVE_INFINITY:e==="VOD"?Number.NaN:0,Ge=e=>{let t="";try{t=new URL(e).pathname}catch{console.error("invalid url")}let n=t.lastIndexOf(".");if(n<0)return"";let o=t.slice(n+1).toUpperCase();return I(o,b)?b[o]:""};var je=Object.values(E),ee=e=>typeof e=="boolean"||typeof e=="string"&&je.includes(e),te=({autoplay:e},t,n)=>{let r=!1,o=!1,a=ee(e)?e:!!e,i=()=>{r||g(t,"playing",()=>{r=!0},{once:!0})};if(i(),g(t,"loadstart",()=>{r=!1,i(),V(t,a)},{once:!0}),g(t,"loadstart",()=>{n||(o=!Number.isFinite(t.duration)),V(t,a)},{once:!0}),n&&n.once(f.Events.LEVEL_LOADED,(d,c)=>{var p;o=(p=c.details.live)!=null?p:!1}),!a){let d=()=>{o&&(n!=null&&n.liveSyncPosition?t.currentTime=n.liveSyncPosition:Number.isFinite(t.seekable.end(0))&&(t.currentTime=t.seekable.end(0)))};n&&g(t,"play",()=>{t.preload==="metadata"?n.once(f.Events.LEVEL_UPDATED,d):d()},{once:!0})}return d=>{r||(a=ee(d)?d:!!d,V(t,a))}},V=(e,t)=>{if(!t)return;let n=e.muted,r=()=>e.muted=n;switch(t){case E.ANY:e.play().catch(()=>{e.muted=!0,e.play().catch(r)});break;case E.MUTED:e.muted=!0,e.play().catch(r);break;default:e.play().catch(()=>{});break}};var ne=({preload:e,src:t},n,r)=>{let o=u=>{u!=null&&["","none","metadata","auto"].includes(u)?n.setAttribute("preload",u):n.removeAttribute("preload")};if(!r)return o(e),o;let a=!1,i=!1,s=r.config.maxBufferLength,d=r.config.maxBufferSize,c=u=>{o(u);let l=u!=null?u:n.preload;i||l==="none"||(l==="metadata"?(r.config.maxBufferLength=1,r.config.maxBufferSize=1):(r.config.maxBufferLength=s,r.config.maxBufferSize=d),p())},p=()=>{!a&&t&&(a=!0,r.loadSource(t))};return g(n,"play",()=>{i=!0,r.config.maxBufferLength=s,r.config.maxBufferSize=d,p()},{once:!0}),c(e),c};function re(e,t){var d;if(!("videoTracks"in e))return;let n=new WeakMap;t.on(f.Events.MANIFEST_PARSED,function(c,p){s();let u=e.addVideoTrack("main");u.selected=!0;for(let[l,T]of p.levels.entries()){let y=u.addRendition(T.url[0],T.width,T.height,T.videoCodec,T.bitrate);n.set(T,`${l}`),y.id=`${l}`}}),t.on(f.Events.AUDIO_TRACKS_UPDATED,function(c,p){i();for(let u of p.audioTracks){let l=u.default?"main":"alternative",T=e.addAudioTrack(l,u.name,u.lang);T.id=`${u.id}`,u.default&&(T.enabled=!0)}}),e.audioTracks.addEventListener("change",()=>{var u;let c=+((u=[...e.audioTracks].find(l=>l.enabled))==null?void 0:u.id),p=t.audioTracks.map(l=>l.id);c!=t.audioTrack&&p.includes(c)&&(t.audioTrack=c)}),t.on(f.Events.LEVELS_UPDATED,function(c,p){var T;let u=e.videoTracks[(T=e.videoTracks.selectedIndex)!=null?T:0];if(!u)return;let l=p.levels.map(y=>n.get(y));for(let y of e.videoRenditions)y.id&&!l.includes(y.id)&&u.removeRendition(y)});let r=c=>{let p=c.target.selectedIndex;p!=t.nextLevel&&o(p)},o=c=>{let p=e.currentTime,u=!1,l=(T,y)=>{u||(u=!Number.isFinite(y.endOffset))};t.on(f.Events.BUFFER_FLUSHING,l),t.nextLevel=c,t.off(f.Events.BUFFER_FLUSHING,l),u||t.trigger(f.Events.BUFFER_FLUSHING,{startOffset:p+10,endOffset:1/0,type:"video"})};(d=e.videoRenditions)==null||d.addEventListener("change",r);let a=()=>{for(let c of e.videoTracks)e.removeVideoTrack(c)},i=()=>{for(let c of e.audioTracks)e.removeAudioTrack(c)},s=()=>{a(),i()};t.once(f.Events.DESTROYING,s)}function oe(e,t){t.on(f.Events.NON_NATIVE_TEXT_TRACKS_FOUND,(o,{tracks:a})=>{a.forEach(i=>{var c;let s=(c=i.subtitleTrack)!=null?c:i.closedCaptions,d=t.subtitleTracks.findIndex(({lang:p,name:u,type:l})=>p==(s==null?void 0:s.lang)&&u===i.label&&l.toLowerCase()===i.kind);H(e,i.kind,i.label,s==null?void 0:s.lang,`${i.kind}${d}`)})});let n=()=>{var i;if(!t.subtitleTracks.length)return;let o=Array.from(e.textTracks).find(s=>s.id&&s.mode==="showing"&&["subtitles","captions"].includes(s.kind)),a=`${(i=t.subtitleTracks[t.subtitleTrack])==null?void 0:i.type.toLowerCase()}${t.subtitleTrack}`;if(o&&(t.subtitleTrack<0||(o==null?void 0:o.id)!==a)){let s=t.subtitleTracks.findIndex(({lang:d,name:c,type:p})=>d==o.language&&c===o.label&&p.toLowerCase()===o.kind);t.subtitleTrack=s}o&&(o==null?void 0:o.id)===a&&o.cues&&Array.from(o.cues).forEach(s=>{o.addCue(s)})};e.textTracks.addEventListener("change",n),t.on(f.Events.CUES_PARSED,(o,{track:a,cues:i})=>{let s=e.textTracks.getTrackById(a);if(!s)return;let d=s.mode==="disabled";d&&(s.mode="hidden"),i.forEach(c=>{var p;(p=s.cues)!=null&&p.getCueById(c.id)||s.addCue(c)}),d&&(s.mode="disabled")}),t.once(f.Events.DESTROYING,()=>{e.textTracks.removeEventListener("change",n),e.querySelectorAll("track[data-removeondestroy]").forEach(a=>{a.remove()})});let r=()=>{Array.from(e.textTracks).forEach(o=>{var a,i;if(!["subtitles","caption"].includes(o.kind)&&o.label==="thumbnails"){if(!((a=o.cues)!=null&&a.length)){let s=e.querySelector('track[label="thumbnails"]'),d=(i=s==null?void 0:s.getAttribute("src"))!=null?i:"";s==null||s.removeAttribute("src"),setTimeout(()=>{s==null||s.setAttribute("src",d)},0)}o.mode!=="hidden"&&(o.mode="hidden")}})};t.once(f.Events.MANIFEST_LOADED,r),t.once(f.Events.MEDIA_ATTACHED,r)}function H(e,t,n,r,o){let a=document.createElement("track");return a.kind=t,a.label=n,r&&(a.srclang=r),o&&(a.id=o),a.track.mode=["subtitles","captions"].includes(t)?"disabled":"hidden",a.setAttribute("data-removeondestroy",""),e.append(a),a.track}function ae(e,t){let n=Array.prototype.find.call(e.querySelectorAll("track"),r=>r.track===t);n==null||n.remove()}var A="cuepoints",U=Object.freeze({label:A}),S=(e,{label:t=A}=U)=>{var n;return(n=Array.from(e.querySelectorAll("track")).find(r=>r.track.label===t&&r.track.kind==="metadata"))==null?void 0:n.track};async function F(e,t,n=U){let r=S(e,n);if(!r){let{label:o=A}=n;r=H(e,"metadata",o),r.mode="hidden",await new Promise(a=>setTimeout(()=>a(void 0),0))}return r.mode!=="hidden"&&(r.mode="hidden"),[...t].sort(({time:o},{time:a})=>a-o).forEach(({time:o,value:a})=>{var u,l;let i=Array.prototype.findIndex.call(r==null?void 0:r.cues,T=>T.startTime>=o),s=(u=r==null?void 0:r.cues)==null?void 0:u[i],d=s?s.startTime:Number.isFinite(e.duration)?e.duration:Number.MAX_SAFE_INTEGER,c=(l=r==null?void 0:r.cues)==null?void 0:l[i-1];c&&(c.endTime=o);let p=new VTTCue(o,d,JSON.stringify(a!=null?a:null));r.addCue(p)}),r}var se=e=>({time:e.startTime,value:JSON.parse(e.text)});function ie(e,t={label:A}){let n=S(e,t);return n!=null&&n.cues?Array.from(n.cues,r=>se(r)):[]}function W(e,t={label:A}){var a,i;let n=S(e,t);if(!((a=n==null?void 0:n.activeCues)!=null&&a.length))return;let{currentTime:r}=e,o=Array.prototype.find.call((i=n.activeCues)!=null?i:[],({startTime:s,endTime:d})=>s<=r&&d>r);return se(o)}async function B(e,t=U){return new Promise(n=>{g(e,"loadstart",async()=>{let r=await F(e,[],t);g(e,"cuechange",()=>{let o=W(e);if(o){let a=new CustomEvent("cuepointchange",{composed:!0,bubbles:!0,detail:o});e.dispatchEvent(a)}},{},r),n(r)})})}function ce(e,t){if(t){let n=t.playingDate;if(n!=null)return new Date(n.getTime()-e.currentTime*1e3)}return typeof e.getStartDate=="function"?e.getStartDate():new Date(NaN)}function ue(e,t){if(t&&t.playingDate)return t.playingDate;if(typeof e.getStartDate=="function"){let n=e.getStartDate();return new Date(n.getTime()+e.currentTime*1e3)}return new Date(NaN)}var Te=async e=>fetch(e).then(t=>t.text()).then(t=>{let n=t.split(`
"use strict";var Oe=Object.create;var R=Object.defineProperty;var Ve=Object.getOwnPropertyDescriptor;var Ue=Object.getOwnPropertyNames;var Fe=Object.getPrototypeOf,We=Object.prototype.hasOwnProperty;var Be=(e,t)=>{for(var n in t)R(e,n,{get:t[n],enumerable:!0})},Q=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ue(t))!We.call(e,o)&&o!==n&&R(e,o,{get:()=>t[o],enumerable:!(r=Ve(t,o))||r.enumerable});return e};var J=(e,t,n)=>(n=e!=null?Oe(Fe(e)):{},Q(t||!e||!e.__esModule?R(n,"default",{value:e,enumerable:!0}):n,e)),Ke=e=>Q(R({},"__esModule",{value:!0}),e);var ft={};Be(ft,{AutoplayTypes:()=>E,CmcdTypeValues:()=>qe,CmcdTypes:()=>k,ExtensionMimeTypeMap:()=>b,Hls:()=>f,MaxResolution:()=>Xe,MediaError:()=>x,MimeTypeShorthandMap:()=>h,MinResolution:()=>Ge,PlaybackTypes:()=>w,RenditionOrder:()=>je,StreamTypes:()=>v,addCuePoints:()=>F,addTextTrack:()=>H,allMediaTypes:()=>ze,generatePlayerInitTime:()=>nt,generateUUID:()=>Pe,getActiveCuePoint:()=>W,getCuePoints:()=>ue,getCuePointsTrack:()=>A,getCurrentPdt:()=>le,getEnded:()=>Ce,getError:()=>it,getLiveEdgeStart:()=>dt,getMediaPlaylistLinesFromMultivariantPlaylistSrc:()=>me,getSeekable:()=>ke,getStartDate:()=>de,getStreamInfoFromHlsjsLevelDetails:()=>ve,getStreamInfoFromPlaylistLines:()=>ge,getStreamInfoFromSrcAndType:()=>Me,getStreamType:()=>ct,getStreamTypeConfig:()=>Re,getTargetLiveWindow:()=>ut,initialize:()=>pt,isKeyOf:()=>I,isMuxVideoSrc:()=>z,isPseudoEnded:()=>he,isStuckOnLastFragment:()=>$,loadMedia:()=>we,mux:()=>D.default,muxMediaState:()=>m,removeTextTrack:()=>ie,setupCuePoints:()=>B,setupHls:()=>De,setupMux:()=>Ie,shorthandKeys:()=>$e,teardown:()=>Se,toMuxVideoURL:()=>rt,updateStreamInfoFromHlsjsLevelDetails:()=>be,updateStreamInfoFromSrc:()=>K});module.exports=Ke(ft);var D=J(require("mux-embed"));var Z=J(require("hls.js")),f=Z.default;var M=class M extends Error{constructor(n,r=M.MEDIA_ERR_CUSTOM,o,a){var i;super(n);this.name="MediaError",this.code=r,this.context=a,this.fatal=o!=null?o:r>=M.MEDIA_ERR_NETWORK&&r<=M.MEDIA_ERR_ENCRYPTED,this.message||(this.message=(i=M.defaultMessages[this.code])!=null?i:"")}};M.MEDIA_ERR_ABORTED=1,M.MEDIA_ERR_NETWORK=2,M.MEDIA_ERR_DECODE=3,M.MEDIA_ERR_SRC_NOT_SUPPORTED=4,M.MEDIA_ERR_ENCRYPTED=5,M.MEDIA_ERR_CUSTOM=100,M.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 x=M;var Ye=e=>e==null,I=(e,t)=>Ye(t)?!1:e in t,E={ANY:"any",MUTED:"muted"},v={ON_DEMAND:"on-demand",LIVE:"live",UNKNOWN:"unknown"},w={MSE:"mse",NATIVE:"native"},k={HEADER:"header",QUERY:"query",NONE:"none"},qe=Object.values(k),b={M3U8:"application/vnd.apple.mpegurl",MP4:"video/mp4"},h={HLS:b.M3U8},$e=Object.keys(h),ze=[...Object.values(b),"hls","HLS"],Xe={upTo720p:"720p",upTo1080p:"1080p",upTo1440p:"1440p",upTo2160p:"2160p"},Ge={noLessThan480p:"480p",noLessThan540p:"540p",noLessThan720p:"720p",noLessThan1080p:"1080p",noLessThan1440p:"1440p",noLessThan2160p:"2160p"},je={DESCENDING:"desc"};var g=(e,t,n,r,o=e)=>{o.addEventListener(t,n,r),e.addEventListener("teardown",()=>{o.removeEventListener(t,n)},{once:!0})};function ee(e,t,n){t&&n>t&&(n=t);for(let r=0;r<e.length;r++)if(e.start(r)<=n&&e.end(r)>=n)return!0;return!1}var te=e=>{let t=e.indexOf("?");if(t<0)return[e];let n=e.slice(0,t),r=e.slice(t);return[n,r]},C=e=>{let t=e.type;if(t){let r=t.toUpperCase();return I(r,h)?h[r]:t}let{src:n}=e;return n?Qe(n):""},_=e=>e==="VOD"?v.ON_DEMAND:v.LIVE,O=e=>e==="EVENT"?Number.POSITIVE_INFINITY:e==="VOD"?Number.NaN:0,Qe=e=>{let t="";try{t=new URL(e).pathname}catch{console.error("invalid url")}let n=t.lastIndexOf(".");if(n<0)return"";let o=t.slice(n+1).toUpperCase();return I(o,b)?b[o]:""};var Je=Object.values(E),ne=e=>typeof e=="boolean"||typeof e=="string"&&Je.includes(e),re=({autoplay:e},t,n)=>{let r=!1,o=!1,a=ne(e)?e:!!e,i=()=>{r||g(t,"playing",()=>{r=!0},{once:!0})};if(i(),g(t,"loadstart",()=>{r=!1,i(),V(t,a)},{once:!0}),g(t,"loadstart",()=>{n||(o=!Number.isFinite(t.duration)),V(t,a)},{once:!0}),n&&n.once(f.Events.LEVEL_LOADED,(d,c)=>{var l;o=(l=c.details.live)!=null?l:!1}),!a){let d=()=>{o&&(n!=null&&n.liveSyncPosition?t.currentTime=n.liveSyncPosition:Number.isFinite(t.seekable.end(0))&&(t.currentTime=t.seekable.end(0)))};n&&g(t,"play",()=>{t.preload==="metadata"?n.once(f.Events.LEVEL_UPDATED,d):d()},{once:!0})}return d=>{r||(a=ne(d)?d:!!d,V(t,a))}},V=(e,t)=>{if(!t)return;let n=e.muted,r=()=>e.muted=n;switch(t){case E.ANY:e.play().catch(()=>{e.muted=!0,e.play().catch(r)});break;case E.MUTED:e.muted=!0,e.play().catch(r);break;default:e.play().catch(()=>{});break}};var oe=({preload:e,src:t},n,r)=>{let o=u=>{u!=null&&["","none","metadata","auto"].includes(u)?n.setAttribute("preload",u):n.removeAttribute("preload")};if(!r)return o(e),o;let a=!1,i=!1,s=r.config.maxBufferLength,d=r.config.maxBufferSize,c=u=>{o(u);let p=u!=null?u:n.preload;i||p==="none"||(p==="metadata"?(r.config.maxBufferLength=1,r.config.maxBufferSize=1):(r.config.maxBufferLength=s,r.config.maxBufferSize=d),l())},l=()=>{!a&&t&&(a=!0,r.loadSource(t))};return g(n,"play",()=>{i=!0,r.config.maxBufferLength=s,r.config.maxBufferSize=d,l()},{once:!0}),c(e),c};function ae(e,t){var d;if(!("videoTracks"in e))return;let n=new WeakMap;t.on(f.Events.MANIFEST_PARSED,function(c,l){s();let u=e.addVideoTrack("main");u.selected=!0;for(let[p,T]of l.levels.entries()){let y=u.addRendition(T.url[0],T.width,T.height,T.videoCodec,T.bitrate);n.set(T,`${p}`),y.id=`${p}`}}),t.on(f.Events.AUDIO_TRACKS_UPDATED,function(c,l){i();for(let u of l.audioTracks){let p=u.default?"main":"alternative",T=e.addAudioTrack(p,u.name,u.lang);T.id=`${u.id}`,u.default&&(T.enabled=!0)}}),e.audioTracks.addEventListener("change",()=>{var u;let c=+((u=[...e.audioTracks].find(p=>p.enabled))==null?void 0:u.id),l=t.audioTracks.map(p=>p.id);c!=t.audioTrack&&l.includes(c)&&(t.audioTrack=c)}),t.on(f.Events.LEVELS_UPDATED,function(c,l){var T;let u=e.videoTracks[(T=e.videoTracks.selectedIndex)!=null?T:0];if(!u)return;let p=l.levels.map(y=>n.get(y));for(let y of e.videoRenditions)y.id&&!p.includes(y.id)&&u.removeRendition(y)});let r=c=>{let l=c.target.selectedIndex;l!=t.nextLevel&&o(l)},o=c=>{let l=e.currentTime,u=!1,p=(T,y)=>{u||(u=!Number.isFinite(y.endOffset))};t.on(f.Events.BUFFER_FLUSHING,p),t.nextLevel=c,t.off(f.Events.BUFFER_FLUSHING,p),u||t.trigger(f.Events.BUFFER_FLUSHING,{startOffset:l+10,endOffset:1/0,type:"video"})};(d=e.videoRenditions)==null||d.addEventListener("change",r);let a=()=>{for(let c of e.videoTracks)e.removeVideoTrack(c)},i=()=>{for(let c of e.audioTracks)e.removeAudioTrack(c)},s=()=>{a(),i()};t.once(f.Events.DESTROYING,s)}function se(e,t){t.on(f.Events.NON_NATIVE_TEXT_TRACKS_FOUND,(o,{tracks:a})=>{a.forEach(i=>{var c;let s=(c=i.subtitleTrack)!=null?c:i.closedCaptions,d=t.subtitleTracks.findIndex(({lang:l,name:u,type:p})=>l==(s==null?void 0:s.lang)&&u===i.label&&p.toLowerCase()===i.kind);H(e,i.kind,i.label,s==null?void 0:s.lang,`${i.kind}${d}`)})});let n=()=>{var i;if(!t.subtitleTracks.length)return;let o=Array.from(e.textTracks).find(s=>s.id&&s.mode==="showing"&&["subtitles","captions"].includes(s.kind)),a=`${(i=t.subtitleTracks[t.subtitleTrack])==null?void 0:i.type.toLowerCase()}${t.subtitleTrack}`;if(o&&(t.subtitleTrack<0||(o==null?void 0:o.id)!==a)){let s=t.subtitleTracks.findIndex(({lang:d,name:c,type:l})=>d==o.language&&c===o.label&&l.toLowerCase()===o.kind);t.subtitleTrack=s}o&&(o==null?void 0:o.id)===a&&o.cues&&Array.from(o.cues).forEach(s=>{o.addCue(s)})};e.textTracks.addEventListener("change",n),t.on(f.Events.CUES_PARSED,(o,{track:a,cues:i})=>{let s=e.textTracks.getTrackById(a);if(!s)return;let d=s.mode==="disabled";d&&(s.mode="hidden"),i.forEach(c=>{var l;(l=s.cues)!=null&&l.getCueById(c.id)||s.addCue(c)}),d&&(s.mode="disabled")}),t.once(f.Events.DESTROYING,()=>{e.textTracks.removeEventListener("change",n),e.querySelectorAll("track[data-removeondestroy]").forEach(a=>{a.remove()})});let r=()=>{Array.from(e.textTracks).forEach(o=>{var a,i;if(!["subtitles","caption"].includes(o.kind)&&o.label==="thumbnails"){if(!((a=o.cues)!=null&&a.length)){let s=e.querySelector('track[label="thumbnails"]'),d=(i=s==null?void 0:s.getAttribute("src"))!=null?i:"";s==null||s.removeAttribute("src"),setTimeout(()=>{s==null||s.setAttribute("src",d)},0)}o.mode!=="hidden"&&(o.mode="hidden")}})};t.once(f.Events.MANIFEST_LOADED,r),t.once(f.Events.MEDIA_ATTACHED,r)}function H(e,t,n,r,o){let a=document.createElement("track");return a.kind=t,a.label=n,r&&(a.srclang=r),o&&(a.id=o),a.track.mode=["subtitles","captions"].includes(t)?"disabled":"hidden",a.setAttribute("data-removeondestroy",""),e.append(a),a.track}function ie(e,t){let n=Array.prototype.find.call(e.querySelectorAll("track"),r=>r.track===t);n==null||n.remove()}var S="cuepoints",U=Object.freeze({label:S}),A=(e,{label:t=S}=U)=>{var n;return(n=Array.from(e.querySelectorAll("track")).find(r=>r.track.label===t&&r.track.kind==="metadata"))==null?void 0:n.track};async function F(e,t,n=U){let r=A(e,n);if(!r){let{label:o=S}=n;r=H(e,"metadata",o),r.mode="hidden",await new Promise(a=>setTimeout(()=>a(void 0),0))}return r.mode!=="hidden"&&(r.mode="hidden"),[...t].sort(({time:o},{time:a})=>a-o).forEach(({time:o,value:a})=>{var u,p;let i=Array.prototype.findIndex.call(r==null?void 0:r.cues,T=>T.startTime>=o),s=(u=r==null?void 0:r.cues)==null?void 0:u[i],d=s?s.startTime:Number.isFinite(e.duration)?e.duration:Number.MAX_SAFE_INTEGER,c=(p=r==null?void 0:r.cues)==null?void 0:p[i-1];c&&(c.endTime=o);let l=new VTTCue(o,d,JSON.stringify(a!=null?a:null));r.addCue(l)}),r}var ce=e=>({time:e.startTime,value:JSON.parse(e.text)});function ue(e,t={label:S}){let n=A(e,t);return n!=null&&n.cues?Array.from(n.cues,r=>ce(r)):[]}function W(e,t={label:S}){var a,i;let n=A(e,t);if(!((a=n==null?void 0:n.activeCues)!=null&&a.length))return;let{currentTime:r}=e,o=Array.prototype.find.call((i=n.activeCues)!=null?i:[],({startTime:s,endTime:d})=>s<=r&&d>r);return ce(o)}async function B(e,t=U){return new Promise(n=>{g(e,"loadstart",async()=>{let r=await F(e,[],t);g(e,"cuechange",()=>{let o=W(e);if(o){let a=new CustomEvent("cuepointchange",{composed:!0,bubbles:!0,detail:o});e.dispatchEvent(a)}},{},r),n(r)})})}function de(e,t){if(t){let n=t.playingDate;if(n!=null)return new Date(n.getTime()-e.currentTime*1e3)}return typeof e.getStartDate=="function"?e.getStartDate():new Date(NaN)}function le(e,t){if(t&&t.playingDate)return t.playingDate;if(typeof e.getStartDate=="function"){let n=e.getStartDate();return new Date(n.getTime()+e.currentTime*1e3)}return new Date(NaN)}var me=async e=>fetch(e).then(t=>t.text()).then(t=>{let n=t.split(`
`).find((r,o,a)=>o&&a[o-1].startsWith("#EXT-X-STREAM-INF"));return fetch(n).then(r=>r.text()).then(r=>r.split(`
`))}),ye=e=>{var i,s,d;let n=(s=((i=e.find(c=>c.startsWith("#EXT-X-PLAYLIST-TYPE")))!=null?i:"").split(":")[1])==null?void 0:s.trim(),r=_(n),o=O(n),a;if(r===v.LIVE){let c=e.find(u=>u.startsWith("#EXT-X-PART-INF"));if(!!c)a=+c.split(":")[1].split("=")[1]*2;else{let u=e.find(y=>y.startsWith("#EXT-X-TARGETDURATION")),l=(d=u==null?void 0:u.split(":"))==null?void 0:d[1];a=+(l!=null?l:6)*3}}return{streamType:r,targetLiveWindow:o,liveEdgeStartOffset:a}},me=async(e,t)=>{if(t===b.MP4)return{streamType:v.ON_DEMAND,targetLiveWindow:Number.NaN,liveEdgeStartOffset:void 0};if(t===b.M3U8){let n=await Te(e);return ye(n)}return console.error(`Media type ${t} is an unrecognized or unsupported type for src ${e}.`),{streamType:void 0,targetLiveWindow:void 0,liveEdgeStartOffset:void 0}},K=async(e,t,n=C({src:e}))=>{var i,s,d;let{streamType:r,targetLiveWindow:o,liveEdgeStartOffset:a}=await me(e,n);((i=m.get(t))!=null?i:{}).liveEdgeStartOffset=a,((s=m.get(t))!=null?s:{}).targetLiveWindow=o,t.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((d=m.get(t))!=null?d:{}).streamType=r,t.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},ge=e=>{var i;let t=e.type,n=_(t),r=O(t),o,a=!!((i=e.partList)!=null&&i.length);return n===v.LIVE&&(o=a?e.partTarget*2:e.targetduration*3),{streamType:n,targetLiveWindow:r,liveEdgeStartOffset:o,lowLatency:a}},Me=(e,t,n)=>{var s,d,c,p,u,l,T,y;let{streamType:r,targetLiveWindow:o,liveEdgeStartOffset:a,lowLatency:i}=ge(e);if(r===v.LIVE){i?(n.config.backBufferLength=(s=n.userConfig.backBufferLength)!=null?s:4,n.config.maxFragLookUpTolerance=(d=n.userConfig.maxFragLookUpTolerance)!=null?d:.001,n.config.abrBandWidthUpFactor=(c=n.userConfig.abrBandWidthUpFactor)!=null?c:n.config.abrBandWidthFactor):n.config.backBufferLength=(p=n.userConfig.backBufferLength)!=null?p:8;let N=Object.freeze({get length(){return t.seekable.length},start(k){return t.seekable.start(k)},end(k){var P;return k>this.length?t.seekable.end(k):(P=n.liveSyncPosition)!=null?P:t.seekable.end(k)}});((u=m.get(t))!=null?u:{}).seekable=N}((l=m.get(t))!=null?l:{}).liveEdgeStartOffset=a,((T=m.get(t))!=null?T:{}).targetLiveWindow=o,t.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((y=m.get(t))!=null?y:{}).streamType=r,t.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},de,pe,Qe=(pe=(de=globalThis==null?void 0:globalThis.navigator)==null?void 0:de.userAgent)!=null?pe:"",Je=Qe.toLowerCase().indexOf("android")!==-1,m=new WeakMap,ve="mux.com",le,fe,be=(fe=(le=f).isSupported)==null?void 0:fe.call(le),Ze=Je,et=()=>R.default.utils.now(),xe=R.default.utils.generateUUID,tt=({playbackId:e,customDomain:t=ve,maxResolution:n,minResolution:r,renditionOrder:o,tokens:{playback:a}={},extraSourceParams:i={}}={})=>{if(!e)return;let[s,d=""]=Z(e),c=new URL(`https://stream.${t}/${s}.m3u8${d}`);return a||c.searchParams.has("token")?(c.searchParams.forEach((p,u)=>{u!="token"&&c.searchParams.delete(u)}),a&&c.searchParams.set("token",a)):(n&&c.searchParams.set("max_resolution",n),r&&(c.searchParams.set("min_resolution",r),n&&+n.slice(0,-1)<+r.slice(0,-1)&&console.error("minResolution must be <= maxResolution","minResolution",r,"maxResolution",n)),o&&c.searchParams.set("rendition_order",o),Object.entries(i).forEach(([p,u])=>{u!=null&&c.searchParams.set(p,u)})),c.toString()},nt=e=>{if(!e)return;let[t]=e.split("?");return t||void 0},rt=e=>{if(!e||!e.startsWith("https://stream."))return;let[t]=new URL(e).pathname.slice(1).split(".m3u8");return t||void 0},ot=e=>{var t,n,r;return(t=e==null?void 0:e.metadata)!=null&&t.video_id?e.metadata.video_id:q(e)&&(r=(n=nt(e.playbackId))!=null?n:rt(e.src))!=null?r:e.src},at=e=>{var t;return(t=m.get(e))==null?void 0:t.error},st=e=>{var t,n;return(n=(t=m.get(e))==null?void 0:t.streamType)!=null?n:v.UNKNOWN},it=e=>{var t,n;return(n=(t=m.get(e))==null?void 0:t.targetLiveWindow)!=null?n:Number.NaN},ke=e=>{var t,n;return(n=(t=m.get(e))==null?void 0:t.seekable)!=null?n:e.seekable},ct=e=>{var r;let t=(r=m.get(e))==null?void 0:r.liveEdgeStartOffset;if(typeof t!="number")return Number.NaN;let n=ke(e);return n.length?n.end(n.length-1)-t:Number.NaN},ut=(e,t,n=.001)=>Math.abs(e-t)<=n,Pe=(e,t,n=.001)=>e>t||ut(e,t,n),Le=e=>e.paused&&Pe(e.currentTime,e.duration),Ee=(e,t)=>e.loop||t?e.ended:e.ended||Le(e),dt=(e,t,n)=>{he(t,n);let{metadata:r={}}=e,{view_session_id:o=xe()}=r,a=ot(e);r.view_session_id=o,r.video_id=a,e.metadata=r,m.set(t,{});let i=Ae(e,t);Re(e,t,i),De(e,t,i),B(t);let s=te(e,t,i),d=ne(e,t,i);return{engine:i,setAutoplay:s,setPreload:d}},he=(e,t)=>{let n=t==null?void 0:t.engine;n&&(n.detachMedia(),n.destroy()),e!=null&&e.mux&&!e.mux.deleted&&(e.mux.destroy(),delete e.mux),e&&(e.removeAttribute("src"),e.load(),e.removeEventListener("error",we),e.removeEventListener("error",Y),e.removeEventListener("durationchange",Ie),m.delete(e),e.dispatchEvent(new Event("teardown")))};function Ce(e,t){var c;let n=C(e);if(!(n===b.M3U8))return!0;let o=!n||((c=t.canPlayType(n))!=null?c:!0),{preferPlayback:a}=e,i=a===w.MSE,s=a===w.NATIVE;return o&&(s||!(be&&(i||Ze)))}var Ae=(e,t)=>{let{debug:n,streamType:r,startTime:o=-1,metadata:a,preferCmcd:i,_hlsConfig:s={}}=e,c=C(e)===b.M3U8,p=Ce(e,t);if(c&&!p&&be){let u={backBufferLength:30,renderTextTracksNatively:!1,liveDurationInfinity:!0,capLevelToPlayerSize:!0,capLevelOnFPSDrop:!0},l=Se(r),T=i!==L.NONE?{useHeaders:i===L.HEADER,sessionId:a==null?void 0:a.view_session_id,contentId:a==null?void 0:a.video_id}:void 0;return new f({debug:n,startPosition:o,cmcd:T,xhrSetup:(N,k)=>{var $,z;if(i&&i!==L.QUERY)return;let P=new URL(k);if(!P.searchParams.has("CMCD"))return;let He=((z=($=P.searchParams.get("CMCD"))==null?void 0:$.split(","))!=null?z:[]).filter(X=>X.startsWith("sid")||X.startsWith("cid")).join(",");P.searchParams.set("CMCD",He),N.open("GET",P)},...u,...l,...s})}},Se=e=>e===v.LIVE?{backBufferLength:8}:{},q=({playbackId:e,src:t,customDomain:n})=>{if(e)return!0;if(typeof t!="string")return!1;let r=window==null?void 0:window.location.href,o=new URL(t,r).hostname.toLocaleLowerCase();return o.includes(ve)||!!n&&o.includes(n.toLocaleLowerCase())},Re=(e,t,n)=>{var a;let{envKey:r}=e,o=q(e);if(r||o){let{playerInitTime:i,playerSoftwareName:s,playerSoftwareVersion:d,beaconCollectionDomain:c,debug:p,disableCookies:u}=e,l={...e.metadata,video_title:((a=e==null?void 0:e.metadata)==null?void 0:a.video_title)||void 0},T=y=>typeof y.player_error_code=="string"?!1:typeof e.errorTranslator=="function"?e.errorTranslator(y):y;R.default.monitor(t,{debug:p,beaconCollectionDomain:c,hlsjs:n,Hls:n?f:void 0,automaticErrorTracking:!1,errorTranslator:T,disableCookies:u,data:{...r?{env_key:r}:{},player_software_name:s,player_software:s,player_software_version:d,player_init_time:i,...l}})}},De=(e,t,n)=>{var a;let r=Ce(e,t),{src:o}=e;if(t&&r){let i=C(e);typeof o=="string"?(t.preload==="none"?g(t,"loadstart",()=>K(o,t,i)):K(o,t,i),t.setAttribute("src",o),e.startTime&&(((a=m.get(t))!=null?a:{}).startTime=e.startTime,t.addEventListener("durationchange",Ie,{once:!0}))):t.removeAttribute("src"),t.addEventListener("error",we),t.addEventListener("error",Y),t.addEventListener("emptied",()=>{t.querySelectorAll("track[data-removeondestroy]").forEach(c=>{c.remove()})},{once:!0});let s=()=>{t.ended||Ee(t)&&t.dispatchEvent(new Event("ended"))};g(t,"pause",s),g(t,"seeked",s),g(t,"play",()=>{t.ended||Pe(t.currentTime,t.duration)&&(t.currentTime=t.seekable.start(0))})}else n&&o?(n.once(f.Events.LEVEL_LOADED,(i,s)=>{Me(s.details,t,n)}),n.on(f.Events.ERROR,(i,s)=>{let d={[f.ErrorTypes.NETWORK_ERROR]:x.MEDIA_ERR_NETWORK,[f.ErrorTypes.MEDIA_ERROR]:x.MEDIA_ERR_DECODE},c=new x("",d[s.type]);c.fatal=s.fatal,c.data=s,t.dispatchEvent(new CustomEvent("error",{detail:c}))}),t.addEventListener("error",Y),re(e,n),oe(t,n),n.attachMedia(t)):console.error("It looks like the video you're trying to play will not work on this system! If possible, try upgrading to the newest versions of your browser or software.")};function Ie(e){var r;let t=e.target,n=(r=m.get(t))==null?void 0:r.startTime;if(n&&J(t.seekable,t.duration,n)){let o=t.preload==="auto";o&&(t.preload="none"),t.currentTime=n,o&&(t.preload="auto")}}async function we(e){if(!e.isTrusted)return;e.stopImmediatePropagation();let t=e.target;if(!(t!=null&&t.error))return;let{message:n,code:r}=t.error,o=new x(n,r);if(t.src&&(r!==x.MEDIA_ERR_DECODE||r!==void 0))try{let{status:a}=await fetch(t.src);o.data={response:{code:a}}}catch{}t.dispatchEvent(new CustomEvent("error",{detail:o}))}function Y(e){var r,o;if(!(e instanceof CustomEvent)||!(e.detail instanceof x))return;let t=e.target,n=e.detail;!n||!n.fatal||(((r=m.get(t))!=null?r:{}).error=n,(o=t.mux)==null||o.emit("error",{player_error_code:n.code,player_error_message:n.message,player_error_context:n.context}))}
`))}),ge=e=>{var i,s,d;let n=(s=((i=e.find(c=>c.startsWith("#EXT-X-PLAYLIST-TYPE")))!=null?i:"").split(":")[1])==null?void 0:s.trim(),r=_(n),o=O(n),a;if(r===v.LIVE){let c=e.find(u=>u.startsWith("#EXT-X-PART-INF"));if(!!c)a=+c.split(":")[1].split("=")[1]*2;else{let u=e.find(y=>y.startsWith("#EXT-X-TARGETDURATION")),p=(d=u==null?void 0:u.split(":"))==null?void 0:d[1];a=+(p!=null?p:6)*3}}return{streamType:r,targetLiveWindow:o,liveEdgeStartOffset:a}},Me=async(e,t)=>{if(t===b.MP4)return{streamType:v.ON_DEMAND,targetLiveWindow:Number.NaN,liveEdgeStartOffset:void 0};if(t===b.M3U8){let n=await me(e);return ge(n)}return console.error(`Media type ${t} is an unrecognized or unsupported type for src ${e}.`),{streamType:void 0,targetLiveWindow:void 0,liveEdgeStartOffset:void 0}},K=async(e,t,n=C({src:e}))=>{var i,s,d;let{streamType:r,targetLiveWindow:o,liveEdgeStartOffset:a}=await Me(e,n);((i=m.get(t))!=null?i:{}).liveEdgeStartOffset=a,((s=m.get(t))!=null?s:{}).targetLiveWindow=o,t.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((d=m.get(t))!=null?d:{}).streamType=r,t.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},ve=e=>{var i;let t=e.type,n=_(t),r=O(t),o,a=!!((i=e.partList)!=null&&i.length);return n===v.LIVE&&(o=a?e.partTarget*2:e.targetduration*3),{streamType:n,targetLiveWindow:r,liveEdgeStartOffset:o,lowLatency:a}},be=(e,t,n)=>{var s,d,c,l,u,p,T,y;let{streamType:r,targetLiveWindow:o,liveEdgeStartOffset:a,lowLatency:i}=ve(e);if(r===v.LIVE){i?(n.config.backBufferLength=(s=n.userConfig.backBufferLength)!=null?s:4,n.config.maxFragLookUpTolerance=(d=n.userConfig.maxFragLookUpTolerance)!=null?d:.001,n.config.abrBandWidthUpFactor=(c=n.userConfig.abrBandWidthUpFactor)!=null?c:n.config.abrBandWidthFactor):n.config.backBufferLength=(l=n.userConfig.backBufferLength)!=null?l:8;let N=Object.freeze({get length(){return t.seekable.length},start(L){return t.seekable.start(L)},end(L){var P;return L>this.length?t.seekable.end(L):(P=n.liveSyncPosition)!=null?P:t.seekable.end(L)}});((u=m.get(t))!=null?u:{}).seekable=N}((p=m.get(t))!=null?p:{}).liveEdgeStartOffset=a,((T=m.get(t))!=null?T:{}).targetLiveWindow=o,t.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),((y=m.get(t))!=null?y:{}).streamType=r,t.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},pe,fe,Ze=(fe=(pe=globalThis==null?void 0:globalThis.navigator)==null?void 0:pe.userAgent)!=null?fe:"",et=Ze.toLowerCase().indexOf("android")!==-1,m=new WeakMap,xe="mux.com",Te,ye,Le=(ye=(Te=f).isSupported)==null?void 0:ye.call(Te),tt=et,nt=()=>D.default.utils.now(),Pe=D.default.utils.generateUUID,rt=({playbackId:e,customDomain:t=xe,maxResolution:n,minResolution:r,renditionOrder:o,tokens:{playback:a}={},extraSourceParams:i={}}={})=>{if(!e)return;let[s,d=""]=te(e),c=new URL(`https://stream.${t}/${s}.m3u8${d}`);return a||c.searchParams.has("token")?(c.searchParams.forEach((l,u)=>{u!="token"&&c.searchParams.delete(u)}),a&&c.searchParams.set("token",a)):(n&&c.searchParams.set("max_resolution",n),r&&(c.searchParams.set("min_resolution",r),n&&+n.slice(0,-1)<+r.slice(0,-1)&&console.error("minResolution must be <= maxResolution","minResolution",r,"maxResolution",n)),o&&c.searchParams.set("rendition_order",o),Object.entries(i).forEach(([l,u])=>{u!=null&&c.searchParams.set(l,u)})),c.toString()},ot=e=>{if(!e)return;let[t]=e.split("?");return t||void 0},at=e=>{if(!e||!e.startsWith("https://stream."))return;let[t]=new URL(e).pathname.slice(1).split(".m3u8");return t||void 0},st=e=>{var t,n,r;return(t=e==null?void 0:e.metadata)!=null&&t.video_id?e.metadata.video_id:z(e)&&(r=(n=ot(e.playbackId))!=null?n:at(e.src))!=null?r:e.src},it=e=>{var t;return(t=m.get(e))==null?void 0:t.error},ct=e=>{var t,n;return(n=(t=m.get(e))==null?void 0:t.streamType)!=null?n:v.UNKNOWN},ut=e=>{var t,n;return(n=(t=m.get(e))==null?void 0:t.targetLiveWindow)!=null?n:Number.NaN},ke=e=>{var t,n;return(n=(t=m.get(e))==null?void 0:t.seekable)!=null?n:e.seekable},dt=e=>{var r;let t=(r=m.get(e))==null?void 0:r.liveEdgeStartOffset;if(typeof t!="number")return Number.NaN;let n=ke(e);return n.length?n.end(n.length-1)-t:Number.NaN},q=.034,lt=(e,t,n=q)=>Math.abs(e-t)<=n,Ee=(e,t,n=q)=>e>t||lt(e,t,n),he=(e,t=q)=>e.paused&&Ee(e.currentTime,e.duration,t),$=(e,t)=>{var c,l,u;if(!t)return;if(e.readyState>2)return!1;let n=t.currentLevel>=0?(l=(c=t.levels)==null?void 0:c[t.currentLevel])==null?void 0:l.details:(u=t.levels.find(p=>!!p.details))==null?void 0:u.details;if(!n||n.live)return;let{fragments:r}=n;if(!(r!=null&&r.length))return;if(e.currentTime<e.duration-(n.targetduration+.5))return!1;let o=r[r.length-1];if(e.currentTime<=o.start)return!1;let a=o.start+o.duration/2,i=e.buffered.start(e.buffered.length-1),s=e.buffered.end(e.buffered.length-1);return a>i&&a<s},Ce=(e,t)=>e.ended||e.loop?e.ended:t&&$(e,t)?!0:he(e),pt=(e,t,n)=>{Se(t,n);let{metadata:r={}}=e,{view_session_id:o=Pe()}=r,a=st(e);r.view_session_id=o,r.video_id=a,e.metadata=r,m.set(t,{});let i=De(e,t);Ie(e,t,i),we(e,t,i),B(t);let s=re(e,t,i),d=oe(e,t,i);return{engine:i,setAutoplay:s,setPreload:d}},Se=(e,t)=>{let n=t==null?void 0:t.engine;n&&(n.detachMedia(),n.destroy()),e!=null&&e.mux&&!e.mux.deleted&&(e.mux.destroy(),delete e.mux),e&&(e.removeAttribute("src"),e.load(),e.removeEventListener("error",Ne),e.removeEventListener("error",Y),e.removeEventListener("durationchange",He),m.delete(e),e.dispatchEvent(new Event("teardown")))};function Ae(e,t){var c;let n=C(e);if(!(n===b.M3U8))return!0;let o=!n||((c=t.canPlayType(n))!=null?c:!0),{preferPlayback:a}=e,i=a===w.MSE,s=a===w.NATIVE;return o&&(s||!(Le&&(i||tt)))}var De=(e,t)=>{let{debug:n,streamType:r,startTime:o=-1,metadata:a,preferCmcd:i,_hlsConfig:s={}}=e,c=C(e)===b.M3U8,l=Ae(e,t);if(c&&!l&&Le){let u={backBufferLength:30,renderTextTracksNatively:!1,liveDurationInfinity:!0,capLevelToPlayerSize:!0,capLevelOnFPSDrop:!0},p=Re(r),T=i!==k.NONE?{useHeaders:i===k.HEADER,sessionId:a==null?void 0:a.view_session_id,contentId:a==null?void 0:a.video_id}:void 0;return new f({debug:n,startPosition:o,cmcd:T,xhrSetup:(N,L)=>{var X,G;if(i&&i!==k.QUERY)return;let P=new URL(L);if(!P.searchParams.has("CMCD"))return;let _e=((G=(X=P.searchParams.get("CMCD"))==null?void 0:X.split(","))!=null?G:[]).filter(j=>j.startsWith("sid")||j.startsWith("cid")).join(",");P.searchParams.set("CMCD",_e),N.open("GET",P)},...u,...p,...s})}},Re=e=>e===v.LIVE?{backBufferLength:8}:{},z=({playbackId:e,src:t,customDomain:n})=>{if(e)return!0;if(typeof t!="string")return!1;let r=window==null?void 0:window.location.href,o=new URL(t,r).hostname.toLocaleLowerCase();return o.includes(xe)||!!n&&o.includes(n.toLocaleLowerCase())},Ie=(e,t,n)=>{var a;let{envKey:r}=e,o=z(e);if(r||o){let{playerInitTime:i,playerSoftwareName:s,playerSoftwareVersion:d,beaconCollectionDomain:c,debug:l,disableCookies:u}=e,p={...e.metadata,video_title:((a=e==null?void 0:e.metadata)==null?void 0:a.video_title)||void 0},T=y=>typeof y.player_error_code=="string"?!1:typeof e.errorTranslator=="function"?e.errorTranslator(y):y;D.default.monitor(t,{debug:l,beaconCollectionDomain:c,hlsjs:n,Hls:n?f:void 0,automaticErrorTracking:!1,errorTranslator:T,disableCookies:u,data:{...r?{env_key:r}:{},player_software_name:s,player_software:s,player_software_version:d,player_init_time:i,...p}})}},we=(e,t,n)=>{var i;let r=Ae(e,t),{src:o}=e,a=s=>{t.ended||!Ce(t,n)||($(t,n)?t.currentTime=t.buffered.end(t.buffered.length-1):t.dispatchEvent(new Event("ended")))};if(t&&r){let s=C(e);typeof o=="string"?(t.preload==="none"?g(t,"loadstart",()=>K(o,t,s)):K(o,t,s),t.setAttribute("src",o),e.startTime&&(((i=m.get(t))!=null?i:{}).startTime=e.startTime,t.addEventListener("durationchange",He,{once:!0}))):t.removeAttribute("src"),t.addEventListener("error",Ne),t.addEventListener("error",Y),t.addEventListener("emptied",()=>{t.querySelectorAll("track[data-removeondestroy]").forEach(c=>{c.remove()})},{once:!0}),g(t,"pause",a),g(t,"seeked",a),g(t,"play",()=>{t.ended||Ee(t.currentTime,t.duration)&&(t.currentTime=t.seekable.start(0))})}else n&&o?(n.once(f.Events.LEVEL_LOADED,(s,d)=>{be(d.details,t,n)}),n.on(f.Events.ERROR,(s,d)=>{let c={[f.ErrorTypes.NETWORK_ERROR]:x.MEDIA_ERR_NETWORK,[f.ErrorTypes.MEDIA_ERROR]:x.MEDIA_ERR_DECODE},l=new x("",c[d.type]);l.fatal=d.fatal,l.data=d,t.dispatchEvent(new CustomEvent("error",{detail:l}))}),t.addEventListener("error",Y),g(t,"waiting",a),ae(e,n),se(t,n),n.attachMedia(t)):console.error("It looks like the video you're trying to play will not work on this system! If possible, try upgrading to the newest versions of your browser or software.")};function He(e){var r;let t=e.target,n=(r=m.get(t))==null?void 0:r.startTime;if(n&&ee(t.seekable,t.duration,n)){let o=t.preload==="auto";o&&(t.preload="none"),t.currentTime=n,o&&(t.preload="auto")}}async function Ne(e){if(!e.isTrusted)return;e.stopImmediatePropagation();let t=e.target;if(!(t!=null&&t.error))return;let{message:n,code:r}=t.error,o=new x(n,r);if(t.src&&(r!==x.MEDIA_ERR_DECODE||r!==void 0))try{let{status:a}=await fetch(t.src);o.data={response:{code:a}}}catch{}t.dispatchEvent(new CustomEvent("error",{detail:o}))}function Y(e){var r,o;if(!(e instanceof CustomEvent)||!(e.detail instanceof x))return;let t=e.target,n=e.detail;!n||!n.fatal||(((r=m.get(t))!=null?r:{}).error=n,(o=t.mux)==null||o.emit("error",{player_error_code:n.code,player_error_message:n.message,player_error_context:n.context}))}
//# sourceMappingURL=index.cjs.js.map

@@ -60,4 +60,9 @@ /// <reference path="mux-embed.d.ts" />

export declare const getLiveEdgeStart: (mediaEl: HTMLMediaElement) => number;
export declare const isPseudoEnded: (mediaEl: HTMLMediaElement) => boolean;
export declare const getEnded: (mediaEl: HTMLMediaElement, hls?: HlsInterface) => boolean;
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) => {

@@ -73,2 +78,2 @@ engine: Hls | undefined;

export declare const setupMux: (props: Partial<Pick<MuxMediaPropsInternal, 'envKey' | 'playerInitTime' | 'beaconCollectionDomain' | 'errorTranslator' | 'metadata' | 'debug' | 'playerSoftwareName' | 'playerSoftwareVersion' | 'playbackId' | 'src' | 'customDomain' | 'disableCookies'>>, mediaEl: HTMLMediaElement, hlsjs?: HlsInterface) => void;
export declare const loadMedia: (props: Partial<Pick<MuxMediaProps, 'preferPlayback' | 'src' | 'type' | 'startTime' | 'streamType' | 'autoplay'>>, 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'>) => void;
export declare const loadMedia: (props: Partial<Pick<MuxMediaProps, 'preferPlayback' | 'src' | 'type' | 'startTime' | 'streamType' | 'autoplay'>>, 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;
/// <reference path="mux-embed.d.ts" />
import { Options } from 'mux-embed';
import { MediaError } from './errors';
import { VideoTrack, AudioTrack, VideoTrackList, AudioTrackList } from 'media-tracks';
import { HlsConfig } from 'hls.js';

@@ -112,8 +111,2 @@ import Hls from 'hls.js';

};
export interface MediaTracks {
videoTracks: VideoTrackList;
audioTracks: AudioTrackList;
addAudioTrack(kind: string, label?: string, language?: string): AudioTrack;
addVideoTrack(kind: string, label?: string, language?: string): VideoTrack;
}
export type HTMLMediaElementProps = Partial<Pick<HTMLMediaElement, 'src' | 'preload' | 'error' | 'seekable'>>;

@@ -120,0 +113,0 @@ export type MuxMediaProps = HTMLMediaElementProps & MuxMediaPropTypes;

@@ -60,4 +60,9 @@ /// <reference path="mux-embed.d.ts" />

export declare const getLiveEdgeStart: (mediaEl: HTMLMediaElement) => number;
export declare const isPseudoEnded: (mediaEl: HTMLMediaElement) => boolean;
export declare const getEnded: (mediaEl: HTMLMediaElement, hls?: HlsInterface) => boolean;
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) => {

@@ -73,2 +78,2 @@ engine: Hls | undefined;

export declare const setupMux: (props: Partial<Pick<MuxMediaPropsInternal, 'envKey' | 'playerInitTime' | 'beaconCollectionDomain' | 'errorTranslator' | 'metadata' | 'debug' | 'playerSoftwareName' | 'playerSoftwareVersion' | 'playbackId' | 'src' | 'customDomain' | 'disableCookies'>>, mediaEl: HTMLMediaElement, hlsjs?: HlsInterface) => void;
export declare const loadMedia: (props: Partial<Pick<MuxMediaProps, 'preferPlayback' | 'src' | 'type' | 'startTime' | 'streamType' | 'autoplay'>>, 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'>) => void;
export declare const loadMedia: (props: Partial<Pick<MuxMediaProps, 'preferPlayback' | 'src' | 'type' | 'startTime' | 'streamType' | 'autoplay'>>, 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;
/// <reference path="mux-embed.d.ts" />
import type { Options } from 'mux-embed';
import type { MediaError } from './errors';
import type { VideoTrack, AudioTrack, VideoTrackList, AudioTrackList } from 'media-tracks';
import type { HlsConfig } from 'hls.js';

@@ -112,8 +111,2 @@ import type Hls from 'hls.js';

};
export interface MediaTracks {
videoTracks: VideoTrackList;
audioTracks: AudioTrackList;
addAudioTrack(kind: string, label?: string, language?: string): AudioTrack;
addVideoTrack(kind: string, label?: string, language?: string): VideoTrack;
}
export type HTMLMediaElementProps = Partial<Pick<HTMLMediaElement, 'src' | 'preload' | 'error' | 'seekable'>>;

@@ -120,0 +113,0 @@ export type MuxMediaProps = HTMLMediaElementProps & MuxMediaPropTypes;

{
"name": "@mux/playback-core",
"version": "0.22.0",
"version": "0.22.1-canary.0-40792e0",
"description": "Core library for media playback in the browser shared by mux elements",

@@ -62,4 +62,4 @@ "main": "./dist/index.cjs.js",

"dependencies": {
"hls.js": "^1.4.12",
"mux-embed": "^4.27.0"
"hls.js": "~1.4.13",
"mux-embed": "~4.30.0"
},

@@ -79,4 +79,3 @@ "devDependencies": {

"typescript": "^4.9.4"
},
"gitHead": "c30b7d53c74b0f5d37ba7fecb4cd1c1c949aa4c5"
}
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc