@mux/mux-video 0.13.0 → 0.13.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var de=Object.defineProperty;var Ze=Object.getOwnPropertyDescriptor;var Qe=Object.getOwnPropertyNames;var et=Object.prototype.hasOwnProperty;var tt=(i,t,e)=>t in i?de(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var st=(i,t)=>{for(var e in t)de(i,e,{get:t[e],enumerable:!0})},rt=(i,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Qe(t))!et.call(i,o)&&o!==e&&de(i,o,{get:()=>t[o],enumerable:!(n=Ze(t,o))||n.enumerable});return i};var it=i=>rt(de({},"__esModule",{value:!0}),i);var W=(i,t,e)=>(tt(i,typeof t!="symbol"?t+"":t,e),e),ge=(i,t,e)=>{if(!t.has(i))throw TypeError("Cannot "+e)};var r=(i,t,e)=>(ge(i,t,"read from private field"),e?e.call(i):t.get(i)),u=(i,t,e)=>{if(t.has(i))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(i):t.set(i,e)},l=(i,t,e,n)=>(ge(i,t,"write to private field"),n?n.call(i,e):t.set(i,e),e);var m=(i,t,e)=>(ge(i,t,"access private method"),e);var pt={};st(pt,{Attributes:()=>c,MediaError:()=>d.MediaError,VideoEvents:()=>ke,default:()=>Et});module.exports=it(pt);var U=class{addEventListener(){}removeEventListener(){}dispatchEvent(t){return!0}};if(typeof DocumentFragment=="undefined"){class i extends U{}globalThis.DocumentFragment=i}var $=class extends U{},be=class extends U{},at={get(i){},define(i,t,e){},upgrade(i){},whenDefined(i){return Promise.resolve($)}},z,Ae=class{constructor(t,e={}){u(this,z,void 0);l(this,z,e==null?void 0:e.detail)}get detail(){return r(this,z)}initCustomEvent(){}};z=new WeakMap;function nt(i,t){return new $}var Fe={document:{createElement:nt},DocumentFragment,customElements:at,CustomEvent:Ae,EventTarget:U,HTMLElement:$,HTMLVideoElement:be},Ge=typeof window=="undefined"||typeof globalThis.customElements=="undefined",S=Ge?Fe:globalThis,Te=Ge?Fe.document:globalThis.document;var d=require("@mux/playback-core");var ot=()=>{try{return"0.13.0"}catch{}return"UNKNOWN"},ct=ot(),Ke=()=>ct;var Pe=class extends Set{add(t){super.add(new WeakRef(t))}forEach(t){super.forEach(e=>{let n=e.deref();n&&t(n)})}},ut=i=>{var t,e,n,o,E,He,p,he,T,O,x,me,Y,fe,ae,je,ne,Ve,K,ve,H,b,k,R,I,L,w,J,oe,qe,j,Ce,ce,We,V,Se,ue,$e,q,Oe;return t=class extends i{constructor(){super();u(this,w);u(this,oe);u(this,j);u(this,ce);u(this,V);u(this,ue);u(this,q);W(this,"castEnabled",!1);u(this,H,{paused:!1});u(this,b,void 0);u(this,k,{});u(this,R,void 0);u(this,I,void 0);u(this,L,void 0);t.instances.add(this),m(this,V,Se).call(this)}static get castElement(){return r(t,e)}static get castEnabled(){return r(t,n)}static get castState(){var s;return(s=r(t,T,O))==null?void 0:s.getCastState()}static async exitCast(){try{await r(t,T,O).endCurrentSession(!0)}catch(a){console.error(a);return}}get castPlayer(){if(t.castElement===this)return r(this,b)}attributeChangedCallback(s){if(!!this.castPlayer)switch(s){case"cast-stream-type":case"cast-src":this.load();break}}async requestCast(s={}){var a;m(a=t,K,ve).call(a,s),l(t,e,this),Object.entries(r(this,k)).forEach(([h,y])=>{r(this,b).controller.addEventListener(h,y)});try{await r(t,T,O).requestSession()}catch{l(t,e,void 0);return}r(this,H).paused=super.paused,super.pause(),this.muted=super.muted;try{await this.load()}catch(h){console.error(h)}}async load(){var C,_;if(!this.castPlayer)return super.load();let s=new chrome.cast.media.MediaInfo(this.castSrc,this.castContentType),a=[...this.querySelectorAll("track")].filter(({kind:P,src:A})=>A&&(P==="subtitles"||P==="captions")),h=[],y=0;a.length&&(s.tracks=a.map(P=>{let A=++y;h.length===0&&P.track.mode==="showing"&&h.push(A);let N=new chrome.cast.media.Track(A,chrome.cast.media.TrackType.TEXT);return N.trackContentId=P.src,N.trackContentType="text/vtt",N.subtype=P.kind==="captions"?chrome.cast.media.TextTrackType.CAPTIONS:chrome.cast.media.TextTrackType.SUBTITLES,N.name=P.label,N.language=P.srclang,N})),this.castStreamType==="live"?s.streamType=chrome.cast.media.StreamType.LIVE:s.streamType=chrome.cast.media.StreamType.BUFFERED,s.metadata=new chrome.cast.media.GenericMediaMetadata,s.metadata.title=this.title,s.metadata.images=[{url:this.poster}];let g=new chrome.cast.media.LoadRequest(s);g.currentTime=(C=super.currentTime)!=null?C:0,g.autoplay=!r(this,H).paused,g.activeTrackIds=h,await((_=r(t,x,me))==null?void 0:_.loadMedia(g)),this.dispatchEvent(new Event("volumechange"))}play(){var s;if(this.castPlayer){this.castPlayer.isPaused&&((s=this.castPlayer.controller)==null||s.playOrPause());return}return super.play()}pause(){var s;if(this.castPlayer){this.castPlayer.isPaused||(s=this.castPlayer.controller)==null||s.playOrPause();return}super.pause()}get castSrc(){var s,a,h;return(h=(a=this.getAttribute("cast-src"))!=null?a:(s=this.querySelector("source"))==null?void 0:s.src)!=null?h:this.currentSrc}set castSrc(s){this.castSrc!=s&&this.setAttribute("cast-src",`${s}`)}get castContentType(){var s;return(s=this.getAttribute("cast-content-type"))!=null?s:void 0}set castContentType(s){this.setAttribute("cast-content-type",`${s}`)}get castStreamType(){var s;return(s=this.getAttribute("cast-stream-type"))!=null?s:void 0}set castStreamType(s){this.setAttribute("cast-stream-type",`${s}`)}get readyState(){if(this.castPlayer)switch(this.castPlayer.playerState){case chrome.cast.media.PlayerState.IDLE:return 0;case chrome.cast.media.PlayerState.BUFFERING:return 2;default:return 3}return super.readyState}get paused(){return this.castPlayer?this.castPlayer.isPaused:super.paused}get muted(){var s;return this.castPlayer?(s=this.castPlayer)==null?void 0:s.isMuted:super.muted}set muted(s){var a;if(this.castPlayer){(s&&!this.castPlayer.isMuted||!s&&this.castPlayer.isMuted)&&((a=this.castPlayer.controller)==null||a.muteOrUnmute());return}super.muted=s}get volume(){var s,a;return this.castPlayer?(a=(s=this.castPlayer)==null?void 0:s.volumeLevel)!=null?a:1:super.volume}set volume(s){var a;if(this.castPlayer){this.castPlayer.volumeLevel=s,(a=this.castPlayer.controller)==null||a.setVolumeLevel();return}super.volume=s}get duration(){var s,a;return this.castPlayer&&r(this,w,J)?(a=(s=this.castPlayer)==null?void 0:s.duration)!=null?a:NaN:super.duration}get currentTime(){var s,a;return this.castPlayer&&r(this,w,J)?(a=(s=this.castPlayer)==null?void 0:s.currentTime)!=null?a:0:super.currentTime}set currentTime(s){var a;if(this.castPlayer){this.castPlayer.currentTime=s,(a=this.castPlayer.controller)==null||a.seek();return}super.currentTime=s}get onentercast(){return r(this,R)}set onentercast(s){r(this,R)&&(this.removeEventListener("entercast",r(this,R)),l(this,R,null)),typeof s=="function"&&(l(this,R,s),this.addEventListener("entercast",s))}get onleavecast(){return r(this,I)}set onleavecast(s){r(this,I)&&(this.removeEventListener("leavecast",r(this,I)),l(this,I,null)),typeof s=="function"&&(l(this,I,s),this.addEventListener("leavecast",s))}get oncastchange(){return r(this,L)}set oncastchange(s){r(this,L)&&(this.removeEventListener("castchange",r(this,L)),l(this,L,null)),typeof s=="function"&&(l(this,L,s),this.addEventListener("castchange",s))}},e=new WeakMap,n=new WeakMap,o=new WeakMap,E=new WeakSet,He=function(){return typeof chrome!="undefined"&&chrome.cast&&chrome.cast.isAvailable},p=new WeakSet,he=function(){return typeof cast!="undefined"&&cast.framework},T=new WeakSet,O=function(){if(r(t,p,he))return cast.framework.CastContext.getInstance()},x=new WeakSet,me=function(){var s;return(s=r(t,T,O))==null?void 0:s.getCurrentSession()},Y=new WeakSet,fe=function(){var s;return(s=r(t,x,me))==null?void 0:s.getSessionObj().media[0]},ae=new WeakSet,je=function(s){return new Promise((a,h)=>{r(t,Y,fe).editTracksInfo(s,a,h)})},ne=new WeakSet,Ve=function(s){return new Promise((a,h)=>{r(t,Y,fe).getStatus(s,a,h)})},K=new WeakSet,ve=function(s){return r(t,T,O).setOptions({receiverApplicationId:chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,autoJoinPolicy:chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED,androidReceiverCompatible:!1,language:"en-US",resumeSavedSession:!0,...s})},H=new WeakMap,b=new WeakMap,k=new WeakMap,R=new WeakMap,I=new WeakMap,L=new WeakMap,w=new WeakSet,J=function(){var s;return(s=this.castPlayer)==null?void 0:s.isMediaLoaded},oe=new WeakSet,qe=function(){r(t,e)===this&&(Object.entries(r(this,k)).forEach(([s,a])=>{r(this,b).controller.removeEventListener(s,a)}),l(t,e,void 0),this.muted=r(this,b).isMuted,this.currentTime=r(this,b).savedPlayerState.currentTime,r(this,b).savedPlayerState.isPaused===!1&&this.play())},j=new WeakSet,Ce=function(){this.dispatchEvent(new CustomEvent("castchange",{detail:r(t,T,O).getCastState()}))},ce=new WeakSet,We=async function(){var a,h;let{SESSION_RESUMED:s}=cast.framework.SessionState;if(r(t,T,O).getSessionState()===s&&this.castSrc===((a=r(t,Y,fe))==null?void 0:a.media.contentId)){l(t,e,this),Object.entries(r(this,k)).forEach(([y,g])=>{r(this,b).controller.addEventListener(y,g)});try{await m(h=t,ne,Ve).call(h,new chrome.cast.media.GetStatusRequest)}catch(y){console.error(y)}r(this,k)[cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED](),r(this,k)[cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED]()}},V=new WeakSet,Se=function(){var s;!r(t,p,he)||this.castEnabled||(this.castEnabled=!0,m(s=t,K,ve).call(s),this.textTracks.addEventListener("change",m(this,q,Oe).bind(this)),m(this,j,Ce).call(this),l(this,b,new cast.framework.RemotePlayer),new cast.framework.RemotePlayerController(r(this,b)),l(this,k,{[cast.framework.RemotePlayerEventType.IS_CONNECTED_CHANGED]:({value:a})=>{a===!1&&m(this,oe,qe).call(this),this.dispatchEvent(new Event(a?"entercast":"leavecast"))},[cast.framework.RemotePlayerEventType.DURATION_CHANGED]:()=>{this.dispatchEvent(new Event("durationchange"))},[cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED]:()=>{this.dispatchEvent(new Event("volumechange"))},[cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED]:()=>{this.dispatchEvent(new Event("volumechange"))},[cast.framework.RemotePlayerEventType.CURRENT_TIME_CHANGED]:()=>{!r(this,w,J)||this.dispatchEvent(new Event("timeupdate"))},[cast.framework.RemotePlayerEventType.VIDEO_INFO_CHANGED]:()=>{this.dispatchEvent(new Event("resize"))},[cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED]:()=>{this.dispatchEvent(new Event(this.paused?"pause":"play"))},[cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED]:()=>{var a,h;((a=this.castPlayer)==null?void 0:a.playerState)!==chrome.cast.media.PlayerState.PAUSED&&this.dispatchEvent(new Event({[chrome.cast.media.PlayerState.PLAYING]:"playing",[chrome.cast.media.PlayerState.BUFFERING]:"waiting",[chrome.cast.media.PlayerState.IDLE]:"emptied"}[(h=this.castPlayer)==null?void 0:h.playerState]))},[cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED]:async()=>{!r(this,w,J)||(await Promise.resolve(),m(this,ue,$e).call(this))}}))},ue=new WeakSet,$e=function(){m(this,q,Oe).call(this)},q=new WeakSet,Oe=async function(){var Le,De,we,_e,Ne,xe;if(!this.castPlayer)return;let a=((De=(Le=r(this,b).mediaInfo)==null?void 0:Le.tracks)!=null?De:[]).filter(({type:f})=>f===chrome.cast.media.TrackType.TEXT),h=[...this.textTracks].filter(({kind:f})=>f==="subtitles"||f==="captions"),y=a.map(({language:f,name:le,trackId:ye})=>{var Ue;let{mode:Ye}=(Ue=h.find(Be=>Be.language===f&&Be.label===le))!=null?Ue:{};return Ye?{mode:Ye,trackId:ye}:!1}).filter(Boolean),C=y.filter(({mode:f})=>f!=="showing").map(({trackId:f})=>f),_=y.find(({mode:f})=>f==="showing"),P=(Ne=(_e=(we=r(t,x,me))==null?void 0:we.getSessionObj().media[0])==null?void 0:_e.activeTrackIds)!=null?Ne:[],A=P;if(P.length&&(A=A.filter(f=>!C.includes(f))),_!=null&&_.trackId&&(A=[...A,_.trackId]),A=[...new Set(A)],!((f,le)=>f.length===le.length&&f.every(ye=>le.includes(ye)))(P,A))try{let f=new chrome.cast.media.EditTracksInfoRequest(A);await m(xe=t,ae,je).call(xe,f)}catch(f){console.error(f)}},u(t,E),u(t,p),u(t,T),u(t,x),u(t,Y),u(t,ae),u(t,ne),u(t,K),W(t,"observedAttributes",["cast-src","cast-content-type","cast-stream-type"]),W(t,"instances",new Pe),u(t,e,void 0),u(t,n,!1),W(t,"initCast",()=>{var s;r(t,E,He)?r(t,p,he)?r(s=t,o).call(s,chrome.cast.isAvailable):customElements.whenDefined("google-cast-button").then(()=>{var a;return r(a=t,o).call(a,chrome.cast.isAvailable)}):globalThis.__onGCastApiAvailable=()=>{customElements.whenDefined("google-cast-button").then(()=>{var a;return r(a=t,o).call(a,chrome.cast.isAvailable)})}}),u(t,o,s=>{if(s){l(t,n,!0);let{CAST_STATE_CHANGED:a}=cast.framework.CastContextEventType;r(t,T,O).addEventListener(a,y=>{t.instances.forEach(g=>{var C;return m(C=g,j,Ce).call(C,y)})});let{SESSION_STATE_CHANGED:h}=cast.framework.CastContextEventType;r(t,T,O).addEventListener(h,y=>{t.instances.forEach(g=>{var C;return m(C=g,ce,We).call(C,y)})}),t.instances.forEach(y=>{var g;return m(g=y,V,Se).call(g)})}}),t};if(globalThis.HTMLVideoElement&&globalThis.customElements){let i=ut(HTMLVideoElement);globalThis.customElements.get("castable-video")||(globalThis.customElements.define("castable-video",i,{extends:"video"}),globalThis.CastableVideoElement=i),i.initCast()}var ke=["abort","canplay","canplaythrough","durationchange","emptied","encrypted","ended","error","loadeddata","loadedmetadata","loadstart","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting","waitingforkey","resize","enterpictureinpicture","leavepictureinpicture","castchange","entercast","leavecast"],ze=Te.createElement("template");ze.innerHTML=`
1
+ "use strict";var de=Object.defineProperty;var Ze=Object.getOwnPropertyDescriptor;var Qe=Object.getOwnPropertyNames;var et=Object.prototype.hasOwnProperty;var tt=(i,t,e)=>t in i?de(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var st=(i,t)=>{for(var e in t)de(i,e,{get:t[e],enumerable:!0})},rt=(i,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Qe(t))!et.call(i,o)&&o!==e&&de(i,o,{get:()=>t[o],enumerable:!(n=Ze(t,o))||n.enumerable});return i};var it=i=>rt(de({},"__esModule",{value:!0}),i);var W=(i,t,e)=>(tt(i,typeof t!="symbol"?t+"":t,e),e),ge=(i,t,e)=>{if(!t.has(i))throw TypeError("Cannot "+e)};var r=(i,t,e)=>(ge(i,t,"read from private field"),e?e.call(i):t.get(i)),u=(i,t,e)=>{if(t.has(i))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(i):t.set(i,e)},l=(i,t,e,n)=>(ge(i,t,"write to private field"),n?n.call(i,e):t.set(i,e),e);var m=(i,t,e)=>(ge(i,t,"access private method"),e);var pt={};st(pt,{Attributes:()=>c,MediaError:()=>d.MediaError,VideoEvents:()=>ke,default:()=>Et});module.exports=it(pt);var U=class{addEventListener(){}removeEventListener(){}dispatchEvent(t){return!0}};if(typeof DocumentFragment=="undefined"){class i extends U{}globalThis.DocumentFragment=i}var $=class extends U{},be=class extends U{},at={get(i){},define(i,t,e){},upgrade(i){},whenDefined(i){return Promise.resolve($)}},z,Ae=class{constructor(t,e={}){u(this,z,void 0);l(this,z,e==null?void 0:e.detail)}get detail(){return r(this,z)}initCustomEvent(){}};z=new WeakMap;function nt(i,t){return new $}var Fe={document:{createElement:nt},DocumentFragment,customElements:at,CustomEvent:Ae,EventTarget:U,HTMLElement:$,HTMLVideoElement:be},Ge=typeof window=="undefined"||typeof globalThis.customElements=="undefined",S=Ge?Fe:globalThis,Te=Ge?Fe.document:globalThis.document;var d=require("@mux/playback-core");var ot=()=>{try{return"0.13.2"}catch{}return"UNKNOWN"},ct=ot(),Ke=()=>ct;var Pe=class extends Set{add(t){super.add(new WeakRef(t))}forEach(t){super.forEach(e=>{let n=e.deref();n&&t(n)})}},ut=i=>{var t,e,n,o,E,He,p,he,T,O,x,me,Y,fe,ae,je,ne,Ve,K,ve,H,b,k,R,I,L,w,J,oe,qe,j,Ce,ce,We,V,Se,ue,$e,q,Oe;return t=class extends i{constructor(){super();u(this,w);u(this,oe);u(this,j);u(this,ce);u(this,V);u(this,ue);u(this,q);W(this,"castEnabled",!1);u(this,H,{paused:!1});u(this,b,void 0);u(this,k,{});u(this,R,void 0);u(this,I,void 0);u(this,L,void 0);t.instances.add(this),m(this,V,Se).call(this)}static get castElement(){return r(t,e)}static get castEnabled(){return r(t,n)}static get castState(){var s;return(s=r(t,T,O))==null?void 0:s.getCastState()}static async exitCast(){try{await r(t,T,O).endCurrentSession(!0)}catch(a){console.error(a);return}}get castPlayer(){if(t.castElement===this)return r(this,b)}attributeChangedCallback(s){if(!!this.castPlayer)switch(s){case"cast-stream-type":case"cast-src":this.load();break}}async requestCast(s={}){var a;m(a=t,K,ve).call(a,s),l(t,e,this),Object.entries(r(this,k)).forEach(([h,y])=>{r(this,b).controller.addEventListener(h,y)});try{await r(t,T,O).requestSession()}catch{l(t,e,void 0);return}r(this,H).paused=super.paused,super.pause(),this.muted=super.muted;try{await this.load()}catch(h){console.error(h)}}async load(){var C,_;if(!this.castPlayer)return super.load();let s=new chrome.cast.media.MediaInfo(this.castSrc,this.castContentType),a=[...this.querySelectorAll("track")].filter(({kind:P,src:A})=>A&&(P==="subtitles"||P==="captions")),h=[],y=0;a.length&&(s.tracks=a.map(P=>{let A=++y;h.length===0&&P.track.mode==="showing"&&h.push(A);let N=new chrome.cast.media.Track(A,chrome.cast.media.TrackType.TEXT);return N.trackContentId=P.src,N.trackContentType="text/vtt",N.subtype=P.kind==="captions"?chrome.cast.media.TextTrackType.CAPTIONS:chrome.cast.media.TextTrackType.SUBTITLES,N.name=P.label,N.language=P.srclang,N})),this.castStreamType==="live"?s.streamType=chrome.cast.media.StreamType.LIVE:s.streamType=chrome.cast.media.StreamType.BUFFERED,s.metadata=new chrome.cast.media.GenericMediaMetadata,s.metadata.title=this.title,s.metadata.images=[{url:this.poster}];let g=new chrome.cast.media.LoadRequest(s);g.currentTime=(C=super.currentTime)!=null?C:0,g.autoplay=!r(this,H).paused,g.activeTrackIds=h,await((_=r(t,x,me))==null?void 0:_.loadMedia(g)),this.dispatchEvent(new Event("volumechange"))}play(){var s;if(this.castPlayer){this.castPlayer.isPaused&&((s=this.castPlayer.controller)==null||s.playOrPause());return}return super.play()}pause(){var s;if(this.castPlayer){this.castPlayer.isPaused||(s=this.castPlayer.controller)==null||s.playOrPause();return}super.pause()}get castSrc(){var s,a,h;return(h=(a=this.getAttribute("cast-src"))!=null?a:(s=this.querySelector("source"))==null?void 0:s.src)!=null?h:this.currentSrc}set castSrc(s){this.castSrc!=s&&this.setAttribute("cast-src",`${s}`)}get castContentType(){var s;return(s=this.getAttribute("cast-content-type"))!=null?s:void 0}set castContentType(s){this.setAttribute("cast-content-type",`${s}`)}get castStreamType(){var s;return(s=this.getAttribute("cast-stream-type"))!=null?s:void 0}set castStreamType(s){this.setAttribute("cast-stream-type",`${s}`)}get readyState(){if(this.castPlayer)switch(this.castPlayer.playerState){case chrome.cast.media.PlayerState.IDLE:return 0;case chrome.cast.media.PlayerState.BUFFERING:return 2;default:return 3}return super.readyState}get paused(){return this.castPlayer?this.castPlayer.isPaused:super.paused}get muted(){var s;return this.castPlayer?(s=this.castPlayer)==null?void 0:s.isMuted:super.muted}set muted(s){var a;if(this.castPlayer){(s&&!this.castPlayer.isMuted||!s&&this.castPlayer.isMuted)&&((a=this.castPlayer.controller)==null||a.muteOrUnmute());return}super.muted=s}get volume(){var s,a;return this.castPlayer?(a=(s=this.castPlayer)==null?void 0:s.volumeLevel)!=null?a:1:super.volume}set volume(s){var a;if(this.castPlayer){this.castPlayer.volumeLevel=s,(a=this.castPlayer.controller)==null||a.setVolumeLevel();return}super.volume=s}get duration(){var s,a;return this.castPlayer&&r(this,w,J)?(a=(s=this.castPlayer)==null?void 0:s.duration)!=null?a:NaN:super.duration}get currentTime(){var s,a;return this.castPlayer&&r(this,w,J)?(a=(s=this.castPlayer)==null?void 0:s.currentTime)!=null?a:0:super.currentTime}set currentTime(s){var a;if(this.castPlayer){this.castPlayer.currentTime=s,(a=this.castPlayer.controller)==null||a.seek();return}super.currentTime=s}get onentercast(){return r(this,R)}set onentercast(s){r(this,R)&&(this.removeEventListener("entercast",r(this,R)),l(this,R,null)),typeof s=="function"&&(l(this,R,s),this.addEventListener("entercast",s))}get onleavecast(){return r(this,I)}set onleavecast(s){r(this,I)&&(this.removeEventListener("leavecast",r(this,I)),l(this,I,null)),typeof s=="function"&&(l(this,I,s),this.addEventListener("leavecast",s))}get oncastchange(){return r(this,L)}set oncastchange(s){r(this,L)&&(this.removeEventListener("castchange",r(this,L)),l(this,L,null)),typeof s=="function"&&(l(this,L,s),this.addEventListener("castchange",s))}},e=new WeakMap,n=new WeakMap,o=new WeakMap,E=new WeakSet,He=function(){return typeof chrome!="undefined"&&chrome.cast&&chrome.cast.isAvailable},p=new WeakSet,he=function(){return typeof cast!="undefined"&&cast.framework},T=new WeakSet,O=function(){if(r(t,p,he))return cast.framework.CastContext.getInstance()},x=new WeakSet,me=function(){var s;return(s=r(t,T,O))==null?void 0:s.getCurrentSession()},Y=new WeakSet,fe=function(){var s;return(s=r(t,x,me))==null?void 0:s.getSessionObj().media[0]},ae=new WeakSet,je=function(s){return new Promise((a,h)=>{r(t,Y,fe).editTracksInfo(s,a,h)})},ne=new WeakSet,Ve=function(s){return new Promise((a,h)=>{r(t,Y,fe).getStatus(s,a,h)})},K=new WeakSet,ve=function(s){return r(t,T,O).setOptions({receiverApplicationId:chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,autoJoinPolicy:chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED,androidReceiverCompatible:!1,language:"en-US",resumeSavedSession:!0,...s})},H=new WeakMap,b=new WeakMap,k=new WeakMap,R=new WeakMap,I=new WeakMap,L=new WeakMap,w=new WeakSet,J=function(){var s;return(s=this.castPlayer)==null?void 0:s.isMediaLoaded},oe=new WeakSet,qe=function(){r(t,e)===this&&(Object.entries(r(this,k)).forEach(([s,a])=>{r(this,b).controller.removeEventListener(s,a)}),l(t,e,void 0),this.muted=r(this,b).isMuted,this.currentTime=r(this,b).savedPlayerState.currentTime,r(this,b).savedPlayerState.isPaused===!1&&this.play())},j=new WeakSet,Ce=function(){this.dispatchEvent(new CustomEvent("castchange",{detail:r(t,T,O).getCastState()}))},ce=new WeakSet,We=async function(){var a,h;let{SESSION_RESUMED:s}=cast.framework.SessionState;if(r(t,T,O).getSessionState()===s&&this.castSrc===((a=r(t,Y,fe))==null?void 0:a.media.contentId)){l(t,e,this),Object.entries(r(this,k)).forEach(([y,g])=>{r(this,b).controller.addEventListener(y,g)});try{await m(h=t,ne,Ve).call(h,new chrome.cast.media.GetStatusRequest)}catch(y){console.error(y)}r(this,k)[cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED](),r(this,k)[cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED]()}},V=new WeakSet,Se=function(){var s;!r(t,p,he)||this.castEnabled||(this.castEnabled=!0,m(s=t,K,ve).call(s),this.textTracks.addEventListener("change",m(this,q,Oe).bind(this)),m(this,j,Ce).call(this),l(this,b,new cast.framework.RemotePlayer),new cast.framework.RemotePlayerController(r(this,b)),l(this,k,{[cast.framework.RemotePlayerEventType.IS_CONNECTED_CHANGED]:({value:a})=>{a===!1&&m(this,oe,qe).call(this),this.dispatchEvent(new Event(a?"entercast":"leavecast"))},[cast.framework.RemotePlayerEventType.DURATION_CHANGED]:()=>{this.dispatchEvent(new Event("durationchange"))},[cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED]:()=>{this.dispatchEvent(new Event("volumechange"))},[cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED]:()=>{this.dispatchEvent(new Event("volumechange"))},[cast.framework.RemotePlayerEventType.CURRENT_TIME_CHANGED]:()=>{!r(this,w,J)||this.dispatchEvent(new Event("timeupdate"))},[cast.framework.RemotePlayerEventType.VIDEO_INFO_CHANGED]:()=>{this.dispatchEvent(new Event("resize"))},[cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED]:()=>{this.dispatchEvent(new Event(this.paused?"pause":"play"))},[cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED]:()=>{var a,h;((a=this.castPlayer)==null?void 0:a.playerState)!==chrome.cast.media.PlayerState.PAUSED&&this.dispatchEvent(new Event({[chrome.cast.media.PlayerState.PLAYING]:"playing",[chrome.cast.media.PlayerState.BUFFERING]:"waiting",[chrome.cast.media.PlayerState.IDLE]:"emptied"}[(h=this.castPlayer)==null?void 0:h.playerState]))},[cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED]:async()=>{!r(this,w,J)||(await Promise.resolve(),m(this,ue,$e).call(this))}}))},ue=new WeakSet,$e=function(){m(this,q,Oe).call(this)},q=new WeakSet,Oe=async function(){var Le,De,we,_e,Ne,xe;if(!this.castPlayer)return;let a=((De=(Le=r(this,b).mediaInfo)==null?void 0:Le.tracks)!=null?De:[]).filter(({type:f})=>f===chrome.cast.media.TrackType.TEXT),h=[...this.textTracks].filter(({kind:f})=>f==="subtitles"||f==="captions"),y=a.map(({language:f,name:le,trackId:ye})=>{var Ue;let{mode:Ye}=(Ue=h.find(Be=>Be.language===f&&Be.label===le))!=null?Ue:{};return Ye?{mode:Ye,trackId:ye}:!1}).filter(Boolean),C=y.filter(({mode:f})=>f!=="showing").map(({trackId:f})=>f),_=y.find(({mode:f})=>f==="showing"),P=(Ne=(_e=(we=r(t,x,me))==null?void 0:we.getSessionObj().media[0])==null?void 0:_e.activeTrackIds)!=null?Ne:[],A=P;if(P.length&&(A=A.filter(f=>!C.includes(f))),_!=null&&_.trackId&&(A=[...A,_.trackId]),A=[...new Set(A)],!((f,le)=>f.length===le.length&&f.every(ye=>le.includes(ye)))(P,A))try{let f=new chrome.cast.media.EditTracksInfoRequest(A);await m(xe=t,ae,je).call(xe,f)}catch(f){console.error(f)}},u(t,E),u(t,p),u(t,T),u(t,x),u(t,Y),u(t,ae),u(t,ne),u(t,K),W(t,"observedAttributes",["cast-src","cast-content-type","cast-stream-type"]),W(t,"instances",new Pe),u(t,e,void 0),u(t,n,!1),W(t,"initCast",()=>{var s;r(t,E,He)?r(t,p,he)?r(s=t,o).call(s,chrome.cast.isAvailable):customElements.whenDefined("google-cast-button").then(()=>{var a;return r(a=t,o).call(a,chrome.cast.isAvailable)}):globalThis.__onGCastApiAvailable=()=>{customElements.whenDefined("google-cast-button").then(()=>{var a;return r(a=t,o).call(a,chrome.cast.isAvailable)})}}),u(t,o,s=>{if(s){l(t,n,!0);let{CAST_STATE_CHANGED:a}=cast.framework.CastContextEventType;r(t,T,O).addEventListener(a,y=>{t.instances.forEach(g=>{var C;return m(C=g,j,Ce).call(C,y)})});let{SESSION_STATE_CHANGED:h}=cast.framework.CastContextEventType;r(t,T,O).addEventListener(h,y=>{t.instances.forEach(g=>{var C;return m(C=g,ce,We).call(C,y)})}),t.instances.forEach(y=>{var g;return m(g=y,V,Se).call(g)})}}),t};if(globalThis.HTMLVideoElement&&globalThis.customElements){let i=ut(HTMLVideoElement);globalThis.customElements.get("castable-video")||(globalThis.customElements.define("castable-video",i,{extends:"video"}),globalThis.CastableVideoElement=i),i.initCast()}var ke=["abort","canplay","canplaythrough","durationchange","emptied","encrypted","ended","error","loadeddata","loadedmetadata","loadstart","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting","waitingforkey","resize","enterpictureinpicture","leavepictureinpicture","castchange","entercast","leavecast"],ze=Te.createElement("template");ze.innerHTML=`
2
2
  <style>
3
3
  :host {
4
4
  display: inline-block;
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- var Ze=Object.defineProperty;var Qe=(i,s,e)=>s in i?Ze(i,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[s]=e;var q=(i,s,e)=>(Qe(i,typeof s!="symbol"?s+"":s,e),e),ye=(i,s,e)=>{if(!s.has(i))throw TypeError("Cannot "+e)};var r=(i,s,e)=>(ye(i,s,"read from private field"),e?e.call(i):s.get(i)),c=(i,s,e)=>{if(s.has(i))throw TypeError("Cannot add the same private member more than once");s instanceof WeakSet?s.add(i):s.set(i,e)},l=(i,s,e,n)=>(ye(i,s,"write to private field"),n?n.call(i,e):s.set(i,e),e);var h=(i,s,e)=>(ye(i,s,"access private method"),e);var Y=class{addEventListener(){}removeEventListener(){}dispatchEvent(s){return!0}};if(typeof DocumentFragment=="undefined"){class i extends Y{}globalThis.DocumentFragment=i}var W=class extends Y{},ge=class extends Y{},et={get(i){},define(i,s,e){},upgrade(i){},whenDefined(i){return Promise.resolve(W)}},$,be=class{constructor(s,e={}){c(this,$,void 0);l(this,$,e==null?void 0:e.detail)}get detail(){return r(this,$)}initCustomEvent(){}};$=new WeakMap;function tt(i,s){return new W}var Ue={document:{createElement:tt},DocumentFragment,customElements:et,CustomEvent:be,EventTarget:Y,HTMLElement:W,HTMLVideoElement:ge},Be=typeof window=="undefined"||typeof globalThis.customElements=="undefined",C=Be?Ue:globalThis,Ae=Be?Ue.document:globalThis.document;import{initialize as ot,teardown as ct,generatePlayerInitTime as ut,PlaybackTypes as fe,toMuxVideoURL as lt,MediaError as wt,getError as dt,CmcdTypeValues as Xe,addCuePoints as ht,getCuePoints as mt,getActiveCuePoint as ft}from"@mux/playback-core";var st=()=>{try{return"0.13.0"}catch{}return"UNKNOWN"},rt=st(),Fe=()=>rt;var Te=class extends Set{add(s){super.add(new WeakRef(s))}forEach(s){super.forEach(e=>{let n=e.deref();n&&s(n)})}},it=i=>{var s,e,n,o,f,Ge,E,le,A,S,N,de,x,he,ie,Ke,ae,He,G,Pe,K,g,M,k,R,I,D,z,ne,je,H,ve,oe,Ve,j,Ce,ce,qe,V,Se;return s=class extends i{constructor(){super();c(this,D);c(this,ne);c(this,H);c(this,oe);c(this,j);c(this,ce);c(this,V);q(this,"castEnabled",!1);c(this,K,{paused:!1});c(this,g,void 0);c(this,M,{});c(this,k,void 0);c(this,R,void 0);c(this,I,void 0);s.instances.add(this),h(this,j,Ce).call(this)}static get castElement(){return r(s,e)}static get castEnabled(){return r(s,n)}static get castState(){var t;return(t=r(s,A,S))==null?void 0:t.getCastState()}static async exitCast(){try{await r(s,A,S).endCurrentSession(!0)}catch(a){console.error(a);return}}get castPlayer(){if(s.castElement===this)return r(this,g)}attributeChangedCallback(t){if(!!this.castPlayer)switch(t){case"cast-stream-type":case"cast-src":this.load();break}}async requestCast(t={}){var a;h(a=s,G,Pe).call(a,t),l(s,e,this),Object.entries(r(this,M)).forEach(([d,p])=>{r(this,g).controller.addEventListener(d,p)});try{await r(s,A,S).requestSession()}catch{l(s,e,void 0);return}r(this,K).paused=super.paused,super.pause(),this.muted=super.muted;try{await this.load()}catch(d){console.error(d)}}async load(){var v,w;if(!this.castPlayer)return super.load();let t=new chrome.cast.media.MediaInfo(this.castSrc,this.castContentType),a=[...this.querySelectorAll("track")].filter(({kind:T,src:b})=>b&&(T==="subtitles"||T==="captions")),d=[],p=0;a.length&&(t.tracks=a.map(T=>{let b=++p;d.length===0&&T.track.mode==="showing"&&d.push(b);let _=new chrome.cast.media.Track(b,chrome.cast.media.TrackType.TEXT);return _.trackContentId=T.src,_.trackContentType="text/vtt",_.subtype=T.kind==="captions"?chrome.cast.media.TextTrackType.CAPTIONS:chrome.cast.media.TextTrackType.SUBTITLES,_.name=T.label,_.language=T.srclang,_})),this.castStreamType==="live"?t.streamType=chrome.cast.media.StreamType.LIVE:t.streamType=chrome.cast.media.StreamType.BUFFERED,t.metadata=new chrome.cast.media.GenericMediaMetadata,t.metadata.title=this.title,t.metadata.images=[{url:this.poster}];let y=new chrome.cast.media.LoadRequest(t);y.currentTime=(v=super.currentTime)!=null?v:0,y.autoplay=!r(this,K).paused,y.activeTrackIds=d,await((w=r(s,N,de))==null?void 0:w.loadMedia(y)),this.dispatchEvent(new Event("volumechange"))}play(){var t;if(this.castPlayer){this.castPlayer.isPaused&&((t=this.castPlayer.controller)==null||t.playOrPause());return}return super.play()}pause(){var t;if(this.castPlayer){this.castPlayer.isPaused||(t=this.castPlayer.controller)==null||t.playOrPause();return}super.pause()}get castSrc(){var t,a,d;return(d=(a=this.getAttribute("cast-src"))!=null?a:(t=this.querySelector("source"))==null?void 0:t.src)!=null?d:this.currentSrc}set castSrc(t){this.castSrc!=t&&this.setAttribute("cast-src",`${t}`)}get castContentType(){var t;return(t=this.getAttribute("cast-content-type"))!=null?t:void 0}set castContentType(t){this.setAttribute("cast-content-type",`${t}`)}get castStreamType(){var t;return(t=this.getAttribute("cast-stream-type"))!=null?t:void 0}set castStreamType(t){this.setAttribute("cast-stream-type",`${t}`)}get readyState(){if(this.castPlayer)switch(this.castPlayer.playerState){case chrome.cast.media.PlayerState.IDLE:return 0;case chrome.cast.media.PlayerState.BUFFERING:return 2;default:return 3}return super.readyState}get paused(){return this.castPlayer?this.castPlayer.isPaused:super.paused}get muted(){var t;return this.castPlayer?(t=this.castPlayer)==null?void 0:t.isMuted:super.muted}set muted(t){var a;if(this.castPlayer){(t&&!this.castPlayer.isMuted||!t&&this.castPlayer.isMuted)&&((a=this.castPlayer.controller)==null||a.muteOrUnmute());return}super.muted=t}get volume(){var t,a;return this.castPlayer?(a=(t=this.castPlayer)==null?void 0:t.volumeLevel)!=null?a:1:super.volume}set volume(t){var a;if(this.castPlayer){this.castPlayer.volumeLevel=t,(a=this.castPlayer.controller)==null||a.setVolumeLevel();return}super.volume=t}get duration(){var t,a;return this.castPlayer&&r(this,D,z)?(a=(t=this.castPlayer)==null?void 0:t.duration)!=null?a:NaN:super.duration}get currentTime(){var t,a;return this.castPlayer&&r(this,D,z)?(a=(t=this.castPlayer)==null?void 0:t.currentTime)!=null?a:0:super.currentTime}set currentTime(t){var a;if(this.castPlayer){this.castPlayer.currentTime=t,(a=this.castPlayer.controller)==null||a.seek();return}super.currentTime=t}get onentercast(){return r(this,k)}set onentercast(t){r(this,k)&&(this.removeEventListener("entercast",r(this,k)),l(this,k,null)),typeof t=="function"&&(l(this,k,t),this.addEventListener("entercast",t))}get onleavecast(){return r(this,R)}set onleavecast(t){r(this,R)&&(this.removeEventListener("leavecast",r(this,R)),l(this,R,null)),typeof t=="function"&&(l(this,R,t),this.addEventListener("leavecast",t))}get oncastchange(){return r(this,I)}set oncastchange(t){r(this,I)&&(this.removeEventListener("castchange",r(this,I)),l(this,I,null)),typeof t=="function"&&(l(this,I,t),this.addEventListener("castchange",t))}},e=new WeakMap,n=new WeakMap,o=new WeakMap,f=new WeakSet,Ge=function(){return typeof chrome!="undefined"&&chrome.cast&&chrome.cast.isAvailable},E=new WeakSet,le=function(){return typeof cast!="undefined"&&cast.framework},A=new WeakSet,S=function(){if(r(s,E,le))return cast.framework.CastContext.getInstance()},N=new WeakSet,de=function(){var t;return(t=r(s,A,S))==null?void 0:t.getCurrentSession()},x=new WeakSet,he=function(){var t;return(t=r(s,N,de))==null?void 0:t.getSessionObj().media[0]},ie=new WeakSet,Ke=function(t){return new Promise((a,d)=>{r(s,x,he).editTracksInfo(t,a,d)})},ae=new WeakSet,He=function(t){return new Promise((a,d)=>{r(s,x,he).getStatus(t,a,d)})},G=new WeakSet,Pe=function(t){return r(s,A,S).setOptions({receiverApplicationId:chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,autoJoinPolicy:chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED,androidReceiverCompatible:!1,language:"en-US",resumeSavedSession:!0,...t})},K=new WeakMap,g=new WeakMap,M=new WeakMap,k=new WeakMap,R=new WeakMap,I=new WeakMap,D=new WeakSet,z=function(){var t;return(t=this.castPlayer)==null?void 0:t.isMediaLoaded},ne=new WeakSet,je=function(){r(s,e)===this&&(Object.entries(r(this,M)).forEach(([t,a])=>{r(this,g).controller.removeEventListener(t,a)}),l(s,e,void 0),this.muted=r(this,g).isMuted,this.currentTime=r(this,g).savedPlayerState.currentTime,r(this,g).savedPlayerState.isPaused===!1&&this.play())},H=new WeakSet,ve=function(){this.dispatchEvent(new CustomEvent("castchange",{detail:r(s,A,S).getCastState()}))},oe=new WeakSet,Ve=async function(){var a,d;let{SESSION_RESUMED:t}=cast.framework.SessionState;if(r(s,A,S).getSessionState()===t&&this.castSrc===((a=r(s,x,he))==null?void 0:a.media.contentId)){l(s,e,this),Object.entries(r(this,M)).forEach(([p,y])=>{r(this,g).controller.addEventListener(p,y)});try{await h(d=s,ae,He).call(d,new chrome.cast.media.GetStatusRequest)}catch(p){console.error(p)}r(this,M)[cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED](),r(this,M)[cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED]()}},j=new WeakSet,Ce=function(){var t;!r(s,E,le)||this.castEnabled||(this.castEnabled=!0,h(t=s,G,Pe).call(t),this.textTracks.addEventListener("change",h(this,V,Se).bind(this)),h(this,H,ve).call(this),l(this,g,new cast.framework.RemotePlayer),new cast.framework.RemotePlayerController(r(this,g)),l(this,M,{[cast.framework.RemotePlayerEventType.IS_CONNECTED_CHANGED]:({value:a})=>{a===!1&&h(this,ne,je).call(this),this.dispatchEvent(new Event(a?"entercast":"leavecast"))},[cast.framework.RemotePlayerEventType.DURATION_CHANGED]:()=>{this.dispatchEvent(new Event("durationchange"))},[cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED]:()=>{this.dispatchEvent(new Event("volumechange"))},[cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED]:()=>{this.dispatchEvent(new Event("volumechange"))},[cast.framework.RemotePlayerEventType.CURRENT_TIME_CHANGED]:()=>{!r(this,D,z)||this.dispatchEvent(new Event("timeupdate"))},[cast.framework.RemotePlayerEventType.VIDEO_INFO_CHANGED]:()=>{this.dispatchEvent(new Event("resize"))},[cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED]:()=>{this.dispatchEvent(new Event(this.paused?"pause":"play"))},[cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED]:()=>{var a,d;((a=this.castPlayer)==null?void 0:a.playerState)!==chrome.cast.media.PlayerState.PAUSED&&this.dispatchEvent(new Event({[chrome.cast.media.PlayerState.PLAYING]:"playing",[chrome.cast.media.PlayerState.BUFFERING]:"waiting",[chrome.cast.media.PlayerState.IDLE]:"emptied"}[(d=this.castPlayer)==null?void 0:d.playerState]))},[cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED]:async()=>{!r(this,D,z)||(await Promise.resolve(),h(this,ce,qe).call(this))}}))},ce=new WeakSet,qe=function(){h(this,V,Se).call(this)},V=new WeakSet,Se=async function(){var Re,Ie,Le,De,we,_e;if(!this.castPlayer)return;let a=((Ie=(Re=r(this,g).mediaInfo)==null?void 0:Re.tracks)!=null?Ie:[]).filter(({type:m})=>m===chrome.cast.media.TrackType.TEXT),d=[...this.textTracks].filter(({kind:m})=>m==="subtitles"||m==="captions"),p=a.map(({language:m,name:ue,trackId:pe})=>{var xe;let{mode:Ne}=(xe=d.find(Ye=>Ye.language===m&&Ye.label===ue))!=null?xe:{};return Ne?{mode:Ne,trackId:pe}:!1}).filter(Boolean),v=p.filter(({mode:m})=>m!=="showing").map(({trackId:m})=>m),w=p.find(({mode:m})=>m==="showing"),T=(we=(De=(Le=r(s,N,de))==null?void 0:Le.getSessionObj().media[0])==null?void 0:De.activeTrackIds)!=null?we:[],b=T;if(T.length&&(b=b.filter(m=>!v.includes(m))),w!=null&&w.trackId&&(b=[...b,w.trackId]),b=[...new Set(b)],!((m,ue)=>m.length===ue.length&&m.every(pe=>ue.includes(pe)))(T,b))try{let m=new chrome.cast.media.EditTracksInfoRequest(b);await h(_e=s,ie,Ke).call(_e,m)}catch(m){console.error(m)}},c(s,f),c(s,E),c(s,A),c(s,N),c(s,x),c(s,ie),c(s,ae),c(s,G),q(s,"observedAttributes",["cast-src","cast-content-type","cast-stream-type"]),q(s,"instances",new Te),c(s,e,void 0),c(s,n,!1),q(s,"initCast",()=>{var t;r(s,f,Ge)?r(s,E,le)?r(t=s,o).call(t,chrome.cast.isAvailable):customElements.whenDefined("google-cast-button").then(()=>{var a;return r(a=s,o).call(a,chrome.cast.isAvailable)}):globalThis.__onGCastApiAvailable=()=>{customElements.whenDefined("google-cast-button").then(()=>{var a;return r(a=s,o).call(a,chrome.cast.isAvailable)})}}),c(s,o,t=>{if(t){l(s,n,!0);let{CAST_STATE_CHANGED:a}=cast.framework.CastContextEventType;r(s,A,S).addEventListener(a,p=>{s.instances.forEach(y=>{var v;return h(v=y,H,ve).call(v,p)})});let{SESSION_STATE_CHANGED:d}=cast.framework.CastContextEventType;r(s,A,S).addEventListener(d,p=>{s.instances.forEach(y=>{var v;return h(v=y,oe,Ve).call(v,p)})}),s.instances.forEach(p=>{var y;return h(y=p,j,Ce).call(y)})}}),s};if(globalThis.HTMLVideoElement&&globalThis.customElements){let i=it(HTMLVideoElement);globalThis.customElements.get("castable-video")||(globalThis.customElements.define("castable-video",i,{extends:"video"}),globalThis.CastableVideoElement=i),i.initCast()}var We=["abort","canplay","canplaythrough","durationchange","emptied","encrypted","ended","error","loadeddata","loadedmetadata","loadstart","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting","waitingforkey","resize","enterpictureinpicture","leavepictureinpicture","castchange","entercast","leavecast"],$e=Ae.createElement("template");$e.innerHTML=`
1
+ var Ze=Object.defineProperty;var Qe=(i,s,e)=>s in i?Ze(i,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[s]=e;var q=(i,s,e)=>(Qe(i,typeof s!="symbol"?s+"":s,e),e),ye=(i,s,e)=>{if(!s.has(i))throw TypeError("Cannot "+e)};var r=(i,s,e)=>(ye(i,s,"read from private field"),e?e.call(i):s.get(i)),c=(i,s,e)=>{if(s.has(i))throw TypeError("Cannot add the same private member more than once");s instanceof WeakSet?s.add(i):s.set(i,e)},l=(i,s,e,n)=>(ye(i,s,"write to private field"),n?n.call(i,e):s.set(i,e),e);var h=(i,s,e)=>(ye(i,s,"access private method"),e);var Y=class{addEventListener(){}removeEventListener(){}dispatchEvent(s){return!0}};if(typeof DocumentFragment=="undefined"){class i extends Y{}globalThis.DocumentFragment=i}var W=class extends Y{},ge=class extends Y{},et={get(i){},define(i,s,e){},upgrade(i){},whenDefined(i){return Promise.resolve(W)}},$,be=class{constructor(s,e={}){c(this,$,void 0);l(this,$,e==null?void 0:e.detail)}get detail(){return r(this,$)}initCustomEvent(){}};$=new WeakMap;function tt(i,s){return new W}var Ue={document:{createElement:tt},DocumentFragment,customElements:et,CustomEvent:be,EventTarget:Y,HTMLElement:W,HTMLVideoElement:ge},Be=typeof window=="undefined"||typeof globalThis.customElements=="undefined",C=Be?Ue:globalThis,Ae=Be?Ue.document:globalThis.document;import{initialize as ot,teardown as ct,generatePlayerInitTime as ut,PlaybackTypes as fe,toMuxVideoURL as lt,MediaError as wt,getError as dt,CmcdTypeValues as Xe,addCuePoints as ht,getCuePoints as mt,getActiveCuePoint as ft}from"@mux/playback-core";var st=()=>{try{return"0.13.2"}catch{}return"UNKNOWN"},rt=st(),Fe=()=>rt;var Te=class extends Set{add(s){super.add(new WeakRef(s))}forEach(s){super.forEach(e=>{let n=e.deref();n&&s(n)})}},it=i=>{var s,e,n,o,f,Ge,E,le,A,S,N,de,x,he,ie,Ke,ae,He,G,Pe,K,g,M,k,R,I,D,z,ne,je,H,ve,oe,Ve,j,Ce,ce,qe,V,Se;return s=class extends i{constructor(){super();c(this,D);c(this,ne);c(this,H);c(this,oe);c(this,j);c(this,ce);c(this,V);q(this,"castEnabled",!1);c(this,K,{paused:!1});c(this,g,void 0);c(this,M,{});c(this,k,void 0);c(this,R,void 0);c(this,I,void 0);s.instances.add(this),h(this,j,Ce).call(this)}static get castElement(){return r(s,e)}static get castEnabled(){return r(s,n)}static get castState(){var t;return(t=r(s,A,S))==null?void 0:t.getCastState()}static async exitCast(){try{await r(s,A,S).endCurrentSession(!0)}catch(a){console.error(a);return}}get castPlayer(){if(s.castElement===this)return r(this,g)}attributeChangedCallback(t){if(!!this.castPlayer)switch(t){case"cast-stream-type":case"cast-src":this.load();break}}async requestCast(t={}){var a;h(a=s,G,Pe).call(a,t),l(s,e,this),Object.entries(r(this,M)).forEach(([d,p])=>{r(this,g).controller.addEventListener(d,p)});try{await r(s,A,S).requestSession()}catch{l(s,e,void 0);return}r(this,K).paused=super.paused,super.pause(),this.muted=super.muted;try{await this.load()}catch(d){console.error(d)}}async load(){var v,w;if(!this.castPlayer)return super.load();let t=new chrome.cast.media.MediaInfo(this.castSrc,this.castContentType),a=[...this.querySelectorAll("track")].filter(({kind:T,src:b})=>b&&(T==="subtitles"||T==="captions")),d=[],p=0;a.length&&(t.tracks=a.map(T=>{let b=++p;d.length===0&&T.track.mode==="showing"&&d.push(b);let _=new chrome.cast.media.Track(b,chrome.cast.media.TrackType.TEXT);return _.trackContentId=T.src,_.trackContentType="text/vtt",_.subtype=T.kind==="captions"?chrome.cast.media.TextTrackType.CAPTIONS:chrome.cast.media.TextTrackType.SUBTITLES,_.name=T.label,_.language=T.srclang,_})),this.castStreamType==="live"?t.streamType=chrome.cast.media.StreamType.LIVE:t.streamType=chrome.cast.media.StreamType.BUFFERED,t.metadata=new chrome.cast.media.GenericMediaMetadata,t.metadata.title=this.title,t.metadata.images=[{url:this.poster}];let y=new chrome.cast.media.LoadRequest(t);y.currentTime=(v=super.currentTime)!=null?v:0,y.autoplay=!r(this,K).paused,y.activeTrackIds=d,await((w=r(s,N,de))==null?void 0:w.loadMedia(y)),this.dispatchEvent(new Event("volumechange"))}play(){var t;if(this.castPlayer){this.castPlayer.isPaused&&((t=this.castPlayer.controller)==null||t.playOrPause());return}return super.play()}pause(){var t;if(this.castPlayer){this.castPlayer.isPaused||(t=this.castPlayer.controller)==null||t.playOrPause();return}super.pause()}get castSrc(){var t,a,d;return(d=(a=this.getAttribute("cast-src"))!=null?a:(t=this.querySelector("source"))==null?void 0:t.src)!=null?d:this.currentSrc}set castSrc(t){this.castSrc!=t&&this.setAttribute("cast-src",`${t}`)}get castContentType(){var t;return(t=this.getAttribute("cast-content-type"))!=null?t:void 0}set castContentType(t){this.setAttribute("cast-content-type",`${t}`)}get castStreamType(){var t;return(t=this.getAttribute("cast-stream-type"))!=null?t:void 0}set castStreamType(t){this.setAttribute("cast-stream-type",`${t}`)}get readyState(){if(this.castPlayer)switch(this.castPlayer.playerState){case chrome.cast.media.PlayerState.IDLE:return 0;case chrome.cast.media.PlayerState.BUFFERING:return 2;default:return 3}return super.readyState}get paused(){return this.castPlayer?this.castPlayer.isPaused:super.paused}get muted(){var t;return this.castPlayer?(t=this.castPlayer)==null?void 0:t.isMuted:super.muted}set muted(t){var a;if(this.castPlayer){(t&&!this.castPlayer.isMuted||!t&&this.castPlayer.isMuted)&&((a=this.castPlayer.controller)==null||a.muteOrUnmute());return}super.muted=t}get volume(){var t,a;return this.castPlayer?(a=(t=this.castPlayer)==null?void 0:t.volumeLevel)!=null?a:1:super.volume}set volume(t){var a;if(this.castPlayer){this.castPlayer.volumeLevel=t,(a=this.castPlayer.controller)==null||a.setVolumeLevel();return}super.volume=t}get duration(){var t,a;return this.castPlayer&&r(this,D,z)?(a=(t=this.castPlayer)==null?void 0:t.duration)!=null?a:NaN:super.duration}get currentTime(){var t,a;return this.castPlayer&&r(this,D,z)?(a=(t=this.castPlayer)==null?void 0:t.currentTime)!=null?a:0:super.currentTime}set currentTime(t){var a;if(this.castPlayer){this.castPlayer.currentTime=t,(a=this.castPlayer.controller)==null||a.seek();return}super.currentTime=t}get onentercast(){return r(this,k)}set onentercast(t){r(this,k)&&(this.removeEventListener("entercast",r(this,k)),l(this,k,null)),typeof t=="function"&&(l(this,k,t),this.addEventListener("entercast",t))}get onleavecast(){return r(this,R)}set onleavecast(t){r(this,R)&&(this.removeEventListener("leavecast",r(this,R)),l(this,R,null)),typeof t=="function"&&(l(this,R,t),this.addEventListener("leavecast",t))}get oncastchange(){return r(this,I)}set oncastchange(t){r(this,I)&&(this.removeEventListener("castchange",r(this,I)),l(this,I,null)),typeof t=="function"&&(l(this,I,t),this.addEventListener("castchange",t))}},e=new WeakMap,n=new WeakMap,o=new WeakMap,f=new WeakSet,Ge=function(){return typeof chrome!="undefined"&&chrome.cast&&chrome.cast.isAvailable},E=new WeakSet,le=function(){return typeof cast!="undefined"&&cast.framework},A=new WeakSet,S=function(){if(r(s,E,le))return cast.framework.CastContext.getInstance()},N=new WeakSet,de=function(){var t;return(t=r(s,A,S))==null?void 0:t.getCurrentSession()},x=new WeakSet,he=function(){var t;return(t=r(s,N,de))==null?void 0:t.getSessionObj().media[0]},ie=new WeakSet,Ke=function(t){return new Promise((a,d)=>{r(s,x,he).editTracksInfo(t,a,d)})},ae=new WeakSet,He=function(t){return new Promise((a,d)=>{r(s,x,he).getStatus(t,a,d)})},G=new WeakSet,Pe=function(t){return r(s,A,S).setOptions({receiverApplicationId:chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,autoJoinPolicy:chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED,androidReceiverCompatible:!1,language:"en-US",resumeSavedSession:!0,...t})},K=new WeakMap,g=new WeakMap,M=new WeakMap,k=new WeakMap,R=new WeakMap,I=new WeakMap,D=new WeakSet,z=function(){var t;return(t=this.castPlayer)==null?void 0:t.isMediaLoaded},ne=new WeakSet,je=function(){r(s,e)===this&&(Object.entries(r(this,M)).forEach(([t,a])=>{r(this,g).controller.removeEventListener(t,a)}),l(s,e,void 0),this.muted=r(this,g).isMuted,this.currentTime=r(this,g).savedPlayerState.currentTime,r(this,g).savedPlayerState.isPaused===!1&&this.play())},H=new WeakSet,ve=function(){this.dispatchEvent(new CustomEvent("castchange",{detail:r(s,A,S).getCastState()}))},oe=new WeakSet,Ve=async function(){var a,d;let{SESSION_RESUMED:t}=cast.framework.SessionState;if(r(s,A,S).getSessionState()===t&&this.castSrc===((a=r(s,x,he))==null?void 0:a.media.contentId)){l(s,e,this),Object.entries(r(this,M)).forEach(([p,y])=>{r(this,g).controller.addEventListener(p,y)});try{await h(d=s,ae,He).call(d,new chrome.cast.media.GetStatusRequest)}catch(p){console.error(p)}r(this,M)[cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED](),r(this,M)[cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED]()}},j=new WeakSet,Ce=function(){var t;!r(s,E,le)||this.castEnabled||(this.castEnabled=!0,h(t=s,G,Pe).call(t),this.textTracks.addEventListener("change",h(this,V,Se).bind(this)),h(this,H,ve).call(this),l(this,g,new cast.framework.RemotePlayer),new cast.framework.RemotePlayerController(r(this,g)),l(this,M,{[cast.framework.RemotePlayerEventType.IS_CONNECTED_CHANGED]:({value:a})=>{a===!1&&h(this,ne,je).call(this),this.dispatchEvent(new Event(a?"entercast":"leavecast"))},[cast.framework.RemotePlayerEventType.DURATION_CHANGED]:()=>{this.dispatchEvent(new Event("durationchange"))},[cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED]:()=>{this.dispatchEvent(new Event("volumechange"))},[cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED]:()=>{this.dispatchEvent(new Event("volumechange"))},[cast.framework.RemotePlayerEventType.CURRENT_TIME_CHANGED]:()=>{!r(this,D,z)||this.dispatchEvent(new Event("timeupdate"))},[cast.framework.RemotePlayerEventType.VIDEO_INFO_CHANGED]:()=>{this.dispatchEvent(new Event("resize"))},[cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED]:()=>{this.dispatchEvent(new Event(this.paused?"pause":"play"))},[cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED]:()=>{var a,d;((a=this.castPlayer)==null?void 0:a.playerState)!==chrome.cast.media.PlayerState.PAUSED&&this.dispatchEvent(new Event({[chrome.cast.media.PlayerState.PLAYING]:"playing",[chrome.cast.media.PlayerState.BUFFERING]:"waiting",[chrome.cast.media.PlayerState.IDLE]:"emptied"}[(d=this.castPlayer)==null?void 0:d.playerState]))},[cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED]:async()=>{!r(this,D,z)||(await Promise.resolve(),h(this,ce,qe).call(this))}}))},ce=new WeakSet,qe=function(){h(this,V,Se).call(this)},V=new WeakSet,Se=async function(){var Re,Ie,Le,De,we,_e;if(!this.castPlayer)return;let a=((Ie=(Re=r(this,g).mediaInfo)==null?void 0:Re.tracks)!=null?Ie:[]).filter(({type:m})=>m===chrome.cast.media.TrackType.TEXT),d=[...this.textTracks].filter(({kind:m})=>m==="subtitles"||m==="captions"),p=a.map(({language:m,name:ue,trackId:pe})=>{var xe;let{mode:Ne}=(xe=d.find(Ye=>Ye.language===m&&Ye.label===ue))!=null?xe:{};return Ne?{mode:Ne,trackId:pe}:!1}).filter(Boolean),v=p.filter(({mode:m})=>m!=="showing").map(({trackId:m})=>m),w=p.find(({mode:m})=>m==="showing"),T=(we=(De=(Le=r(s,N,de))==null?void 0:Le.getSessionObj().media[0])==null?void 0:De.activeTrackIds)!=null?we:[],b=T;if(T.length&&(b=b.filter(m=>!v.includes(m))),w!=null&&w.trackId&&(b=[...b,w.trackId]),b=[...new Set(b)],!((m,ue)=>m.length===ue.length&&m.every(pe=>ue.includes(pe)))(T,b))try{let m=new chrome.cast.media.EditTracksInfoRequest(b);await h(_e=s,ie,Ke).call(_e,m)}catch(m){console.error(m)}},c(s,f),c(s,E),c(s,A),c(s,N),c(s,x),c(s,ie),c(s,ae),c(s,G),q(s,"observedAttributes",["cast-src","cast-content-type","cast-stream-type"]),q(s,"instances",new Te),c(s,e,void 0),c(s,n,!1),q(s,"initCast",()=>{var t;r(s,f,Ge)?r(s,E,le)?r(t=s,o).call(t,chrome.cast.isAvailable):customElements.whenDefined("google-cast-button").then(()=>{var a;return r(a=s,o).call(a,chrome.cast.isAvailable)}):globalThis.__onGCastApiAvailable=()=>{customElements.whenDefined("google-cast-button").then(()=>{var a;return r(a=s,o).call(a,chrome.cast.isAvailable)})}}),c(s,o,t=>{if(t){l(s,n,!0);let{CAST_STATE_CHANGED:a}=cast.framework.CastContextEventType;r(s,A,S).addEventListener(a,p=>{s.instances.forEach(y=>{var v;return h(v=y,H,ve).call(v,p)})});let{SESSION_STATE_CHANGED:d}=cast.framework.CastContextEventType;r(s,A,S).addEventListener(d,p=>{s.instances.forEach(y=>{var v;return h(v=y,oe,Ve).call(v,p)})}),s.instances.forEach(p=>{var y;return h(y=p,j,Ce).call(y)})}}),s};if(globalThis.HTMLVideoElement&&globalThis.customElements){let i=it(HTMLVideoElement);globalThis.customElements.get("castable-video")||(globalThis.customElements.define("castable-video",i,{extends:"video"}),globalThis.CastableVideoElement=i),i.initCast()}var We=["abort","canplay","canplaythrough","durationchange","emptied","encrypted","ended","error","loadeddata","loadedmetadata","loadstart","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting","waitingforkey","resize","enterpictureinpicture","leavepictureinpicture","castchange","entercast","leavecast"],$e=Ae.createElement("template");$e.innerHTML=`
2
2
  <style>
3
3
  :host {
4
4
  display: inline-block;