@boldarialblack/multi-stream-player 1.0.0 → 1.0.1

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.
@@ -1,2 +1,2 @@
1
- (function(f,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("hls.js"),require("flv.js"),require("element-plus")):typeof define=="function"&&define.amd?define(["exports","vue","hls.js","flv.js","element-plus"],e):(f=typeof globalThis<"u"?globalThis:f||self,e(f.StreamPlayer={},f.Vue,f.Hls,f.flvjs,f.ElementPlus))})(this,function(f,e,D,x,y){"use strict";class Q{async init(n){}play(){}pause(){}destroy(){}}class T extends Q{constructor(n){super(),this.video=n,this.hls=null}async init(n){D.isSupported()?(this.hls=new D,this.hls.loadSource(n),this.hls.attachMedia(this.video)):this.video.src=n}play(){this.video.play()}pause(){this.video.pause()}destroy(){this.hls&&this.hls.destroy()}}class O extends Q{constructor(n){super(),this.video=n,this.player=null}async init(n){x.isSupported()&&(this.player=x.createPlayer({type:"flv",url:n}),this.player.attachMediaElement(this.video),this.player.load())}play(){this.video.play()}pause(){this.video.pause()}destroy(){this.player&&(this.player.unload(),this.player.detachMediaElement(),this.player.destroy(),this.player=null)}}class L extends Q{constructor(n,t,o=[{urls:"stun:stun.l.google.com:19302"}]){super(),this.video=n,this.pc=null,this.signaling=t||null,this.iceServers=o,this.bindings={onRemoteDescription:null,onIceCandidate:null,onTrack:null}}async init(n){if(this.pc=new RTCPeerConnection({iceServers:this.iceServers}),this.pc.ontrack=t=>{const o=t.streams&&t.streams[0]?t.streams[0]:null;o?(this.video.srcObject=o,typeof this.bindings.onTrack=="function"&&this.bindings.onTrack(o)):t.streams&&t.streams.length&&(this.video.srcObject=t.streams[0])},this.pc.onicecandidate=t=>{t.candidate&&this.signaling&&typeof this.signaling.send=="function"&&this.signaling.send({type:"ice-candidate",candidate:t.candidate})},this.signaling&&typeof this.signaling.onMessage=="function"&&this.signaling.onMessage(async t=>{if(!(!t||!t.type))switch(t.type){case"remote-description":{const o=new RTCSessionDescription(t.description);if(await this.pc.setRemoteDescription(o),o.type==="offer"){const r=await this.pc.createAnswer();await this.pc.setLocalDescription(r),this.signaling.send({type:"answer",description:this.pc.localDescription})}}break;case"ice-candidate":try{await this.pc.addIceCandidate(new RTCIceCandidate(t.candidate))}catch(o){console.warn("Failed to add ICE candidate:",o)}break}}),n){const t=await this.pc.createOffer({offerToReceiveVideo:!0});await this.pc.setLocalDescription(t);try{const r=await(await fetch(n,{method:"POST",headers:{"Content-Type":"application/sdp"},body:t.sdp})).text();await this.pc.setRemoteDescription({type:"answer",sdp:r})}catch(o){console.error("WebRTC init remote description failed:",o)}}}async setRemoteDescription(n){if(!this.pc)throw new Error("RTCPeerConnection is not initialized");await this.pc.setRemoteDescription(n)}addTrack(n,t){if(!this.pc)throw new Error("RTCPeerConnection is not initialized");if(t)t.addTrack(n);else if(n){const o=this.video.srcObject||new MediaStream;o.addTrack(n),this.video.srcObject=o}}play(){this.video.play().catch(()=>{})}pause(){this.video.pause()}destroy(){if(this.pc){try{this.pc.close()}catch{}this.pc=null}this.signaling&&typeof this.signaling.close=="function"&&this.signaling.close(),this.video&&(this.video.srcObject=null)}bindSignalingHandlers({onRemoteDescription:n,onIceCandidate:t,onTrack:o}={}){typeof n=="function"&&(this.bindings.onRemoteDescription=n),typeof t=="function"&&(this.bindings.onIceCandidate=t),typeof o=="function"&&(this.bindings.onTrack=o)}}function G(a){return{info:(...n)=>console.log(`[${a}]`,...n),error:(...n)=>console.error(`[${a}]`,...n)}}const K="data:image/png;base64,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",Y="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAABCcAAAQnAEmzTo0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAGCSURBVHgB7Vchd8IwEP7KQ63TxU+DLh6Pr5/Hr5pp9ivq8fPzoDfNsOts91172QJvtGmzDgTfe/eaprl8yeUudwXOhMA0iqII+ZhTxugHe0oWBMHum5ikER9Lygj94p2yIHk+1I7EIn2h5NqeUkJV2MANY53L1gl1LtmgWDUzxJEh5WoezQxqiQlly/4nOIA6CyXe2TrsT/mIdWEYHOl9oiU4YUJZUeYNQz/slyE8oA6Z6OstZe2qO4AHxEnwc47PLVT9dqzkKXc+MmGCaufexG+onCvWM8xPDeR3cRpxRnMP7OFBLGc2QxUO93CHLDCrG1B7xjRfGfBwj2Ho2NQy/a9oPGMlT/HH8PLqK/GV+CKJG8OJN9IdqgukFRiGm87Emltn6ADqHuT2YzSZ2unCP4Ha3F67Y654yZVP0B45dV/RlVjJ29zTzriYcLpBfzjwF2PqLaqEP+WZPqAm4XeEhGOs7bJAMAW9fFjhfwr6MlfbvzBStkjFGKEfiFXXWiCeD19pa3LqeLh36gAAAABJRU5ErkJggg==",V={beforeMount(a,n){a.__clickOutsideHandler__=t=>{!a.contains(t.target)&&typeof n.value=="function"&&n.value(t)},document.addEventListener("mousedown",a.__clickOutsideHandler__)},unmounted(a){document.removeEventListener("mousedown",a.__clickOutsideHandler__),a.__clickOutsideHandler__=null}},me="",we="",Be="",Ee="",Qe="",Ie="",Ue="";var I=e.defineComponent({name:"Setting"});const b={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},H=e.createVNode("path",{fill:"currentColor",d:"M600.704 64a32 32 0 0 1 30.464 22.208l35.2 109.376c14.784 7.232 28.928 15.36 42.432 24.512l112.384-24.192a32 32 0 0 1 34.432 15.36L944.32 364.8a32 32 0 0 1-4.032 37.504l-77.12 85.12a357.12 357.12 0 0 1 0 49.024l77.12 85.248a32 32 0 0 1 4.032 37.504l-88.704 153.6a32 32 0 0 1-34.432 15.296L708.8 803.904c-13.44 9.088-27.648 17.28-42.368 24.512l-35.264 109.376A32 32 0 0 1 600.704 960H423.296a32 32 0 0 1-30.464-22.208L357.696 828.48a351.616 351.616 0 0 1-42.56-24.64l-112.32 24.256a32 32 0 0 1-34.432-15.36L79.68 659.2a32 32 0 0 1 4.032-37.504l77.12-85.248a357.12 357.12 0 0 1 0-48.896l-77.12-85.248A32 32 0 0 1 79.68 364.8l88.704-153.6a32 32 0 0 1 34.432-15.296l112.32 24.256c13.568-9.152 27.776-17.408 42.56-24.64l35.2-109.312A32 32 0 0 1 423.232 64H600.64zm-23.424 64H446.72l-36.352 113.088-24.512 11.968a294.113 294.113 0 0 0-34.816 20.096l-22.656 15.36-116.224-25.088-65.28 113.152 79.68 88.192-1.92 27.136a293.12 293.12 0 0 0 0 40.192l1.92 27.136-79.808 88.192 65.344 113.152 116.224-25.024 22.656 15.296a294.113 294.113 0 0 0 34.816 20.096l24.512 11.968L446.72 896h130.688l36.48-113.152 24.448-11.904a288.282 288.282 0 0 0 34.752-20.096l22.592-15.296 116.288 25.024 65.28-113.152-79.744-88.192 1.92-27.136a293.12 293.12 0 0 0 0-40.256l-1.92-27.136 79.808-88.128-65.344-113.152-116.288 24.96-22.592-15.232a287.616 287.616 0 0 0-34.752-20.096l-24.448-11.904L577.344 128zM512 320a192 192 0 1 1 0 384 192 192 0 0 1 0-384zm0 64a128 128 0 1 0 0 256 128 128 0 0 0 0-256z"},null,-1);function R(a,n,t,o,r,l){return e.openBlock(),e.createBlock("svg",b,[H])}I.render=R,I.__file="packages/components/Setting.vue";const P=I;var U=e.defineComponent({name:"ZoomIn"});const j={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},v=e.createVNode("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704zm-32-384v-96a32 32 0 0 1 64 0v96h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64h96z"},null,-1);function z(a,n,t,o,r,l){return e.openBlock(),e.createBlock("svg",j,[v])}U.render=z,U.__file="packages/components/ZoomIn.vue";const N=U;var M=e.defineComponent({name:"ZoomOut"});const J={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},X=e.createVNode("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704zM352 448h256a32 32 0 0 1 0 64H352a32 32 0 0 1 0-64z"},null,-1);function q(a,n,t,o,r,l){return e.openBlock(),e.createBlock("svg",J,[X])}M.render=q,M.__file="packages/components/ZoomOut.vue";const W=M,Me="",Z={class:"trigger-btn"},_={class:"controller"},$={class:"controller-content"},ee={class:"header"},te={class:"operation"},oe=["src"],ne={class:"cockpit-container"},ae={class:"cockpit-wrapper"},se=["src"],ie={class:"block"},le={class:"block"},w=Object.assign({name:"StreamPlayerControls"},{props:{playControlStart:{type:Function,default:()=>{}},playControlStop:{type:Function,default:()=>{}},setPerspective:{type:Function,default:()=>{}},savePerspective:{type:Function,default:()=>{}}},setup(a){const n=V,t=a,o=e.ref(5),r=e.reactive({1:"慢",7:"快"}),l=e.ref(""),m=e.ref(!1),p=e.ref(!0);e.watchEffect(()=>{}),e.onMounted(()=>{}),e.onBeforeUnmount(()=>{l.value&&t.playControlStop({command:l.value,speed:o.value})});function d(g){l.value=g,t.playControlStart({command:g,speed:o.value})}function A(){t.playControlStop({command:l.value,speed:o.value})}function h(g){m.value=g===2,t.setPerspective({type:g})}function i(){t.savePerspective()}return(g,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["player-controls",{"is-collapsed":p.value}])},[e.createElementVNode("div",{class:"controller-trigger",onClick:s[0]||(s[0]=u=>{p.value=!p.value})},[e.renderSlot(g.$slots,"controller-trigger",{},()=>[e.createElementVNode("div",Z,[e.createVNode(e.unref(P))])])]),e.withDirectives((e.openBlock(),e.createElementBlock("div",_,[e.renderSlot(g.$slots,"controller-panel",{},()=>[e.createElementVNode("div",$,[e.createElementVNode("div",ee,[e.createElementVNode("div",te,[e.createVNode(e.unref(y.ElButton),{type:"primary",size:"small",onClick:s[1]||(s[1]=u=>h(1))},{default:e.withCtx(()=>[...s[10]||(s[10]=[e.createTextVNode("当前画面",-1)])]),_:1}),e.createVNode(e.unref(y.ElButton),{type:"primary",size:"small",onClick:s[2]||(s[2]=u=>h(2))},{default:e.withCtx(()=>[...s[11]||(s[11]=[e.createTextVNode("布防画面",-1)])]),_:1})]),e.createVNode(e.unref(y.ElTooltip),{content:"存为默认画面",placement:"top"},{default:e.withCtx(()=>[e.createElementVNode("img",{class:"save-icon cursor-pointer",src:e.unref(Y),onClick:i},null,8,oe)]),_:1})]),e.createElementVNode("div",ne,[e.createElementVNode("div",ae,[e.createElementVNode("img",{class:"cockpit-bg",src:e.unref(K)},null,8,se),e.createElementVNode("div",{class:e.normalizeClass(["up cockpit-btn",{"is-active":l.value==="TILT_UP"}]),onMousedown:s[3]||(s[3]=u=>d("TILT_UP")),onMouseup:A},null,34),e.createElementVNode("div",{class:e.normalizeClass(["down cockpit-btn",{"is-active":l.value==="TILT_DOWN"}]),onMousedown:s[4]||(s[4]=u=>d("TILT_DOWN")),onMouseup:A},null,34),e.createElementVNode("div",{class:e.normalizeClass(["left cockpit-btn",{"is-active":l.value==="PAN_LEFT"}]),onMousedown:s[5]||(s[5]=u=>d("PAN_LEFT")),onMouseup:A},null,34),e.createElementVNode("div",{class:e.normalizeClass(["right cockpit-btn",{"is-active":l.value==="PAN_RIGHT"}]),onMousedown:s[6]||(s[6]=u=>d("PAN_RIGHT")),onMouseup:A},null,34)])]),e.createElementVNode("div",ie,[s[12]||(s[12]=e.createElementVNode("div",{class:"description"},"云台转速",-1)),e.createVNode(e.unref(y.ElSlider),{modelValue:o.value,"onUpdate:modelValue":s[7]||(s[7]=u=>o.value=u),min:1,max:7,"show-stops":"",marks:r,style:{"margin-top":"-8px","margin-bottom":"18px"}},null,8,["modelValue","marks"])]),e.createElementVNode("div",le,[s[13]||(s[13]=e.createElementVNode("div",{class:"description"},"画面缩放",-1)),e.createVNode(e.unref(y.ElButton),{icon:e.unref(N),circle:"",onMousedown:s[8]||(s[8]=u=>d("ZOOM_IN")),onMouseup:A},null,8,["icon"]),e.createVNode(e.unref(y.ElButton),{icon:e.unref(W),circle:"",onMousedown:s[9]||(s[9]=u=>d("ZOOM_OUT")),onMouseup:A},null,8,["icon"])])])])])),[[e.unref(n),()=>p.value=!0]])],2))}}),De="",re=(a,n)=>{const t=a.__vccOpts||a;for(const[o,r]of n)t[o]=r;return t},ce=["autoplay"],de={class:"video-overlay"},pe={key:1,class:"status-overlay"},Ae={key:2,class:"status-overlay error"},B=re(Object.assign({name:"StreamPlayer"},{props:{src:{type:String,required:!0},protocol:{type:String,default:"hls"},autoplay:{type:Boolean,default:!1},showControls:{type:Boolean,default:!0},fitMode:{type:String,default:"contain"},reconnect:{type:Boolean,default:!0},maxRetries:{type:Number,default:3},retryDelay:{type:Number,default:3e3},beforeInit:{type:Function,default:()=>{}}},emits:["init","loaded","play","pause","error","destroy"],setup(a,{expose:n,emit:t}){const o=a,r=t,l=e.ref(null),m=e.ref(null),p=e.ref(null),d=e.ref(!1),A=e.ref(!1),h=e.ref(!1),i=e.ref(0),g=G("VideoPlayer");function s(c,C){switch(c){case"flv":return new O(C);case"webrtc":return new L(C);case"hls":default:return new T(C)}}async function u(){if(!(!l.value||!o.src)){k(),A.value=!0,h.value=!1;try{p.value=s(o.protocol,l.value),o.beforeInit&&await o.beforeInit(),await p.value.init(o.src),r("init",{protocol:o.protocol});const c=l.value;c&&(c.addEventListener("loadeddata",()=>r("loaded")),c.addEventListener("playing",()=>r("play")),c.addEventListener("pause",()=>r("pause")),c.addEventListener("error",C=>S(C))),o.autoplay&&(await p.value.play(),d.value=!0),A.value=!1,i.value=0}catch(c){S(c)}}}function S(c){g.error("Playback error:",c),r("error",c),h.value=!0,A.value=!1,o.reconnect&&i.value<o.maxRetries?(i.value++,setTimeout(async()=>{r("reconnect",{attempt:i.value}),await e.nextTick(),await u()},o.retryDelay)):g.warn("Max retry reached or reconnect disabled")}function Ce(){p.value&&(d.value?(p.value.pause(),r("pause")):(p.value.play(),r("play")),d.value=!d.value)}function he(){const c=l.value;if(!c)return;const C=document.createElement("canvas");C.width=c.videoWidth,C.height=c.videoHeight,C.getContext("2d").drawImage(c,0,0,C.width,C.height);const ye=C.toDataURL("image/png"),F=document.createElement("a");F.href=ye,F.download="snapshot.png",F.click()}function k(){p.value&&(p.value.destroy(),r("destroy"),p.value=null,d.value=!1)}return e.watch(()=>o.src,u),e.onMounted(u),e.onBeforeUnmount(k),n({togglePlay:Ce,screenshot:he}),(c,C)=>(e.openBlock(),e.createElementBlock("div",{class:"video-player",ref_key:"container",ref:m},[e.createElementVNode("video",{ref_key:"videoRef",ref:l,class:e.normalizeClass([a.fitMode,"video-element"]),autoplay:a.autoplay,playsinline:"",controls:""},null,10,ce),e.createElementVNode("div",de,[e.renderSlot(c.$slots,"overlay",{},void 0,!0)]),a.showControls?e.renderSlot(c.$slots,"controller",{key:0},()=>[e.createVNode(w,e.normalizeProps(e.guardReactiveProps(c.$attrs)),e.createSlots({_:2},[c.$slots["controller-trigger"]?{name:"controller-trigger",fn:e.withCtx(()=>[e.renderSlot(c.$slots,"controller-trigger",{},void 0,!0)]),key:"0"}:void 0,c.$slots["controller-panel"]?{name:"controller-panel",fn:e.withCtx(()=>[e.renderSlot(c.$slots,"controller-panel",{},void 0,!0)]),key:"1"}:void 0]),1040)],!0):e.createCommentVNode("",!0),A.value?(e.openBlock(),e.createElementBlock("div",pe,"加载中...")):e.createCommentVNode("",!0),h.value?(e.openBlock(),e.createElementBlock("div",Ae,"连接错误,正在重试("+e.toDisplayString(i.value)+"/"+e.toDisplayString(a.maxRetries)+")...",1)):e.createCommentVNode("",!0)],512))}}),[["__scopeId","data-v-3ced781c"]]),ke="",Te="",Oe="",Le="",ge={class:"dialog-content-wrapper"},ue={class:"stream-player-wrapper"},E=Object.assign({name:"StreamPlayerDialog"},{props:{value:Boolean,title:{type:String,default:""},dialogClass:{type:String,default:""},onOpen:Function,onClose:Function,beforeClose:Function},emits:["update:value"],setup(a,{expose:n,emit:t}){const o=a,r=t,l=e.ref(o.value),m=e.ref(!1),p=e.ref(!1),d=e.ref();e.watch(()=>o.value,i=>{l.value=i}),e.watch(l,i=>{r("update:value",i)}),e.watch(p,i=>{i?d.value=y.ElLoading.service({target:".stream-player-wrapper"}):d.value&&d.value.close()});function A(){l.value=!0,m.value=!0,typeof o.onOpen=="function"&&o.onOpen()}function h(i){l.value=!1,typeof o.beforeClose=="function"&&o.beforeClose(),m.value&&r("update:value",!1),typeof i=="function"&&i()}return n({open:A,close:h}),(i,g)=>(e.openBlock(),e.createBlock(e.unref(y.ElDialog),{visible:l.value,"onUpdate:visible":g[0]||(g[0]=s=>l.value=s),"before-close":h,"append-to-body":!0,class:e.normalizeClass([a.dialogClass,"stream-player-dialog"]),top:"3vh",width:"90vw",modal:"","destroy-on-close":"",onOpen:a.onOpen,onClose:a.onClose},{default:e.withCtx(()=>[e.createElementVNode("div",ge,[e.createElementVNode("div",ue,[e.createVNode(B,e.normalizeProps(e.guardReactiveProps(i.$attrs)),e.createSlots({_:2},[i.$slots.overlay?{name:"overlay",fn:e.withCtx(()=>[e.renderSlot(i.$slots,"overlay")]),key:"0"}:void 0,i.$slots.controller?{name:"controller",fn:e.withCtx(()=>[e.renderSlot(i.$slots,"controller")]),key:"1"}:void 0,i.$slots["controller-trigger"]?{name:"controller-trigger",fn:e.withCtx(()=>[e.renderSlot(i.$slots,"controller-trigger")]),key:"2"}:void 0,i.$slots["controller-panel"]?{name:"controller-panel",fn:e.withCtx(()=>[e.renderSlot(i.$slots,"controller-panel")]),key:"3"}:void 0]),1040)]),e.renderSlot(i.$slots,"dialog-content")])]),_:3},8,["visible","class","onOpen","onClose"]))}}),fe={install(a){a.component(B.name,B),a.component(w.name,w);const n=a.extend(E),t=new n;document.body.appendChild(t.$mount().$el),a.component(E.name,E),a.prototype.$streamPlayer={open({title:o,dialogClass:r,onOpen:l,onClose:m,beforeClose:p,...d}){t.title=o,t.value=!0,t.dialogClass=r,t.onOpen=l,t.onClose=m,t.beforeClose=p;for(let A in d)t[A]=d[A];return t.open(),t},close(){t.close()}}}};f.StreamPlayer=B,f.StreamPlayerControls=w,f.StreamPlayerDialog=E,f.default=fe,Object.defineProperties(f,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(C,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("hls.js"),require("flv.js"),require("element-plus")):typeof define=="function"&&define.amd?define(["exports","vue","hls.js","flv.js","element-plus"],e):(C=typeof globalThis<"u"?globalThis:C||self,e(C.StreamPlayer={},C.Vue,C.Hls,C.flvjs,C.ElementPlus))})(this,function(C,e,M,D,E){"use strict";class I{async init(a){}play(){}pause(){}destroy(){}}class T extends I{constructor(a){super(),this.video=a,this.hls=null}async init(a){M.isSupported()?(this.hls=new M,this.hls.loadSource(a),this.hls.attachMedia(this.video)):this.video.src=a}play(){this.video.play()}pause(){this.video.pause()}destroy(){this.hls&&this.hls.destroy()}}class O extends I{constructor(a){super(),this.video=a,this.player=null}async init(a){D.isSupported()&&(this.player=D.createPlayer({type:"flv",url:a}),this.player.attachMediaElement(this.video),this.player.load())}play(){this.video.play()}pause(){this.video.pause()}destroy(){this.player&&(this.player.unload(),this.player.detachMediaElement(),this.player.destroy(),this.player=null)}}class L extends I{constructor(a,t,o=[{urls:"stun:stun.l.google.com:19302"}]){super(),this.video=a,this.pc=null,this.signaling=t||null,this.iceServers=o,this.bindings={onRemoteDescription:null,onIceCandidate:null,onTrack:null}}async init(a){if(this.pc=new RTCPeerConnection({iceServers:this.iceServers}),this.pc.ontrack=t=>{const o=t.streams&&t.streams[0]?t.streams[0]:null;o?(this.video.srcObject=o,typeof this.bindings.onTrack=="function"&&this.bindings.onTrack(o)):t.streams&&t.streams.length&&(this.video.srcObject=t.streams[0])},this.pc.onicecandidate=t=>{t.candidate&&this.signaling&&typeof this.signaling.send=="function"&&this.signaling.send({type:"ice-candidate",candidate:t.candidate})},this.signaling&&typeof this.signaling.onMessage=="function"&&this.signaling.onMessage(async t=>{if(!(!t||!t.type))switch(t.type){case"remote-description":{const o=new RTCSessionDescription(t.description);if(await this.pc.setRemoteDescription(o),o.type==="offer"){const c=await this.pc.createAnswer();await this.pc.setLocalDescription(c),this.signaling.send({type:"answer",description:this.pc.localDescription})}}break;case"ice-candidate":try{await this.pc.addIceCandidate(new RTCIceCandidate(t.candidate))}catch(o){console.warn("Failed to add ICE candidate:",o)}break}}),a){const t=await this.pc.createOffer({offerToReceiveVideo:!0});await this.pc.setLocalDescription(t);try{const c=await(await fetch(a,{method:"POST",headers:{"Content-Type":"application/sdp"},body:t.sdp})).text();await this.pc.setRemoteDescription({type:"answer",sdp:c})}catch(o){console.error("WebRTC init remote description failed:",o)}}}async setRemoteDescription(a){if(!this.pc)throw new Error("RTCPeerConnection is not initialized");await this.pc.setRemoteDescription(a)}addTrack(a,t){if(!this.pc)throw new Error("RTCPeerConnection is not initialized");if(t)t.addTrack(a);else if(a){const o=this.video.srcObject||new MediaStream;o.addTrack(a),this.video.srcObject=o}}play(){this.video.play().catch(()=>{})}pause(){this.video.pause()}destroy(){if(this.pc){try{this.pc.close()}catch{}this.pc=null}this.signaling&&typeof this.signaling.close=="function"&&this.signaling.close(),this.video&&(this.video.srcObject=null)}bindSignalingHandlers({onRemoteDescription:a,onIceCandidate:t,onTrack:o}={}){typeof a=="function"&&(this.bindings.onRemoteDescription=a),typeof t=="function"&&(this.bindings.onIceCandidate=t),typeof o=="function"&&(this.bindings.onTrack=o)}}function k(n){return{info:(...a)=>console.log(`[${n}]`,...a),error:(...a)=>console.error(`[${n}]`,...a)}}const V="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQUAAAEFCAYAAADqlvKRAAAACXBIWXMAABCcAAAQnAEmzTo0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAACRcSURBVHgB7Z07bBzXucePqPfLphMglKpsAAsIEIiUqrgJQndxGjtAFOAiAUK5iRtLcZekMdUE6a6kKmkiuQhwERW2q+QWgemkSdKIZBAgFzZgxo0pFw5lUhIpi9I9/9051HC5j+87Zx5n5vx/wGpX5Mxyd2bOf77X+c4+Q1rBuXPnJu0THh08Hj9+jNdf3bdvn/t5/mGePHmy83oIa3bfNfc6e4AVu++/8WJiYmIF/8fvFi2GtIJ9hjQKO/g7eLKDvmMH7Qxe28ekHagdUz8QEojDmv08S1Y08HqFgtEsKAoRYwUAg3/WDf5s4E+aBmK/w4LpWRldsbAsGBIlFIVIyMz/WSsC37YDCALQtQBMi4FQ2O+5aEXiXftfCMWaIbVDUagRKwQQgZczEZg1iZMXCVoS9UFRqBBYA1YE5uzF/+1MBFptCQSC+MSCPV7v7t+/f8GKxIohlUBRKJmcELxMa8CfTCDeokCUD0WhBCgE5UKBKBeKQoEgRmBF4DJdg+qwAnHTPt5iDKI4KAqBZFbBZfvyp4ZCUCcr9nE1C1KuGOINRcGTnFXwiokY+/l2nt3r/t8Nwt5997zuf44VWg9hUBSUZGLwZiyxAgxsa6l0X/c/jxr0oUAY3APYO/TOcyyigepKeyyu/eMf/7hpiBiKggAXOLQv4SZ0TA30D348yhz0oUAYnEC45xrFApWUVygOMigKI6gzXuAGfRMEQIoTiLxYVAzFQQBFYQjT09NvmgrFwAnA9vb2QP+/jTjrwaYWq3Y7KA4joCj0cfbsWdQXQBA6pkTcwIcItMUSCCVvSVQkEhSHAVAUMqoIIKZoDYTgLIgKBGLF/o2LzFb0SF4U0J/ADs4bZYoBhODRo0cUggCcQOC5LLJU5pXU6xySFYWyg4jOIqBrUCzOxThw4ECZ1sP88vLyFZMoSYpCNmX5hik4bpB3D1z6kJSHsxxKsh6SjTckJQqwDjJXodAqRBcwdLECUi1lWg8puhTlOWiRYVOMKEl+x/R6GhYCBACxAjxoGdSLE2Y8FxyYRAOcV77yla/c/fTTT5PoNdl6S6EM68AFDikE8QKXomjLIRWrodWWwtmzZyEE75mCrAOIwBdffLGTSSDxUpLlkITV0EpLIcssuIrEYJybgIuMNJMSLAdM077SxmazrRMF1B1YQYB10DGBuLsNBIG0g4LFAUVPL7bNnWiV+5AFE//HvjxlAmEAsZ24tHFBE7IQr5qbmpraunPnzl9NS2iFpVCku+DiBowZtB8Iw8GDB4uarXl1eXn5DdMCGi8KmbvwtgkMJjJukC4FuhStcCcaLQrZsmoQhI4JwMUNaB2kCwQBwlBAdSSE4XtNXj+zsTGFXDGS97wFiABcBVoHBLiGNoEpTMQZXrNxhrtNjTM0UhSyBii/MgFACBg7IP0UGIj8jhUGY4XhfdMwGicKMzMzmMjkHVDMlyYTMgw3uzXQapi1wjBpheF/TYNoTEwhK1d+O6TvATMLREsRGQp0lbaPF5tS6NQIUSgiw0DrgISAICQeATQmM1F5O10tuQpFL0GAVfDw4UMKwgjOnDljfvnLX5rTp08bMhhcP7iOAqzM7nWM69lETtSWQmjJshMEugvDgSBcv37dnDhxwqyurppLly6ZTz75xJDBwJ04dOhQSJwheoshWlEIFQTWHownLwgOCoMMxBkCahqiFoYoRSFUEBg/GM8gQXBQGGQExhmiFYboRCFEEFiqLGOUIDgoDDICS6SjFIaoRCFUEBg/GI9EEBwUBhmBcYbohCEaUaAglI9GEBwUBhltEoYoRCGb+nzbUBBK5datW+bUKX2rCQjDhQsXDBlNiDDEVOAUVI1RFLQQqgGi8PzzzxstH374oSHjcdejjzDYfVGHg3Fw3tRM7ZbC9PT0fxuPuQwUBBIrgRbDzaWlpYumRmqdEJXNdvyZUUJBILGDeTbITHgIw7m6Z1fWJgroh2A8pj9TEEhTCBCG2Tr7MdTiPmQdk24rd6MgkMYR4krYjMT5Ojo4VT4hKjfjUQUFgTSRkOsW46SOCVSVi4JPpoGCQJpMwPXbQQ8RpOxNhVQqClmmoaPZh4JA2oDvdYxUZbZ8QWVUFmjMAovzmn0oCKRteAYfX6gy8FhJoDGLIyCwqDKD2GmZtBGIAqZeK1nLAo8rpmRKdx+yEmbEEVSCwNmOpK14rk86mXVuKj2+ULooZP5QR7MPF3UlbcfzptepIr5Qakzh7Nmzc9Z3UhUouTgCIW0H17pPfOH06dNLq6ur/zIlUVpMwWcqNAOLJDU8i5sQX/haWTMqS3Mf7MBWuw1ck4Gkhlu6UAnWQLlhSqIU9wFug1GmHxlYJKniboTKBWe+XlaasnD3wcdtQO6WcQSSOnAjlMJQihtRuPugdRs8zSdCWoeH+1yKG1GoKMBtsB9yTrMP12YgpIfrRq7c5xVrnc+aAilUFGwEVZVDRQyBcQRCnuIzJqz7faPIoqbCRCHrotSRbu+jioSkgIf1jDieuqXhMAoJNGbBxY80+yCwiAAjIWQvCDgi8KigsLkRhVgKWXBRDMwjCgIhw8H4ULoRhQUdgy0FBDmyFKQIVi0SIsOn2jFbVGbBBBBsKSDIodme2QZCZHhmI4InTAWJQla52JFu72ESEZI0WlfbisJsNi69CRIFbQqSRUqE6NGOG+247Md77kM2LXpOuj1rEurn8eMn3Yc7F9vbj+0F98iaqNu7Hvg57k7w8rA9fFrPhVNJgShKoCenpqb23blzZ8F44H2mp6enkYLsSLZlcLFaer7o9o67hoGPn4Uef8z9x4V54MB++zhg/z9BsagIj6Cj97wIrwVmtbEEBhfLpTd/pHfHh6lZVrrXWRh5cxZCgcehQwe7YkGRKAecYxx7iLGQyaygad4o8TqDWitha2vLkGLpWV9fdB8xVYbioj18+FBXIJQz/oiAw4cPl24tqC0FHyuBFAcsgs3NrWiPKz6X+2xOIGBFkGLAsVV0goa1MGefrxoFainXRDadyUPCwHF88GDLrK19bjY27jVGaPE57927b+7eXTf372+yirUAPKqBLxslKlGglVAtOPkYTBhUm5ubjY3L4HvAhcT3uHfvAcUhEOW46minVqtEwVoJYtWhleCPsww+/3yjO5jaFKRFForiEAaOm7KgSVW3II5YaOc4cHUnPRj8m5sPWycEw3AzAY8ePWyIDu0sSs2cCLGlYC/SHyu2pSAoQToRlkGT3QQtuNvh+8JyQACVyOkVl8mvE7ut2MoXWQrafgm0EuQ4V4FpW7NjNTCVKUO7JqU9rs9J0pOilKQVhFeMEFoJcmAdIDpftm+NmgFXjTgxsS977g28QQPQ3YXcA2XPLuqNz1wWiDcgiHb8+FFNkU6yuPMkrVuQFjOJ3k1TrJTPU5PhoNbgwYNNUzS4QCACuIOgDNljWbKx9NboeNy1CMsy+48cOcJYgwCIp0JA15aXl58bt9HYq0UbYEwlSOYLjs3Gxv1ChbNXF3+w+yhDBEbh5vxDHFBdWeS5h7AdO3aE7sQItHMiJAHHsRKjCTDCxKQgDAfm3vr6vcLchYMHD3QHDsSgrjkH+Lv4DHgcPXqkaz1AHIqwIPBe6+vb5uTJ4xSGIWC84XrCzUC4PQKOC6O2GXklaQOMbMY6HAgmBKEI0YQYHDlyOGq/G993a+th9xEKBOHEiWPiCz81lOnJsfMhRsqvPbGzRohTLLIX3DmRbgwVBFgEzz570g6Q49EH4jCAjx072v28mP8QAq4rHD8cR7IXZTGTmw8xlJGiYBVF7DowuDgYXMjIMIQAywAm9PHjxxpnRuPzOnEIvdPjOFIYBqPJ+FmX7+WRvx/2C63rwADjXkIFAf46IvCYLtsW4GKiLiPEqoQ4cublbnCtaK6TUTULQ287GtdBW12VAqGC4FyFNgkCgO8LqyfEpaDFsBet+z7KhRgqChrXgcVKu8Hx8BUEKD7ScLgbtrWLkXMp8D19vyOOL6+73Whc+FEuxMAzonUdUL9OeoSkHTFYUku/hRwvCMozz5xgujLDo2ZhoAsx8GhqXAeq9VNCLnAEE1O8wPF98b19YgQwmYtK87aBolyIgVegPVEjo5N5KApP8e0uBP8aacZUm57ie8Nd8ilrxvFGhSjpoRyPs4N+OFAUsMqMEcLahB6Yy+Cz2A2KkOBfE//5DvClkdEgRtvK/9uDfrhHFLLWTZNGAAWhB2YO+kxugiCgNJg8xVcYENdirYxaFCYHtWrbIwqaadJ0HXrC6JNpoCAMx1cY0OKN8QXduBw03veIgvXvZoz8DU3q+BTiUBDGA2HAcdKA80A3QjcuB433XZEta0qgLvo/RviHUZ2WMpgJiJbrGhBlR1CNyMDx1c64RFo39SYtmkVj+lOT/ZbCOSOEZhqyDQ9U27uiHSLHZ74H3Qi1FT+b/89E3xsxniAE2Qalmda9g3GtRR0+x63XEDZtK1YZV5jN/3+XKGjiCSkrcW9xE91Fx4ak/uC4aQOPqU/Q03z3/nE/0fdGs0ZA6hOgtMFFFCe1bWJT1eD4aaoe3RoaqaKpbrTb7gob7IiCZmmp1K0ETYAVdzltFJ0MBvEYjRsBayHlDJmyXmFHGHZEwR48cZAx5XiCNuWF1CPdhmJw/SWkpG4tKOdBzLrXO1cr4wnj0VoJ6DTEZiDFAjcCk8ek4HylfL1KyY///C2sY4SkepC1dx00GyXFo3HHUrYWlCXPe90HTZAxVTQTnhBcpNtQDihM0lhgKS/JJxUFu13Hve5etfkgwzhSFQVt+3oGF8tFUyaOgZHqArbKYGMHL7qiYAOHHeme6YoCrYSYwPHVxBZQbJYiyvHaNQ66V64NMogthRTBgdXcaULXOSAyNNYYplWnGAtTZiA6eHaiwJmRI9DM04e/y5WMqgHHWpeJSK8DtE9lo7Nx2VRlBFrXgVQH1rCUkmpbeG0GYiLbie7DEDRBqt5iq2lP2a0azeK6qboQigxE1zhwV7DIUkjxgKLVmpQ6V3/WcP78eWSczJkzZ8zzzz9vTp8+vfO7Tz75xKyurprbt2+bxcXF7nPM9NqaHxRPUIPAp1ZQphi3HfRU2Yd0pHULRGceSptaHzzMzZdWMaIjc6yWwsmTJ833v/9984Mf/MB+zhPi/SAQv/3tb80f/vAHEyu4JtHqXQIqIrEITUogxiV1s7AiNURh1orCe5IdUlxqHqsdS+d6TE4+E6Wl8K1vfctcunTJnDp1yvgSszjgTnj37rrojohUJpbjSwmlKLx4ADUKbPwxGFxkUkFAJDy24wjrYG5urmsd5NnY2OgO7g8++KDrIqyvr3d/BuBSQDwgJHAznJDg+Re/+EX399evXzcxgeN+4MB+UezHTftP6ZrXuP1dPZienp63r9+U7JBa4wrEE9bXN0TbYlpvTJkHCAIGL2IGDgz8W7dumd///vc7IjCOl156ybz66qu7rAyICSwP6XtUAWIK0vZ4Mbt5ZaBckfqN/VNTU7NmyEox/aQWT0AKS/qdUUgTUxXjb37zm12CADHAnf5vf/ubaqbnhx9+aP7yl790RQZWAvjyl79svvnNb5o//elPETXvfSJOOcKqg2WREopGtv8HUZgzgoatGlO6LWB2nTSGElOH5tdff71r/jtu3Lhhfv3rX3sPYFgEEAbcceBSAAgD7j4QmRjAZ5OWMvdKpNPKQCCuIHGZ7Db/2m/NwstGMG06TVGQuUs44LG4DjD3X3vttZ3/QxAQICwCpCfzwvCNb3yja0l8/PHHpm7wuRBTkJwvbJPahDVFzOvfnLUzAqkI7t8fz2GE/+9AMLEoQXDg/eCKOBBb0KQ4y0TqErCAaThWOJ6dcFVMMQNfFhf4hQsXTFVoLpxY5jrASnABQZdCLAO8rwsy4u9VeV5GIY3p9JqaVicMOD4Q0nyRWMRM4ihGXc3oUmC4G7lAVxVsb8vrMWIRhbyVgIELYSgDCAIyGI7+lGddTEzI04xPnlRXb4OAL8QT13FdwqApdY7afcgLQszEkPLO1xRADMouMsKdz1kLOD8uzlAnExNyca7SUnDULQxSxJZC1dQtCI8fy4OqMRTC5JtnlT1fARc1rIM///nPA/9+XegshXos3wYIwySSl9G5DzFYCJqvu29f/QZX/k6N9GGZ4Nz0l0xX6do1HScMCNJiAloVaNqyRec+xOIyaERQc4cqi/wgLSuWAPJuSp4YREFTPFb3HJ6YLYaoRKEpMYQYyV9cKEMuC7gmOEf9Jc4hk61SJVZhiEoULl68SEFoAAgy4lyVaZGkAoQBFagxEZUooPoupkk2TaUKYYUgQBjyhUxED45jbLNOoxKFGGffNYV8wAqTl6oA5wkX9CB3gowHggArITaLK7pAYyzCoAke1pHz7gdzEBxVpwedO1E3yrUTTZ3EKggAorAm2bDKg0iLQU8+uJifMl0myES4IFkMF7eynbmpizoEQfF918SiUDV1C4Om9kBT6FQW6KDk+O53v1tJXAH9GVDujOcYAsSa2pK60sgxWwgZa1GXOdcpDE1zH5AqzJcdlz1JKT/5ChZDDFZd7LMfGyAIXaJ0H/I4YcCBLDP/3o/m+8bSzLZ/klJZd2+4DP2Tr2JA0++jyklsiPfULQjS69lut7ZvZmbmPcky9Ljw42m9VQ1ra5+L7j5osIIejXUDEUBa193BEQAsI90FdwGWAsBFHsvU6Y2N++aLL2Qt2Z577lmTEocOyRY9tqKwEL2lUCfylYfi6EjlUoQODNaiswJ4PycIIBYrAUgtthTX+tSMX/RoxBkW5bBSa8eGi0zynV17rxiEE63RUKeAVmnATZTKByJ9gSDk3QZYIr/73e9MLEi7OaOTc2qrREnbscFScN2cXxBsnFw3ZwQQpetI4kKLpZvzP//5z263ZTRXBS51CN/WJyAIkfnJT35ifvSjH+38DO8FNyIWYK1J3VuY0oruxq1A0aj2XYjC1+2L70i2Ts1SgAXQxLbhGBxov54XBkw2Q4dniEK+0GkUEIMf/vCHZn5+ftfUbOyPoFlMMSaIt1TAjx6Nqx1/2fQWyxGL4Pv7zp49O2d3uiHZOrVl4yAKCDZKwEE/efK4iQ1kbvoDgW4BWfRdyGd1IAIIVrrFZxE76M9gwGXI92iMhY2Ne2JRiHV5v7KAAMI6kmCv+YtcS3IMWKNQ8p1xkWGNwhgvtkGrPGlxE3fKbuDig0a8EWR85pm0ZuJq15KEKHTsRf+RZIcUV51+8GBTvMgILIWYfVUfcfBZaq5qYCHAUpAQS/q4SpSicB6iMGlF4T+SHRBTkOaB2wKsIyxHL6EpFxziA3ARXBelfJMPzLZEzAAPuBhl93ssApwfaXwjtXUkAQRBmoZdXl7u2brT09OwFDrjdkixgEljmsbsQrQVzTL0ILV4ApAWLlnWrCg857ZkAdMQ8J2ldxZNtoIUAyxXqSAolk5rFYoS524xixOFJeFOJkU0i5FSFKpFc7xjWe+zaqTj1orrXTw7URCXu6UoDJrqtxSDsXXRi3HJj3Vqy88DZT3GU0vBKsSKdK+Uij4cGhcCPHggy1aQMDY35fEtuA6pXrtS7PF5Kgo2Mim2FFI8sEBjesJSSK2eo2q0QW+6DiJW8E93hC8uLuI/DDaOAHEFzXe/f3/TkPLQWGO9ir60JkA5NDfxxWzWXH6PFcmOqVoKADMhpSAqzthCOWithFQFASgyDwvudX6EizIQmj/UNmCCar47YwvlgGYqGlJ2HRTX64p7kRcFZiDGgO+tjS1sbaVV7FU2sBA0s3VxvlK1bjXf2yYbdoyCidwbLBghKXauceithc3oG4o2BbgNWutL4/K1DY0ouMxD97V7kQUZGGwcAw605kKDIEjnTpDRQBA0WZ2UrQSgGad2+C+41xN9byJyIXCgUxYGrbWAoCPdiDBw/DTBRa14tw1cn1JBzAcZwa698n6F5I+mCr679oKDG8HaBT96boMuxYuMA60EGf3jvl8UFoyQlOMKQGuawo1YX7/H+IISn+OG83L06BGTMprxaY/XO7v+3/dGC0ZI6tOD8f2PH9f1TsAdT5tOSx3EY7QW1rFjaQsC8JnzsLPvrt8sLq71+xej/mjqwoB6eq0bgTQlqx1loOOVtqkPLDjNrNY2oqlPwHjHuM//bI+caOIKqbsQAKKg9V23trZY2DQGCII2jpB6cNHhW5+ws/+AN3zHlPDH24qPGwE2NzcpDEPwEQSA88BrMiyeAAbaGNPT0+jZOGkE4K7H4Jn/ID9y5Eh3HQLSw1cQYCGkHlx0HD4sXq2s236t/4cDZVUaV8i2NaQ3uH0agtJieApiLT6CgPQjBaEHrATFmHx/0A8HioK98w/ceNiHID2OHz/mZb5CGJCVSNXicmlHWJ1amH7cjbK0eWCoYGLIxjeNEKUytRocB6z94HM8EGX//PON5Aqc8H3xvX2mmWMA4HgzjvAU5bFYGPgeg36oSU0CisJT3IXqgxsgqZRE43uGCOGJE8coCDk0N+gsFbky6HdDj6g16d41QlJbwXccODk+GQkAUxpLqvsU7TQFfEe4S/ievi4Tji9d191ojocVhbeG/W6oKGhcCBYy7QULcPgKA8DkH/jZbWsZD+sAi7eErDSG4ypdMDUVNBOgMhaG/WLou2hdCKr2XkKFAZbCvXv3WxFrePRouytyIdYBoCAMRiMIo1yH7nuN2lnjQtC3G0yoMAB0GsLdtYkuhZvvsb6+EdyzkoIwHI0LP8p1ACNHcuZCiBqvQBQoDIPBhYzlz0OPD1wKJw7b23GLg7MMQl0FANMYx4+CMBgP931h1C9H2vyrq6ubp06desG+/LoRwp4Bg3FtxrGiUWg9AiwH+OYYeM6XjCGm49bSRAESai+KuBbw3SAIdE+Ho1noxl4nN5eWlkZaCmNtDvsm1+zJfsUIwImDiciy58G4dCUGTREBRLdEXW8Fq4Nd0cHSaFUKBM41rBZYMfhORZ57VIiiIIxB7OHg2BSVddjZxgjQzIXgWooyyixvxp0DAoGLpej1E50IwFqBCOC5jJsA5zLIwLmWxhOsIKxYK+FrY9/TyLhmH29KNsQHLOtCaROYK4FjVUbwsF+YIQ6wUiAQrsDFPSYm9t4XHj9+kj0/3vWAu6Jpr+4DPicCiqx9kaG0Eq5JthMdeXuirtqLQiQK2falXzxtABc+3AnMDCyzihHnordCc9w1D2iQAuuA7oIMjykGorYIouhEVrMg7rPAoJAcCOixY0eTLtl1sRYcBwqCHGUa8uao2oQ84qtQanp035TpSTUIFD777Mlub4VUjh0EAN8X2QW6Czq0VoIkwLizrVEwMzPzno0VzEq21S4CSp6CY1e2S1EnvRb5hzTNQEgfmmOH9VxsgPG8EaK6Jdk3vyLdltaCP86lgOXQpsVR3XoZsAwQaKUg+OFhJYit/O72Rom1Fj6y1kJHsi2thWLAcUQDkocPHzWyOIyWQbEorQRRGjKP+lZuBUEVW2DQMZxed6Ge5YB0nU/btzrA50QAdXLyGVoGBeFhJYit+519jJJz585N2rvVR0ZYzIR6BZ82W2Q0vbqBR90CIpROxwKEwFVXUgSKp2wrAahv45gPMTU1hWl/s5Lt3RfgnIhiceWtmCQEP92VN+Nwu+KjKoAVg7gHHihJxnPVpdapgPOtbN/+hh2vokWj83idOa21ANgKvjp6pcjbOxWIrhoxBFcBCUugVyG5r5tG5OCvBhxn3ADKthKAl3OKYqbp6Wlx6TNwk6VI+eDCGVQT78QCQCig0YOE2pU+52dgMpNUL1oB9okl7OxrAtBkIgCtBUL0QAwQS1Bs720lgCD516pR6gt/EuKDttozxEro7m8C0VQ5AkzK4WQpQmTA7dbcTEOtBBDsKPpYCwxOETIeFxtS7nPRBBIsCjbouKDp+gxY0ETIeDyCi5gJuWACKSSknKmTqMEr0PSUIyRFfKqBQ2MJjkJu2aurq2uagiaAL82CJkL2oq1JyLhiYwniniejKOx2je5MCHJIt9c2nCQkFTzchpXl5eV5UxCFiULWnUkV5MCXpzAQ8hRtKTMoym1wFOrYZ0FHlQnDbAQhPTyzDQgu3jQFUni0Txt0BCxqIkR/g4TbULSVAAq33TGL8vTp01tPnjz5jnQfzqQkqePjSmMWZBEpyH5Ks9tnZmbelq4s5UCXJgoDSY3ekoK6tnvZ8m/BhUoDP48pCV83gvEFkhJuyT/lPqW4DY7SRAHZCKuAKiXzzM8S0lh8rncIgnQNBx9KzQfa+MK/pqamnrMvX5Duw/gCSQVYCB6Vvdes2/ArUyKl1xrbLz2vKWoCmkUzCWkiPoFFjCOMJ1MypYtCVtT0olHGF1jYRNpKbzVwdT1CdxxhPJmSqWTUYW6ENk0JcPB6bcPYrYm0AxdY9Iib/dy6DX80FVDZrdgKw1+18QXAiVOkLQQE0q8VObdhHJXa59Za+Kt9grVwSrqPmzhFYSBNxlcQsslOL5kKqbSpQRZf+J428MhUJWkyIYKQxeMqpZZRds5i7/y3jRLEFlD1yBgDaQohNzTrOp+3N1L1Yi6h1BLet/GFVetK3NUGHulKkCYRaOG+UVTTFC215fyywCOO1qxmPwoDaQKBgnDFxhFKLVAaRa2FAHfu3FmwwoB21Oc0+1EYSMwECgIyDT8zNRJF5G5mZua2dSVUwgAYY9Bx4cIFc+bMGaPlgw8+MLdu3TJkPCGCYPdZtC7DeVMzUdQSZxHW97TC4E4AhUHGq6++ak6cOGG0nD9/nqIgIFAQask0DCKKPuu+qUrAdKWcS5cumY2NDdU+NvZjXn/9dUNGU4QgVFHCLCGqkWQzlR17x39Ps2itA5YClqRjnGE0cB+uX78ushicIOCZDKcgQVgxkRDd7TVEGADXqhyPRBgoCDLc5Ka2CAKI0uYOFYZHjx51H2Q4o4SBgiAjZIp/rIIAonXEKQzlM0gYKAjjca3Yfaf2xywIIOroXKgwMGU5nrwwUBDGExrYjl0QQNRdTLI+DO/al+gKPWmUuCIniAKFYTCfffaZ+fvf/26+9KUvmfn5eQrCCFzX5TYLAmhEHi/UYgB0J0gIoS0CUZiEtHvsggAak9y3wjCZCYO68tGBdCWyE7QaiBTXKcmjwWr+PRZjqkMYR+Mqfqanp6/ap8vGEwgCLAamLck4QtKNOd5aXl6eMw2icZ1R79y580ef2ZUOF2fAMy0GMghnHRQgCJjt+FPTMBrZLhmzK336MeSBOcggJOnHBRND3IWMN+qc/hxCoycMoIOTHdBvhwQgAVwJuBQUh3QJrT3Ivc9KFlCsvGNSUTR+FlERmQnAWEO6FBQ7aFSGYRStmVoYGoB0MEORDkVkFnJcw+pNTckwjKI1SzAhAJnFGbCuxBHjiTMjAYWhnbhzXMSUe6zcZJ9+jnUZVldXN00LaF0TgqLcCUCXon0U5SqAplQoamndYo1ZafRbdkAfNcrVqPpx6UsXfKLl0FxwDmEZuHR0AcBd+C8rCK2rC291uyJrNczZgfxmEVYDoOXQPBAvgGVQUNzALfR60YpBLe3Xq6DVyzpbq2ERE6rsYMYalt7l0Q5aDs0BIlBQAdIO9n3eydyFxqYbJSTT2LBoqwHQcogLDH5nGRQlBNn7rtlzjerEqyYBWm0p5CnaagB5y4Fl0/XhsgmwDAqMGbj37loHS0tLCyYRkmyBXIbV4IDVgAcbyJaPK1XHc5FCALLMAmIHCyYxku6LPj09PW+f3jQl4FwLiAMtiOJwLoITgxLeH64CMgtX21CI5EPyiyWgrsEO3Hn78semJCAMzoIgeiAEzkUoQwhyf2chsw5WTMJwBZUMKw6z9g5xowyXwgGLAQLhRIIMxwlBWe5B39+CGFxJ0VUYBEWhjzLjDXnclG0Xf6CLsds1cKJQ8t9bycTgpiE7UBSGUJU4OJwVAZFIpcdDldZA39/txg0wX8GQPVAUxlC1ODic9eDcjTaIhLMEnACUGR8Y8veTDyJKoCgIqUscHM56cALhXsdKvwBU4Q6M+CxwE67ZlzcpBuOhKCjJxOFySFfpInECkReJ/M/Kon+gxzD4+2EA0Q+KgifIVthBOGdKTGUWgROG/uf+1/3kB7Z73f8cK1kV4jWKgR8UhUCyOodX7EV4uS7XgjBeUCQUhQJpivXQFrKuRwu0CoqFolACsB7sE4qhfmwfs4YUShYrwBqjDByWAEWhZCgQxUAhqA6KQoXkBOLl7Fm9knYq5FyD9w2FoFIoCjWSxSAQpJyhFdGzBuxxWLLBwncYI6gPikIkYFVtPKUiEpklsJiJwIJ9vUBrIA4oChEDS8L0hOKcHURfbapQZAKwYh9YQWnJ9ASg1X0OmwxFoWFg/Uz71MmEYsa+7loYMcQnUE5sn7oWQDb48f/F1PsTNA2KQovIBAPiANHo4GewMPD/bJPJ7NF9PUpIsru7M+fX8g+7311r8q9k/1/JHms0/9vB/wPSLwINH7NRVAAAAABJRU5ErkJggg==",G="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAABCcAAAQnAEmzTo0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAGCSURBVHgB7Vchd8IwEP7KQ63TxU+DLh6Pr5/Hr5pp9ivq8fPzoDfNsOts91172QJvtGmzDgTfe/eaprl8yeUudwXOhMA0iqII+ZhTxugHe0oWBMHum5ikER9Lygj94p2yIHk+1I7EIn2h5NqeUkJV2MANY53L1gl1LtmgWDUzxJEh5WoezQxqiQlly/4nOIA6CyXe2TrsT/mIdWEYHOl9oiU4YUJZUeYNQz/slyE8oA6Z6OstZe2qO4AHxEnwc47PLVT9dqzkKXc+MmGCaufexG+onCvWM8xPDeR3cRpxRnMP7OFBLGc2QxUO93CHLDCrG1B7xjRfGfBwj2Ho2NQy/a9oPGMlT/HH8PLqK/GV+CKJG8OJN9IdqgukFRiGm87Emltn6ADqHuT2YzSZ2unCP4Ha3F67Y654yZVP0B45dV/RlVjJ29zTzriYcLpBfzjwF2PqLaqEP+WZPqAm4XeEhGOs7bJAMAW9fFjhfwr6MlfbvzBStkjFGKEfiFXXWiCeD19pa3LqeLh36gAAAABJRU5ErkJggg==",K={beforeMount(n,a){n.__clickOutsideHandler__=t=>{!n.contains(t.target)&&typeof a.value=="function"&&a.value(t)},document.addEventListener("mousedown",n.__clickOutsideHandler__)},unmounted(n){document.removeEventListener("mousedown",n.__clickOutsideHandler__),n.__clickOutsideHandler__=null}},Ae="",ge="",fe="",ue="",Ce="",me="",ye="";/*! Element Plus Icons Vue v2.3.2 */var Y=e.defineComponent({name:"Setting",__name:"setting",setup(n){return(a,t)=>(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[e.createElementVNode("path",{fill:"currentColor",d:"M600.704 64a32 32 0 0 1 30.464 22.208l35.2 109.376c14.784 7.232 28.928 15.36 42.432 24.512l112.384-24.192a32 32 0 0 1 34.432 15.36L944.32 364.8a32 32 0 0 1-4.032 37.504l-77.12 85.12a357 357 0 0 1 0 49.024l77.12 85.248a32 32 0 0 1 4.032 37.504l-88.704 153.6a32 32 0 0 1-34.432 15.296L708.8 803.904c-13.44 9.088-27.648 17.28-42.368 24.512l-35.264 109.376A32 32 0 0 1 600.704 960H423.296a32 32 0 0 1-30.464-22.208L357.696 828.48a352 352 0 0 1-42.56-24.64l-112.32 24.256a32 32 0 0 1-34.432-15.36L79.68 659.2a32 32 0 0 1 4.032-37.504l77.12-85.248a357 357 0 0 1 0-48.896l-77.12-85.248A32 32 0 0 1 79.68 364.8l88.704-153.6a32 32 0 0 1 34.432-15.296l112.32 24.256c13.568-9.152 27.776-17.408 42.56-24.64l35.2-109.312A32 32 0 0 1 423.232 64H600.64zm-23.424 64H446.72l-36.352 113.088-24.512 11.968a294 294 0 0 0-34.816 20.096l-22.656 15.36-116.224-25.088-65.28 113.152 79.68 88.192-1.92 27.136a293 293 0 0 0 0 40.192l1.92 27.136-79.808 88.192 65.344 113.152 116.224-25.024 22.656 15.296a294 294 0 0 0 34.816 20.096l24.512 11.968L446.72 896h130.688l36.48-113.152 24.448-11.904a288 288 0 0 0 34.752-20.096l22.592-15.296 116.288 25.024 65.28-113.152-79.744-88.192 1.92-27.136a293 293 0 0 0 0-40.256l-1.92-27.136 79.808-88.128-65.344-113.152-116.288 24.96-22.592-15.232a288 288 0 0 0-34.752-20.096l-24.448-11.904L577.344 128zM512 320a192 192 0 1 1 0 384 192 192 0 0 1 0-384m0 64a128 128 0 1 0 0 256 128 128 0 0 0 0-256"})]))}}),b=Y,P=e.defineComponent({name:"ZoomIn",__name:"zoom-in",setup(n){return(a,t)=>(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[e.createElementVNode("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704m-32-384v-96a32 32 0 0 1 64 0v96h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64z"})]))}}),H=P,j=e.defineComponent({name:"ZoomOut",__name:"zoom-out",setup(n){return(a,t)=>(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[e.createElementVNode("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704M352 448h256a32 32 0 0 1 0 64H352a32 32 0 0 1 0-64"})]))}}),v=j;const he="",R={class:"trigger-btn"},N={class:"controller"},z={class:"controller-content"},J={class:"header"},q={class:"operation"},X=["src"],W={class:"cockpit-container"},Z={class:"cockpit-wrapper"},_=["src"],$={class:"block"},ee={class:"block"},B=Object.assign({name:"StreamPlayerControls"},{props:{playControlStart:{type:Function,default:()=>{}},playControlStop:{type:Function,default:()=>{}},setPerspective:{type:Function,default:()=>{}},savePerspective:{type:Function,default:()=>{}}},setup(n){const a=K,t=n,o=e.ref(5),c=e.reactive({1:"慢",7:"快"}),r=e.ref(""),h=e.ref(!1),A=e.ref(!0);e.watchEffect(()=>{}),e.onMounted(()=>{}),e.onBeforeUnmount(()=>{r.value&&t.playControlStop({command:r.value,speed:o.value})});function d(f){r.value=f,t.playControlStart({command:f,speed:o.value})}function g(){t.playControlStop({command:r.value,speed:o.value})}function y(f){h.value=f===2,t.setPerspective({type:f})}function l(){t.savePerspective()}return(f,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["player-controls",{"is-collapsed":A.value}])},[e.createElementVNode("div",{class:"controller-trigger",onClick:i[0]||(i[0]=u=>{A.value=!A.value})},[e.renderSlot(f.$slots,"controller-trigger",{},()=>[e.createElementVNode("div",R,[e.createVNode(e.unref(b))])])]),e.withDirectives((e.openBlock(),e.createElementBlock("div",N,[e.renderSlot(f.$slots,"controller-panel",{},()=>[e.createElementVNode("div",z,[e.createElementVNode("div",J,[e.createElementVNode("div",q,[e.createVNode(e.unref(E.ElButton),{type:"primary",size:"small",onClick:i[1]||(i[1]=u=>y(1))},{default:e.withCtx(()=>[...i[10]||(i[10]=[e.createTextVNode("当前画面",-1)])]),_:1}),e.createVNode(e.unref(E.ElButton),{type:"primary",size:"small",onClick:i[2]||(i[2]=u=>y(2))},{default:e.withCtx(()=>[...i[11]||(i[11]=[e.createTextVNode("布防画面",-1)])]),_:1})]),e.createVNode(e.unref(E.ElTooltip),{content:"存为默认画面",placement:"top"},{default:e.withCtx(()=>[e.createElementVNode("img",{class:"save-icon cursor-pointer",src:e.unref(G),onClick:l},null,8,X)]),_:1})]),e.createElementVNode("div",W,[e.createElementVNode("div",Z,[e.createElementVNode("img",{class:"cockpit-bg",src:e.unref(V)},null,8,_),e.createElementVNode("div",{class:e.normalizeClass(["up cockpit-btn",{"is-active":r.value==="TILT_UP"}]),onMousedown:i[3]||(i[3]=u=>d("TILT_UP")),onMouseup:g},null,34),e.createElementVNode("div",{class:e.normalizeClass(["down cockpit-btn",{"is-active":r.value==="TILT_DOWN"}]),onMousedown:i[4]||(i[4]=u=>d("TILT_DOWN")),onMouseup:g},null,34),e.createElementVNode("div",{class:e.normalizeClass(["left cockpit-btn",{"is-active":r.value==="PAN_LEFT"}]),onMousedown:i[5]||(i[5]=u=>d("PAN_LEFT")),onMouseup:g},null,34),e.createElementVNode("div",{class:e.normalizeClass(["right cockpit-btn",{"is-active":r.value==="PAN_RIGHT"}]),onMousedown:i[6]||(i[6]=u=>d("PAN_RIGHT")),onMouseup:g},null,34)])]),e.createElementVNode("div",$,[i[12]||(i[12]=e.createElementVNode("div",{class:"description"},"云台转速",-1)),e.createVNode(e.unref(E.ElSlider),{modelValue:o.value,"onUpdate:modelValue":i[7]||(i[7]=u=>o.value=u),min:1,max:7,"show-stops":"",marks:c,style:{"margin-top":"-8px","margin-bottom":"18px"}},null,8,["modelValue","marks"])]),e.createElementVNode("div",ee,[i[13]||(i[13]=e.createElementVNode("div",{class:"description"},"画面缩放",-1)),e.createVNode(e.unref(E.ElButton),{icon:e.unref(H),circle:"",onMousedown:i[8]||(i[8]=u=>d("ZOOM_IN")),onMouseup:g},null,8,["icon"]),e.createVNode(e.unref(E.ElButton),{icon:e.unref(v),circle:"",onMousedown:i[9]||(i[9]=u=>d("ZOOM_OUT")),onMouseup:g},null,8,["icon"])])])])])),[[e.unref(a),()=>A.value=!0]])],2))}}),we="",te=(n,a)=>{const t=n.__vccOpts||n;for(const[o,c]of a)t[o]=c;return t},oe=["autoplay"],ne={class:"video-overlay"},ae={key:1,class:"status-overlay"},ie={key:2,class:"status-overlay error"},Q=te(Object.assign({name:"StreamPlayer"},{props:{src:{type:String,required:!0},protocol:{type:String,default:"hls"},autoplay:{type:Boolean,default:!1},showControls:{type:Boolean,default:!0},fitMode:{type:String,default:"contain"},reconnect:{type:Boolean,default:!0},maxRetries:{type:Number,default:3},retryDelay:{type:Number,default:3e3},beforeInit:{type:Function,default:()=>{}}},emits:["init","loaded","play","pause","error","destroy"],setup(n,{expose:a,emit:t}){const o=n,c=t,r=e.ref(null),h=e.ref(null),A=e.ref(null),d=e.ref(!1),g=e.ref(!1),y=e.ref(!1),l=e.ref(0),f=k("VideoPlayer");function i(s,m){switch(s){case"flv":return new O(m);case"webrtc":return new L(m);case"hls":default:return new T(m)}}async function u(){if(!(!r.value||!o.src)){x(),g.value=!0,y.value=!1;try{A.value=i(o.protocol,r.value),o.beforeInit&&await o.beforeInit(),await A.value.init(o.src),c("init",{protocol:o.protocol});const s=r.value;s&&(s.addEventListener("loadeddata",()=>c("loaded")),s.addEventListener("playing",()=>c("play")),s.addEventListener("pause",()=>c("pause")),s.addEventListener("error",m=>S(m))),o.autoplay&&(await A.value.play(),d.value=!0),g.value=!1,l.value=0}catch(s){S(s)}}}function S(s){f.error("Playback error:",s),c("error",s),y.value=!0,g.value=!1,o.reconnect&&l.value<o.maxRetries?(l.value++,setTimeout(async()=>{c("reconnect",{attempt:l.value}),await e.nextTick(),await u()},o.retryDelay)):f.warn("Max retry reached or reconnect disabled")}function ce(){A.value&&(d.value?(A.value.pause(),c("pause")):(A.value.play(),c("play")),d.value=!d.value)}function de(){const s=r.value;if(!s)return;const m=document.createElement("canvas");m.width=s.videoWidth,m.height=s.videoHeight,m.getContext("2d").drawImage(s,0,0,m.width,m.height);const pe=m.toDataURL("image/png"),U=document.createElement("a");U.href=pe,U.download="snapshot.png",U.click()}function x(){A.value&&(A.value.destroy(),c("destroy"),A.value=null,d.value=!1)}return e.watch(()=>o.src,u),e.onMounted(u),e.onBeforeUnmount(x),a({togglePlay:ce,screenshot:de}),(s,m)=>(e.openBlock(),e.createElementBlock("div",{class:"video-player",ref_key:"container",ref:h},[e.createElementVNode("video",{ref_key:"videoRef",ref:r,class:e.normalizeClass([n.fitMode,"video-element"]),autoplay:n.autoplay,playsinline:"",controls:""},null,10,oe),e.createElementVNode("div",ne,[e.renderSlot(s.$slots,"overlay",{},void 0,!0)]),n.showControls?e.renderSlot(s.$slots,"controller",{key:0},()=>[e.createVNode(B,e.normalizeProps(e.guardReactiveProps(s.$attrs)),e.createSlots({_:2},[s.$slots["controller-trigger"]?{name:"controller-trigger",fn:e.withCtx(()=>[e.renderSlot(s.$slots,"controller-trigger",{},void 0,!0)]),key:"0"}:void 0,s.$slots["controller-panel"]?{name:"controller-panel",fn:e.withCtx(()=>[e.renderSlot(s.$slots,"controller-panel",{},void 0,!0)]),key:"1"}:void 0]),1040)],!0):e.createCommentVNode("",!0),g.value?(e.openBlock(),e.createElementBlock("div",ae,"加载中...")):e.createCommentVNode("",!0),y.value?(e.openBlock(),e.createElementBlock("div",ie,"连接错误,正在重试("+e.toDisplayString(l.value)+"/"+e.toDisplayString(n.maxRetries)+")...",1)):e.createCommentVNode("",!0)],512))}}),[["__scopeId","data-v-3ced781c"]]),Ie="",Ue="",Me="",De="",le={class:"dialog-content-wrapper"},se={class:"stream-player-wrapper"},w=Object.assign({name:"StreamPlayerDialog"},{props:{value:Boolean,title:{type:String,default:""},dialogClass:{type:String,default:""},onOpen:Function,onClose:Function,beforeClose:Function},emits:["update:value"],setup(n,{expose:a,emit:t}){const o=n,c=t,r=e.ref(o.value),h=e.ref(!1),A=e.ref(!1),d=e.ref();e.watch(()=>o.value,l=>{r.value=l}),e.watch(r,l=>{c("update:value",l)}),e.watch(A,l=>{l?d.value=E.ElLoading.service({target:".stream-player-wrapper"}):d.value&&d.value.close()});function g(){r.value=!0,h.value=!0,typeof o.onOpen=="function"&&o.onOpen()}function y(l){r.value=!1,typeof o.beforeClose=="function"&&o.beforeClose(),h.value&&c("update:value",!1),typeof l=="function"&&l()}return a({open:g,close:y}),(l,f)=>(e.openBlock(),e.createBlock(e.unref(E.ElDialog),{visible:r.value,"onUpdate:visible":f[0]||(f[0]=i=>r.value=i),"before-close":y,"append-to-body":!0,class:e.normalizeClass([n.dialogClass,"stream-player-dialog"]),top:"3vh",width:"90vw",modal:"","destroy-on-close":"",onOpen:n.onOpen,onClose:n.onClose},{default:e.withCtx(()=>[e.createElementVNode("div",le,[e.createElementVNode("div",se,[e.createVNode(Q,e.normalizeProps(e.guardReactiveProps(l.$attrs)),e.createSlots({_:2},[l.$slots.overlay?{name:"overlay",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"overlay")]),key:"0"}:void 0,l.$slots.controller?{name:"controller",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"controller")]),key:"1"}:void 0,l.$slots["controller-trigger"]?{name:"controller-trigger",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"controller-trigger")]),key:"2"}:void 0,l.$slots["controller-panel"]?{name:"controller-panel",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"controller-panel")]),key:"3"}:void 0]),1040)]),e.renderSlot(l.$slots,"dialog-content")])]),_:3},8,["visible","class","onOpen","onClose"]))}});let p=null;const re={install(n){const a=typeof n.version=="string"&&n.version.startsWith("3"),t=n.prototype!==void 0;a?(n.component(Q.name,Q),n.component(B.name,B),n.component(w.name,w),n.config.globalProperties.$streamPlayer=F(n,!0)):t&&(n.component(Q.name,Q),n.component(B.name,B),n.component(w.name,w),n.prototype.$streamPlayer=F(n,!1))}};function F(n,a){return{open({title:t,dialogClass:o,onOpen:c,onClose:r,beforeClose:h,...A}){if(a){if(!p){const{createApp:g}=require("vue"),y=document.createElement("div");document.body.appendChild(y),p=g({template:'<StreamPlayerDialog ref="dialog" />',components:{StreamPlayerDialog:w}}).mount(y)}const d=p.$refs.dialog;d&&(Object.assign(d,{title:t,value:!0,dialogClass:o,onOpen:c,onClose:r,beforeClose:h,...A}),typeof d.open=="function"&&d.open())}else{if(!p){const g=n.extend(w);p=new g,document.body.appendChild(p.$mount().$el)}p.title=t,p.value=!0,p.dialogClass=o,p.onOpen=c,p.onClose=r,p.beforeClose=h,Object.assign(p,A),typeof p.open=="function"&&p.open()}return p},close(){var t;if(p)if(a){const o=(t=p.$refs)==null?void 0:t.dialog;o&&typeof o.close=="function"&&o.close()}else typeof p.close=="function"&&p.close()}}}C.StreamPlayer=Q,C.StreamPlayerControls=B,C.StreamPlayerDialog=w,C.default=re,Object.defineProperties(C,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
2
2
  //# sourceMappingURL=stream-player.umd.cjs.map