const MediaEvent={ABORTED:1,CAN_PLAY:2,CAN_PLAY_THROUGH:3,DURATION_CHANGE:4,ENDED:5,ERROR:6,LOADED_DATA:7,LOADED_META_DATA:8,LOAD_START:9,PAUSE:10,PLAY:11,PLAYING:12,PROGRESS:13,RATE_CHANGE:14,SEEKED:15,SEEKING:16,STALLED:17,SUSPEND:18,TIME_UPDATE:19,VOLUME_CHANGE:20,WAITING:21,EXTERNAL:22};Object.freeze(MediaEvent);class MediaMessage{constructor(readyState,eventType,message){this.readyState=readyState,this.eventType=eventType,this.message=message}getMessage(){const _message={readyState:this.readyState,event:this.eventType,message:this.message};return JSON.stringify(_message)}}class MediaMessageChannel{constructor(controller){this.controller=controller}subscribe(code,self=this){const vid=this.controller.video;code==MediaEvent.ABORTED&&(vid.onabort=function(){self.sendMessage(MediaEvent.ABORTED)}),code==MediaEvent.CAN_PLAY&&(vid.oncanplay=function(){self.sendMessage(MediaEvent.CAN_PLAY)}),code==MediaEvent.CAN_PLAY_THROUGH&&(vid.oncanplaythrough=function(){self.sendMessage(MediaEvent.CAN_PLAY_THROUGH)}),code==MediaEvent.DURATION_CHANGE&&(vid.ondurationchange=function(){self.sendMessage(MediaEvent.DURATION_CHANGE)}),code==MediaEvent.ENDED&&(vid.onended=function(){self.sendMessage(MediaEvent.ENDED)}),code==MediaEvent.ERROR&&(vid.onerror=function(){self.sendMessage(MediaEvent.ERROR)}),code==MediaEvent.LOADED_DATA&&(vid.onloadeddata=function(){self.sendMessage(MediaEvent.LOADED_DATA)}),code==MediaEvent.LOADED_META_DATA&&(vid.onloadedmetadata=function(){self.sendMessage(MediaEvent.LOADED_META_DATA)}),code==MediaEvent.LOAD_START&&(vid.onloadstart=function(){self.sendMessage(MediaEvent.LOAD_START)}),code==MediaEvent.PAUSE&&(vid.onpause=function(){self.sendMessage(MediaEvent.PAUSE)}),code==MediaEvent.PLAY&&(vid.onplay=function(){self.sendMessage(MediaEvent.PLAY)}),code==MediaEvent.PLAYING&&(vid.onplaying=function(){self.sendMessage(MediaEvent.PLAYING)}),code==MediaEvent.PROGRESS&&(vid.onprogress=function(){self.sendMessage(MediaEvent.PROGRESS)}),code==MediaEvent.RATE_CHANGE&&(vid.onratechange=function(){self.sendMessage(MediaEvent.RATE_CHANGE)}),code==MediaEvent.SEEKED&&(vid.onseeked=function(){self.sendMessage(MediaEvent.SEEKED)}),code==MediaEvent.SEEKING&&(vid.onseeking=function(){self.sendMessage(MediaEvent.SEEKING)}),code==MediaEvent.STALLED&&(vid.onstalled=function(){self.sendMessage(MediaEvent.STALLED)}),code==MediaEvent.SUSPEND&&(vid.onsuspend=function(){self.sendMessage(MediaEvent.SUSPEND)}),code==MediaEvent.TIME_UPDATE&&(vid.ontimeupdate=function(){self.sendMessage(MediaEvent.TIME_UPDATE)}),code==MediaEvent.VOLUME_CHANGE&&(vid.onvolumechange=function(){self.sendMessage(MediaEvent.VOLUME_CHANGE)}),code==MediaEvent.WAITING&&(vid.onwaiting=function(){self.sendMessage(MediaEvent.WAITING)})}unsubscribe(code){const vid=this.controller.video;code==MediaEvent.ABORTED&&(vid.onabort=null),code==MediaEvent.CAN_PLAY&&(vid.oncanplay=null),code==MediaEvent.CAN_PLAY_THROUGH&&(vid.oncanplaythrough=null),code==MediaEvent.DURATION_CHANGE&&(vid.ondurationchange=null),code==MediaEvent.ENDED&&(vid.onended=null),code==MediaEvent.ERROR&&(vid.onerror=null),code==MediaEvent.LOADED_DATA&&(vid.onloadeddata=null),code==MediaEvent.LOADED_META_DATA&&(vid.onloadedmetadata=null),code==MediaEvent.LOAD_START&&(vid.onloadstart=null),code==MediaEvent.PAUSE&&(vid.onpause=null),code==MediaEvent.PLAY&&(vid.onplay=null),code==MediaEvent.PLAYING&&(vid.onplaying=null),code==MediaEvent.PROGRESS&&(vid.onprogress=null),code==MediaEvent.RATE_CHANGE&&(vid.onratechange=null),code==MediaEvent.SEEKED&&(vid.onseeked=null),code==MediaEvent.SEEKING&&(vid.onseeking=null),code==MediaEvent.STALLED&&(vid.onstalled=null),code==MediaEvent.SUSPEND&&(vid.onsuspend=null),code==MediaEvent.TIME_UPDATE&&(vid.ontimeupdate=null),code==MediaEvent.VOLUME_CHANGE&&(vid.onvolumechange=null),code==MediaEvent.WAITING&&(vid.onwaiting=null)}sendMessage(event,message=""){const mediaMessage=new MediaMessage(this.controller.video.readyState,event,message);try{return this._postMessage(mediaMessage.getMessage()),!0}catch(error){console.error("postMessage is not defined. Setting : MediaMessageChannel.postMessage = console.log"),MediaMessageChannel.postMessage=console.log}return!1}_postMessage(message){MediaMessageChannel.postMessage(message)}}class MediaController{constructor(id){this.video=document.getElementById(id),this.channel=new MediaMessageChannel(this)}setLoader(value){!0===value?$("#spinner").show():$("#spinner").hide()}play(){return this.video.play(),""}seek(by_time){return this.currentTime(this.currentTime()+by_time),""}currentTime(time){return time0?(this.video.currentTime=time,""):this.video.currentTime}play(){return this.video.play(),this.video.currentTime=.1,""}pause(){return this.video.pause(),""}playbackRate(rate){return rate<5&&rate>-1?(this.video.playbackRate=rate,""):this.video.playbackRate}forceReplay(){return this.pause(),this.currentTime(0),init(!0),""}load(url,autoPlay=!1){return this.pause(),this.currentTime(0),playlist.streams[0]=url,init(!0),autoPlay?this.play():this.pause(),""}enterVRMode(){const scene=$("a-scene")[0];return scene.enterVR(),""}exitVRMode(){const scene=$("a-scene")[0];return scene.exitVR(),""}subscribeToAllEvents(){const codes=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21];for(var code of codes)this.channel.subscribe(code);return""}unSubscribeFromAllEvents(){const codes=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21];for(var code of codes)this.channel.unsubscribe(code);return""}subscribe(...codes){for(var code of codes)this.channel.subscribe(code);return""}unsubscribe(...codes){for(var code of codes)this.channel.unsubscribe(code);return""}get state(){return this.video.readyState}get paused(){return this.video.paused}get duration(){return this.video.duration}get volume(){return 100*this.video.volume}get isMuted(){return this.video.muted}}function getUrlParameter(name){name=name.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var regex,results=new RegExp("[\\?&]"+name+"=([^&#]*)").exec(location.search);return null===results?null:decodeURIComponent(results[1].replace(/\+/g," "))}function processParams(){const url=getUrlParameter("video"),VRBtn=getUrlParameter("VRBtn"),autoPlay=getUrlParameter("autoPlay"),loop=getUrlParameter("loop"),debug=getUrlParameter("debug");if(window.Hls.DefaultConfig.debug="true"===debug,window.mediaController=new MediaController("video_player_id"),window.mediaFilter=new MediaColorFilter("scene_id"),null!==url&&(playlist.streams[0]=url,init(!0),"false"!==autoPlay?mediaController.play():mediaController.pause(),"true"===loop&&(mediaController.video.loop=!0),"false"===VRBtn)){var h=document.getElementsByTagName("head").item(0),s=document.createElement("style");s.type="text/css",s.appendChild(document.createTextNode(".a-enter-vr-button {display: none;}")),h.appendChild(s)}}window.addEventListener("error",(function(e){console.log("error detected: ",e)}),!0),document.title="",document.addEventListener("DOMContentLoaded",processParams);