hy-rtc-core-v3 3.6.41 → 3.6.43

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.esm.js CHANGED
@@ -1 +1 @@
1
- import e from"mqtt";import t from"long";import*as r from"protobufjs/minimal";import i from"protobufjs/minimal";import{v4 as o}from"uuid";import{Device as n}from"mediasoup-client";import a from"MultiStreamsMixer";const s={encode:(e,t=i.Writer.create())=>(!1!==e.value&&t.uint32(8).bool(e.value),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={value:!1};r.pos<o;){var a=r.uint32();if(a>>>3!=1||8!==a){if(4==(7&a)||0===a)break;r.skipType(7&a)}else n.value=r.bool()}return n},fromJSON:e=>({value:!!l(e.value)&&globalThis.Boolean(e.value)}),toJSON(e){var t={};return!1!==e.value&&(t.value=e.value),t},create:e=>s.fromPartial(null!=e?e:{}),fromPartial(e){var t={value:!1};return t.value=null!=(e=e.value)&&e,t}};const c={encode:(e,t=i.Writer.create())=>(""!==e.value&&t.uint32(10).string(e.value),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={value:""};r.pos<o;){var a=r.uint32();if(a>>>3!=1||10!==a){if(4==(7&a)||0===a)break;r.skipType(7&a)}else n.value=r.string()}return n},fromJSON:e=>({value:l(e.value)?globalThis.String(e.value):""}),toJSON(e){var t={};return""!==e.value&&(t.value=e.value),t},create:e=>c.fromPartial(null!=e?e:{}),fromPartial(e){var t={value:""};return t.value=null!=(e=e.value)?e:"",t}};function l(e){return null!=e}var d,u,m,p,h,v,g,f,I,y,k,T,b,E,R,C,P,S,M,w,O;function N(e){switch(e){case 0:case"Opus":return d.Opus;case 1:case"MultiChannelOpus":return d.MultiChannelOpus;case 2:case"Pcmu":return d.Pcmu;case 3:case"Pcma":return d.Pcma;case 4:case"Isac":return d.Isac;case 5:case"G722":return d.G722;case 6:case"Ilbc":return d.Ilbc;case 7:case"Silk":return d.Silk;case 8:case"Cn":return d.Cn;case 9:case"TelephoneEvent":return d.TelephoneEvent;case 10:case"ARtx":return d.ARtx;case 11:case"ARed":return d.ARed;case 100:case"Vp8":return d.Vp8;case 101:case"Vp9":return d.Vp9;case 102:case"H264":return d.H264;case 103:case"H264Svc":return d.H264Svc;case 104:case"H265":return d.H265;case 105:case"VRtx":return d.VRtx;case 106:case"VRed":return d.VRed;case 107:case"Ulpfec":return d.Ulpfec;default:return d.UNRECOGNIZED}}function x(e){switch(e){case d.Opus:return"Opus";case d.MultiChannelOpus:return"MultiChannelOpus";case d.Pcmu:return"Pcmu";case d.Pcma:return"Pcma";case d.Isac:return"Isac";case d.G722:return"G722";case d.Ilbc:return"Ilbc";case d.Silk:return"Silk";case d.Cn:return"Cn";case d.TelephoneEvent:return"TelephoneEvent";case d.ARtx:return"ARtx";case d.ARed:return"ARed";case d.Vp8:return"Vp8";case d.Vp9:return"Vp9";case d.H264:return"H264";case d.H264Svc:return"H264Svc";case d.H265:return"H265";case d.VRtx:return"VRtx";case d.VRed:return"VRed";case d.Ulpfec:return"Ulpfec";default:return d.UNRECOGNIZED,"UNRECOGNIZED"}}function D(e){switch(e){case 0:case"Audio":return u.Audio;case 1:case"Video":return u.Video;default:return u.UNRECOGNIZED}}function A(e){switch(e){case u.Audio:return"Audio";case u.Video:return"Video";default:return u.UNRECOGNIZED,"UNRECOGNIZED"}}function B(e){switch(e){case 0:case"Nack":return m.Nack;case 1:case"NackPli":return m.NackPli;case 2:case"CcmFir":return m.CcmFir;case 3:case"GoogRemb":return m.GoogRemb;case 4:case"TransportCc":return m.TransportCc;default:return m.UNRECOGNIZED}}function V(e){switch(e){case m.Nack:return"Nack";case m.NackPli:return"NackPli";case m.CcmFir:return"CcmFir";case m.GoogRemb:return"GoogRemb";case m.TransportCc:return"TransportCc";default:return m.UNRECOGNIZED,"UNRECOGNIZED"}}function L(e){switch(e){case 0:case"Mid":return p.Mid;case 1:case"RtpStreamId":return p.RtpStreamId;case 2:case"RepairRtpStreamId":return p.RepairRtpStreamId;case 3:case"FrameMarkingDraft07":return p.FrameMarkingDraft07;case 4:case"FrameMarking":return p.FrameMarking;case 5:case"AudioLevel":return p.AudioLevel;case 6:case"VideoOrientation":return p.VideoOrientation;case 7:case"TimeOffset":return p.TimeOffset;case 8:case"TransportWideCcDraft01":return p.TransportWideCcDraft01;case 9:case"AbsSendTime":return p.AbsSendTime;case 10:case"AbsCaptureTime":return p.AbsCaptureTime;case 11:case"PlayoutDelay":return p.PlayoutDelay;default:return p.UNRECOGNIZED}}function J(e){switch(e){case p.Mid:return"Mid";case p.RtpStreamId:return"RtpStreamId";case p.RepairRtpStreamId:return"RepairRtpStreamId";case p.FrameMarkingDraft07:return"FrameMarkingDraft07";case p.FrameMarking:return"FrameMarking";case p.AudioLevel:return"AudioLevel";case p.VideoOrientation:return"VideoOrientation";case p.TimeOffset:return"TimeOffset";case p.TransportWideCcDraft01:return"TransportWideCcDraft01";case p.AbsSendTime:return"AbsSendTime";case p.AbsCaptureTime:return"AbsCaptureTime";case p.PlayoutDelay:return"PlayoutDelay";default:return p.UNRECOGNIZED,"UNRECOGNIZED"}}function G(e){switch(e){case 0:case"SendRecv":return h.SendRecv;case 1:case"SendOnly":return h.SendOnly;case 2:case"RecvOnly":return h.RecvOnly;case 3:case"Inactive":return h.Inactive;default:return h.UNRECOGNIZED}}function U(e){switch(e){case 0:case"Auto":return v.Auto;case 1:case"Client":return v.Client;case 2:case"Server":return v.Server;default:return v.UNRECOGNIZED}}function F(e){switch(e){case 0:case"Tcp":return g.Tcp;case 1:case"Udp":return g.Udp;default:return g.UNRECOGNIZED}}function W(e){switch(e){case 0:case"Host":return f.Host;case 1:case"Srflx":return f.Srflx;case 2:case"Prflx":return f.Prflx;case 3:case"Relay":return f.Relay;default:return f.UNRECOGNIZED}}i.util.Long!==t&&(i.util.Long=t,i.configure()),(O=d=d||{})[O.Opus=0]="Opus",O[O.MultiChannelOpus=1]="MultiChannelOpus",O[O.Pcmu=2]="Pcmu",O[O.Pcma=3]="Pcma",O[O.Isac=4]="Isac",O[O.G722=5]="G722",O[O.Ilbc=6]="Ilbc",O[O.Silk=7]="Silk",O[O.Cn=8]="Cn",O[O.TelephoneEvent=9]="TelephoneEvent",O[O.ARtx=10]="ARtx",O[O.ARed=11]="ARed",O[O.Vp8=100]="Vp8",O[O.Vp9=101]="Vp9",O[O.H264=102]="H264",O[O.H264Svc=103]="H264Svc",O[O.H265=104]="H265",O[O.VRtx=105]="VRtx",O[O.VRed=106]="VRed",O[O.Ulpfec=107]="Ulpfec",O[O.UNRECOGNIZED=-1]="UNRECOGNIZED",function(e){e[e.Audio=0]="Audio",e[e.Video=1]="Video",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(u=u||{}),function(e){e[e.Nack=0]="Nack",e[e.NackPli=1]="NackPli",e[e.CcmFir=2]="CcmFir",e[e.GoogRemb=3]="GoogRemb",e[e.TransportCc=4]="TransportCc",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(m=m||{}),function(e){e[e.Mid=0]="Mid",e[e.RtpStreamId=1]="RtpStreamId",e[e.RepairRtpStreamId=2]="RepairRtpStreamId",e[e.FrameMarkingDraft07=3]="FrameMarkingDraft07",e[e.FrameMarking=4]="FrameMarking",e[e.AudioLevel=5]="AudioLevel",e[e.VideoOrientation=6]="VideoOrientation",e[e.TimeOffset=7]="TimeOffset",e[e.TransportWideCcDraft01=8]="TransportWideCcDraft01",e[e.AbsSendTime=9]="AbsSendTime",e[e.AbsCaptureTime=10]="AbsCaptureTime",e[e.PlayoutDelay=11]="PlayoutDelay",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(p=p||{}),function(e){e[e.SendRecv=0]="SendRecv",e[e.SendOnly=1]="SendOnly",e[e.RecvOnly=2]="RecvOnly",e[e.Inactive=3]="Inactive",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(h=h||{}),function(e){e[e.Auto=0]="Auto",e[e.Client=1]="Client",e[e.Server=2]="Server",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(v=v||{}),function(e){e[e.Tcp=0]="Tcp",e[e.Udp=1]="Udp",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(g=g||{}),function(e){e[e.Host=0]="Host",e[e.Srflx=1]="Srflx",e[e.Prflx=2]="Prflx",e[e.Relay=3]="Relay",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(f=f||{});const q={encode(e,t=i.Writer.create()){for(const r of e.codecs)$.encode(r,t.uint32(10).fork()).ldelim();for(const r of e.headerExtensions)H.encode(r,t.uint32(18).fork()).ldelim();return t},decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={codecs:[],headerExtensions:[]};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.codecs.push($.decode(r,r.uint32()));continue;case 2:if(18===a){n.headerExtensions.push(H.decode(r,r.uint32()));continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({codecs:globalThis.Array.isArray(null==e?void 0:e.codecs)?e.codecs.map((e=>$.fromJSON(e))):[],headerExtensions:globalThis.Array.isArray(null==e?void 0:e.headerExtensions)?e.headerExtensions.map((e=>H.fromJSON(e))):[]}),toJSON(e){var t,r={};return null!=(t=e.codecs)&&t.length&&(r.codecs=e.codecs.map((e=>$.toJSON(e)))),null!=(t=e.headerExtensions)&&t.length&&(r.headerExtensions=e.headerExtensions.map((e=>H.toJSON(e)))),r},create:e=>q.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={codecs:[],headerExtensions:[]};return r.codecs=(null==(t=e.codecs)?void 0:t.map((e=>$.fromPartial(e))))||[],r.headerExtensions=(null==(t=e.headerExtensions)?void 0:t.map((e=>H.fromPartial(e))))||[],r}};const $={encode(e,t=i.Writer.create()){0!==e.mimeType&&t.uint32(8).int32(e.mimeType),0!==e.kind&&t.uint32(16).int32(e.kind),0!==e.preferredPayloadType&&t.uint32(24).uint32(e.preferredPayloadType),0!==e.clockRate&&t.uint32(32).uint32(e.clockRate),void 0!==e.channels&&t.uint32(40).uint32(e.channels);for(const r of e.parameters)j.encode(r,t.uint32(50).fork()).ldelim();t.uint32(58).fork();for(const r of e.rtcpFeedback)t.int32(r);return t.ldelim(),t},decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={mimeType:0,kind:0,preferredPayloadType:0,clockRate:0,channels:void 0,parameters:[],rtcpFeedback:[]};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(8!==a)break;n.mimeType=r.int32();continue;case 2:if(16!==a)break;n.kind=r.int32();continue;case 3:if(24!==a)break;n.preferredPayloadType=r.uint32();continue;case 4:if(32!==a)break;n.clockRate=r.uint32();continue;case 5:if(40!==a)break;n.channels=r.uint32();continue;case 6:if(50!==a)break;n.parameters.push(j.decode(r,r.uint32()));continue;case 7:if(56===a){n.rtcpFeedback.push(r.int32());continue}if(58===a){for(var s=r.uint32()+r.pos;r.pos<s;)n.rtcpFeedback.push(r.int32());continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({mimeType:ie(e.mimeType)?N(e.mimeType):0,kind:ie(e.kind)?D(e.kind):0,preferredPayloadType:ie(e.preferredPayloadType)?globalThis.Number(e.preferredPayloadType):0,clockRate:ie(e.clockRate)?globalThis.Number(e.clockRate):0,channels:ie(e.channels)?globalThis.Number(e.channels):void 0,parameters:globalThis.Array.isArray(null==e?void 0:e.parameters)?e.parameters.map((e=>j.fromJSON(e))):[],rtcpFeedback:globalThis.Array.isArray(null==e?void 0:e.rtcpFeedback)?e.rtcpFeedback.map((e=>B(e))):[]}),toJSON(e){var t,r={};return 0!==e.mimeType&&(r.mimeType=x(e.mimeType)),0!==e.kind&&(r.kind=A(e.kind)),0!==e.preferredPayloadType&&(r.preferredPayloadType=Math.round(e.preferredPayloadType)),0!==e.clockRate&&(r.clockRate=Math.round(e.clockRate)),void 0!==e.channels&&(r.channels=Math.round(e.channels)),null!=(t=e.parameters)&&t.length&&(r.parameters=e.parameters.map((e=>j.toJSON(e)))),null!=(t=e.rtcpFeedback)&&t.length&&(r.rtcpFeedback=e.rtcpFeedback.map((e=>V(e)))),r},create:e=>$.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={mimeType:0,kind:0,preferredPayloadType:0,clockRate:0,channels:void 0,parameters:[],rtcpFeedback:[]};return r.mimeType=null!=(t=e.mimeType)?t:0,r.kind=null!=(t=e.kind)?t:0,r.preferredPayloadType=null!=(t=e.preferredPayloadType)?t:0,r.clockRate=null!=(t=e.clockRate)?t:0,r.channels=null!=(t=e.channels)?t:void 0,r.parameters=(null==(t=e.parameters)?void 0:t.map((e=>j.fromPartial(e))))||[],r.rtcpFeedback=(null==(t=e.rtcpFeedback)?void 0:t.map((e=>e)))||[],r}};const H={encode:(e,t=i.Writer.create())=>(0!==e.kind&&t.uint32(8).int32(e.kind),0!==e.uri&&t.uint32(16).int32(e.uri),0!==e.preferredId&&t.uint32(24).uint32(e.preferredId),!1!==e.preferredEncrypt&&t.uint32(32).bool(e.preferredEncrypt),0!==e.direction&&t.uint32(40).int32(e.direction),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={kind:0,uri:0,preferredId:0,preferredEncrypt:!1,direction:0};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(8!==a)break;n.kind=r.int32();continue;case 2:if(16!==a)break;n.uri=r.int32();continue;case 3:if(24!==a)break;n.preferredId=r.uint32();continue;case 4:if(32!==a)break;n.preferredEncrypt=r.bool();continue;case 5:if(40===a){n.direction=r.int32();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({kind:ie(e.kind)?D(e.kind):0,uri:ie(e.uri)?L(e.uri):0,preferredId:ie(e.preferredId)?globalThis.Number(e.preferredId):0,preferredEncrypt:!!ie(e.preferredEncrypt)&&globalThis.Boolean(e.preferredEncrypt),direction:ie(e.direction)?G(e.direction):0}),toJSON(e){var t={};return 0!==e.kind&&(t.kind=A(e.kind)),0!==e.uri&&(t.uri=J(e.uri)),0!==e.preferredId&&(t.preferredId=Math.round(e.preferredId)),!1!==e.preferredEncrypt&&(t.preferredEncrypt=e.preferredEncrypt),0!==e.direction&&(t.direction=function(e){switch(e){case h.SendRecv:return"SendRecv";case h.SendOnly:return"SendOnly";case h.RecvOnly:return"RecvOnly";case h.Inactive:return"Inactive";default:return h.UNRECOGNIZED,"UNRECOGNIZED"}}(e.direction)),t},create:e=>H.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={kind:0,uri:0,preferredId:0,preferredEncrypt:!1,direction:0};return r.kind=null!=(t=e.kind)?t:0,r.uri=null!=(t=e.uri)?t:0,r.preferredId=null!=(t=e.preferredId)?t:0,r.preferredEncrypt=null!=(t=e.preferredEncrypt)&&t,r.direction=null!=(t=e.direction)?t:0,r}};const j={encode:(e,t=i.Writer.create())=>(""!==e.name&&t.uint32(10).string(e.name),void 0!==e.strValue&&t.uint32(18).string(e.strValue),void 0!==e.numValue&&t.uint32(24).uint32(e.numValue),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={name:"",strValue:void 0,numValue:void 0};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.name=r.string();continue;case 2:if(18!==a)break;n.strValue=r.string();continue;case 3:if(24===a){n.numValue=r.uint32();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({name:ie(e.name)?globalThis.String(e.name):"",strValue:ie(e.strValue)?globalThis.String(e.strValue):void 0,numValue:ie(e.numValue)?globalThis.Number(e.numValue):void 0}),toJSON(e){var t={};return""!==e.name&&(t.name=e.name),void 0!==e.strValue&&(t.strValue=e.strValue),void 0!==e.numValue&&(t.numValue=Math.round(e.numValue)),t},create:e=>j.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={name:"",strValue:void 0,numValue:void 0};return r.name=null!=(t=e.name)?t:"",r.strValue=null!=(t=e.strValue)?t:void 0,r.numValue=null!=(t=e.numValue)?t:void 0,r}};const Z={encode(e,t=i.Writer.create()){0!==e.role&&t.uint32(8).int32(e.role);for(const r of e.fingerprints)_.encode(r,t.uint32(18).fork()).ldelim();return t},decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={role:0,fingerprints:[]};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(8!==a)break;n.role=r.int32();continue;case 2:if(18===a){n.fingerprints.push(_.decode(r,r.uint32()));continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({role:ie(e.role)?U(e.role):0,fingerprints:globalThis.Array.isArray(null==e?void 0:e.fingerprints)?e.fingerprints.map((e=>_.fromJSON(e))):[]}),toJSON(e){var t,r={};return 0!==e.role&&(r.role=function(e){switch(e){case v.Auto:return"Auto";case v.Client:return"Client";case v.Server:return"Server";default:return v.UNRECOGNIZED,"UNRECOGNIZED"}}(e.role)),null!=(t=e.fingerprints)&&t.length&&(r.fingerprints=e.fingerprints.map((e=>_.toJSON(e)))),r},create:e=>Z.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={role:0,fingerprints:[]};return r.role=null!=(t=e.role)?t:0,r.fingerprints=(null==(t=e.fingerprints)?void 0:t.map((e=>_.fromPartial(e))))||[],r}};const _={encode:(e,t=i.Writer.create())=>(""!==e.algorithm&&t.uint32(10).string(e.algorithm),""!==e.value&&t.uint32(18).string(e.value),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={algorithm:"",value:""};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.algorithm=r.string();continue;case 2:if(18===a){n.value=r.string();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({algorithm:ie(e.algorithm)?globalThis.String(e.algorithm):"",value:ie(e.value)?globalThis.String(e.value):""}),toJSON(e){var t={};return""!==e.algorithm&&(t.algorithm=e.algorithm),""!==e.value&&(t.value=e.value),t},create:e=>_.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={algorithm:"",value:""};return r.algorithm=null!=(t=e.algorithm)?t:"",r.value=null!=(t=e.value)?t:"",r}};const z={encode:(e,t=i.Writer.create())=>(""!==e.foundation&&t.uint32(10).string(e.foundation),0!==e.priority&&t.uint32(16).uint32(e.priority),""!==e.address&&t.uint32(26).string(e.address),0!==e.protocol&&t.uint32(32).int32(e.protocol),0!==e.port&&t.uint32(40).uint32(e.port),0!==e.type&&t.uint32(48).int32(e.type),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={foundation:"",priority:0,address:"",protocol:0,port:0,type:0};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.foundation=r.string();continue;case 2:if(16!==a)break;n.priority=r.uint32();continue;case 3:if(26!==a)break;n.address=r.string();continue;case 4:if(32!==a)break;n.protocol=r.int32();continue;case 5:if(40!==a)break;n.port=r.uint32();continue;case 6:if(48===a){n.type=r.int32();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({foundation:ie(e.foundation)?globalThis.String(e.foundation):"",priority:ie(e.priority)?globalThis.Number(e.priority):0,address:ie(e.address)?globalThis.String(e.address):"",protocol:ie(e.protocol)?F(e.protocol):0,port:ie(e.port)?globalThis.Number(e.port):0,type:ie(e.type)?W(e.type):0}),toJSON(e){var t={};return""!==e.foundation&&(t.foundation=e.foundation),0!==e.priority&&(t.priority=Math.round(e.priority)),""!==e.address&&(t.address=e.address),0!==e.protocol&&(t.protocol=function(e){switch(e){case g.Tcp:return"Tcp";case g.Udp:return"Udp";default:return g.UNRECOGNIZED,"UNRECOGNIZED"}}(e.protocol)),0!==e.port&&(t.port=Math.round(e.port)),0!==e.type&&(t.type=function(e){switch(e){case f.Host:return"Host";case f.Srflx:return"Srflx";case f.Prflx:return"Prflx";case f.Relay:return"Relay";default:return f.UNRECOGNIZED,"UNRECOGNIZED"}}(e.type)),t},create:e=>z.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={foundation:"",priority:0,address:"",protocol:0,port:0,type:0};return r.foundation=null!=(t=e.foundation)?t:"",r.priority=null!=(t=e.priority)?t:0,r.address=null!=(t=e.address)?t:"",r.protocol=null!=(t=e.protocol)?t:0,r.port=null!=(t=e.port)?t:0,r.type=null!=(t=e.type)?t:0,r}};const K={encode:(e,t=i.Writer.create())=>(""!==e.usernameFragment&&t.uint32(10).string(e.usernameFragment),""!==e.password&&t.uint32(18).string(e.password),void 0!==e.iceLite&&t.uint32(24).bool(e.iceLite),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={usernameFragment:"",password:"",iceLite:void 0};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.usernameFragment=r.string();continue;case 2:if(18!==a)break;n.password=r.string();continue;case 3:if(24===a){n.iceLite=r.bool();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({usernameFragment:ie(e.usernameFragment)?globalThis.String(e.usernameFragment):"",password:ie(e.password)?globalThis.String(e.password):"",iceLite:ie(e.iceLite)?globalThis.Boolean(e.iceLite):void 0}),toJSON(e){var t={};return""!==e.usernameFragment&&(t.usernameFragment=e.usernameFragment),""!==e.password&&(t.password=e.password),void 0!==e.iceLite&&(t.iceLite=e.iceLite),t},create:e=>K.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={usernameFragment:"",password:"",iceLite:void 0};return r.usernameFragment=null!=(t=e.usernameFragment)?t:"",r.password=null!=(t=e.password)?t:"",r.iceLite=null!=(t=e.iceLite)?t:void 0,r}};const Q={encode(e,t=i.Writer.create()){void 0!==e.mid&&t.uint32(10).string(e.mid);for(const r of e.codecs)X.encode(r,t.uint32(18).fork()).ldelim();for(const r of e.headerExtensions)Y.encode(r,t.uint32(26).fork()).ldelim();for(const r of e.encodings)ee.encode(r,t.uint32(34).fork()).ldelim();return void 0!==e.rtcp&&re.encode(e.rtcp,t.uint32(42).fork()).ldelim(),t},decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={mid:void 0,codecs:[],headerExtensions:[],encodings:[],rtcp:void 0};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.mid=r.string();continue;case 2:if(18!==a)break;n.codecs.push(X.decode(r,r.uint32()));continue;case 3:if(26!==a)break;n.headerExtensions.push(Y.decode(r,r.uint32()));continue;case 4:if(34!==a)break;n.encodings.push(ee.decode(r,r.uint32()));continue;case 5:if(42===a){n.rtcp=re.decode(r,r.uint32());continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({mid:ie(e.mid)?globalThis.String(e.mid):void 0,codecs:globalThis.Array.isArray(null==e?void 0:e.codecs)?e.codecs.map((e=>X.fromJSON(e))):[],headerExtensions:globalThis.Array.isArray(null==e?void 0:e.headerExtensions)?e.headerExtensions.map((e=>Y.fromJSON(e))):[],encodings:globalThis.Array.isArray(null==e?void 0:e.encodings)?e.encodings.map((e=>ee.fromJSON(e))):[],rtcp:ie(e.rtcp)?re.fromJSON(e.rtcp):void 0}),toJSON(e){var t,r={};return void 0!==e.mid&&(r.mid=e.mid),null!=(t=e.codecs)&&t.length&&(r.codecs=e.codecs.map((e=>X.toJSON(e)))),null!=(t=e.headerExtensions)&&t.length&&(r.headerExtensions=e.headerExtensions.map((e=>Y.toJSON(e)))),null!=(t=e.encodings)&&t.length&&(r.encodings=e.encodings.map((e=>ee.toJSON(e)))),void 0!==e.rtcp&&(r.rtcp=re.toJSON(e.rtcp)),r},create:e=>Q.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={mid:void 0,codecs:[],headerExtensions:[],encodings:[],rtcp:void 0};return r.mid=null!=(t=e.mid)?t:void 0,r.codecs=(null==(t=e.codecs)?void 0:t.map((e=>X.fromPartial(e))))||[],r.headerExtensions=(null==(t=e.headerExtensions)?void 0:t.map((e=>Y.fromPartial(e))))||[],r.encodings=(null==(t=e.encodings)?void 0:t.map((e=>ee.fromPartial(e))))||[],r.rtcp=void 0!==e.rtcp&&null!==e.rtcp?re.fromPartial(e.rtcp):void 0,r}};const X={encode(e,t=i.Writer.create()){0!==e.mimeType&&t.uint32(8).int32(e.mimeType),0!==e.payloadType&&t.uint32(16).uint32(e.payloadType),0!==e.clockRate&&t.uint32(24).uint32(e.clockRate),void 0!==e.channels&&t.uint32(32).uint32(e.channels);for(const r of e.parameters)j.encode(r,t.uint32(42).fork()).ldelim();t.uint32(50).fork();for(const r of e.rtcpFeedback)t.int32(r);return t.ldelim(),t},decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={mimeType:0,payloadType:0,clockRate:0,channels:void 0,parameters:[],rtcpFeedback:[]};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(8!==a)break;n.mimeType=r.int32();continue;case 2:if(16!==a)break;n.payloadType=r.uint32();continue;case 3:if(24!==a)break;n.clockRate=r.uint32();continue;case 4:if(32!==a)break;n.channels=r.uint32();continue;case 5:if(42!==a)break;n.parameters.push(j.decode(r,r.uint32()));continue;case 6:if(48===a){n.rtcpFeedback.push(r.int32());continue}if(50===a){for(var s=r.uint32()+r.pos;r.pos<s;)n.rtcpFeedback.push(r.int32());continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({mimeType:ie(e.mimeType)?N(e.mimeType):0,payloadType:ie(e.payloadType)?globalThis.Number(e.payloadType):0,clockRate:ie(e.clockRate)?globalThis.Number(e.clockRate):0,channels:ie(e.channels)?globalThis.Number(e.channels):void 0,parameters:globalThis.Array.isArray(null==e?void 0:e.parameters)?e.parameters.map((e=>j.fromJSON(e))):[],rtcpFeedback:globalThis.Array.isArray(null==e?void 0:e.rtcpFeedback)?e.rtcpFeedback.map((e=>B(e))):[]}),toJSON(e){var t,r={};return 0!==e.mimeType&&(r.mimeType=x(e.mimeType)),0!==e.payloadType&&(r.payloadType=Math.round(e.payloadType)),0!==e.clockRate&&(r.clockRate=Math.round(e.clockRate)),void 0!==e.channels&&(r.channels=Math.round(e.channels)),null!=(t=e.parameters)&&t.length&&(r.parameters=e.parameters.map((e=>j.toJSON(e)))),null!=(t=e.rtcpFeedback)&&t.length&&(r.rtcpFeedback=e.rtcpFeedback.map((e=>V(e)))),r},create:e=>X.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={mimeType:0,payloadType:0,clockRate:0,channels:void 0,parameters:[],rtcpFeedback:[]};return r.mimeType=null!=(t=e.mimeType)?t:0,r.payloadType=null!=(t=e.payloadType)?t:0,r.clockRate=null!=(t=e.clockRate)?t:0,r.channels=null!=(t=e.channels)?t:void 0,r.parameters=(null==(t=e.parameters)?void 0:t.map((e=>j.fromPartial(e))))||[],r.rtcpFeedback=(null==(t=e.rtcpFeedback)?void 0:t.map((e=>e)))||[],r}};const Y={encode:(e,t=i.Writer.create())=>(0!==e.uri&&t.uint32(8).int32(e.uri),0!==e.id&&t.uint32(16).uint32(e.id),!1!==e.encrypt&&t.uint32(24).bool(e.encrypt),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={uri:0,id:0,encrypt:!1};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(8!==a)break;n.uri=r.int32();continue;case 2:if(16!==a)break;n.id=r.uint32();continue;case 3:if(24===a){n.encrypt=r.bool();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({uri:ie(e.uri)?L(e.uri):0,id:ie(e.id)?globalThis.Number(e.id):0,encrypt:!!ie(e.encrypt)&&globalThis.Boolean(e.encrypt)}),toJSON(e){var t={};return 0!==e.uri&&(t.uri=J(e.uri)),0!==e.id&&(t.id=Math.round(e.id)),!1!==e.encrypt&&(t.encrypt=e.encrypt),t},create:e=>Y.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={uri:0,id:0,encrypt:!1};return r.uri=null!=(t=e.uri)?t:0,r.id=null!=(t=e.id)?t:0,r.encrypt=null!=(t=e.encrypt)&&t,r}};const ee={encode:(e,t=i.Writer.create())=>(void 0!==e.ssrc&&t.uint32(8).uint32(e.ssrc),void 0!==e.rid&&t.uint32(18).string(e.rid),void 0!==e.codecPayloadType&&t.uint32(24).uint32(e.codecPayloadType),void 0!==e.rtx&&te.encode(e.rtx,t.uint32(34).fork()).ldelim(),void 0!==e.dtx&&t.uint32(40).bool(e.dtx),void 0!==e.scalabilityMode&&t.uint32(50).string(e.scalabilityMode),void 0!==e.maxBitrate&&t.uint32(56).uint32(e.maxBitrate),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={ssrc:void 0,rid:void 0,codecPayloadType:void 0,rtx:void 0,dtx:void 0,scalabilityMode:void 0,maxBitrate:void 0};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(8!==a)break;n.ssrc=r.uint32();continue;case 2:if(18!==a)break;n.rid=r.string();continue;case 3:if(24!==a)break;n.codecPayloadType=r.uint32();continue;case 4:if(34!==a)break;n.rtx=te.decode(r,r.uint32());continue;case 5:if(40!==a)break;n.dtx=r.bool();continue;case 6:if(50!==a)break;n.scalabilityMode=r.string();continue;case 7:if(56===a){n.maxBitrate=r.uint32();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({ssrc:ie(e.ssrc)?globalThis.Number(e.ssrc):void 0,rid:ie(e.rid)?globalThis.String(e.rid):void 0,codecPayloadType:ie(e.codecPayloadType)?globalThis.Number(e.codecPayloadType):void 0,rtx:ie(e.rtx)?te.fromJSON(e.rtx):void 0,dtx:ie(e.dtx)?globalThis.Boolean(e.dtx):void 0,scalabilityMode:ie(e.scalabilityMode)?globalThis.String(e.scalabilityMode):void 0,maxBitrate:ie(e.maxBitrate)?globalThis.Number(e.maxBitrate):void 0}),toJSON(e){var t={};return void 0!==e.ssrc&&(t.ssrc=Math.round(e.ssrc)),void 0!==e.rid&&(t.rid=e.rid),void 0!==e.codecPayloadType&&(t.codecPayloadType=Math.round(e.codecPayloadType)),void 0!==e.rtx&&(t.rtx=te.toJSON(e.rtx)),void 0!==e.dtx&&(t.dtx=e.dtx),void 0!==e.scalabilityMode&&(t.scalabilityMode=e.scalabilityMode),void 0!==e.maxBitrate&&(t.maxBitrate=Math.round(e.maxBitrate)),t},create:e=>ee.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={ssrc:void 0,rid:void 0,codecPayloadType:void 0,rtx:void 0,dtx:void 0,scalabilityMode:void 0,maxBitrate:void 0};return r.ssrc=null!=(t=e.ssrc)?t:void 0,r.rid=null!=(t=e.rid)?t:void 0,r.codecPayloadType=null!=(t=e.codecPayloadType)?t:void 0,r.rtx=void 0!==e.rtx&&null!==e.rtx?te.fromPartial(e.rtx):void 0,r.dtx=null!=(t=e.dtx)?t:void 0,r.scalabilityMode=null!=(t=e.scalabilityMode)?t:void 0,r.maxBitrate=null!=(t=e.maxBitrate)?t:void 0,r}};const te={encode:(e,t=i.Writer.create())=>(0!==e.ssrc&&t.uint32(8).uint32(e.ssrc),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={ssrc:0};r.pos<o;){var a=r.uint32();if(a>>>3!=1||8!==a){if(4==(7&a)||0===a)break;r.skipType(7&a)}else n.ssrc=r.uint32()}return n},fromJSON:e=>({ssrc:ie(e.ssrc)?globalThis.Number(e.ssrc):0}),toJSON(e){var t={};return 0!==e.ssrc&&(t.ssrc=Math.round(e.ssrc)),t},create:e=>te.fromPartial(null!=e?e:{}),fromPartial(e){var t={ssrc:0};return t.ssrc=null!=(e=e.ssrc)?e:0,t}};const re={encode:(e,t=i.Writer.create())=>(void 0!==e.cname&&t.uint32(10).string(e.cname),!1!==e.reducedSize&&t.uint32(16).bool(e.reducedSize),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={cname:void 0,reducedSize:!1};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.cname=r.string();continue;case 2:if(16===a){n.reducedSize=r.bool();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({cname:ie(e.cname)?globalThis.String(e.cname):void 0,reducedSize:!!ie(e.reducedSize)&&globalThis.Boolean(e.reducedSize)}),toJSON(e){var t={};return void 0!==e.cname&&(t.cname=e.cname),!1!==e.reducedSize&&(t.reducedSize=e.reducedSize),t},create:e=>re.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={cname:void 0,reducedSize:!1};return r.cname=null!=(t=e.cname)?t:void 0,r.reducedSize=null!=(t=e.reducedSize)&&t,r}};function ie(e){return null!=e}const oe={encode:(e,t=i.Writer.create())=>(0!==e.code&&t.uint32(8).uint32(e.code),""!==e.message&&t.uint32(18).string(e.message),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={code:0,message:""};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(8!==a)break;n.code=r.uint32();continue;case 2:if(18===a){n.message=r.string();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({code:me(e.code)?globalThis.Number(e.code):0,message:me(e.message)?globalThis.String(e.message):""}),toJSON(e){var t={};return 0!==e.code&&(t.code=Math.round(e.code)),""!==e.message&&(t.message=e.message),t},create:e=>oe.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={code:0,message:""};return r.code=null!=(t=e.code)?t:0,r.message=null!=(t=e.message)?t:"",r}};const ne={encode:(e,t=i.Writer.create())=>(void 0!==e.consumerTransportOptions&&ae.encode(e.consumerTransportOptions,t.uint32(10).fork()).ldelim(),void 0!==e.producerTransportOptions&&ae.encode(e.producerTransportOptions,t.uint32(18).fork()).ldelim(),void 0!==e.routerRtpCapabilities&&q.encode(e.routerRtpCapabilities,t.uint32(26).fork()).ldelim(),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={consumerTransportOptions:void 0,producerTransportOptions:void 0,routerRtpCapabilities:void 0};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.consumerTransportOptions=ae.decode(r,r.uint32());continue;case 2:if(18!==a)break;n.producerTransportOptions=ae.decode(r,r.uint32());continue;case 3:if(26===a){n.routerRtpCapabilities=q.decode(r,r.uint32());continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({consumerTransportOptions:me(e.consumerTransportOptions)?ae.fromJSON(e.consumerTransportOptions):void 0,producerTransportOptions:me(e.producerTransportOptions)?ae.fromJSON(e.producerTransportOptions):void 0,routerRtpCapabilities:me(e.routerRtpCapabilities)?q.fromJSON(e.routerRtpCapabilities):void 0}),toJSON(e){var t={};return void 0!==e.consumerTransportOptions&&(t.consumerTransportOptions=ae.toJSON(e.consumerTransportOptions)),void 0!==e.producerTransportOptions&&(t.producerTransportOptions=ae.toJSON(e.producerTransportOptions)),void 0!==e.routerRtpCapabilities&&(t.routerRtpCapabilities=q.toJSON(e.routerRtpCapabilities)),t},create:e=>ne.fromPartial(null!=e?e:{}),fromPartial(e){var t={consumerTransportOptions:void 0,producerTransportOptions:void 0,routerRtpCapabilities:void 0};return t.consumerTransportOptions=void 0!==e.consumerTransportOptions&&null!==e.consumerTransportOptions?ae.fromPartial(e.consumerTransportOptions):void 0,t.producerTransportOptions=void 0!==e.producerTransportOptions&&null!==e.producerTransportOptions?ae.fromPartial(e.producerTransportOptions):void 0,t.routerRtpCapabilities=void 0!==e.routerRtpCapabilities&&null!==e.routerRtpCapabilities?q.fromPartial(e.routerRtpCapabilities):void 0,t}};const ae={encode(e,t=i.Writer.create()){""!==e.id&&t.uint32(10).string(e.id),void 0!==e.dtlsParameters&&Z.encode(e.dtlsParameters,t.uint32(18).fork()).ldelim();for(const r of e.iceCandidates)z.encode(r,t.uint32(26).fork()).ldelim();return void 0!==e.iceParameters&&K.encode(e.iceParameters,t.uint32(34).fork()).ldelim(),t},decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={id:"",dtlsParameters:void 0,iceCandidates:[],iceParameters:void 0};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.id=r.string();continue;case 2:if(18!==a)break;n.dtlsParameters=Z.decode(r,r.uint32());continue;case 3:if(26!==a)break;n.iceCandidates.push(z.decode(r,r.uint32()));continue;case 4:if(34===a){n.iceParameters=K.decode(r,r.uint32());continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({id:me(e.id)?globalThis.String(e.id):"",dtlsParameters:me(e.dtlsParameters)?Z.fromJSON(e.dtlsParameters):void 0,iceCandidates:globalThis.Array.isArray(null==e?void 0:e.iceCandidates)?e.iceCandidates.map((e=>z.fromJSON(e))):[],iceParameters:me(e.iceParameters)?K.fromJSON(e.iceParameters):void 0}),toJSON(e){var t,r={};return""!==e.id&&(r.id=e.id),void 0!==e.dtlsParameters&&(r.dtlsParameters=Z.toJSON(e.dtlsParameters)),null!=(t=e.iceCandidates)&&t.length&&(r.iceCandidates=e.iceCandidates.map((e=>z.toJSON(e)))),void 0!==e.iceParameters&&(r.iceParameters=K.toJSON(e.iceParameters)),r},create:e=>ae.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={id:"",dtlsParameters:void 0,iceCandidates:[],iceParameters:void 0};return r.id=null!=(t=e.id)?t:"",r.dtlsParameters=void 0!==e.dtlsParameters&&null!==e.dtlsParameters?Z.fromPartial(e.dtlsParameters):void 0,r.iceCandidates=(null==(t=e.iceCandidates)?void 0:t.map((e=>z.fromPartial(e))))||[],r.iceParameters=void 0!==e.iceParameters&&null!==e.iceParameters?K.fromPartial(e.iceParameters):void 0,r}};const se={encode:(e,t=i.Writer.create())=>(""!==e.clientId&&t.uint32(10).string(e.clientId),""!==e.producerId&&t.uint32(18).string(e.producerId),""!==e.consumerId&&t.uint32(26).string(e.consumerId),0!==e.kind&&t.uint32(32).int32(e.kind),void 0!==e.rtpParameters&&Q.encode(e.rtpParameters,t.uint32(42).fork()).ldelim(),!1!==e.producerPaused&&t.uint32(48).bool(e.producerPaused),void 0!==e.speaker&&le.encode(e.speaker,t.uint32(58).fork()).ldelim(),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={clientId:"",producerId:"",consumerId:"",kind:0,rtpParameters:void 0,producerPaused:!1,speaker:void 0};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.clientId=r.string();continue;case 2:if(18!==a)break;n.producerId=r.string();continue;case 3:if(26!==a)break;n.consumerId=r.string();continue;case 4:if(32!==a)break;n.kind=r.int32();continue;case 5:if(42!==a)break;n.rtpParameters=Q.decode(r,r.uint32());continue;case 6:if(48!==a)break;n.producerPaused=r.bool();continue;case 7:if(58===a){n.speaker=le.decode(r,r.uint32());continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({clientId:me(e.clientId)?globalThis.String(e.clientId):"",producerId:me(e.producerId)?globalThis.String(e.producerId):"",consumerId:me(e.consumerId)?globalThis.String(e.consumerId):"",kind:me(e.kind)?D(e.kind):0,rtpParameters:me(e.rtpParameters)?Q.fromJSON(e.rtpParameters):void 0,producerPaused:!!me(e.producerPaused)&&globalThis.Boolean(e.producerPaused),speaker:me(e.speaker)?le.fromJSON(e.speaker):void 0}),toJSON(e){var t={};return""!==e.clientId&&(t.clientId=e.clientId),""!==e.producerId&&(t.producerId=e.producerId),""!==e.consumerId&&(t.consumerId=e.consumerId),0!==e.kind&&(t.kind=A(e.kind)),void 0!==e.rtpParameters&&(t.rtpParameters=Q.toJSON(e.rtpParameters)),!1!==e.producerPaused&&(t.producerPaused=e.producerPaused),void 0!==e.speaker&&(t.speaker=le.toJSON(e.speaker)),t},create:e=>se.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={clientId:"",producerId:"",consumerId:"",kind:0,rtpParameters:void 0,producerPaused:!1,speaker:void 0};return r.clientId=null!=(t=e.clientId)?t:"",r.producerId=null!=(t=e.producerId)?t:"",r.consumerId=null!=(t=e.consumerId)?t:"",r.kind=null!=(t=e.kind)?t:0,r.rtpParameters=void 0!==e.rtpParameters&&null!==e.rtpParameters?Q.fromPartial(e.rtpParameters):void 0,r.producerPaused=null!=(t=e.producerPaused)&&t,r.speaker=void 0!==e.speaker&&null!==e.speaker?le.fromPartial(e.speaker):void 0,r}};const ce={encode:(e,t=i.Writer.create())=>(""!==e.clientId&&t.uint32(10).string(e.clientId),""!==e.consumerId&&t.uint32(18).string(e.consumerId),void 0!==e.speaker&&le.encode(e.speaker,t.uint32(26).fork()).ldelim(),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={clientId:"",consumerId:"",speaker:void 0};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.clientId=r.string();continue;case 2:if(18!==a)break;n.consumerId=r.string();continue;case 3:if(26===a){n.speaker=le.decode(r,r.uint32());continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({clientId:me(e.clientId)?globalThis.String(e.clientId):"",consumerId:me(e.consumerId)?globalThis.String(e.consumerId):"",speaker:me(e.speaker)?le.fromJSON(e.speaker):void 0}),toJSON(e){var t={};return""!==e.clientId&&(t.clientId=e.clientId),""!==e.consumerId&&(t.consumerId=e.consumerId),void 0!==e.speaker&&(t.speaker=le.toJSON(e.speaker)),t},create:e=>ce.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={clientId:"",consumerId:"",speaker:void 0};return r.clientId=null!=(t=e.clientId)?t:"",r.consumerId=null!=(t=e.consumerId)?t:"",r.speaker=void 0!==e.speaker&&null!==e.speaker?le.fromPartial(e.speaker):void 0,r}};const le={encode:(e,t=i.Writer.create())=>(0!==e.seq&&t.uint32(8).uint32(e.seq),""!==e.clientId&&t.uint32(18).string(e.clientId),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={seq:0,clientId:""};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(8!==a)break;n.seq=r.uint32();continue;case 2:if(18===a){n.clientId=r.string();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({seq:me(e.seq)?globalThis.Number(e.seq):0,clientId:me(e.clientId)?globalThis.String(e.clientId):""}),toJSON(e){var t={};return 0!==e.seq&&(t.seq=Math.round(e.seq)),""!==e.clientId&&(t.clientId=e.clientId),t},create:e=>le.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={seq:0,clientId:""};return r.seq=null!=(t=e.seq)?t:0,r.clientId=null!=(t=e.clientId)?t:"",r}};const de={encode:(e,t=i.Writer.create())=>(""!==e.token&&t.uint32(10).string(e.token),!1!==e.forceTcp&&t.uint32(16).bool(e.forceTcp),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={token:"",forceTcp:!1};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.token=r.string();continue;case 2:if(16===a){n.forceTcp=r.bool();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({token:me(e.token)?globalThis.String(e.token):"",forceTcp:!!me(e.forceTcp)&&globalThis.Boolean(e.forceTcp)}),toJSON(e){var t={};return""!==e.token&&(t.token=e.token),!1!==e.forceTcp&&(t.forceTcp=e.forceTcp),t},create:e=>de.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={token:"",forceTcp:!1};return r.token=null!=(t=e.token)?t:"",r.forceTcp=null!=(t=e.forceTcp)&&t,r}};const ue={encode:(e,t=i.Writer.create())=>(""!==e.tag&&t.uint32(10).string(e.tag),0!==e.kind&&t.uint32(16).int32(e.kind),void 0!==e.rtpParameters&&Q.encode(e.rtpParameters,t.uint32(26).fork()).ldelim(),!1!==e.paused&&t.uint32(32).bool(e.paused),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={tag:"",kind:0,rtpParameters:void 0,paused:!1};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.tag=r.string();continue;case 2:if(16!==a)break;n.kind=r.int32();continue;case 3:if(26!==a)break;n.rtpParameters=Q.decode(r,r.uint32());continue;case 4:if(32===a){n.paused=r.bool();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({tag:me(e.tag)?globalThis.String(e.tag):"",kind:me(e.kind)?D(e.kind):0,rtpParameters:me(e.rtpParameters)?Q.fromJSON(e.rtpParameters):void 0,paused:!!me(e.paused)&&globalThis.Boolean(e.paused)}),toJSON(e){var t={};return""!==e.tag&&(t.tag=e.tag),0!==e.kind&&(t.kind=A(e.kind)),void 0!==e.rtpParameters&&(t.rtpParameters=Q.toJSON(e.rtpParameters)),!1!==e.paused&&(t.paused=e.paused),t},create:e=>ue.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={tag:"",kind:0,rtpParameters:void 0,paused:!1};return r.tag=null!=(t=e.tag)?t:"",r.kind=null!=(t=e.kind)?t:0,r.rtpParameters=void 0!==e.rtpParameters&&null!==e.rtpParameters?Q.fromPartial(e.rtpParameters):void 0,r.paused=null!=(t=e.paused)&&t,r}};function me(e){return null!=e}const pe=["audioCall","videoCall"];function he(e,t,r){var{clientId:r,event:i,roomId:o,kind:n}=r;t=`client/${t}/mediaapp/${o}/${pe[n]}Event`;e.emit("send",{topic:t,messageType:"AudioCallEvent",message:{clientId:r,event:i},options:{noResponse:!0}})}function ve(e,t,r){return new Promise(((i,o)=>{const{roomId:n,producerId:a}=r;e.emit("send",{topic:`client/${t}/media/${n}/producerResume`,messageType:"StringValue",message:{value:a},responseMessageType:"Empty",callback:({messageContent:e,code:t})=>{t?o({code:4202,msg:e.message}):(console.log("consumerResume success"),i({producerId:a}))}})}))}function ge(e,t,r){return new Promise(((i,o)=>{const{roomId:n,producerId:a}=r;e.emit("send",{topic:`client/${t}/media/${n}/producerPause`,messageType:"StringValue",message:{value:a},responseMessageType:"Empty",callback:()=>{console.log("consumerResume success"),i({producerId:a})}})}))}function fe(e){switch(e){case d.Opus:return"audio/opus";case d.MultiChannelOpus:return"audio/multiopus";case d.Pcmu:return"audio/PCMU";case d.Pcma:return"audio/PCMA";case d.Isac:return"audio/ISAC";case d.G722:return"audio/G722";case d.Ilbc:return"audio/iLBC";case d.Silk:return"audio/SILK";case d.Cn:return"audio/CN";case d.TelephoneEvent:return"audio/telephone-event";case d.ARtx:return"audio/rtx";case d.ARed:return"audio/red";case d.Vp8:return"video/VP8";case d.Vp9:return"video/VP9";case d.H264:return"video/H264";case d.H264Svc:return"video/H264-SVC";case d.H265:return"video/H265";case d.VRtx:return"video/rtx";case d.VRed:return"video/red";case d.Ulpfec:return"video/ulpfec";default:return}}function Ie(e){switch(e){case"audio/opus":return d.Opus;case"audio/multiopus":return d.MultiChannelOpus;case"audio/PCMU":return d.Pcmu;case"audio/PCMA":return d.Pcma;case"audio/ISAC":return d.Isac;case"audio/G722":return d.G722;case"audio/iLBC":return d.Ilbc;case"audio/SILK":return d.Silk;case"audio/CN":return d.Cn;case"audio/telephone-event":return d.TelephoneEvent;case"audio/rtx":return d.ARtx;case"audio/red":return d.ARed;case"video/VP8":return d.Vp8;case"video/VP9":return d.Vp9;case"video/H264":return d.H264;case"video/H264-SVC":return d.H264Svc;case"video/H265":return d.H265;case"video/rtx":return d.VRtx;case"video/red":return d.VRed;case"video/ulpfec":return d.Ulpfec;default:return d.UNRECOGNIZED}}function ye(e){switch(e){case d.Opus:return"audio/opus";case d.MultiChannelOpus:return"audio/multiopus";case d.Pcmu:return"audio/PCMU";case d.Pcma:return"audio/PCMA";case d.Isac:return"audio/ISAC";case d.G722:return"audio/G722";case d.Ilbc:return"audio/iLBC";case d.Silk:return"audio/SILK";case d.Cn:return"audio/CN";case d.TelephoneEvent:return"audio/telephone-event";case d.ARtx:case d.ARed:return"audio/red";case d.Vp8:return"video/VP8";case d.Vp9:return"video/VP9";case d.H264:return"video/H264";case d.H264Svc:return"video/H264-SVC";case d.H265:return"video/H265";case d.VRtx:return"video/rtx";case d.VRed:return"video/red";case d.Ulpfec:return"video/ulpfec";default:return}}function ke(e){switch(e){case u.Audio:return"audio";case u.Video:return"video";default:return}}function Te(e){switch(e){case"audio":return u.Audio;case"video":return u.Video;default:return u.UNRECOGNIZED}}function be(e){var t={};for(const r of e)t[r.name]=r.strValue||r.numValue;return t}function Ee(e){var t,r=[];for(const i in e)e.hasOwnProperty(i)&&(t=e[i],r.push({name:i,strValue:"string"==typeof t?t:void 0,numValue:"number"==typeof t?t:void 0}));return r}function Re(e){return e.map((e=>{switch(e){case m.Nack:return{type:"nack",parameter:""};case m.NackPli:return{type:"nack",parameter:"pli"};case m.CcmFir:return{type:"ccm",parameter:"fir"};case m.GoogRemb:return{type:"goog-remb",parameter:""};case m.TransportCc:return{type:"transport-cc",parameter:""};default:return}})).filter((e=>null!=e))}function Ce(e){return e?e.map((e=>{switch(e.type){case"nack":return"pli"===e.parameter?m.NackPli:m.Nack;case"ccm":return m.CcmFir;case"goog-remb":return m.GoogRemb;case"transport-cc":return m.TransportCc;default:return}})).filter((e=>null!=e)):[]}function Pe(e){switch(e){case p.Mid:return"urn:ietf:params:rtp-hdrext:sdes:mid";case p.RtpStreamId:return"urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id";case p.RepairRtpStreamId:return"urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id";case p.FrameMarkingDraft07:return"http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07";case p.FrameMarking:return"urn:ietf:params:rtp-hdrext:framemarking";case p.AudioLevel:return"urn:ietf:params:rtp-hdrext:ssrc-audio-level";case p.VideoOrientation:return"urn:3gpp:video-orientation";case p.TimeOffset:return"urn:ietf:params:rtp-hdrext:toffset";case p.TransportWideCcDraft01:return"http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01";case p.AbsSendTime:return"http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time";case p.AbsCaptureTime:return"http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time";case p.PlayoutDelay:return"http://www.webrtc.org/experiments/rtp-hdrext/playout-delay";default:return}}function Se(e){switch(e){case"urn:ietf:params:rtp-hdrext:sdes:mid":return p.Mid;case"urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id":return p.RtpStreamId;case"urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id":return p.RepairRtpStreamId;case"http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07":return p.FrameMarkingDraft07;case"urn:ietf:params:rtp-hdrext:framemarking":return p.FrameMarking;case"urn:ietf:params:rtp-hdrext:ssrc-audio-level":return p.AudioLevel;case"urn:3gpp:video-orientation":return p.VideoOrientation;case"urn:ietf:params:rtp-hdrext:toffset":return p.TimeOffset;case"http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01":return p.TransportWideCcDraft01;case"http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time":return p.AbsSendTime;case"http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time":return p.AbsCaptureTime;case"http://www.webrtc.org/experiments/rtp-hdrext/playout-delay":return p.PlayoutDelay;default:return p.UNRECOGNIZED}}function Me(e){switch(e){case h.SendRecv:return"sendrecv";case h.SendOnly:return"sendonly";case h.RecvOnly:return"recvonly";case h.Inactive:return"inactive";default:return}}function we(e){switch(e){case"sendrecv":return h.SendRecv;case"sendonly":return h.SendOnly;case"recvonly":return h.RecvOnly;case"inactive":return h.Inactive;default:return h.UNRECOGNIZED}}function Oe(e){return void 0===e?{codecs:[],headerExtensions:[]}:{codecs:e.codecs.map((e=>{var{mimeType:e,kind:t,preferredPayloadType:r,clockRate:i,channels:o,parameters:n,rtcpFeedback:a}=e;return{mimeType:fe(e),kind:ke(t),preferredPayloadType:r,clockRate:i,channels:o,parameters:be(n),rtcpFeedback:Re(a)}})),headerExtensions:e.headerExtensions.map((e=>{var{kind:e,uri:t,preferredId:r,preferredEncrypt:i,direction:o}=e;return{kind:ke(e),uri:Pe(t),preferredId:r,preferredEncrypt:i,direction:Me(o)}}))}}function Ne(e){var{usernameFragment:e,password:t,iceLite:r}=e;return{usernameFragment:e,password:t,iceLite:r}}function xe(e){return e.map((e=>{var{foundation:e,priority:t,address:r,protocol:i,port:o,type:n}=e,i=function(e){return e===g.Udp?"udp":"tcp"}(i);return{foundation:e,priority:t,address:r,protocol:i,port:o,type:De(n),tcpType:"tcp"===i?"passive":void 0}}))}function De(e){return e===f.Host?"host":e===f.Srflx?"srflx":e===f.Prflx?"prflx":"relay"}function Ae(e){var{role:e,fingerprints:t}=e;return{role:Ve(e),fingerprints:t.map((e=>function(e){var{algorithm:e,value:t}=e;return{algorithm:e,value:t}}(e)))}}function Be(e){var{role:e,fingerprints:t}=e;return{role:Le(e),fingerprints:t.map((e=>function(e){var{algorithm:e,value:t}=e;return{algorithm:e,value:t}}(e)))}}function Ve(e){return e===v.Client?"client":e===v.Server?"server":"auto"}function Le(e){return"client"===e?v.Client:"server"===e?v.Server:v.Auto}function Je(e){var{id:e,iceParameters:t,iceCandidates:r,dtlsParameters:i}=e;return{id:e,iceParameters:Ne(t),iceCandidates:xe(r),dtlsParameters:Ae(i)}}function Ge(e){var{mid:e,codecs:t,headerExtensions:r,encodings:i,rtcp:o}=e;return{mid:e,codecs:t.map((e=>function(e){var{mimeType:e,payloadType:t,clockRate:r,channels:i,parameters:o,rtcpFeedback:n}=e;return{mimeType:ye(e),payloadType:t,clockRate:r,channels:i,parameters:be(o),rtcpFeedback:Re(n)}}(e))),headerExtensions:r.map((e=>function(e){var{uri:e,id:t,encrypt:r}=e;return{uri:Pe(e),id:t,encrypt:r}}(e))),encodings:i.map((e=>function(e){var{ssrc:e,rid:t,codecPayloadType:r,rtx:i,dtx:o,scalabilityMode:n,maxBitrate:a}=e;return{ssrc:e,rid:t,codecPayloadType:r,rtx:i,dtx:o,scalabilityMode:n,maxBitrate:a}}(e))),rtcp:Fe(o)}}function Ue(e){var{mid:e,codecs:t,headerExtensions:r,encodings:i,rtcp:o}=e;return{mid:e,codecs:t.map((e=>function(e){var{mimeType:e,payloadType:t,clockRate:r,channels:i,parameters:o,rtcpFeedback:n}=e;return{mimeType:Ie(e),payloadType:t,clockRate:r,channels:i,parameters:Ee(o),rtcpFeedback:Ce(n)}}(e))),headerExtensions:r.map((e=>function(e){var{uri:e,id:t,encrypt:r}=e;return{uri:Se(e),id:t,encrypt:!0===r}}(e))),encodings:i.map((e=>function(e){var{ssrc:e,rid:t,codecPayloadType:r,rtx:i,dtx:o,scalabilityMode:n,maxBitrate:a}=e;return{ssrc:e,rid:t,codecPayloadType:r,rtx:i,dtx:o,scalabilityMode:n,maxBitrate:a}}(e))),rtcp:We(o)}}function Fe(e){var t;if(e)return({cname:e,reducedSize:t}=e),{cname:e,reducedSize:t}}function We(e){var t;if(e)return({cname:e,reducedSize:t}=e),{cname:e,reducedSize:!0===t}}class qe{constructor(){this.map=new Map}on(e,t){let r=this.map.get(e);r||this.map.set(e,r=new Set),r.add(t)}emit(e,t){var r=this.map.get(e);r?r.forEach((e=>e(t))):console.log(e+" Not Found")}off(e,t){var r;e?t?(r=this.map.get(e))&&r.delete(t):this.map.delete(e):this.map.clear()}once(e,t){const r=i=>{t(i),this.off(e,r)};this.on(e,r)}}class $e{constructor(e){this.consumerList=new Map,e=e.clientId,this.clientId=e}pushConsumerList(e){return!this.consumerList||this.consumerList.get(e.producerId)?(console.log("pushConsumerList - 异常情况"),!1):void this.consumerList.set(e.producerId,e)}async genConsumer(e,t){if(!e)return{consumer:void 0,producerId:""};var{consumerId:e,producerId:r,kind:i,rtpParameters:o}=e,i=(e={id:e,producerId:r,kind:ke(i),rtpParameters:Ge(o)},await(null==t?void 0:t.consume(e)));this.updateConsumerForConsumer(r,i)}updateConsumerForConsumer(e,t){var r=null==(r=this.consumerList)?void 0:r.get(e);r&&(r.consumer=t,null!=(t=this.consumerList))&&t.set(e,r)}}!function(e){e[e.Channel=0]="Channel",e[e.Monitor=1]="Monitor",e[e.BeMonitor=2]="BeMonitor",e[e.Broadcast=3]="Broadcast",e[e.BeBroadcast=4]="BeBroadcast",e[e.MonitorListen=5]="MonitorListen",e[e.BeMonitorListen=6]="BeMonitorListen",e[e.AudioCall=7]="AudioCall",e[e.BeAudioCall=8]="BeAudioCall",e[e.VideoCall=9]="VideoCall",e[e.BeVideoCall=10]="BeVideoCall",e[e.SipVideo=11]="SipVideo",e[e.Recorder=12]="Recorder"}(I=I||{}),function(e){e.Channel="hy_talk_",e.Monitor="hy_rtc_monitor_",e.MonitorListen="hy_rtc_monitor_listen_",e.Broadcast="hy_rtc_broadcast_",e.AudioCall="hy_rtc_audio_be_call_",e.BeAudioCall="hy_rtc_audio_call_",e.VideoCall="hy_rtc_video_be_call_",e.BeVideoCall="hy_rtc_video_call_",e.SipVideo="hy_rtc_sip_video_"}(y=y||{}),function(e){e[e.DeviceNotResponse=4001]="DeviceNotResponse",e[e.RoomIsExist=4100]="RoomIsExist",e[e.DeviceNotExist=4101]="DeviceNotExist",e[e.JoinRoomFailed=4200]="JoinRoomFailed"}(k=k||{}),function(e){e.DeviceNotResponse="设备未响应",e.RoomIsExist="房间已存在",e.DeviceNotExist="设备不存在",e.JoinRoomFailed="加入房间失败"}(T=T||{});const He=e=>(e.setAttribute("playsinline","true"),e.setAttribute("x5-video-player-fullscreen","true"),e.setAttribute("x5-playsinline","true"),e.setAttribute("webkit-playsinline","true"),e);async function je(e){var t=await navigator.mediaDevices.enumerateDevices();return e?t.filter((t=>t.kind==e&&""!==t.deviceId)):t}async function Ze(e){return navigator.mediaDevices.getUserMedia(e)}function _e(e){return e.getTracks()}function ze(e){return new Promise((t=>{e.emit("getGlobalVideoDevice",{callback:e=>{t(e)}})}))}function Ke(e){return new Promise((t=>{e.emit("getGlobalAudioDevice",{callback:e=>{t(e)}})}))}function Qe(e){return Ze({audio:{deviceId:e},video:!1})}function Xe(e){return Ze({audio:!1,video:{deviceId:e}})}async function Ye(e={video:!0,audio:!0}){return navigator.mediaDevices.getDisplayMedia(e)}class et{constructor(e){this.room=e}getRoom(){}getProduceInfo(){return this.room.producerMap}producerAudioResume(){return new Promise(((e,t)=>{""!==this.room.audioProducerId&&ve(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,producerId:this.room.audioProducerId}).then((t=>{var r;this.room.roomType===I.Channel&&(r=this.getChannelRoomConsumer())&&(r.producerPaused=!1,r.speaker={clientId:this.room.clientId}),e(t)})).catch((e=>{t(e)}))}))}producerAudioPause(){return new Promise(((e,t)=>{""!==this.room.audioProducerId&&ge(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,producerId:this.room.audioProducerId}).then((t=>{var r=this.getChannelRoomConsumer();r&&(r.producerPaused=!0,r.speaker={clientId:""}),e(t)}))}))}producerVideoResume(){return new Promise(((e,t)=>{""!==this.room.videoProducerId&&ve(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,producerId:this.room.videoProducerId}).then((t=>{e(t)})).catch((e=>{t(e)}))}))}producerVideoPause(){return new Promise(((e,t)=>{""!==this.room.videoProducerId&&ge(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,producerId:this.room.videoProducerId}).then((t=>{e(t)}))}))}producerAllResume(){return new Promise(((e,t)=>{Promise.all([this.producerAudioResume(),this.producerVideoResume()]).then((()=>{e({})}))}))}producerAllPause(){return new Promise(((e,t)=>{Promise.all([this.producerAudioPause(),this.producerVideoPause()]).then((()=>{e({})}))}))}getAllVideoConsumer(){const e=[];return this.room.clientList.forEach((t=>{t.consumerList.forEach((t=>{1===t.kind&&e.push(t)}))})),e}getAllAudioConsumer(){const e=[];return this.room.clientList.forEach((t=>{t.consumerList.forEach((t=>{0===t.kind&&e.push(t)}))})),e}mutedAllElement(){this.room.playElements.forEach((e=>{e.muted=!0}))}unMutedAllElement(){this.room.playElements.forEach((e=>{e.muted=!1}))}async replaceProducerByProduceId(e,t){const r=this.room.producerMap.get(e);return r?-1===t.kind.indexOf(r.kind)?(console.log("produce的类型与设备类型不匹配"),!1):void("videoinput"===t.kind?_e(await Xe(t.deviceId)).forEach((e=>{null!=r&&r.replaceTrack({track:e})})):"audioinput"===t.kind&&_e(await Qe(t.deviceId)).forEach((e=>{null!=r&&r.replaceTrack({track:e})}))):(console.log("未找到produce"),!1)}replaceProducerByTrack(e,t){if(!(e=this.room.producerMap.get(e)))return console.log("未找到produce"),!1;null!=e&&e.replaceTrack({track:t})}async startProduceDisplayMedia(){var e=(await Ye()).getTracks();e.forEach((e=>{e.onended=e=>{"ended"===e.type?(console.log("停止画面共享事件"),this.switchToDefaultStream()):console.log("startProduceDisplayMedia 未知event")}}));const t=e.filter((e=>"video"==e.kind)),r=e.filter((e=>"audio"==e.kind));1<t.length&&console.log("特殊情况:displayMediaVideoTrack 长度大于1"),1<r.length&&console.log("特殊情况:displayMediaAudioTrack 长度大于1"),this.room.producerMap.forEach((e=>{"video"===e.kind?e.replaceTrack({track:t[0]}):"audio"===e.kind&&e.replaceTrack({track:r[0]})}))}switchToDefaultStream(){this.room.producerMap.forEach((e=>{"video"===e.kind?this.room.eventEmit.emit("getGlobalVideoDevice",{callback:async t=>{t?this.replaceProducerByProduceId(e.id,t):(1<(t=_e(await Ze({video:!0,audio:!1}))).length&&console.log("switchToDefaultStream track > 1 的情况,需要注意",t),this.replaceProducerByTrack(e.id,t[0]))}}):"audio"===e.kind&&this.room.eventEmit.emit("getGlobalAudioDevice",{callback:async t=>{t?this.replaceProducerByProduceId(e.id,t):(1<(t=_e(await Ze({video:!1,audio:!0}))).length&&console.log("switchToDefaultStream track > 1 的情况,需要注意",t),this.replaceProducerByTrack(e.id,t[0]))}})}))}stopProduceDisplayMedia(){this.room.producerMap.forEach((e=>{null!=(e=e.track)&&e.stop()})),this.switchToDefaultStream()}leaveRoom(){this.room.leaveRoom()}getElementByDeviceId(e){let t=null;for(var[r,i]of this.room.playElements)r.includes(e)&&(t=i);return t||null}getLocalPlayElement(){let e=null;return(e=this.room.localPlayElementBox&&this.room.localPlayVideoElement?this.room.localPlayVideoElement:e)||null}getChannelRoomConsumer(){var e;return this.room.roomType===I.Channel&&null!=(e=this.room.clientList.get("HY_TALK_MIX"))&&e.consumerList&&(null==e?void 0:e.consumerList.entries().next().value)[1]||null}whoIsSpeaking(){var e,t,r;return this.room.roomType!==I.Channel?null:(e=this.getChannelRoomConsumer())?(t=e.speaker,r=e.producerPaused,t&&!r?{clientId:t.clientId}:{clientId:""}):void console.log("consumer 异常",e)}recorderRoomAppendStreams(e){e=e.map((e=>{if(e&&e.captureStream)return e.captureStream()})).filter(Boolean),this.room.videoMixer.appendStreams(e)}}class tt{constructor({eventEmit:e}){this.eventEmit=new qe,this.roomEvent=new qe,this.audioProducerId="",this.videoProducerId="",this.clientList=new Map,this.produceTag="",this.producerMap=new Map,this.broadcastClientIds=[],this.playElements=new Map,this.defaultEnableAudio=!0,this.defaultEnableVideo=!0,this.eventEmit=e,this.keepaliveInterval=0,this.mediaCallWaitingInterval=0,this.mediaCallRingingInterval=0,this.mediaCallRingingTimeout=0,this.mediaCallWaitingTimeout=0,this.mediaCallNoAnswerTimeout=0,this.produceOption={encodings:[{maxBitrate:5e6,maxFramerate:25}],codecOptions:{opusNack:!0,videoGoogleStartBitrate:4e3,videoGoogleMaxBitrate:4e6,videoGoogleMinBitrate:27e5}},this.roomMethods=new et(this)}async initRoom(){return this}registerMessageEvents(){}setRoomId(e){return this.roomId=e,this}setClientId(e){return this.clientId=e,this}setPlayElementBox(e){return this.playElementBox=e,this}setToken(e){return this.token=e,this}setProduceTag(e){return this.produceTag=e,this}setRoomType(e){return this.roomType=e,this}setMonitorDeviceId(e){return this.monitorDeviceId=e,this}setSipVideoDeviceId(e){return this.sipVideoDeviceId=e,this}setMonitorListenDeviceId(e){return this.monitorListenDeviceId=e,this}setBroadcastClientIds(e){return this.broadcastClientIds=e,this}setMediaBeCallDeviceId(e){return this.mediaBeCallDeviceId=e,this}setMediaCallDeviceId(e){return this.mediaCallDeviceId=e,this}setDefaultEnableAudio(e=!0){return this.defaultEnableAudio=e,this}setDefaultEnableVideo(e=!0){return this.defaultEnableVideo=e,this}setLocalPlayElementBox(e){return this.localPlayElementBox=e,this}setOnEvent(e){for(const t in e)e.hasOwnProperty(t)&&this.roomEvent.on(t,e[t]);return this}setProduceOption(e){void 0!==e&&(this.produceOption=e)}setRoomMediaStream(e){this.roomMediaStream=e}setVideoMixer(e){this.videoMixer=e}publishChannel(){!function(e,t,r){var{roomId:r,callback:i}=r;e.emit("send",{topic:`client/${t}/mediaapp/${r}/channel`,messageType:"StringValue",message:{value:r},responseMessageType:"StringValue",callback:i})}(this.eventEmit,this.clientId,{roomId:this.roomId,callback:e=>{this.token=e.messageContent.value,this.joinMediaRoom()}})}publishMonitor(){return new Promise(((e,t)=>{!function(e,t,r){var{deviceId:r,roomId:i,callback:n}=r,a=o().replace(/-/g,"");e.emit("send",{topic:`client/${t}/mediaapp/${a}/monitor`,messageType:"MonitorRequest",message:{clientId:r,roomId:i},responseMessageType:"SimpleClientToken",callback:n})}(this.eventEmit,this.clientId,{deviceId:this.monitorDeviceId,roomId:this.roomId,callback:r=>{var i;r.messageContent.code?t(r):(i=r.topic.split("/")[1],this.setToken(r.messageContent.token),this.setRoomId(i),this.setRoomType(I.Monitor),this.joinMediaRoom(),e(i))}})}))}publishSipVideo(){return new Promise(((e,t)=>{this.sipVideoDeviceId&&this.roomId?function(e,t,r){var{deviceId:r,roomId:i,callback:o}=r;e.emit("send",{topic:`client/${t}/mediaapp/${i}/sipVideo`,messageType:"SipVideoRequest",message:{clientId:r,roomId:i},responseMessageType:"SimpleClientToken",callback:o})}(this.eventEmit,this.clientId,{deviceId:this.sipVideoDeviceId,roomId:this.roomId,callback:r=>{var i;r.messageContent.code?t(r):(i=r.topic.split("/")[1],this.setToken(r.messageContent.token),this.setRoomId(i),this.setRoomType(I.SipVideo),this.joinMediaRoom(),e(i))}}):t(new Error("必须有设备ID和房间ID"))}))}publishMonitorListen(){return new Promise(((e,t)=>{!function(e,t,r){var{deviceId:r,callback:i}=r,n=o().replace(/-/g,"");e.emit("send",{topic:`client/${t}/mediaapp/${n}/monitorListen`,messageType:"StringValue",message:{value:r},responseMessageType:"SimpleClientToken",callback:i})}(this.eventEmit,this.clientId,{deviceId:this.monitorListenDeviceId,callback:t=>{var r=t.topic.split("/")[1];this.setToken(t.messageContent.token),this.setRoomId(r),this.setRoomType(I.MonitorListen),this.joinMediaRoom(),e(r)}})}))}publishBroadcast(){return new Promise(((e,t)=>{!function(e,t,r){var{clientIds:r,callback:i}=r,n=o().replace(/-/g,"");e.emit("send",{topic:`client/${t}/mediaapp/${n}/broadcast`,messageType:"BroadcastRequest",message:{clientIds:r},responseMessageType:"SimpleClientToken",callback:i})}(this.eventEmit,this.clientId,{clientIds:this.broadcastClientIds,callback:t=>{var r=t.topic.split("/")[1];this.setToken(t.messageContent.token),this.setRoomId(r),this.setRoomType(I.Broadcast),this.joinMediaRoom(),e(r)}})}))}publishMediaCall(){return new Promise(((e,t)=>{let r=-1;7===this.roomType||8===this.roomType?r=0:9!==this.roomType&&10!==this.roomType||(r=1),function(e,t,r){var{deviceId:r,callback:i,kind:n}=r,a=o().replace(/-/g,"");e.emit("send",{topic:`client/${t}/mediaapp/${a}/`+pe[n],messageType:"StringValue",message:{value:r},responseMessageType:"SimpleClientToken",callback:i})}(this.eventEmit,this.clientId,{kind:r,deviceId:this.mediaBeCallDeviceId,callback:r=>{2e3===r.messageContent.code&&t({code:k.DeviceNotResponse,msg:T.DeviceNotResponse});var i=r.topic.split("/")[1];this.setToken(r.messageContent.token),this.setRoomId(i),e(i)}})}))}publishRecordRoom(){return new Promise(((e,t)=>{this.roomId&&function(e,t,r){var{roomId:r,callback:i}=r;e.emit("send",{topic:`client/${t}/mediaapp/${r}/recordRoom`,messageType:"StringValue",message:{value:r},responseMessageType:"SimpleClientToken",callback:i})}(this.eventEmit,this.clientId,{roomId:this.roomId,callback:t=>{this.setToken(t.messageContent.token),this.joinMediaRoom(),e(this.roomId)}})}))}startMediaCallWaiting(){this.mediaCallWaitingInterval&&this.stopMediaCallWaiting(),this.mediaCallWaitingInterval=window.setInterval((()=>{this.mediaCallWaiting()}),5e3)}stopMediaCallWaiting(){clearInterval(this.mediaCallWaitingInterval)}startAudioCallRinging(){this.mediaCallRingingInterval&&this.stopMediaCallRinging(),this.mediaCallRingingInterval=window.setInterval((()=>{this.mediaCallRinging()}),5e3)}stopMediaCallRinging(){clearInterval(this.mediaCallRingingInterval)}mediaCallWaiting(){this.mediaBeCallDeviceId&&this.roomId&&function(e,t,r){var{clientId:r,event:i,roomId:o,kind:n}=r;t=`client/${t}/mediaapp/${o}/${pe[n]}Event`,e.emit("send",{topic:t,messageType:"AudioCallEvent",message:{clientId:r,event:i},options:{noResponse:!0}})}(this.eventEmit,this.clientId,{clientId:this.mediaBeCallDeviceId,roomId:this.roomId,event:"waiting",kind:this._getRoomKind()})}mediaCallRinging(){this.mediaCallDeviceId&&function(e,t,r){var{clientId:r,event:i,roomId:o,kind:n}=r;t=`client/${t}/mediaapp/${o}/${pe[n]}Event`,e.emit("send",{topic:t,messageType:"AudioCallEvent",message:{clientId:r,event:i},options:{noResponse:!0}})}(this.eventEmit,this.clientId,{clientId:this.mediaCallDeviceId,event:"ringing",roomId:this.roomId,kind:this._getRoomKind()})}startMediaCallRingingTimeout(){this.clearMediaCallRingingTimeout&&this.clearMediaCallRingingTimeout(),this.mediaCallRingingTimeout=window.setTimeout((()=>{this.clearMediaCallRingingTimeout(),this.eventEmit.emit("onAudioCallTimeout",{roomId:this.roomId})}),15e3)}clearMediaCallRingingTimeout(){clearTimeout(this.mediaCallRingingTimeout)}startMediaCallWaitingTimeout(){this.mediaCallWaitingTimeout&&this.clearMediaCallWaitingTimeout(),this.mediaCallWaitingTimeout=window.setTimeout((()=>{this.clearMediaCallWaitingTimeout(),this.eventEmit.emit("onAudioCallTimeout",{roomId:this.roomId})}),15e3)}clearMediaCallWaitingTimeout(){clearTimeout(this.mediaCallWaitingTimeout)}startMediaCallNoAnswerTimeout(){this.mediaCallNoAnswerTimeout&&this.clearMediaCallNoAnswerTimeout(),this.mediaCallNoAnswerTimeout=window.setTimeout((()=>{this.eventEmit.emit("onAudioCallNoAnswer",{roomId:this.roomId}),this.mediaCallDeviceId&&(function(e,t,r){var{clientId:r,event:i,roomId:o,kind:n}=r;t=`client/${t}/mediaapp/${o}/${pe[n]}Event`,e.emit("send",{topic:t,messageType:"AudioCallEvent",message:{clientId:r,event:i},options:{noResponse:!0}})}(this.eventEmit,this.clientId,{clientId:this.mediaCallDeviceId,roomId:this.roomId,event:"noAnswer",kind:this._getRoomKind()}),this.clearMediaCallRingingTimeout(),this.clearMediaCallWaitingTimeout(),this.stopMediaCallRinging(),this.clearMediaCallNoAnswerTimeout())}),6e4)}clearMediaCallNoAnswerTimeout(){clearTimeout(this.mediaCallNoAnswerTimeout)}mediaCallAnswer(){this.mediaCallDeviceId&&(function(e,t,r){var{clientId:r,event:i,roomId:o,kind:n}=r;t=`client/${t}/mediaapp/${o}/${pe[n]}Event`,e.emit("send",{topic:t,messageType:"AudioCallEvent",message:{clientId:r,event:i},options:{noResponse:!0}})}(this.eventEmit,this.clientId,{clientId:this.mediaCallDeviceId,roomId:this.roomId,event:"answer",kind:this._getRoomKind()}),this.joinMediaRoom(),this.clearMediaCallNoAnswerTimeout(),this.clearMediaCallWaitingTimeout(),this.stopMediaCallRinging())}mediaCallHangup(){7!==this.roomType&&9!==this.roomType||!this.mediaBeCallDeviceId||he(this.eventEmit,this.clientId,{clientId:this.mediaBeCallDeviceId,roomId:this.roomId,event:"hangup",kind:this._getRoomKind()}),8!==this.roomType&&10!==this.roomType||!this.mediaCallDeviceId||he(this.eventEmit,this.clientId,{clientId:this.mediaCallDeviceId,roomId:this.roomId,event:"hangup",kind:this._getRoomKind()}),this.isJoinMediaRoom()&&this.leaveRoom(),this.clearMediaCallNoAnswerTimeout(),this.clearMediaCallWaitingTimeout(),this.stopMediaCallRinging(),this.stopMediaCallWaiting()}joinMediaRoom(){this.roomId||console.log("joinMediaRoom - RoomId is Null"),this.token||console.log("joinMediaRoom - Token is Null"),function(e,t,r){var{token:r,forceTcp:i,roomId:o,callback:n}=r;e.emit("send",{topic:`client/${t}/media/${o}/join`,messageType:"JoinRequest",message:{token:r,forceTcp:i},responseMessageType:"JoinResponse",callback:n})}(this.eventEmit,this.clientId,{token:this.token,forceTcp:!1,roomId:this.roomId,callback:async({messageContent:e})=>{this.consumerTransportOptions=e.consumerTransportOptions,this.producerTransportOptions=e.producerTransportOptions,this.routerRtpCapabilities=e.routerRtpCapabilities,this.keepalive(),await this.createDevice(),await this.handlerRoomTransport()}})}isJoinMediaRoom(){return!!this.device}async handlerRoomTransport(){0===this.roomType?(await this.createConsumerTransport(),await this.createProducerTransport({audio:!0,video:!1}),await this.startConsuming()):1===this.roomType?(await this.createConsumerTransport(),await this.startConsuming()):2===this.roomType?(await this.createProducerTransport({audio:!0,video:!0}),await this.startConsuming()):3===this.roomType?await this.createProducerTransport({audio:!0,video:!1}):4===this.roomType||5===this.roomType?(await this.createConsumerTransport(),await this.startConsuming()):6===this.roomType?await this.createProducerTransport({audio:!0,video:!1}):7===this.roomType||8===this.roomType||9===this.roomType||10===this.roomType?(await this.createConsumerTransport(),await this.createProducerTransport({audio:!0,video:9===this.roomType||10===this.roomType}),await this.startConsuming()):11===this.roomType?(await this.createConsumerTransport(),await this.createProducerTransport({audio:!0,video:!0}),await this.startConsuming()):12===this.roomType?await this.createProducerTransport({audio:!0,video:!0}):console.log("无roomType")}keepalive(){this.keepaliveInterval&&clearInterval(this.keepaliveInterval),this.keepaliveInterval=window.setInterval((()=>{(function(e,t,r){r=r.roomId,e.emit("send",{topic:`client/${t}/media/${r}/keepalive`,messageType:"Empty",message:{},responseMessageType:"Empty",callback:()=>{console.log("心跳发送")}})})(this.eventEmit,this.clientId,{roomId:this.roomId}),function(e,t,r){r=r.roomId,e.emit("send",{topic:`client/${t}/mediaapp/${r}/keepalive`,messageType:"Empty",message:{},options:{noResponse:!0}}),console.log("业务侧心跳保持")}(this.eventEmit,this.clientId,{roomId:this.roomId})}),1e4)}async startConsuming(){this.rtpCapabilities&&function(e,t,r){var{codecs:r,headerExtensions:i,roomId:o,callback:n}=r;e.emit("send",{topic:`client/${t}/media/${o}/startConsuming`,messageType:"RtpCapabilitiesFinalized",message:{codecs:r,headerExtensions:i},responseMessageType:"Empty",callback:n})}(this.eventEmit,this.clientId,{codecs:this.rtpCapabilities.codecs,headerExtensions:this.rtpCapabilities.headerExtensions,roomId:this.roomId,callback:()=>{}})}async createDevice(){this.device=new n,await this.device.load({routerRtpCapabilities:Oe(this.routerRtpCapabilities)}),this.rtpCapabilities=function(e){var t;return{codecs:(null==(t=e.codecs)?void 0:t.map((e=>{var{mimeType:e,kind:t,preferredPayloadType:r,clockRate:i,channels:o,parameters:n,rtcpFeedback:a}=e;return{mimeType:Ie(e),kind:Te(t),preferredPayloadType:r,clockRate:i,channels:o,parameters:Ee(n),rtcpFeedback:Ce(a)}})))||[],headerExtensions:(null==(t=e.headerExtensions)?void 0:t.map((e=>{var{kind:e,uri:t,preferredId:r,preferredEncrypt:i,direction:o}=e;return{kind:Te(e),uri:Se(t),preferredId:r,preferredEncrypt:i,direction:we(o)}})))||[]}}(this.device.rtpCapabilities)}async createConsumerTransport(){var e;this.consumerTransportOptions&&(this.consumerTransport=null==(e=this.device)?void 0:e.createRecvTransport(Je(this.consumerTransportOptions)),null!=(e=this.consumerTransport))&&e.on("connect",(async({dtlsParameters:e},t)=>{e=Be(e),function(e,t,r){const{roomId:i,dtlsParametersProto:o,consumerTransportCallback:n}=r;e.emit("send",{topic:`client/${t}/media/${i}/connectConsumerTransport`,messageType:"DtlsParameters",message:o,responseMessageType:"Empty",callback:()=>{n()}})}(this.eventEmit,this.clientId,{roomId:this.roomId,dtlsParametersProto:e,consumerTransportCallback:t})}))}async createProducerTransport(e){if(this.producerTransportOptions){this.producerTransport=null==(t=this.device)?void 0:t.createSendTransport(Je(this.producerTransportOptions)),null!=(t=this.producerTransport)&&t.on("connect",(({dtlsParameters:e},t)=>{e=Be(e),function(e,t,r){const{roomId:i,dtlsParametersProto:o,producerTransportCallback:n}=r;e.emit("send",{topic:`client/${t}/media/${i}/connectProducerTransport`,messageType:"DtlsParameters",message:o,responseMessageType:"Empty",callback:e=>{console.log("connectProducerTransport success",e),n()}})}(this.eventEmit,this.clientId,{roomId:this.roomId,dtlsParametersProto:e,producerTransportCallback:t})})).on("produce",(({kind:e,rtpParameters:t},r)=>{let i=!1,o=this.produceTag;if("audio"==e)i=!this.defaultEnableAudio;else{if("video"!=e)return void console.log("异常情况,请排查");i=!this.defaultEnableVideo}11===this.roomType&&("audio"===e?o="sp_audio":"video"===e&&(o="sp_video")),function(e,t,r){const{roomId:i,produceCallback:o,callback:n,kind:a,tag:s,rtpParameters:c,paused:l}=r;r=`client/${t}/media/${i}/produce`,console.log("produce - paused",l),e.emit("send",{topic:r,messageType:"ProduceRequest",message:{tag:s,kind:a,rtpParameters:c,paused:l},responseMessageType:"StringValue",callback:e=>{n&&n({kind:a,producerId:e.messageContent.value}),o({id:e.messageContent.value})}})}(this.eventEmit,this.clientId,{roomId:this.roomId,tag:o,kind:Te(e),rtpParameters:Ue(t),paused:i,callback:({kind:e,producerId:t})=>{switch(e){case u.Audio:this.audioProducerId=t;break;case u.Video:this.videoProducerId=t}console.log("kind: %o, productId: %o",e,t)},produceCallback:r})}));var t=await ze(this.eventEmit),r=await Ke(this.eventEmit);let i=new MediaStream;if(e.video&&t&&_e(await Xe(t.deviceId)).forEach((e=>{i.addTrack(e)})),e.audio&&r&&_e(await Qe(r.deviceId)).forEach((e=>{i.addTrack(e)})),this.roomMediaStream)i=this.roomMediaStream;else if(0===i.getTracks().length)try{i=await Ze(e)}catch(e){this.eventEmit.emit("hyRtcOnError",{code:4350})}t=_e(i),await this.handlerProduce(t),this.localPlayElementBox&&this.handlerLocalPlayElementBox(t)}}handlerLocalPlayElementBox(e){var t;const r=new MediaStream;e.forEach((e=>{r.addTrack(e)})),document.querySelector(""+this.localPlayElementBox)&&this.localPlayElementBox&&((e=document.createElement("video")).id="localPlayElementBox_"+this.roomId,e.muted=!1,e.controls=!1,e.srcObject=r,e.volume=0,null!=(t=document.querySelector(this.localPlayElementBox))&&t.append(e),e.play(),this.localPlayVideoElement=e)}async handlerProduce(e){e.forEach((e=>{var t;e={track:e,...this.produceOption};null!=(t=this.producerTransport)&&t.produce(e).then((e=>{this.producerMap.set(e.id,e)})).catch((e=>{}))}))}async createNewClient(e){let t=this.getClient(e.clientId);if(t?this.roomEvent.emit("onNewClient",{room:this,code:4302,data:{roomId:this.roomId,clientId:t.clientId}}):(t=new $e(e),console.log("创建新客户端 client %o ",t),this.roomEvent.emit("onNewClient",{room:this,code:4301,data:{roomId:this.roomId,clientId:t.clientId}})),this.addClient(t),t.pushConsumerList({consumerId:e.consumerId,producerId:e.producerId,kind:e.kind,producerPaused:e.producerPaused,speaker:e.speaker,rtpParameters:e.rtpParameters}),await t.genConsumer(e,this.consumerTransport),1===this.roomType)null!=this.monitorDeviceId&&(t=(e=Array.from(this.clientList.entries()))[0][1])&&this.playElementBox&&(e=function(e){var{client:e,playElementBox:t,room:r}=e,r=""+y.Monitor+r.monitorDeviceId+"_"+e.clientId;const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let o=document.querySelector("#"+r);return o?o.srcObject=i:((o=document.createElement("video")).id=r,o.muted=!1,o.style.width="100%",He(o),o.onloadedmetadata=()=>{null!=o&&o.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(o),o.srcObject=i,o}return null}({room:this,client:t,playElementBox:this.playElementBox}))&&this.playElements.set(e.id,e);else if(0===this.roomType){const t=this.clientList.get("HY_TALK_MIX");t&&this.playElementBox&&(e=function(e){var{client:e,playElementBox:t,room:r}=e,r=""+y.Channel+r.roomId;if(e){const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let o=document.querySelector("#"+r);return o?o.srcObject=i:((o=document.createElement("video")).id=r,o.muted=!1,o.controls=!1,He(o),o.onloadedmetadata=()=>{null!=o&&o.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(o),o.srcObject=i,o}}return null}({room:this,client:t,playElementBox:this.playElementBox}))&&this.playElements.set(e.id,e)}else if(4===this.roomType)this.clientList.forEach((e=>{this.playElementBox&&function(e){var{client:e,playElementBox:t}=e;const r=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&r.addTrack(e.consumer.track)})),e=""+y.Broadcast+e.clientId,t&&r){let i=document.querySelector("#"+e);return i?i.srcObject=r:((i=document.createElement("audio")).id=e,i.muted=!1,i.controls=!1,i.onloadedmetadata=()=>{null!=i&&i.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(i),i.srcObject=r,i}}({room:this,client:e,playElementBox:this.playElementBox})}));else if(5===this.roomType){if(null!=this.monitorListenDeviceId&&this.playElementBox){const e=this.clientList.get(this.monitorListenDeviceId);e&&function(e){var{client:e,playElementBox:t}=e,r=""+y.MonitorListen+e.clientId;const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let o=document.querySelector("#"+r);return o?o.srcObject=i:((o=document.createElement("audio")).id=r,o.muted=!1,o.controls=!1,o.onloadedmetadata=()=>{null!=o&&o.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(o),o.srcObject=i,o}}({room:this,client:e,playElementBox:this.playElementBox})}}else if(7===this.roomType||9===this.roomType){if(null!=this.mediaBeCallDeviceId){const t=this.clientList.get(this.mediaBeCallDeviceId);t&&this.playElementBox&&(e=function(e){var{client:e,playElementBox:t,room:r}=e,r=""+y[7===r.roomType?"AudioCall":"VideoCall"]+r.mediaBeCallDeviceId;const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let o=document.querySelector("#"+r);return o?o.srcObject=i:((o=document.createElement("video")).id=r,o.muted=!1,o.controls=!1,He(o),o.onloadedmetadata=()=>{null!=o&&o.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(o),o.srcObject=i,o}return null}({room:this,client:t,playElementBox:this.playElementBox}))&&this.playElements.set(e.id,e)}}else if(8===this.roomType||10===this.roomType){if(null!=this.mediaCallDeviceId){const t=this.clientList.get(this.mediaCallDeviceId);t&&this.playElementBox&&(e=function(e){var{client:e,playElementBox:t,room:r}=e,r=""+y[8===r.roomType?"BeAudioCall":"BeVideoCall"]+r.mediaCallDeviceId;const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let o=document.querySelector("#"+r);return o?o.srcObject=i:((o=document.createElement("video")).id=r,o.muted=!1,o.controls=!1,He(o),o.onloadedmetadata=()=>{null!=o&&o.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(o),o.srcObject=i,o}return null}({room:this,client:t,playElementBox:this.playElementBox}))&&this.playElements.set(e.id,e)}}else if(11===this.roomType){if(null!=this.sipVideoDeviceId){const t=this.clientList.get(this.sipVideoDeviceId);t&&this.playElementBox&&(e=function(e){var{client:e,playElementBox:t,room:r}=e,r=""+y.SipVideo+r.sipVideoDeviceId;const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let o=document.querySelector("#"+r);return o?o.srcObject=i:((o=document.createElement("video")).id=r,o.muted=!1,o.controls=!1,o.style.width="100%",He(o),o.onloadedmetadata=()=>{null!=o&&o.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(o),o.srcObject=i,o}return null}({room:this,client:t,playElementBox:this.playElementBox}))&&this.playElements.set(e.id,e)}}else console.log("createNewClient 中没有处理 roomType",this.roomType)}cleanPlayElement(){switch(this.roomType){case I.Channel:this.cleanChannelElement();break;case I.Monitor:this.cleanMonitorElement();break;case I.BeMonitor:case I.Broadcast:break;case I.VideoCall:this.cleanMediaCallElement();break;case I.BeVideoCall:this.cleanMediaBeCallElement();break;case I.AudioCall:this.cleanMediaCallElement();break;case I.BeAudioCall:this.cleanMediaBeCallElement();break;case I.BeBroadcast:this.cleanVBeBroadcastElement();break;case I.MonitorListen:this.cleanMonitorListenElement();break;case I.SipVideo:this.cleanSipVideoElement();break;case I.BeMonitorListen:break;default:console.log("cleanPlayElement - 未知播放器元素: %s",this.roomType)}this.cleanLocalPlayElement()}cleanLocalPlayElement(){var e,t;this.localPlayElementBox&&(t="localPlayElementBox_"+this.roomId,t=document.querySelector("#"+t))&&null!=(e=null==t?void 0:t.parentElement)&&e.removeChild(t)}cleanMonitorElement(){var e,t;this.playElementBox&&null!=this.monitorDeviceId&&(t=""+y.Monitor+this.monitorDeviceId,t=document.querySelector(`[id^="${t}"]`))&&null!=(e=null==t?void 0:t.parentElement)&&e.removeChild(t)}cleanSipVideoElement(){var e,t;this.playElementBox&&null!=this.sipVideoDeviceId&&(t=""+y.SipVideo+this.sipVideoDeviceId,t=document.querySelector("#"+t))&&null!=(e=null==t?void 0:t.parentElement)&&e.removeChild(t)}cleanChannelElement(){var e,t;this.playElementBox&&null!=this.roomId&&(t=""+y.Channel+this.roomId,t=document.querySelector("#"+t))&&null!=(e=null==t?void 0:t.parentElement)&&e.removeChild(t)}cleanMediaCallElement(){var e,t;this.playElementBox&&null!=this.mediaBeCallDeviceId&&(t=""+y[7===this.roomType?"AudioCall":"VideoCall"]+this.mediaBeCallDeviceId,t=document.querySelector("#"+t))&&null!=(e=null==t?void 0:t.parentElement)&&e.removeChild(t)}cleanMediaBeCallElement(){var e,t;this.playElementBox&&null!=this.mediaCallDeviceId&&(t=""+y[8===this.roomType?"BeAudioCall":"BeVideoCall"]+this.mediaCallDeviceId,t=document.querySelector("#"+t))&&null!=(e=null==t?void 0:t.parentElement)&&e.removeChild(t)}cleanVBeBroadcastElement(){this.clientList.forEach((e=>{var t;this.playElementBox&&(e=""+y.Broadcast+e.clientId,e=document.querySelector("#"+e))&&null!=(t=null==e?void 0:e.parentElement)&&t.removeChild(e)}))}cleanMonitorListenElement(){var e,t;this.playElementBox&&null!=this.monitorListenDeviceId&&(t=""+y.MonitorListen+this.monitorListenDeviceId,t=document.querySelector("#"+t))&&null!=(e=null==t?void 0:t.parentElement)&&e.removeChild(t)}passiveLeaved(){this.destroyRoom(),this.eventEmit.emit("roomPassiveLeave",{roomId:this.roomId}),this.roomEvent.emit("roomPassiveLeave",{roomId:this.roomId})}addClient(e){this.clientList&&null!=e.clientId&&this.clientList.set(e.clientId||"HY_TALK_MIX",e)}removeClient(e){this.clientList&&null!=e&&this.clientList.delete(e)}removeAllClient(){this.clientList=new Map}getClient(e){if(this.clientList&&null!=e)return this.clientList.get(e)}getRoomId(){return this.roomId}leaveRoom(){!function(e,t,r){const{roomId:i,callback:o}=r;r=`client/${t}/media/${i}/leave`,e.emit("send",{topic:r,messageType:"Empty",responseMessageType:"Empty",callback:()=>{console.log("room leave success"),e.emit("roomLeaveSuccess",{roomId:i}),o&&o(i)}})}(this.eventEmit,this.clientId,{roomId:this.roomId,callback:()=>{this.destroyRoom()}})}deleteRoom(){this.eventEmit.emit("deleteRoom",{roomId:this.roomId})}clearKeepAlive(){console.log("清除心跳定时器",this.keepaliveInterval),clearInterval(this.keepaliveInterval)}producerClose(){0<this.producerMap.size&&this.producerMap.forEach((e=>{e.close(),console.log("producerId: %o is close",e.id)}))}closeTransport(){var e=this.producerTransport,t=this.consumerTransport;e&&e.close(),t&&t.close()}destroyRoom(){console.log("destroyRoom %s",this.roomId),this.eventEmit.emit("unSubscribeMediaAppRoomEventTopic",this.roomId),this.clearKeepAlive(),this.closeTransport(),this.producerClose(),this.cleanPlayElement(),this.removeAllClient(),this.deleteRoom()}_getRoomKind(){let e=-1;return 7===this.roomType||8===this.roomType?e=0:9!==this.roomType&&10!==this.roomType||(e=1),e}onClientLeft(e){this.roomType===I.Broadcast&&(this.broadcastClientIds=this.broadcastClientIds.filter((t=>t!=e.clientId))),this.roomEvent.emit("onClientLeft",{code:"4306",data:{clientId:e.clientId}})}}const rt={encode:(e,t=i.Writer.create())=>(0!==e.code&&t.uint32(8).uint32(e.code),""!==e.message&&t.uint32(18).string(e.message),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={code:0,message:""};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(8!==a)break;n.code=r.uint32();continue;case 2:if(18===a){n.message=r.string();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({code:lt(e.code)?globalThis.Number(e.code):0,message:lt(e.message)?globalThis.String(e.message):""}),toJSON(e){var t={};return 0!==e.code&&(t.code=Math.round(e.code)),""!==e.message&&(t.message=e.message),t},create:e=>rt.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={code:0,message:""};return r.code=null!=(t=e.code)?t:0,r.message=null!=(t=e.message)?t:"",r}};const it={encode:(e,t=i.Writer.create())=>(""!==e.clientId&&t.uint32(10).string(e.clientId),void 0!==e.roomId&&t.uint32(18).string(e.roomId),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={clientId:"",roomId:void 0};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.clientId=r.string();continue;case 2:if(18===a){n.roomId=r.string();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({clientId:lt(e.clientId)?globalThis.String(e.clientId):"",roomId:lt(e.roomId)?globalThis.String(e.roomId):void 0}),toJSON(e){var t={};return""!==e.clientId&&(t.clientId=e.clientId),void 0!==e.roomId&&(t.roomId=e.roomId),t},create:e=>it.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={clientId:"",roomId:void 0};return r.clientId=null!=(t=e.clientId)?t:"",r.roomId=null!=(t=e.roomId)?t:void 0,r}};const ot={encode(e,t=i.Writer.create()){for(const r of e.clientIds)t.uint32(10).string(r);return t},decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={clientIds:[]};r.pos<o;){var a=r.uint32();if(a>>>3!=1||10!==a){if(4==(7&a)||0===a)break;r.skipType(7&a)}else n.clientIds.push(r.string())}return n},fromJSON:e=>({clientIds:globalThis.Array.isArray(null==e?void 0:e.clientIds)?e.clientIds.map((e=>globalThis.String(e))):[]}),toJSON(e){var t,r={};return null!=(t=e.clientIds)&&t.length&&(r.clientIds=e.clientIds),r},create:e=>ot.fromPartial(null!=e?e:{}),fromPartial(e){var t={clientIds:[]};return t.clientIds=(null==(e=e.clientIds)?void 0:e.map((e=>e)))||[],t}};const nt={encode:(e,t=i.Writer.create())=>(""!==e.clientId&&t.uint32(10).string(e.clientId),""!==e.event&&t.uint32(18).string(e.event),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={clientId:"",event:""};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.clientId=r.string();continue;case 2:if(18===a){n.event=r.string();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({clientId:lt(e.clientId)?globalThis.String(e.clientId):"",event:lt(e.event)?globalThis.String(e.event):""}),toJSON(e){var t={};return""!==e.clientId&&(t.clientId=e.clientId),""!==e.event&&(t.event=e.event),t},create:e=>nt.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={clientId:"",event:""};return r.clientId=null!=(t=e.clientId)?t:"",r.event=null!=(t=e.event)?t:"",r}};const at={encode:(e,t=i.Writer.create())=>(""!==e.roomId&&t.uint32(10).string(e.roomId),void 0!==e.clientId&&t.uint32(18).string(e.clientId),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={roomId:"",clientId:void 0};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.roomId=r.string();continue;case 2:if(18===a){n.clientId=r.string();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({roomId:lt(e.roomId)?globalThis.String(e.roomId):"",clientId:lt(e.clientId)?globalThis.String(e.clientId):void 0}),toJSON(e){var t={};return""!==e.roomId&&(t.roomId=e.roomId),void 0!==e.clientId&&(t.clientId=e.clientId),t},create:e=>at.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={roomId:"",clientId:void 0};return r.roomId=null!=(t=e.roomId)?t:"",r.clientId=null!=(t=e.clientId)?t:void 0,r}};const st={encode(e,t=i.Writer.create()){""!==e.token&&t.uint32(10).string(e.token);for(const r of e.produceTags)t.uint32(18).string(r);for(const r of e.consumeTags)t.uint32(26).string(r);return""!==e.extfield1&&t.uint32(34).string(e.extfield1),t},decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={token:"",produceTags:[],consumeTags:[],extfield1:""};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.token=r.string();continue;case 2:if(18!==a)break;n.produceTags.push(r.string());continue;case 3:if(26!==a)break;n.consumeTags.push(r.string());continue;case 4:if(34===a){n.extfield1=r.string();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({token:lt(e.token)?globalThis.String(e.token):"",produceTags:globalThis.Array.isArray(null==e?void 0:e.produceTags)?e.produceTags.map((e=>globalThis.String(e))):[],consumeTags:globalThis.Array.isArray(null==e?void 0:e.consumeTags)?e.consumeTags.map((e=>globalThis.String(e))):[],extfield1:lt(e.extfield1)?globalThis.String(e.extfield1):""}),toJSON(e){var t,r={};return""!==e.token&&(r.token=e.token),null!=(t=e.produceTags)&&t.length&&(r.produceTags=e.produceTags),null!=(t=e.consumeTags)&&t.length&&(r.consumeTags=e.consumeTags),""!==e.extfield1&&(r.extfield1=e.extfield1),r},create:e=>st.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={token:"",produceTags:[],consumeTags:[],extfield1:""};return r.token=null!=(t=e.token)?t:"",r.produceTags=(null==(t=e.produceTags)?void 0:t.map((e=>e)))||[],r.consumeTags=(null==(t=e.consumeTags)?void 0:t.map((e=>e)))||[],r.extfield1=null!=(t=e.extfield1)?t:"",r}};const ct={encode:(e,t=i.Writer.create())=>(""!==e.event&&t.uint32(10).string(e.event),""!==e.clientId&&t.uint32(18).string(e.clientId),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={event:"",clientId:""};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.event=r.string();continue;case 2:if(18===a){n.clientId=r.string();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({event:lt(e.event)?globalThis.String(e.event):"",clientId:lt(e.clientId)?globalThis.String(e.clientId):""}),toJSON(e){var t={};return""!==e.event&&(t.event=e.event),""!==e.clientId&&(t.clientId=e.clientId),t},create:e=>ct.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={event:"",clientId:""};return r.event=null!=(t=e.event)?t:"",r.clientId=null!=(t=e.clientId)?t:"",r}};function lt(e){return null!=e}const dt=(e,t)=>{var{curTopicMethod:r,packet:i,message:o,topic:t}=t,n=t.split("/")[1],a=t.split("/")[3];switch(r){case"monitor":ut(e,st.decode(o),n,a),ft(e,i,n,a);break;case"broadcast":mt(e,st.decode(o),n,a),It(e,i,n,a);break;case"monitorListen":pt(e,st.decode(o),n,a),yt(e,i,n,a);break;case"audioCall":ht(e,st.decode(o),n,a,8),kt(e,i,n,a);break;case"videoCall":ht(e,st.decode(o),n,a,10),kt(e,i,n,a);break;case"audioCallEvent":case"videoCallEvent":vt(e,nt.decode(o),n);break;case"roomEvent":gt(e,ct.decode(o),n);break;case"err":console.log("handlerMediaAppServerOnMessage -ERR",rt.decode(o)),Tt(e,rt.decode(o),n);break;default:console.log("handlerMediaAppServerOnMessage 未知类型",r)}},ut=(e,t,r,i)=>{const{token:o,produceTags:n}=t;e.emit("getRoom",{roomId:r,callback:({room:t})=>{if(!t){const t=new tt({eventEmit:e});t.setRoomId(r).setClientId(i).setToken(o).setRoomType(I.BeMonitor).setProduceTag(n.toString()).joinMediaRoom(),e.emit("addRoom",t),e.emit("onMonitor",{room:t})}}})},mt=(e,t,r,i)=>{const{token:o,produceTags:n}=t;e.emit("getRoom",{roomId:r,callback:({room:t})=>{if(!t){const t=new tt({eventEmit:e});t.setRoomId(r).setClientId(i).setToken(o).setPlayElementBox("body").setProduceTag(n.toString()).setRoomType(I.BeBroadcast).joinMediaRoom(),e.emit("addRoom",t),e.emit("onBroadcast",{room:t})}}})},pt=(e,t,r,i)=>{const{token:o,produceTags:n}=t;e.emit("getRoom",{roomId:r,callback:({room:t})=>{if(!t){const t=new tt({eventEmit:e});t.setRoomId(r).setClientId(i).setToken(o).setProduceTag(n.toString()).setRoomType(I.BeMonitorListen).joinMediaRoom(),e.emit("addRoom",t),e.emit("onMonitorListen",{room:t})}}})},ht=(e,t,r,i,o)=>{const{token:n,produceTags:a}=t;e.emit("getRoom",{roomId:r,callback:({room:t})=>{if(!t){const t=new tt({eventEmit:e});t.setRoomId(r).setClientId(i).setToken(n).setProduceTag(a.toString()).setPlayElementBox("#preview-box").setRoomType(o),e.emit("addRoom",t),e.emit("onMediaBeCall",{room:t}),t.mediaCallRinging(),t.startAudioCallRinging(),t.startMediaCallNoAnswerTimeout()}}})},vt=(e,t,r,i)=>{const{clientId:o,event:n}=t;console.log("mediaCallEvent : %s",n),e.emit("getRoom",{roomId:r,callback:({room:e})=>{if(e)switch(n){case"waiting":e.setMediaCallDeviceId(o),e.startMediaCallWaitingTimeout();break;case"ringing":e.clearMediaCallRingingTimeout(),e.roomEvent.emit("onAudioCallEventRinging",{event:"ringing"});break;case"noAnswer":e.roomEvent.emit("onAudioCallEventNoAnswer",{event:"noAnswer"});break;case"answer":e.roomEvent.emit("onAudioCallEventAnswer",{event:"answer"}),e.joinMediaRoom(),e.clearMediaCallRingingTimeout(),e.stopMediaCallWaiting();break;case"hangup":e.roomEvent.emit("onAudioCallEventHangup",{event:"hangup"}),e.isJoinMediaRoom()?e.leaveRoom():e.deleteRoom(),e.startMediaCallWaitingTimeout(),e.clearMediaCallWaitingTimeout(),e.clearMediaCallNoAnswerTimeout(),e.stopMediaCallWaiting(),e.stopMediaCallRinging();break;default:console.log("mediaCallEvent - 未知event: %s",n)}}})},gt=(e,t,r,i)=>{const o=t.event;console.log("roomEvent : %s",o),e.emit("getRoom",{roomId:r,callback:({room:e})=>{switch(o){case"clientJoined":t.clientId!==e.clientId&&e.roomEvent.emit("onClientJoined",{code:"4305",data:{clientId:t.clientId}});break;case"clientLeft":e&&t.clientId!==e.clientId&&e.onClientLeft(t)}}})},ft=(e,t,r,i)=>{t=t.properties.correlationData,e.emit("reply",{topic:`client/${i}/mediaapp/${r}/ok`,messageType:"BoolValue",message:{value:!0},correlationData:t})},It=(e,t,r,i)=>{t=t.properties.correlationData,e.emit("reply",{topic:`client/${i}/mediaapp/${r}/ok`,messageType:"Empty",correlationData:t})},yt=(e,t,r,i)=>{t=t.properties.correlationData,e.emit("reply",{topic:`client/${i}/mediaapp/${r}/ok`,messageType:"Empty",correlationData:t})},kt=(e,t,r,i)=>{t=t.properties.correlationData,e.emit("reply",{topic:`client/${i}/mediaapp/${r}/ok`,messageType:"Empty",correlationData:t})},Tt=(e,t,r,i)=>{switch(t.code){case 2e3:e.emit("getRoom",{roomId:r,callback:({room:e})=>{e?(e.roomEvent.emit("joinRoomEvent",{code:k.DeviceNotResponse,msg:T.DeviceNotResponse}),e.destroyRoom()):console.log("设备响应超时")}});break;case 2001:console.log("业务服务器返回错误码:%s 内容为:%s",t.code,t.message);break;case 2003:break;default:console.log("未知异常 handlerMediaAppServerOnError : %o",t)}};!function(e){e[e.Opus=0]="Opus",e[e.MultiChannelOpus=1]="MultiChannelOpus",e[e.Pcmu=2]="Pcmu",e[e.Pcma=3]="Pcma",e[e.Isac=4]="Isac",e[e.G722=5]="G722",e[e.Ilbc=6]="Ilbc",e[e.Silk=7]="Silk",e[e.Cn=8]="Cn",e[e.TelephoneEvent=9]="TelephoneEvent",e[e.ARtx=10]="ARtx",e[e.ARed=11]="ARed",e[e.Vp8=100]="Vp8",e[e.Vp9=101]="Vp9",e[e.H264=102]="H264",e[e.H264Svc=103]="H264Svc",e[e.H265=104]="H265",e[e.VRtx=105]="VRtx",e[e.VRed=106]="VRed",e[e.Ulpfec=107]="Ulpfec",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(b=b||{}),function(e){e[e.Audio=0]="Audio",e[e.Video=1]="Video",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(E=E||{}),function(e){e[e.Nack=0]="Nack",e[e.NackPli=1]="NackPli",e[e.CcmFir=2]="CcmFir",e[e.GoogRemb=3]="GoogRemb",e[e.TransportCc=4]="TransportCc",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(R=R||{}),function(e){e[e.Mid=0]="Mid",e[e.RtpStreamId=1]="RtpStreamId",e[e.RepairRtpStreamId=2]="RepairRtpStreamId",e[e.FrameMarkingDraft07=3]="FrameMarkingDraft07",e[e.FrameMarking=4]="FrameMarking",e[e.AudioLevel=5]="AudioLevel",e[e.VideoOrientation=6]="VideoOrientation",e[e.TimeOffset=7]="TimeOffset",e[e.TransportWideCcDraft01=8]="TransportWideCcDraft01",e[e.AbsSendTime=9]="AbsSendTime",e[e.AbsCaptureTime=10]="AbsCaptureTime",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(C=C||{}),function(e){e[e.SendRecv=0]="SendRecv",e[e.SendOnly=1]="SendOnly",e[e.RecvOnly=2]="RecvOnly",e[e.Inactive=3]="Inactive",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(P=P||{}),function(e){e[e.Auto=0]="Auto",e[e.Client=1]="Client",e[e.Server=2]="Server",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(S=S||{}),function(e){e[e.Tcp=0]="Tcp",e[e.Udp=1]="Udp",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(M=M||{}),function(e){e[e.Host=0]="Host",e[e.Srflx=1]="Srflx",e[e.Prflx=2]="Prflx",e[e.Relay=3]="Relay",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(w=w||{});const bt={encode:(e,t=r.Writer.create())=>(""!==e.clientId&&t.uint32(10).string(e.clientId),""!==e.consumerId&&t.uint32(18).string(e.consumerId),t),decode(e,t){for(var i=e instanceof r.Reader?e:r.Reader.create(e),o=void 0===t?i.len:i.pos+t,n={clientId:"",consumerId:""};i.pos<o;){var a=i.uint32();switch(a>>>3){case 1:if(10!==a)break;n.clientId=i.string();continue;case 2:if(18===a){n.consumerId=i.string();continue}}if(4==(7&a)||0===a)break;i.skipType(7&a)}return n},fromJSON:e=>({clientId:Et(e.clientId)?globalThis.String(e.clientId):"",consumerId:Et(e.consumerId)?globalThis.String(e.consumerId):""}),toJSON(e){var t={};return""!==e.clientId&&(t.clientId=e.clientId),""!==e.consumerId&&(t.consumerId=e.consumerId),t},create:e=>bt.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={clientId:"",consumerId:""};return r.clientId=null!=(t=e.clientId)?t:"",r.consumerId=null!=(t=e.consumerId)?t:"",r}};function Et(e){return null!=e}const Rt=(e,t)=>new Promise(((r,i)=>{e.emit("getRoom",{roomId:t,callback:({room:e})=>{e?r(e):i("房间不存在")}})})),Ct=async(e,t,r)=>{await(await Rt(e,r)).createNewClient(t),console.log("consumerCreatedRequest",t)},Pt=async(e,t,r)=>{(e=await Rt(e,r)).roomEvent.emit("onConsumerCreated",{room:e,code:4300,data:{roomId:r,clientId:t.clientId,kind:t.kind}})},St=(e,t)=>{let r=null;if(e.clientList.forEach(((e,i)=>{e.consumerList.forEach((e=>{e.consumerId===t.consumerId&&(r=e)}))})),r)return r},Mt=async(e,t,r)=>{var i;e=await Rt(e,r);let o=t.clientId;e.roomType===I.Channel&&(i=e.roomMethods.getChannelRoomConsumer(),(null==(n=t.speaker)?void 0:n.clientId)===i.speaker.clientId&&(i.producerPaused=!0,i.speaker.clientId=""),t.speaker)&&(o=t.speaker.clientId);var n=St(e,t).kind;e.roomEvent.emit("onConsumerPaused",{room:e,code:4304,data:{roomId:r,clientId:o,consumerId:t.consumerId,speaker:t.speaker,kind:n}})},wt=async(e,t,r)=>{var i;e=await Rt(e,r);let o=t.clientId;e.roomType===I.Channel&&(""!==(null==(n=e.roomMethods.whoIsSpeaking())?void 0:n.clientId)&&(null==n?void 0:n.clientId)!==(null==(i=t.speaker)?void 0:i.clientId)&&e.roomEvent.emit("onCutOffSpeaking",{room:e,code:4308,data:{roomId:r,clientId:null==(i=t.speaker)?void 0:i.clientId,beCutOffClientId:null==n?void 0:n.clientId,consumerId:t.consumerId,speaker:t.speaker}}),(i=e.roomMethods.getChannelRoomConsumer()).producerPaused=!1,i.speaker=t.speaker,t.speaker)&&(o=t.speaker.clientId);var n=St(e,t).kind;e.roomEvent.emit("onConsumerResume",{room:e,code:4303,data:{roomId:r,clientId:o,consumerId:t.consumerId,speaker:t.speaker,kind:n}})},Ot=(e,t,r)=>{r=r.split("/")[3];var i=null==(i=null==(i=t.properties)?void 0:i.userProperties)?void 0:i.redirect;t=t.properties.correlationData;e.emit("reply",{topic:`client/${r}/redirect/${i}/ok`,messageType:"BoolValue",message:{value:!0},correlationData:t})},Nt=(e,t,r,i)=>{r=r.split("/")[3],t=t.properties.correlationData,e.emit("reply",{topic:`client/${r}/media/${i}/ok`,messageType:"Empty",correlationData:t})},xt=async(e,t,r)=>{r=await Rt(e,r),e.emit("onConsumerResume",{room:r})},Dt=async(e,t)=>{t=await Rt(e,t),e.emit("onConsumerPaused",{room:t})},At=async(e,t)=>{null!=(e=await Rt(e,t))&&e.passiveLeaved()},Bt=async(e,t)=>{null!=(e=await Rt(e,t))&&e.passiveLeaved()},Vt=(e,t,r,i)=>{r=r.split("/")[3],t=t.properties.correlationData,e.emit("reply",{topic:`client/${r}/media/${i}/ok`,messageType:"Empty",correlationData:t})},Lt=async function(e,t,r,i,o){var n=((d=o.dup)&&console.log("重复消息"),Jt(r));let a=!1,s="";a="business"===n||(s=Gt(r),!1);var c=Ut(r);let l=Wt(o).index;if("err"===s){var d=oe.decode(i);if("media"===n){const r=t.get(l);await(async(e,t)=>{var{messageContent:r,roomId:i,messageObj:o}=t;if(1415===(t=(console.log("Recv Error - media: %o",t),r).code)){if(!i)return console.log("roomId 解析失败 %s",i),!1;t=await Rt(e,i),e.emit("channelOnSpeakerAccessFailed",{room:t}),t.roomEvent.emit("onSpeakerAccessFailed",{room:t,code:4307,data:{roomId:i}}),o.callback({messageContent:r,code:4202})}})(e,{messageContent:d,roomId:c,topicMethod:s,topicModule:n,messageObj:r})}else if("mediaapp"===n){await(async(e,t)=>{console.log("Recv Error - mediaapp: %o",t)})(0,{messageContent:d,roomId:c,topicMethod:s,topicModule:n});const a=t.get(l);a?(m=a.callback)&&m({messageContent:d,topic:r,message:i,packet:o}):dt(e,{curTopicMethod:s,packet:o,message:i,topic:r})}return t.delete(l),!1}a&&(m=(new TextDecoder).decode(i),d=JSON.parse(m),l=parseInt(d.id));const u=t.get(l);if(a)u?(m=u.callback,d=(new TextDecoder).decode(i),m({messageContent:JSON.parse(d),topic:r,message:i,packet:o}),t.delete(l)):(m=(new TextDecoder).decode(i),e.emit("onBusinessNotification",{messageContent:JSON.parse(m),topic:r,message:i,packet:o}));else if(u){var{callback:d,responseMessageType:m}=u,m=Ft(m,i);console.log("MQ Recv <- topicMethod:%o message:%o",s,m),t.delete(l),d&&d({messageContent:m,topic:r,message:i,packet:o})}else switch(console.log("MQ Server <- curTopicModule:%s, topicMethod:%o",n,s),n){case"media":await(async(e,t)=>{var{packet:r,message:i,topicMethod:o,roomId:n,topic:a}=t;switch(o){case"consumerCreated":var s=se.decode(i);await Ct(e,s,n),await Pt(e,s,n),Ot(e,r,a);break;case"consumerResumed":s=ce.decode(i),await xt(e,s,n),Nt(e,r,a,n),await wt(e,s,n);break;case"consumerPaused":s=ce.decode(i),console.log("consumerPaused - messageContent",s),await Dt(e,n),Nt(e,r,a,n),await Mt(e,s,n);break;case"passiveLeaved":await At(e,n);break;case"consumerClosed":console.log("consumerClosed - messageContent",bt.decode(i)),Bt(e,n),Vt(e,r,a,n);break;default:console.log("handlerMediaServerOnMessage 未知类型",o)}})(e,{roomId:c,topicMethod:s,topicModule:n,packet:o,topic:r,message:i});break;case"mediaapp":dt(e,{curTopicMethod:s,packet:o,message:i,topic:r});break;case"business":console.log("业务数据");break;default:console.log("handlerOnMessage 未知错误")}},Jt=e=>e.split("/")[0]||(console.log("Topic解析错误:",e),""),Gt=e=>e.split("/")[4]||(console.log("method解析错误:",e),""),Ut=e=>e.split("/")[1]||(console.log("RoomId解析错误:",e),""),Ft=(e,t)=>{let r;switch(e){case"StringValue":r=c.decode(t);break;case"JoinResponse":r=ne.decode(t);break;case"SimpleClientToken":r=st.decode(t);break;case"Empty":break;default:console.log("handlerMessage 未知类型")}return r},Wt=({properties:e})=>{var t=new TextDecoder;e=null==e?void 0:e.correlationData;return{index:parseInt(t.decode(e)),correlationData:e}};const qt={encode:(e,t=i.Writer.create())=>t,decode(e,t){var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t;for(e={};r.pos<o;){var n=r.uint32();if(4==(7&n)||0===n)break;r.skipType(7&n)}return e},fromJSON:e=>({}),toJSON:e=>({}),create:e=>qt.fromPartial(null!=e?e:{}),fromPartial:e=>({})};let $t=(()=>{const e=self,t=new Map,r=(e.addEventListener("message",(e=>{var i;"createInterval"===e.data.method?(i=r(e.data.time,e.data.data),t.set(i,e.data)):console.error("未知methods")})),(t,{name:r})=>setInterval((()=>{e.postMessage({name:r})}),t))}).toString();$t=$t.substring($t.indexOf("{")+1,$t.lastIndexOf("}"));const Ht=new Blob([$t],{type:"application/javascript"}),jt=URL.createObjectURL(Ht);let Zt=100,_t=new Map;class zt{constructor({eventEmit:e}){this.eventEmit=new qe,this.handlerOnMessage=async(e,t,r)=>{await Lt(this.eventEmit,_t,e,t,r)},this.handlerOnClose=()=>{this.eventEmit.emit("hyRtcOnClose",{})},this.eventEmit=e,this.registerMessageEvents()}registerMessageEvents(){this.eventEmit.on("send",(e=>{this.send(e)})),this.eventEmit.on("reply",(e=>{this.reply(e)})),this.eventEmit.on("unSubscribeMediaAppRoomEventTopic",(e=>{this.unSubscribeMediaAppRoomEventTopic(e)}))}async connect({authInfo:t},r){this.authInfo=t,this.connectUrl=r;let i={clean:!0,connectTimeout:1e3,reconnectPeriod:0,clientId:this.authInfo.clientId,username:this.authInfo.clientId,password:this.authInfo.password,protocol:this.authInfo.protocol,protocolVersion:5};if(null!=this.connectUrl)try{this.mqttClient=e.connect(this.connectUrl,i),this.mqttClient.on("message",this.handlerOnMessage),this.mqttClient.on("close",this.handlerOnClose)}catch{}return new Promise(((e,t)=>{let r=1;const i=setInterval((()=>{3<=++r&&(clearInterval(i),t({msg:"连接失败"})),e(this.mqttClient)}),0)}))}close({force:e=!1}){return new Promise((t=>{var r=this.getMqttClient();null!=r&&r.end(e,{},(()=>{t(!0)}))}))}subscribeMediaTopic(){var e=this.getClientId();this.subscribe(`media/+/client/${e}/+`)}subscribeMediaAppTopic(){var e=this.getClientId();this.subscribe(`mediaapp/+/client/${e}/+`)}async subscribeBusinessTopic(){var e=this.getClientId();await this.subscribe("business/user/"+e),console.log("开启业务心跳"),this.businessSendHeartbeat(),this.sendWorker()}businessSendHeartbeat(){var e=this.getClientId();this.businessSend({topic:"user/"+e,method:"heartbeat",notification:!0,data:{}})}sendWorker(){var e=new Worker(jt);e.onmessage=e=>{this.businessSendHeartbeat()},e.postMessage({method:"createInterval",time:1e4,data:{name:"businessSendHeartbeat"}})}subscribeDeviceStatusRealtimeTopic(e){if(0===e.length)return!1;e.forEach((e=>{this.subscribe("business/devicestatusRealtime/"+e)}))}subscribe(e){return new Promise(((t,r)=>{var i;null!=(i=this.mqttClient)&&i.subscribe(e,(function(e){e?r(e):t(!0)}))}))}unsubscribe(e){return new Promise(((t,r)=>{var i;null!=(i=this.mqttClient)&&i.unsubscribe(e,(function(i){i?r(i):(console.log("unsubscribe topic: %s",e),t(!0))}))}))}subscribeBatch(e){var t;null!=(t=this.mqttClient)&&t.subscribe(e)}subscribeMediaAppRoomEventTopic(e){this.subscribe(`mediaapp/${e}/+/+/roomEvent`)}unSubscribeMediaAppRoomEventTopic(e){this.unsubscribe(`mediaapp/${e}/`)}handlerMessageByte(e,t){switch(e){case"StringValue":return c.encode(t).finish();case"JoinRequest":return de.encode(t).finish();case"RtpCapabilitiesFinalized":return q.encode(t).finish();case"BoolValue":return s.encode(t).finish();case"Empty":return qt.encode(t).finish();case"ProduceRequest":return ue.encode(t).finish();case"DtlsParameters":return Z.encode(t).finish();case"BroadcastRequest":return ot.encode(t).finish();case"AudioCallEvent":return nt.encode(t).finish();case"MonitorRequest":return it.encode(t).finish();case"SipVideoRequest":return at.encode(t).finish();default:return console.log("未知回复体,请检查handlerMessageByte方法",e),""}}async joinRoom(e){var t=this.getClientId(),r=new tt({eventEmit:this.eventEmit});return r.setRoomId(e.roomId).setClientId(t).setProduceTag("hy_talk").setPlayElementBox(e.playElementBox).setRoomType(I.Channel).publishChannel(),r.setOnEvent(e.onEvent),r}async joinMonitor(e){return new Promise((async(t,r)=>{var i=this.getClientId();const o=new tt({eventEmit:this.eventEmit});o.setOnEvent(e.onEvent),o.setMonitorDeviceId(e.deviceId).setClientId(i).setPlayElementBox(e.playElementBox).setProduceTag("control"),e.roomId&&o.setRoomId(e.roomId),o.publishMonitor().then((()=>{t(o)})).catch((e=>{r(e)}))}))}async joinBroadcast(e){var t=this.getClientId(),r=new tt({eventEmit:this.eventEmit});return r.setOnEvent(e.onEvent),r.setBroadcastClientIds(e.clientIds).setClientId(t).setProduceTag("gb_broadcast").setDefaultEnableAudio(null==(t=e.options)?void 0:t.defaultEnableAudio),await r.publishBroadcast(),r}async joinMonitorListen(e){var t=this.getClientId(),r=new tt({eventEmit:this.eventEmit});return r.setMonitorListenDeviceId(e.deviceId).setPlayElementBox(e.playElementBox).setClientId(t).setProduceTag("control"),await r.publishMonitorListen(),r}async joinAudioCall(e){var t=this.getClientId(),r=e.deviceId,i=new tt({eventEmit:this.eventEmit});return i.setProduceTag("control").setMediaBeCallDeviceId(r).setPlayElementBox(e.playElementBox).setClientId(t).setRoomType(I.AudioCall).setDefaultEnableAudio(null==(r=e.options)?void 0:r.defaultEnableAudio),await i.publishMediaCall(),i.mediaCallWaiting(),i.startMediaCallWaiting(),i.startMediaCallRingingTimeout(),i}async joinVideoCall(e){var t=this.getClientId(),r=e.deviceId,i=new tt({eventEmit:this.eventEmit});return i.setProduceTag("control").setMediaBeCallDeviceId(r).setPlayElementBox(e.playElementBox).setClientId(t).setRoomType(I.VideoCall).setDefaultEnableAudio(null==(r=e.options)?void 0:r.defaultEnableAudio).setDefaultEnableVideo(null==(t=e.options)?void 0:t.defaultEnableVideo).setLocalPlayElementBox(e.localPlayElementBox),await i.publishMediaCall(),i.mediaCallWaiting(),i.startMediaCallWaiting(),i.startMediaCallRingingTimeout(),i}async joinSipVideo(e){return new Promise((async(t,r)=>{var i=this.getClientId();const o=new tt({eventEmit:this.eventEmit});o.setOnEvent(e.onEvent),o.setClientId(i).setPlayElementBox(e.playElementBox).setSipVideoDeviceId(e.deviceId).setRoomId(e.roomId).setRoomType(I.SipVideo).setLocalPlayElementBox(e.localPlayElementBox),o.publishSipVideo().then((()=>{t(o)})).catch((e=>{r(e)}))}))}async joinRecordRoom(e){return new Promise((async(t,r)=>{var i=this.getClientId(),o=new tt({eventEmit:this.eventEmit});o.setOnEvent(e.onEvent),o.setClientId(i).setRoomType(I.Recorder).setRoomId(e.roomId).setProduceTag("control").setProduceOption(e.produceOption),o.publishRecordRoom(),t(o)}))}send(e){var{topic:e,messageType:t,message:r,callback:i,responseMessageType:o,options:n}=e,a=this.getMqttClient(),{correlationData:s,index:c}=this.nextCorrelationData(),s={properties:{correlationData:s}},n=(null!=n&&n.noResponse&&null!=(n=s.properties)&&delete n.correlationData,e.indexOf("undefined"),this.handlerMessageByte(t,r)),t=(console.log("MQ Send -> opts:%o topic:%o message:%o",s,e,r),null!=a&&a.publish(e,n,s),{index:c,topic:e,payload:n,opts:s,callback:i,responseMessageType:o});this.correlationDataMapAdd(t)}reply(e){var{topic:e,messageType:t,message:r,correlationData:i}=e,o=this.getMqttClient(),i={properties:{correlationData:i}},t=(e.indexOf("undefined"),console.log("MQ Reply -> opts:%o topic:%o message:%o",i,e,r),this.handlerMessageByte(t,r));null!=o&&o.publish(e,t,i)}businessSend(e){return new Promise(((t,r)=>{var i=this.nextCorrelationData().index,o=(null!=(o=(e.id=i,console.log("businessSend ->",e),this.getMqttClient()))&&o.publish(e.topic,JSON.stringify(e)),{index:i,topic:e.topic,payload:e.data,callback:({messageContent:e,topic:i,message:o,packet:n})=>{(e.ok?t:r)({messageContent:e,topic:i,message:o,packet:n})},responseMessageType:"business"});this.correlationDataMapAdd(o)}))}getClientId(){var e;return null==(e=this.mqttClient)?void 0:e.options.clientId}getMqttClient(){return this.mqttClient}nextCorrelationData(){var e=Zt++;return{correlationData:(new TextEncoder).encode(e.toString()),index:e}}correlationDataMapAdd(e){_t.set(e.index,e)}getMqttClientStatus(){var e;return null==(e=this.getMqttClient())?void 0:e.connected}}class Kt extends qe{constructor({eventEmit:e}){super(),this.eventEmit=new qe,this.roomList=new Map,this.eventEmit=e,this.registerRoomEvents()}registerRoomEvents(){this.eventEmit.on("addRoom",(e=>{this.addRoom(e)})),this.eventEmit.on("getRoom",(e=>{this.getRoom(e)})),this.eventEmit.on("deleteRoom",(e=>{this.deleteRoom(e)})),this.eventEmit.on("delRoom",(e=>{console.log("delRoom")})),this.eventEmit.on("getAllRooms",(({callback:e})=>{e(this.getAllRooms())}))}addRoom(e){var t=e.roomId;return!!t&&(this.roomList.get(t)?(console.log("房间ID已存在: %o",t),!1):void this.roomList.set(t,e))}deleteRoom(e){return!!(e=e.roomId)&&(this.roomList.get(e)?(this.roomList.delete(e),console.log("已删除房间ID: %o",e),console.log("roomList",this.roomList),!1):void console.log("房间ID不存在: %o",e))}getRoom({roomId:e,callback:t}){t((e=this.roomList.get(e))?{room:e}:{room:null})}getAllRooms(){return this.roomList}getRoomByRoomId(e){var t=this.roomList.get(e);if(t)return t;console.log("未找到 roomId: %s",e)}getRoomsByRoomType(e){const t=[];return this.getAllRooms().forEach((r=>{r.roomType===e&&t.push(r)})),t}getDeviceIdByRoomType(e){let t=[];return this.getRoomsByRoomType(e).forEach((r=>{r.clientList.forEach((e=>{e.clientId&&t.push({clientId:e.clientId})})),e==I.Broadcast&&(t=r.broadcastClientIds.map((e=>({clientId:e}))))})),t}}class Qt extends qe{constructor({eventEmit:e}){super(),this.eventEmit=new qe,this.eventEmit=e,this.registerRoomEvents()}registerRoomEvents(){this.eventEmit.on("setGlobalVideoDevice",(({device:e})=>{console.log("setGlobalVideoDevice",e),this.globalVideoDevice=e})),this.eventEmit.on("getGlobalVideoDevice",(({callback:e})=>{e(this.globalVideoDevice)})),this.eventEmit.on("setGlobalAudioDevice",(({device:e})=>{this.globalAudioDevice=e})),this.eventEmit.on("getGlobalAudioDevice",(({callback:e})=>{e(this.globalAudioDevice)})),this.eventEmit.on("setGlobalDisplayMediaStream",(({displayMediaStream:e})=>{this.displayMediaStream=e})),this.eventEmit.on("getGlobalDisplayMediaStream",(({callback:e})=>{e(this.displayMediaStream)}))}}class Xt extends qe{constructor(){super(),this.eventEmit=new qe,this.registerMessageEvents(),this.eventEmit.emit("hyRtcConstructor",{})}registerMessageEvents(){}init(e){return new Promise(((t,r)=>{var i,o;this.getMqttClientStatus()?this.eventEmit.emit("hyRtcInitSuccess",this):(this.HyRtcCoreOptions=e,({authInfo:i,connectUrl:o}=this.HyRtcCoreOptions),this.NewRoomManager(),this.NewGlobalDeviceManager(),this.Message=this.NewMessage(),this.Message.connect({authInfo:i},o).then((()=>{var e;null!=(e=this.Message)&&e.subscribeMediaTopic(),null!=(e=this.Message)&&e.subscribeMediaAppTopic(),this.eventEmit.emit("hyRtcInitSuccess",this),t({})})).catch((e=>(r(e),this.eventEmit.emit("hyRtcInitError",e),!1))))}))}close(e){var t;return null==(t=this.Message)?void 0:t.close({force:null==e?void 0:e.force})}NewMessage(){return new zt({eventEmit:this.eventEmit})}NewRoomManager(){this.RoomManager=new Kt({eventEmit:this.eventEmit})}NewGlobalDeviceManager(){this.GlobalDeviceManager=new Qt({eventEmit:this.eventEmit})}async joinChannel(e){return new Promise(((t,r)=>{this.eventEmit.emit("getRoom",{roomId:e.roomId,callback:async({room:i})=>{var o;if(i)r({code:k.RoomIsExist,message:T.RoomIsExist});else{const i=await(null==(o=this.Message)?void 0:o.joinRoom(e));null!=i&&i.roomId&&null!=(o=this.Message)&&o.subscribeMediaAppRoomEventTopic(i.roomId),this.eventEmit.emit("addRoom",i),i?t({room:i}):r({code:k.JoinRoomFailed,message:T.JoinRoomFailed})}}})}))}async joinMonitor(e){return new Promise((async(t,r)=>{var i=this.getAllRooms();const o=[];null!=i&&i.forEach((function(e,t,r){null!=e.monitorDeviceId&&o.push(e.monitorDeviceId)})),-1===o.indexOf(e.deviceId)?null!=(i=this.Message)&&i.joinMonitor(e).then((e=>{var i;this.eventEmit.emit("addRoom",e),e?(null!=e&&e.roomId&&null!=(i=this.Message)&&i.subscribeMediaAppRoomEventTopic(e.roomId),t({room:e})):r({error:new Error("加入房间失败")})})).catch((({messageContent:e})=>{2003===e.code&&r({code:k.DeviceNotExist,message:T.DeviceNotExist})})):r({error:new Error("设备已存在直播房间中.")})}))}async joinBroadcast(e){return new Promise((async(t,r)=>{var i,o=await(null==(o=this.Message)?void 0:o.joinBroadcast(e));this.eventEmit.emit("addRoom",o),o&&(null!=o&&o.roomId&&null!=(i=this.Message)&&i.subscribeMediaAppRoomEventTopic(o.roomId),t({room:o}))}))}async joinMonitorListen(e){return new Promise((async(t,r)=>{var i,o=await(null==(o=this.Message)?void 0:o.joinMonitorListen(e));this.eventEmit.emit("addRoom",o),o&&(null!=o&&o.roomId&&null!=(i=this.Message)&&i.subscribeMediaAppRoomEventTopic(o.roomId),t({room:o}))}))}async joinAudioCall(e){return new Promise((async(t,r)=>{var i;await(null==(i=this.Message)?void 0:i.joinAudioCall(e).then((i=>{var o;this.eventEmit.emit("addRoom",i),i?(null!=i&&i.roomId&&null!=(o=this.Message)&&o.subscribeMediaAppRoomEventTopic(i.roomId),i.setOnEvent(e.onEvent),t({room:i})):r({error:new Error("加入房间失败")})})).catch((({code:e,msg:t})=>{r({code:e,msg:t})})))}))}async joinVideoCall(e){return new Promise((async(t,r)=>{var i;null!=(i=this.Message)&&i.joinVideoCall(e).then((i=>{var o;this.eventEmit.emit("addRoom",i),i?(null!=i&&i.roomId&&null!=(o=this.Message)&&o.subscribeMediaAppRoomEventTopic(i.roomId),i.setOnEvent(e.onEvent),t({room:i})):r({error:new Error("加入房间失败")})})).catch((({code:e,msg:t})=>{r({code:e,msg:t})}))}))}async joinSipVideo(e){return new Promise((async(t,r)=>{var i,o=await(null==(o=this.Message)?void 0:o.joinSipVideo(e));this.eventEmit.emit("addRoom",o),o?(null!=o&&o.roomId&&null!=(i=this.Message)&&i.subscribeMediaAppRoomEventTopic(o.roomId),o.setOnEvent(e.onEvent),o.setOnEvent(e.onEvent),t({room:o})):t({error:new Error("加入房间失败")})}))}async joinRecordRoom({args:e}){return new Promise((async(t,r)=>{let i,o=new MediaStream;e.videoList&&(i=this.mergeVideoElement(o,e.videoList),o=i.getMixedStream());var n=await(null==(n=this.Message)?void 0:n.joinRecordRoom(e));n&&(n.setRoomMediaStream(o),n.setVideoMixer(i)),t({room:n})}))}mergeVideoElement(e,t){t=t.map((e=>{if(e&&e.captureStream)return e.captureStream()})).filter(Boolean);var r=this.createMuteAudio();return(r=(t.push(r),new a(t))).width=1280,r.height=720,r.frameInterval=1,r.startDrawingFrames(),r}createMuteAudio(){var e=((t=(r=new window.AudioContext).createBuffer(1,r.sampleRate,r.sampleRate)).getChannelData(0).fill(.3),r.createBufferSource()),t=(e.buffer=t,e.loop=!0,e.connect(r.destination),r.createMediaStreamDestination()),r=(e.connect(t),t.stream);return e.start(),console.log("audioContext",r),r}getUserAudioMedia(){return Ze({audio:!0,video:!1})}getUserVideoMedia(){return Ze({audio:!1,video:!0})}getUserVideoMediaByDeviceId(e){return Xe(e)}getUserAudioMediaByDeviceId(e){return Qe(e)}enumerateDevices(){return je()}enumerateAudioDevices(){return je("audioinput")}enumerateVideoDevices(){return je("videoinput")}getAllRooms(){var e;return null==(e=this.RoomManager)?void 0:e.getAllRooms()}getRoomsByRoomId(e){var t;return null==(t=this.RoomManager)?void 0:t.getRoomByRoomId(e)}getRoomsByRoomType(e){var t;return null==(t=this.RoomManager)?void 0:t.getRoomsByRoomType(e)}getDeviceIdByRoomType(e){var t;return null==(t=this.RoomManager)?void 0:t.getDeviceIdByRoomType(e)}setGlobalVideoDevice(e){!function(e,t){t?e.emit("setGlobalVideoDevice",{device:t}):console.log("device 不能为空")}(this.eventEmit,e)}getGlobalVideoDevice(){return ze(this.eventEmit)}setGlobalAudioDevice(e){!function(e,t){t?e.emit("setGlobalAudioDevice",{device:t}):console.log("device 不能为空")}(this.eventEmit,e)}getGlobalAudioDevice(){return Ke(this.eventEmit)}getDisplayMediaStream(e={video:!0,audio:!0}){return Ye(e)}setGlobalDisplayMediaStream(e){!function(e,t){e.emit("setGlobalDisplayMediaStream",{displayMediaStream:t})}(this.eventEmit,e)}getGlobalDisplayMediaStream(){return function(e){return new Promise((t=>{e.emit("getGlobalDisplayMediaStream",{callback:e=>{t(e)}})}))}(this.eventEmit)}getMqttClientStatus(){var e;return null==(e=this.Message)?void 0:e.getMqttClientStatus()}async preCheckMediaSupport(){return new Promise((async(e,t)=>{var r={videoSupport:!1,audioSupport:!1,webRtcSupport:!0};try{var i=await navigator.mediaDevices.getUserMedia({video:!0,audio:!1});i&&(r.videoSupport=!0,i.getTracks().forEach((e=>{e.stop()})))}catch(e){r.videoSupport=!1}try{var o=await navigator.mediaDevices.getUserMedia({video:!1,audio:!0});o&&(r.audioSupport=!0,o.getTracks().forEach((e=>{e.stop()})))}catch(e){r.audioSupport=!1}e(r)}))}}export{Xt as HyRtcCore,zt as Message,tt as Room};
1
+ import e from"mqtt";import t from"long";import*as r from"protobufjs/minimal";import i from"protobufjs/minimal";import{v4 as o}from"uuid";import{Device as n}from"mediasoup-client";import a from"MultiStreamsMixer";const s={encode:(e,t=i.Writer.create())=>(!1!==e.value&&t.uint32(8).bool(e.value),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={value:!1};r.pos<o;){var a=r.uint32();if(a>>>3!=1||8!==a){if(4==(7&a)||0===a)break;r.skipType(7&a)}else n.value=r.bool()}return n},fromJSON:e=>({value:!!d(e.value)&&globalThis.Boolean(e.value)}),toJSON(e){var t={};return!1!==e.value&&(t.value=e.value),t},create:e=>s.fromPartial(null!=e?e:{}),fromPartial(e){var t={value:!1};return t.value=null!=(e=e.value)&&e,t}};const c={encode:(e,t=i.Writer.create())=>(""!==e.value&&t.uint32(10).string(e.value),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={value:""};r.pos<o;){var a=r.uint32();if(a>>>3!=1||10!==a){if(4==(7&a)||0===a)break;r.skipType(7&a)}else n.value=r.string()}return n},fromJSON:e=>({value:d(e.value)?globalThis.String(e.value):""}),toJSON(e){var t={};return""!==e.value&&(t.value=e.value),t},create:e=>c.fromPartial(null!=e?e:{}),fromPartial(e){var t={value:""};return t.value=null!=(e=e.value)?e:"",t}};function d(e){return null!=e}var l,u,m,p,h,v,f,g,I,y,k,T,b,E,R,C,S,P,M,w,O;function N(e){switch(e){case 0:case"Opus":return l.Opus;case 1:case"MultiChannelOpus":return l.MultiChannelOpus;case 2:case"Pcmu":return l.Pcmu;case 3:case"Pcma":return l.Pcma;case 4:case"Isac":return l.Isac;case 5:case"G722":return l.G722;case 6:case"Ilbc":return l.Ilbc;case 7:case"Silk":return l.Silk;case 8:case"Cn":return l.Cn;case 9:case"TelephoneEvent":return l.TelephoneEvent;case 10:case"ARtx":return l.ARtx;case 11:case"ARed":return l.ARed;case 100:case"Vp8":return l.Vp8;case 101:case"Vp9":return l.Vp9;case 102:case"H264":return l.H264;case 103:case"H264Svc":return l.H264Svc;case 104:case"H265":return l.H265;case 105:case"VRtx":return l.VRtx;case 106:case"VRed":return l.VRed;case 107:case"Ulpfec":return l.Ulpfec;default:return l.UNRECOGNIZED}}function x(e){switch(e){case l.Opus:return"Opus";case l.MultiChannelOpus:return"MultiChannelOpus";case l.Pcmu:return"Pcmu";case l.Pcma:return"Pcma";case l.Isac:return"Isac";case l.G722:return"G722";case l.Ilbc:return"Ilbc";case l.Silk:return"Silk";case l.Cn:return"Cn";case l.TelephoneEvent:return"TelephoneEvent";case l.ARtx:return"ARtx";case l.ARed:return"ARed";case l.Vp8:return"Vp8";case l.Vp9:return"Vp9";case l.H264:return"H264";case l.H264Svc:return"H264Svc";case l.H265:return"H265";case l.VRtx:return"VRtx";case l.VRed:return"VRed";case l.Ulpfec:return"Ulpfec";default:return l.UNRECOGNIZED,"UNRECOGNIZED"}}function D(e){switch(e){case 0:case"Audio":return u.Audio;case 1:case"Video":return u.Video;default:return u.UNRECOGNIZED}}function A(e){switch(e){case u.Audio:return"Audio";case u.Video:return"Video";default:return u.UNRECOGNIZED,"UNRECOGNIZED"}}function B(e){switch(e){case 0:case"Nack":return m.Nack;case 1:case"NackPli":return m.NackPli;case 2:case"CcmFir":return m.CcmFir;case 3:case"GoogRemb":return m.GoogRemb;case 4:case"TransportCc":return m.TransportCc;default:return m.UNRECOGNIZED}}function V(e){switch(e){case m.Nack:return"Nack";case m.NackPli:return"NackPli";case m.CcmFir:return"CcmFir";case m.GoogRemb:return"GoogRemb";case m.TransportCc:return"TransportCc";default:return m.UNRECOGNIZED,"UNRECOGNIZED"}}function L(e){switch(e){case 0:case"Mid":return p.Mid;case 1:case"RtpStreamId":return p.RtpStreamId;case 2:case"RepairRtpStreamId":return p.RepairRtpStreamId;case 3:case"FrameMarkingDraft07":return p.FrameMarkingDraft07;case 4:case"FrameMarking":return p.FrameMarking;case 5:case"AudioLevel":return p.AudioLevel;case 6:case"VideoOrientation":return p.VideoOrientation;case 7:case"TimeOffset":return p.TimeOffset;case 8:case"TransportWideCcDraft01":return p.TransportWideCcDraft01;case 9:case"AbsSendTime":return p.AbsSendTime;case 10:case"AbsCaptureTime":return p.AbsCaptureTime;case 11:case"PlayoutDelay":return p.PlayoutDelay;default:return p.UNRECOGNIZED}}function J(e){switch(e){case p.Mid:return"Mid";case p.RtpStreamId:return"RtpStreamId";case p.RepairRtpStreamId:return"RepairRtpStreamId";case p.FrameMarkingDraft07:return"FrameMarkingDraft07";case p.FrameMarking:return"FrameMarking";case p.AudioLevel:return"AudioLevel";case p.VideoOrientation:return"VideoOrientation";case p.TimeOffset:return"TimeOffset";case p.TransportWideCcDraft01:return"TransportWideCcDraft01";case p.AbsSendTime:return"AbsSendTime";case p.AbsCaptureTime:return"AbsCaptureTime";case p.PlayoutDelay:return"PlayoutDelay";default:return p.UNRECOGNIZED,"UNRECOGNIZED"}}function G(e){switch(e){case 0:case"SendRecv":return h.SendRecv;case 1:case"SendOnly":return h.SendOnly;case 2:case"RecvOnly":return h.RecvOnly;case 3:case"Inactive":return h.Inactive;default:return h.UNRECOGNIZED}}function U(e){switch(e){case 0:case"Auto":return v.Auto;case 1:case"Client":return v.Client;case 2:case"Server":return v.Server;default:return v.UNRECOGNIZED}}function F(e){switch(e){case 0:case"Tcp":return f.Tcp;case 1:case"Udp":return f.Udp;default:return f.UNRECOGNIZED}}function W(e){switch(e){case 0:case"Host":return g.Host;case 1:case"Srflx":return g.Srflx;case 2:case"Prflx":return g.Prflx;case 3:case"Relay":return g.Relay;default:return g.UNRECOGNIZED}}i.util.Long!==t&&(i.util.Long=t,i.configure()),(O=l=l||{})[O.Opus=0]="Opus",O[O.MultiChannelOpus=1]="MultiChannelOpus",O[O.Pcmu=2]="Pcmu",O[O.Pcma=3]="Pcma",O[O.Isac=4]="Isac",O[O.G722=5]="G722",O[O.Ilbc=6]="Ilbc",O[O.Silk=7]="Silk",O[O.Cn=8]="Cn",O[O.TelephoneEvent=9]="TelephoneEvent",O[O.ARtx=10]="ARtx",O[O.ARed=11]="ARed",O[O.Vp8=100]="Vp8",O[O.Vp9=101]="Vp9",O[O.H264=102]="H264",O[O.H264Svc=103]="H264Svc",O[O.H265=104]="H265",O[O.VRtx=105]="VRtx",O[O.VRed=106]="VRed",O[O.Ulpfec=107]="Ulpfec",O[O.UNRECOGNIZED=-1]="UNRECOGNIZED",function(e){e[e.Audio=0]="Audio",e[e.Video=1]="Video",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(u=u||{}),function(e){e[e.Nack=0]="Nack",e[e.NackPli=1]="NackPli",e[e.CcmFir=2]="CcmFir",e[e.GoogRemb=3]="GoogRemb",e[e.TransportCc=4]="TransportCc",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(m=m||{}),function(e){e[e.Mid=0]="Mid",e[e.RtpStreamId=1]="RtpStreamId",e[e.RepairRtpStreamId=2]="RepairRtpStreamId",e[e.FrameMarkingDraft07=3]="FrameMarkingDraft07",e[e.FrameMarking=4]="FrameMarking",e[e.AudioLevel=5]="AudioLevel",e[e.VideoOrientation=6]="VideoOrientation",e[e.TimeOffset=7]="TimeOffset",e[e.TransportWideCcDraft01=8]="TransportWideCcDraft01",e[e.AbsSendTime=9]="AbsSendTime",e[e.AbsCaptureTime=10]="AbsCaptureTime",e[e.PlayoutDelay=11]="PlayoutDelay",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(p=p||{}),function(e){e[e.SendRecv=0]="SendRecv",e[e.SendOnly=1]="SendOnly",e[e.RecvOnly=2]="RecvOnly",e[e.Inactive=3]="Inactive",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(h=h||{}),function(e){e[e.Auto=0]="Auto",e[e.Client=1]="Client",e[e.Server=2]="Server",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(v=v||{}),function(e){e[e.Tcp=0]="Tcp",e[e.Udp=1]="Udp",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(f=f||{}),function(e){e[e.Host=0]="Host",e[e.Srflx=1]="Srflx",e[e.Prflx=2]="Prflx",e[e.Relay=3]="Relay",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(g=g||{});const $={encode(e,t=i.Writer.create()){for(const r of e.codecs)q.encode(r,t.uint32(10).fork()).ldelim();for(const r of e.headerExtensions)H.encode(r,t.uint32(18).fork()).ldelim();return t},decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={codecs:[],headerExtensions:[]};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.codecs.push(q.decode(r,r.uint32()));continue;case 2:if(18===a){n.headerExtensions.push(H.decode(r,r.uint32()));continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({codecs:globalThis.Array.isArray(null==e?void 0:e.codecs)?e.codecs.map((e=>q.fromJSON(e))):[],headerExtensions:globalThis.Array.isArray(null==e?void 0:e.headerExtensions)?e.headerExtensions.map((e=>H.fromJSON(e))):[]}),toJSON(e){var t,r={};return null!=(t=e.codecs)&&t.length&&(r.codecs=e.codecs.map((e=>q.toJSON(e)))),null!=(t=e.headerExtensions)&&t.length&&(r.headerExtensions=e.headerExtensions.map((e=>H.toJSON(e)))),r},create:e=>$.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={codecs:[],headerExtensions:[]};return r.codecs=(null==(t=e.codecs)?void 0:t.map((e=>q.fromPartial(e))))||[],r.headerExtensions=(null==(t=e.headerExtensions)?void 0:t.map((e=>H.fromPartial(e))))||[],r}};const q={encode(e,t=i.Writer.create()){0!==e.mimeType&&t.uint32(8).int32(e.mimeType),0!==e.kind&&t.uint32(16).int32(e.kind),0!==e.preferredPayloadType&&t.uint32(24).uint32(e.preferredPayloadType),0!==e.clockRate&&t.uint32(32).uint32(e.clockRate),void 0!==e.channels&&t.uint32(40).uint32(e.channels);for(const r of e.parameters)j.encode(r,t.uint32(50).fork()).ldelim();t.uint32(58).fork();for(const r of e.rtcpFeedback)t.int32(r);return t.ldelim(),t},decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={mimeType:0,kind:0,preferredPayloadType:0,clockRate:0,channels:void 0,parameters:[],rtcpFeedback:[]};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(8!==a)break;n.mimeType=r.int32();continue;case 2:if(16!==a)break;n.kind=r.int32();continue;case 3:if(24!==a)break;n.preferredPayloadType=r.uint32();continue;case 4:if(32!==a)break;n.clockRate=r.uint32();continue;case 5:if(40!==a)break;n.channels=r.uint32();continue;case 6:if(50!==a)break;n.parameters.push(j.decode(r,r.uint32()));continue;case 7:if(56===a){n.rtcpFeedback.push(r.int32());continue}if(58===a){for(var s=r.uint32()+r.pos;r.pos<s;)n.rtcpFeedback.push(r.int32());continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({mimeType:ie(e.mimeType)?N(e.mimeType):0,kind:ie(e.kind)?D(e.kind):0,preferredPayloadType:ie(e.preferredPayloadType)?globalThis.Number(e.preferredPayloadType):0,clockRate:ie(e.clockRate)?globalThis.Number(e.clockRate):0,channels:ie(e.channels)?globalThis.Number(e.channels):void 0,parameters:globalThis.Array.isArray(null==e?void 0:e.parameters)?e.parameters.map((e=>j.fromJSON(e))):[],rtcpFeedback:globalThis.Array.isArray(null==e?void 0:e.rtcpFeedback)?e.rtcpFeedback.map((e=>B(e))):[]}),toJSON(e){var t,r={};return 0!==e.mimeType&&(r.mimeType=x(e.mimeType)),0!==e.kind&&(r.kind=A(e.kind)),0!==e.preferredPayloadType&&(r.preferredPayloadType=Math.round(e.preferredPayloadType)),0!==e.clockRate&&(r.clockRate=Math.round(e.clockRate)),void 0!==e.channels&&(r.channels=Math.round(e.channels)),null!=(t=e.parameters)&&t.length&&(r.parameters=e.parameters.map((e=>j.toJSON(e)))),null!=(t=e.rtcpFeedback)&&t.length&&(r.rtcpFeedback=e.rtcpFeedback.map((e=>V(e)))),r},create:e=>q.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={mimeType:0,kind:0,preferredPayloadType:0,clockRate:0,channels:void 0,parameters:[],rtcpFeedback:[]};return r.mimeType=null!=(t=e.mimeType)?t:0,r.kind=null!=(t=e.kind)?t:0,r.preferredPayloadType=null!=(t=e.preferredPayloadType)?t:0,r.clockRate=null!=(t=e.clockRate)?t:0,r.channels=null!=(t=e.channels)?t:void 0,r.parameters=(null==(t=e.parameters)?void 0:t.map((e=>j.fromPartial(e))))||[],r.rtcpFeedback=(null==(t=e.rtcpFeedback)?void 0:t.map((e=>e)))||[],r}};const H={encode:(e,t=i.Writer.create())=>(0!==e.kind&&t.uint32(8).int32(e.kind),0!==e.uri&&t.uint32(16).int32(e.uri),0!==e.preferredId&&t.uint32(24).uint32(e.preferredId),!1!==e.preferredEncrypt&&t.uint32(32).bool(e.preferredEncrypt),0!==e.direction&&t.uint32(40).int32(e.direction),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={kind:0,uri:0,preferredId:0,preferredEncrypt:!1,direction:0};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(8!==a)break;n.kind=r.int32();continue;case 2:if(16!==a)break;n.uri=r.int32();continue;case 3:if(24!==a)break;n.preferredId=r.uint32();continue;case 4:if(32!==a)break;n.preferredEncrypt=r.bool();continue;case 5:if(40===a){n.direction=r.int32();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({kind:ie(e.kind)?D(e.kind):0,uri:ie(e.uri)?L(e.uri):0,preferredId:ie(e.preferredId)?globalThis.Number(e.preferredId):0,preferredEncrypt:!!ie(e.preferredEncrypt)&&globalThis.Boolean(e.preferredEncrypt),direction:ie(e.direction)?G(e.direction):0}),toJSON(e){var t={};return 0!==e.kind&&(t.kind=A(e.kind)),0!==e.uri&&(t.uri=J(e.uri)),0!==e.preferredId&&(t.preferredId=Math.round(e.preferredId)),!1!==e.preferredEncrypt&&(t.preferredEncrypt=e.preferredEncrypt),0!==e.direction&&(t.direction=function(e){switch(e){case h.SendRecv:return"SendRecv";case h.SendOnly:return"SendOnly";case h.RecvOnly:return"RecvOnly";case h.Inactive:return"Inactive";default:return h.UNRECOGNIZED,"UNRECOGNIZED"}}(e.direction)),t},create:e=>H.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={kind:0,uri:0,preferredId:0,preferredEncrypt:!1,direction:0};return r.kind=null!=(t=e.kind)?t:0,r.uri=null!=(t=e.uri)?t:0,r.preferredId=null!=(t=e.preferredId)?t:0,r.preferredEncrypt=null!=(t=e.preferredEncrypt)&&t,r.direction=null!=(t=e.direction)?t:0,r}};const j={encode:(e,t=i.Writer.create())=>(""!==e.name&&t.uint32(10).string(e.name),void 0!==e.strValue&&t.uint32(18).string(e.strValue),void 0!==e.numValue&&t.uint32(24).uint32(e.numValue),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={name:"",strValue:void 0,numValue:void 0};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.name=r.string();continue;case 2:if(18!==a)break;n.strValue=r.string();continue;case 3:if(24===a){n.numValue=r.uint32();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({name:ie(e.name)?globalThis.String(e.name):"",strValue:ie(e.strValue)?globalThis.String(e.strValue):void 0,numValue:ie(e.numValue)?globalThis.Number(e.numValue):void 0}),toJSON(e){var t={};return""!==e.name&&(t.name=e.name),void 0!==e.strValue&&(t.strValue=e.strValue),void 0!==e.numValue&&(t.numValue=Math.round(e.numValue)),t},create:e=>j.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={name:"",strValue:void 0,numValue:void 0};return r.name=null!=(t=e.name)?t:"",r.strValue=null!=(t=e.strValue)?t:void 0,r.numValue=null!=(t=e.numValue)?t:void 0,r}};const Z={encode(e,t=i.Writer.create()){0!==e.role&&t.uint32(8).int32(e.role);for(const r of e.fingerprints)_.encode(r,t.uint32(18).fork()).ldelim();return t},decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={role:0,fingerprints:[]};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(8!==a)break;n.role=r.int32();continue;case 2:if(18===a){n.fingerprints.push(_.decode(r,r.uint32()));continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({role:ie(e.role)?U(e.role):0,fingerprints:globalThis.Array.isArray(null==e?void 0:e.fingerprints)?e.fingerprints.map((e=>_.fromJSON(e))):[]}),toJSON(e){var t,r={};return 0!==e.role&&(r.role=function(e){switch(e){case v.Auto:return"Auto";case v.Client:return"Client";case v.Server:return"Server";default:return v.UNRECOGNIZED,"UNRECOGNIZED"}}(e.role)),null!=(t=e.fingerprints)&&t.length&&(r.fingerprints=e.fingerprints.map((e=>_.toJSON(e)))),r},create:e=>Z.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={role:0,fingerprints:[]};return r.role=null!=(t=e.role)?t:0,r.fingerprints=(null==(t=e.fingerprints)?void 0:t.map((e=>_.fromPartial(e))))||[],r}};const _={encode:(e,t=i.Writer.create())=>(""!==e.algorithm&&t.uint32(10).string(e.algorithm),""!==e.value&&t.uint32(18).string(e.value),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={algorithm:"",value:""};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.algorithm=r.string();continue;case 2:if(18===a){n.value=r.string();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({algorithm:ie(e.algorithm)?globalThis.String(e.algorithm):"",value:ie(e.value)?globalThis.String(e.value):""}),toJSON(e){var t={};return""!==e.algorithm&&(t.algorithm=e.algorithm),""!==e.value&&(t.value=e.value),t},create:e=>_.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={algorithm:"",value:""};return r.algorithm=null!=(t=e.algorithm)?t:"",r.value=null!=(t=e.value)?t:"",r}};const z={encode:(e,t=i.Writer.create())=>(""!==e.foundation&&t.uint32(10).string(e.foundation),0!==e.priority&&t.uint32(16).uint32(e.priority),""!==e.address&&t.uint32(26).string(e.address),0!==e.protocol&&t.uint32(32).int32(e.protocol),0!==e.port&&t.uint32(40).uint32(e.port),0!==e.type&&t.uint32(48).int32(e.type),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={foundation:"",priority:0,address:"",protocol:0,port:0,type:0};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.foundation=r.string();continue;case 2:if(16!==a)break;n.priority=r.uint32();continue;case 3:if(26!==a)break;n.address=r.string();continue;case 4:if(32!==a)break;n.protocol=r.int32();continue;case 5:if(40!==a)break;n.port=r.uint32();continue;case 6:if(48===a){n.type=r.int32();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({foundation:ie(e.foundation)?globalThis.String(e.foundation):"",priority:ie(e.priority)?globalThis.Number(e.priority):0,address:ie(e.address)?globalThis.String(e.address):"",protocol:ie(e.protocol)?F(e.protocol):0,port:ie(e.port)?globalThis.Number(e.port):0,type:ie(e.type)?W(e.type):0}),toJSON(e){var t={};return""!==e.foundation&&(t.foundation=e.foundation),0!==e.priority&&(t.priority=Math.round(e.priority)),""!==e.address&&(t.address=e.address),0!==e.protocol&&(t.protocol=function(e){switch(e){case f.Tcp:return"Tcp";case f.Udp:return"Udp";default:return f.UNRECOGNIZED,"UNRECOGNIZED"}}(e.protocol)),0!==e.port&&(t.port=Math.round(e.port)),0!==e.type&&(t.type=function(e){switch(e){case g.Host:return"Host";case g.Srflx:return"Srflx";case g.Prflx:return"Prflx";case g.Relay:return"Relay";default:return g.UNRECOGNIZED,"UNRECOGNIZED"}}(e.type)),t},create:e=>z.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={foundation:"",priority:0,address:"",protocol:0,port:0,type:0};return r.foundation=null!=(t=e.foundation)?t:"",r.priority=null!=(t=e.priority)?t:0,r.address=null!=(t=e.address)?t:"",r.protocol=null!=(t=e.protocol)?t:0,r.port=null!=(t=e.port)?t:0,r.type=null!=(t=e.type)?t:0,r}};const K={encode:(e,t=i.Writer.create())=>(""!==e.usernameFragment&&t.uint32(10).string(e.usernameFragment),""!==e.password&&t.uint32(18).string(e.password),void 0!==e.iceLite&&t.uint32(24).bool(e.iceLite),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={usernameFragment:"",password:"",iceLite:void 0};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.usernameFragment=r.string();continue;case 2:if(18!==a)break;n.password=r.string();continue;case 3:if(24===a){n.iceLite=r.bool();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({usernameFragment:ie(e.usernameFragment)?globalThis.String(e.usernameFragment):"",password:ie(e.password)?globalThis.String(e.password):"",iceLite:ie(e.iceLite)?globalThis.Boolean(e.iceLite):void 0}),toJSON(e){var t={};return""!==e.usernameFragment&&(t.usernameFragment=e.usernameFragment),""!==e.password&&(t.password=e.password),void 0!==e.iceLite&&(t.iceLite=e.iceLite),t},create:e=>K.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={usernameFragment:"",password:"",iceLite:void 0};return r.usernameFragment=null!=(t=e.usernameFragment)?t:"",r.password=null!=(t=e.password)?t:"",r.iceLite=null!=(t=e.iceLite)?t:void 0,r}};const Q={encode(e,t=i.Writer.create()){void 0!==e.mid&&t.uint32(10).string(e.mid);for(const r of e.codecs)X.encode(r,t.uint32(18).fork()).ldelim();for(const r of e.headerExtensions)Y.encode(r,t.uint32(26).fork()).ldelim();for(const r of e.encodings)ee.encode(r,t.uint32(34).fork()).ldelim();return void 0!==e.rtcp&&re.encode(e.rtcp,t.uint32(42).fork()).ldelim(),t},decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={mid:void 0,codecs:[],headerExtensions:[],encodings:[],rtcp:void 0};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.mid=r.string();continue;case 2:if(18!==a)break;n.codecs.push(X.decode(r,r.uint32()));continue;case 3:if(26!==a)break;n.headerExtensions.push(Y.decode(r,r.uint32()));continue;case 4:if(34!==a)break;n.encodings.push(ee.decode(r,r.uint32()));continue;case 5:if(42===a){n.rtcp=re.decode(r,r.uint32());continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({mid:ie(e.mid)?globalThis.String(e.mid):void 0,codecs:globalThis.Array.isArray(null==e?void 0:e.codecs)?e.codecs.map((e=>X.fromJSON(e))):[],headerExtensions:globalThis.Array.isArray(null==e?void 0:e.headerExtensions)?e.headerExtensions.map((e=>Y.fromJSON(e))):[],encodings:globalThis.Array.isArray(null==e?void 0:e.encodings)?e.encodings.map((e=>ee.fromJSON(e))):[],rtcp:ie(e.rtcp)?re.fromJSON(e.rtcp):void 0}),toJSON(e){var t,r={};return void 0!==e.mid&&(r.mid=e.mid),null!=(t=e.codecs)&&t.length&&(r.codecs=e.codecs.map((e=>X.toJSON(e)))),null!=(t=e.headerExtensions)&&t.length&&(r.headerExtensions=e.headerExtensions.map((e=>Y.toJSON(e)))),null!=(t=e.encodings)&&t.length&&(r.encodings=e.encodings.map((e=>ee.toJSON(e)))),void 0!==e.rtcp&&(r.rtcp=re.toJSON(e.rtcp)),r},create:e=>Q.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={mid:void 0,codecs:[],headerExtensions:[],encodings:[],rtcp:void 0};return r.mid=null!=(t=e.mid)?t:void 0,r.codecs=(null==(t=e.codecs)?void 0:t.map((e=>X.fromPartial(e))))||[],r.headerExtensions=(null==(t=e.headerExtensions)?void 0:t.map((e=>Y.fromPartial(e))))||[],r.encodings=(null==(t=e.encodings)?void 0:t.map((e=>ee.fromPartial(e))))||[],r.rtcp=void 0!==e.rtcp&&null!==e.rtcp?re.fromPartial(e.rtcp):void 0,r}};const X={encode(e,t=i.Writer.create()){0!==e.mimeType&&t.uint32(8).int32(e.mimeType),0!==e.payloadType&&t.uint32(16).uint32(e.payloadType),0!==e.clockRate&&t.uint32(24).uint32(e.clockRate),void 0!==e.channels&&t.uint32(32).uint32(e.channels);for(const r of e.parameters)j.encode(r,t.uint32(42).fork()).ldelim();t.uint32(50).fork();for(const r of e.rtcpFeedback)t.int32(r);return t.ldelim(),t},decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={mimeType:0,payloadType:0,clockRate:0,channels:void 0,parameters:[],rtcpFeedback:[]};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(8!==a)break;n.mimeType=r.int32();continue;case 2:if(16!==a)break;n.payloadType=r.uint32();continue;case 3:if(24!==a)break;n.clockRate=r.uint32();continue;case 4:if(32!==a)break;n.channels=r.uint32();continue;case 5:if(42!==a)break;n.parameters.push(j.decode(r,r.uint32()));continue;case 6:if(48===a){n.rtcpFeedback.push(r.int32());continue}if(50===a){for(var s=r.uint32()+r.pos;r.pos<s;)n.rtcpFeedback.push(r.int32());continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({mimeType:ie(e.mimeType)?N(e.mimeType):0,payloadType:ie(e.payloadType)?globalThis.Number(e.payloadType):0,clockRate:ie(e.clockRate)?globalThis.Number(e.clockRate):0,channels:ie(e.channels)?globalThis.Number(e.channels):void 0,parameters:globalThis.Array.isArray(null==e?void 0:e.parameters)?e.parameters.map((e=>j.fromJSON(e))):[],rtcpFeedback:globalThis.Array.isArray(null==e?void 0:e.rtcpFeedback)?e.rtcpFeedback.map((e=>B(e))):[]}),toJSON(e){var t,r={};return 0!==e.mimeType&&(r.mimeType=x(e.mimeType)),0!==e.payloadType&&(r.payloadType=Math.round(e.payloadType)),0!==e.clockRate&&(r.clockRate=Math.round(e.clockRate)),void 0!==e.channels&&(r.channels=Math.round(e.channels)),null!=(t=e.parameters)&&t.length&&(r.parameters=e.parameters.map((e=>j.toJSON(e)))),null!=(t=e.rtcpFeedback)&&t.length&&(r.rtcpFeedback=e.rtcpFeedback.map((e=>V(e)))),r},create:e=>X.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={mimeType:0,payloadType:0,clockRate:0,channels:void 0,parameters:[],rtcpFeedback:[]};return r.mimeType=null!=(t=e.mimeType)?t:0,r.payloadType=null!=(t=e.payloadType)?t:0,r.clockRate=null!=(t=e.clockRate)?t:0,r.channels=null!=(t=e.channels)?t:void 0,r.parameters=(null==(t=e.parameters)?void 0:t.map((e=>j.fromPartial(e))))||[],r.rtcpFeedback=(null==(t=e.rtcpFeedback)?void 0:t.map((e=>e)))||[],r}};const Y={encode:(e,t=i.Writer.create())=>(0!==e.uri&&t.uint32(8).int32(e.uri),0!==e.id&&t.uint32(16).uint32(e.id),!1!==e.encrypt&&t.uint32(24).bool(e.encrypt),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={uri:0,id:0,encrypt:!1};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(8!==a)break;n.uri=r.int32();continue;case 2:if(16!==a)break;n.id=r.uint32();continue;case 3:if(24===a){n.encrypt=r.bool();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({uri:ie(e.uri)?L(e.uri):0,id:ie(e.id)?globalThis.Number(e.id):0,encrypt:!!ie(e.encrypt)&&globalThis.Boolean(e.encrypt)}),toJSON(e){var t={};return 0!==e.uri&&(t.uri=J(e.uri)),0!==e.id&&(t.id=Math.round(e.id)),!1!==e.encrypt&&(t.encrypt=e.encrypt),t},create:e=>Y.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={uri:0,id:0,encrypt:!1};return r.uri=null!=(t=e.uri)?t:0,r.id=null!=(t=e.id)?t:0,r.encrypt=null!=(t=e.encrypt)&&t,r}};const ee={encode:(e,t=i.Writer.create())=>(void 0!==e.ssrc&&t.uint32(8).uint32(e.ssrc),void 0!==e.rid&&t.uint32(18).string(e.rid),void 0!==e.codecPayloadType&&t.uint32(24).uint32(e.codecPayloadType),void 0!==e.rtx&&te.encode(e.rtx,t.uint32(34).fork()).ldelim(),void 0!==e.dtx&&t.uint32(40).bool(e.dtx),void 0!==e.scalabilityMode&&t.uint32(50).string(e.scalabilityMode),void 0!==e.maxBitrate&&t.uint32(56).uint32(e.maxBitrate),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={ssrc:void 0,rid:void 0,codecPayloadType:void 0,rtx:void 0,dtx:void 0,scalabilityMode:void 0,maxBitrate:void 0};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(8!==a)break;n.ssrc=r.uint32();continue;case 2:if(18!==a)break;n.rid=r.string();continue;case 3:if(24!==a)break;n.codecPayloadType=r.uint32();continue;case 4:if(34!==a)break;n.rtx=te.decode(r,r.uint32());continue;case 5:if(40!==a)break;n.dtx=r.bool();continue;case 6:if(50!==a)break;n.scalabilityMode=r.string();continue;case 7:if(56===a){n.maxBitrate=r.uint32();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({ssrc:ie(e.ssrc)?globalThis.Number(e.ssrc):void 0,rid:ie(e.rid)?globalThis.String(e.rid):void 0,codecPayloadType:ie(e.codecPayloadType)?globalThis.Number(e.codecPayloadType):void 0,rtx:ie(e.rtx)?te.fromJSON(e.rtx):void 0,dtx:ie(e.dtx)?globalThis.Boolean(e.dtx):void 0,scalabilityMode:ie(e.scalabilityMode)?globalThis.String(e.scalabilityMode):void 0,maxBitrate:ie(e.maxBitrate)?globalThis.Number(e.maxBitrate):void 0}),toJSON(e){var t={};return void 0!==e.ssrc&&(t.ssrc=Math.round(e.ssrc)),void 0!==e.rid&&(t.rid=e.rid),void 0!==e.codecPayloadType&&(t.codecPayloadType=Math.round(e.codecPayloadType)),void 0!==e.rtx&&(t.rtx=te.toJSON(e.rtx)),void 0!==e.dtx&&(t.dtx=e.dtx),void 0!==e.scalabilityMode&&(t.scalabilityMode=e.scalabilityMode),void 0!==e.maxBitrate&&(t.maxBitrate=Math.round(e.maxBitrate)),t},create:e=>ee.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={ssrc:void 0,rid:void 0,codecPayloadType:void 0,rtx:void 0,dtx:void 0,scalabilityMode:void 0,maxBitrate:void 0};return r.ssrc=null!=(t=e.ssrc)?t:void 0,r.rid=null!=(t=e.rid)?t:void 0,r.codecPayloadType=null!=(t=e.codecPayloadType)?t:void 0,r.rtx=void 0!==e.rtx&&null!==e.rtx?te.fromPartial(e.rtx):void 0,r.dtx=null!=(t=e.dtx)?t:void 0,r.scalabilityMode=null!=(t=e.scalabilityMode)?t:void 0,r.maxBitrate=null!=(t=e.maxBitrate)?t:void 0,r}};const te={encode:(e,t=i.Writer.create())=>(0!==e.ssrc&&t.uint32(8).uint32(e.ssrc),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={ssrc:0};r.pos<o;){var a=r.uint32();if(a>>>3!=1||8!==a){if(4==(7&a)||0===a)break;r.skipType(7&a)}else n.ssrc=r.uint32()}return n},fromJSON:e=>({ssrc:ie(e.ssrc)?globalThis.Number(e.ssrc):0}),toJSON(e){var t={};return 0!==e.ssrc&&(t.ssrc=Math.round(e.ssrc)),t},create:e=>te.fromPartial(null!=e?e:{}),fromPartial(e){var t={ssrc:0};return t.ssrc=null!=(e=e.ssrc)?e:0,t}};const re={encode:(e,t=i.Writer.create())=>(void 0!==e.cname&&t.uint32(10).string(e.cname),!1!==e.reducedSize&&t.uint32(16).bool(e.reducedSize),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={cname:void 0,reducedSize:!1};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.cname=r.string();continue;case 2:if(16===a){n.reducedSize=r.bool();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({cname:ie(e.cname)?globalThis.String(e.cname):void 0,reducedSize:!!ie(e.reducedSize)&&globalThis.Boolean(e.reducedSize)}),toJSON(e){var t={};return void 0!==e.cname&&(t.cname=e.cname),!1!==e.reducedSize&&(t.reducedSize=e.reducedSize),t},create:e=>re.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={cname:void 0,reducedSize:!1};return r.cname=null!=(t=e.cname)?t:void 0,r.reducedSize=null!=(t=e.reducedSize)&&t,r}};function ie(e){return null!=e}const oe={encode:(e,t=i.Writer.create())=>(0!==e.code&&t.uint32(8).uint32(e.code),""!==e.message&&t.uint32(18).string(e.message),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={code:0,message:""};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(8!==a)break;n.code=r.uint32();continue;case 2:if(18===a){n.message=r.string();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({code:me(e.code)?globalThis.Number(e.code):0,message:me(e.message)?globalThis.String(e.message):""}),toJSON(e){var t={};return 0!==e.code&&(t.code=Math.round(e.code)),""!==e.message&&(t.message=e.message),t},create:e=>oe.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={code:0,message:""};return r.code=null!=(t=e.code)?t:0,r.message=null!=(t=e.message)?t:"",r}};const ne={encode:(e,t=i.Writer.create())=>(void 0!==e.consumerTransportOptions&&ae.encode(e.consumerTransportOptions,t.uint32(10).fork()).ldelim(),void 0!==e.producerTransportOptions&&ae.encode(e.producerTransportOptions,t.uint32(18).fork()).ldelim(),void 0!==e.routerRtpCapabilities&&$.encode(e.routerRtpCapabilities,t.uint32(26).fork()).ldelim(),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={consumerTransportOptions:void 0,producerTransportOptions:void 0,routerRtpCapabilities:void 0};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.consumerTransportOptions=ae.decode(r,r.uint32());continue;case 2:if(18!==a)break;n.producerTransportOptions=ae.decode(r,r.uint32());continue;case 3:if(26===a){n.routerRtpCapabilities=$.decode(r,r.uint32());continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({consumerTransportOptions:me(e.consumerTransportOptions)?ae.fromJSON(e.consumerTransportOptions):void 0,producerTransportOptions:me(e.producerTransportOptions)?ae.fromJSON(e.producerTransportOptions):void 0,routerRtpCapabilities:me(e.routerRtpCapabilities)?$.fromJSON(e.routerRtpCapabilities):void 0}),toJSON(e){var t={};return void 0!==e.consumerTransportOptions&&(t.consumerTransportOptions=ae.toJSON(e.consumerTransportOptions)),void 0!==e.producerTransportOptions&&(t.producerTransportOptions=ae.toJSON(e.producerTransportOptions)),void 0!==e.routerRtpCapabilities&&(t.routerRtpCapabilities=$.toJSON(e.routerRtpCapabilities)),t},create:e=>ne.fromPartial(null!=e?e:{}),fromPartial(e){var t={consumerTransportOptions:void 0,producerTransportOptions:void 0,routerRtpCapabilities:void 0};return t.consumerTransportOptions=void 0!==e.consumerTransportOptions&&null!==e.consumerTransportOptions?ae.fromPartial(e.consumerTransportOptions):void 0,t.producerTransportOptions=void 0!==e.producerTransportOptions&&null!==e.producerTransportOptions?ae.fromPartial(e.producerTransportOptions):void 0,t.routerRtpCapabilities=void 0!==e.routerRtpCapabilities&&null!==e.routerRtpCapabilities?$.fromPartial(e.routerRtpCapabilities):void 0,t}};const ae={encode(e,t=i.Writer.create()){""!==e.id&&t.uint32(10).string(e.id),void 0!==e.dtlsParameters&&Z.encode(e.dtlsParameters,t.uint32(18).fork()).ldelim();for(const r of e.iceCandidates)z.encode(r,t.uint32(26).fork()).ldelim();return void 0!==e.iceParameters&&K.encode(e.iceParameters,t.uint32(34).fork()).ldelim(),t},decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={id:"",dtlsParameters:void 0,iceCandidates:[],iceParameters:void 0};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.id=r.string();continue;case 2:if(18!==a)break;n.dtlsParameters=Z.decode(r,r.uint32());continue;case 3:if(26!==a)break;n.iceCandidates.push(z.decode(r,r.uint32()));continue;case 4:if(34===a){n.iceParameters=K.decode(r,r.uint32());continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({id:me(e.id)?globalThis.String(e.id):"",dtlsParameters:me(e.dtlsParameters)?Z.fromJSON(e.dtlsParameters):void 0,iceCandidates:globalThis.Array.isArray(null==e?void 0:e.iceCandidates)?e.iceCandidates.map((e=>z.fromJSON(e))):[],iceParameters:me(e.iceParameters)?K.fromJSON(e.iceParameters):void 0}),toJSON(e){var t,r={};return""!==e.id&&(r.id=e.id),void 0!==e.dtlsParameters&&(r.dtlsParameters=Z.toJSON(e.dtlsParameters)),null!=(t=e.iceCandidates)&&t.length&&(r.iceCandidates=e.iceCandidates.map((e=>z.toJSON(e)))),void 0!==e.iceParameters&&(r.iceParameters=K.toJSON(e.iceParameters)),r},create:e=>ae.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={id:"",dtlsParameters:void 0,iceCandidates:[],iceParameters:void 0};return r.id=null!=(t=e.id)?t:"",r.dtlsParameters=void 0!==e.dtlsParameters&&null!==e.dtlsParameters?Z.fromPartial(e.dtlsParameters):void 0,r.iceCandidates=(null==(t=e.iceCandidates)?void 0:t.map((e=>z.fromPartial(e))))||[],r.iceParameters=void 0!==e.iceParameters&&null!==e.iceParameters?K.fromPartial(e.iceParameters):void 0,r}};const se={encode:(e,t=i.Writer.create())=>(""!==e.clientId&&t.uint32(10).string(e.clientId),""!==e.producerId&&t.uint32(18).string(e.producerId),""!==e.consumerId&&t.uint32(26).string(e.consumerId),0!==e.kind&&t.uint32(32).int32(e.kind),void 0!==e.rtpParameters&&Q.encode(e.rtpParameters,t.uint32(42).fork()).ldelim(),!1!==e.producerPaused&&t.uint32(48).bool(e.producerPaused),void 0!==e.speaker&&de.encode(e.speaker,t.uint32(58).fork()).ldelim(),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={clientId:"",producerId:"",consumerId:"",kind:0,rtpParameters:void 0,producerPaused:!1,speaker:void 0};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.clientId=r.string();continue;case 2:if(18!==a)break;n.producerId=r.string();continue;case 3:if(26!==a)break;n.consumerId=r.string();continue;case 4:if(32!==a)break;n.kind=r.int32();continue;case 5:if(42!==a)break;n.rtpParameters=Q.decode(r,r.uint32());continue;case 6:if(48!==a)break;n.producerPaused=r.bool();continue;case 7:if(58===a){n.speaker=de.decode(r,r.uint32());continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({clientId:me(e.clientId)?globalThis.String(e.clientId):"",producerId:me(e.producerId)?globalThis.String(e.producerId):"",consumerId:me(e.consumerId)?globalThis.String(e.consumerId):"",kind:me(e.kind)?D(e.kind):0,rtpParameters:me(e.rtpParameters)?Q.fromJSON(e.rtpParameters):void 0,producerPaused:!!me(e.producerPaused)&&globalThis.Boolean(e.producerPaused),speaker:me(e.speaker)?de.fromJSON(e.speaker):void 0}),toJSON(e){var t={};return""!==e.clientId&&(t.clientId=e.clientId),""!==e.producerId&&(t.producerId=e.producerId),""!==e.consumerId&&(t.consumerId=e.consumerId),0!==e.kind&&(t.kind=A(e.kind)),void 0!==e.rtpParameters&&(t.rtpParameters=Q.toJSON(e.rtpParameters)),!1!==e.producerPaused&&(t.producerPaused=e.producerPaused),void 0!==e.speaker&&(t.speaker=de.toJSON(e.speaker)),t},create:e=>se.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={clientId:"",producerId:"",consumerId:"",kind:0,rtpParameters:void 0,producerPaused:!1,speaker:void 0};return r.clientId=null!=(t=e.clientId)?t:"",r.producerId=null!=(t=e.producerId)?t:"",r.consumerId=null!=(t=e.consumerId)?t:"",r.kind=null!=(t=e.kind)?t:0,r.rtpParameters=void 0!==e.rtpParameters&&null!==e.rtpParameters?Q.fromPartial(e.rtpParameters):void 0,r.producerPaused=null!=(t=e.producerPaused)&&t,r.speaker=void 0!==e.speaker&&null!==e.speaker?de.fromPartial(e.speaker):void 0,r}};const ce={encode:(e,t=i.Writer.create())=>(""!==e.clientId&&t.uint32(10).string(e.clientId),""!==e.consumerId&&t.uint32(18).string(e.consumerId),void 0!==e.speaker&&de.encode(e.speaker,t.uint32(26).fork()).ldelim(),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={clientId:"",consumerId:"",speaker:void 0};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.clientId=r.string();continue;case 2:if(18!==a)break;n.consumerId=r.string();continue;case 3:if(26===a){n.speaker=de.decode(r,r.uint32());continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({clientId:me(e.clientId)?globalThis.String(e.clientId):"",consumerId:me(e.consumerId)?globalThis.String(e.consumerId):"",speaker:me(e.speaker)?de.fromJSON(e.speaker):void 0}),toJSON(e){var t={};return""!==e.clientId&&(t.clientId=e.clientId),""!==e.consumerId&&(t.consumerId=e.consumerId),void 0!==e.speaker&&(t.speaker=de.toJSON(e.speaker)),t},create:e=>ce.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={clientId:"",consumerId:"",speaker:void 0};return r.clientId=null!=(t=e.clientId)?t:"",r.consumerId=null!=(t=e.consumerId)?t:"",r.speaker=void 0!==e.speaker&&null!==e.speaker?de.fromPartial(e.speaker):void 0,r}};const de={encode:(e,t=i.Writer.create())=>(0!==e.seq&&t.uint32(8).uint32(e.seq),""!==e.clientId&&t.uint32(18).string(e.clientId),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={seq:0,clientId:""};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(8!==a)break;n.seq=r.uint32();continue;case 2:if(18===a){n.clientId=r.string();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({seq:me(e.seq)?globalThis.Number(e.seq):0,clientId:me(e.clientId)?globalThis.String(e.clientId):""}),toJSON(e){var t={};return 0!==e.seq&&(t.seq=Math.round(e.seq)),""!==e.clientId&&(t.clientId=e.clientId),t},create:e=>de.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={seq:0,clientId:""};return r.seq=null!=(t=e.seq)?t:0,r.clientId=null!=(t=e.clientId)?t:"",r}};const le={encode:(e,t=i.Writer.create())=>(""!==e.token&&t.uint32(10).string(e.token),!1!==e.forceTcp&&t.uint32(16).bool(e.forceTcp),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={token:"",forceTcp:!1};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.token=r.string();continue;case 2:if(16===a){n.forceTcp=r.bool();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({token:me(e.token)?globalThis.String(e.token):"",forceTcp:!!me(e.forceTcp)&&globalThis.Boolean(e.forceTcp)}),toJSON(e){var t={};return""!==e.token&&(t.token=e.token),!1!==e.forceTcp&&(t.forceTcp=e.forceTcp),t},create:e=>le.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={token:"",forceTcp:!1};return r.token=null!=(t=e.token)?t:"",r.forceTcp=null!=(t=e.forceTcp)&&t,r}};const ue={encode:(e,t=i.Writer.create())=>(""!==e.tag&&t.uint32(10).string(e.tag),0!==e.kind&&t.uint32(16).int32(e.kind),void 0!==e.rtpParameters&&Q.encode(e.rtpParameters,t.uint32(26).fork()).ldelim(),!1!==e.paused&&t.uint32(32).bool(e.paused),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={tag:"",kind:0,rtpParameters:void 0,paused:!1};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.tag=r.string();continue;case 2:if(16!==a)break;n.kind=r.int32();continue;case 3:if(26!==a)break;n.rtpParameters=Q.decode(r,r.uint32());continue;case 4:if(32===a){n.paused=r.bool();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({tag:me(e.tag)?globalThis.String(e.tag):"",kind:me(e.kind)?D(e.kind):0,rtpParameters:me(e.rtpParameters)?Q.fromJSON(e.rtpParameters):void 0,paused:!!me(e.paused)&&globalThis.Boolean(e.paused)}),toJSON(e){var t={};return""!==e.tag&&(t.tag=e.tag),0!==e.kind&&(t.kind=A(e.kind)),void 0!==e.rtpParameters&&(t.rtpParameters=Q.toJSON(e.rtpParameters)),!1!==e.paused&&(t.paused=e.paused),t},create:e=>ue.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={tag:"",kind:0,rtpParameters:void 0,paused:!1};return r.tag=null!=(t=e.tag)?t:"",r.kind=null!=(t=e.kind)?t:0,r.rtpParameters=void 0!==e.rtpParameters&&null!==e.rtpParameters?Q.fromPartial(e.rtpParameters):void 0,r.paused=null!=(t=e.paused)&&t,r}};function me(e){return null!=e}const pe=["audioCall","videoCall"];function he(e,t,r){var{clientId:r,event:i,roomId:o,kind:n}=r;t=`client/${t}/mediaapp/${o}/${pe[n]}Event`;e.emit("send",{topic:t,messageType:"AudioCallEvent",message:{clientId:r,event:i},options:{noResponse:!0}})}function ve(e,t,r){return new Promise(((i,o)=>{const{roomId:n,producerId:a}=r;e.emit("send",{topic:`client/${t}/media/${n}/producerResume`,messageType:"StringValue",message:{value:a},responseMessageType:"Empty",callback:({messageContent:e,code:t})=>{t?o({code:4202,msg:e.message}):(console.log("consumerResume success"),i({producerId:a}))}})}))}function fe(e,t,r){return new Promise(((i,o)=>{const{roomId:n,producerId:a}=r;e.emit("send",{topic:`client/${t}/media/${n}/producerPause`,messageType:"StringValue",message:{value:a},responseMessageType:"Empty",callback:()=>{console.log("consumerResume success"),i({producerId:a})}})}))}function ge(e){switch(e){case l.Opus:return"audio/opus";case l.MultiChannelOpus:return"audio/multiopus";case l.Pcmu:return"audio/PCMU";case l.Pcma:return"audio/PCMA";case l.Isac:return"audio/ISAC";case l.G722:return"audio/G722";case l.Ilbc:return"audio/iLBC";case l.Silk:return"audio/SILK";case l.Cn:return"audio/CN";case l.TelephoneEvent:return"audio/telephone-event";case l.ARtx:return"audio/rtx";case l.ARed:return"audio/red";case l.Vp8:return"video/VP8";case l.Vp9:return"video/VP9";case l.H264:return"video/H264";case l.H264Svc:return"video/H264-SVC";case l.H265:return"video/H265";case l.VRtx:return"video/rtx";case l.VRed:return"video/red";case l.Ulpfec:return"video/ulpfec";default:return}}function Ie(e){switch(e){case"audio/opus":return l.Opus;case"audio/multiopus":return l.MultiChannelOpus;case"audio/PCMU":return l.Pcmu;case"audio/PCMA":return l.Pcma;case"audio/ISAC":return l.Isac;case"audio/G722":return l.G722;case"audio/iLBC":return l.Ilbc;case"audio/SILK":return l.Silk;case"audio/CN":return l.Cn;case"audio/telephone-event":return l.TelephoneEvent;case"audio/rtx":return l.ARtx;case"audio/red":return l.ARed;case"video/VP8":return l.Vp8;case"video/VP9":return l.Vp9;case"video/H264":return l.H264;case"video/H264-SVC":return l.H264Svc;case"video/H265":return l.H265;case"video/rtx":return l.VRtx;case"video/red":return l.VRed;case"video/ulpfec":return l.Ulpfec;default:return l.UNRECOGNIZED}}function ye(e){switch(e){case l.Opus:return"audio/opus";case l.MultiChannelOpus:return"audio/multiopus";case l.Pcmu:return"audio/PCMU";case l.Pcma:return"audio/PCMA";case l.Isac:return"audio/ISAC";case l.G722:return"audio/G722";case l.Ilbc:return"audio/iLBC";case l.Silk:return"audio/SILK";case l.Cn:return"audio/CN";case l.TelephoneEvent:return"audio/telephone-event";case l.ARtx:case l.ARed:return"audio/red";case l.Vp8:return"video/VP8";case l.Vp9:return"video/VP9";case l.H264:return"video/H264";case l.H264Svc:return"video/H264-SVC";case l.H265:return"video/H265";case l.VRtx:return"video/rtx";case l.VRed:return"video/red";case l.Ulpfec:return"video/ulpfec";default:return}}function ke(e){switch(e){case u.Audio:return"audio";case u.Video:return"video";default:return}}function Te(e){switch(e){case"audio":return u.Audio;case"video":return u.Video;default:return u.UNRECOGNIZED}}function be(e){var t={};for(const r of e)t[r.name]=r.strValue||r.numValue;return t}function Ee(e){var t,r=[];for(const i in e)e.hasOwnProperty(i)&&(t=e[i],r.push({name:i,strValue:"string"==typeof t?t:void 0,numValue:"number"==typeof t?t:void 0}));return r}function Re(e){return e.map((e=>{switch(e){case m.Nack:return{type:"nack",parameter:""};case m.NackPli:return{type:"nack",parameter:"pli"};case m.CcmFir:return{type:"ccm",parameter:"fir"};case m.GoogRemb:return{type:"goog-remb",parameter:""};case m.TransportCc:return{type:"transport-cc",parameter:""};default:return}})).filter((e=>null!=e))}function Ce(e){return e?e.map((e=>{switch(e.type){case"nack":return"pli"===e.parameter?m.NackPli:m.Nack;case"ccm":return m.CcmFir;case"goog-remb":return m.GoogRemb;case"transport-cc":return m.TransportCc;default:return}})).filter((e=>null!=e)):[]}function Se(e){switch(e){case p.Mid:return"urn:ietf:params:rtp-hdrext:sdes:mid";case p.RtpStreamId:return"urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id";case p.RepairRtpStreamId:return"urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id";case p.FrameMarkingDraft07:return"http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07";case p.FrameMarking:return"urn:ietf:params:rtp-hdrext:framemarking";case p.AudioLevel:return"urn:ietf:params:rtp-hdrext:ssrc-audio-level";case p.VideoOrientation:return"urn:3gpp:video-orientation";case p.TimeOffset:return"urn:ietf:params:rtp-hdrext:toffset";case p.TransportWideCcDraft01:return"http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01";case p.AbsSendTime:return"http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time";case p.AbsCaptureTime:return"http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time";case p.PlayoutDelay:return"http://www.webrtc.org/experiments/rtp-hdrext/playout-delay";default:return}}function Pe(e){switch(e){case"urn:ietf:params:rtp-hdrext:sdes:mid":return p.Mid;case"urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id":return p.RtpStreamId;case"urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id":return p.RepairRtpStreamId;case"http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07":return p.FrameMarkingDraft07;case"urn:ietf:params:rtp-hdrext:framemarking":return p.FrameMarking;case"urn:ietf:params:rtp-hdrext:ssrc-audio-level":return p.AudioLevel;case"urn:3gpp:video-orientation":return p.VideoOrientation;case"urn:ietf:params:rtp-hdrext:toffset":return p.TimeOffset;case"http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01":return p.TransportWideCcDraft01;case"http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time":return p.AbsSendTime;case"http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time":return p.AbsCaptureTime;case"http://www.webrtc.org/experiments/rtp-hdrext/playout-delay":return p.PlayoutDelay;default:return p.UNRECOGNIZED}}function Me(e){switch(e){case h.SendRecv:return"sendrecv";case h.SendOnly:return"sendonly";case h.RecvOnly:return"recvonly";case h.Inactive:return"inactive";default:return}}function we(e){switch(e){case"sendrecv":return h.SendRecv;case"sendonly":return h.SendOnly;case"recvonly":return h.RecvOnly;case"inactive":return h.Inactive;default:return h.UNRECOGNIZED}}function Oe(e){return void 0===e?{codecs:[],headerExtensions:[]}:{codecs:e.codecs.map((e=>{var{mimeType:e,kind:t,preferredPayloadType:r,clockRate:i,channels:o,parameters:n,rtcpFeedback:a}=e;return{mimeType:ge(e),kind:ke(t),preferredPayloadType:r,clockRate:i,channels:o,parameters:be(n),rtcpFeedback:Re(a)}})),headerExtensions:e.headerExtensions.map((e=>{var{kind:e,uri:t,preferredId:r,preferredEncrypt:i,direction:o}=e;return{kind:ke(e),uri:Se(t),preferredId:r,preferredEncrypt:i,direction:Me(o)}}))}}function Ne(e){var{usernameFragment:e,password:t,iceLite:r}=e;return{usernameFragment:e,password:t,iceLite:r}}function xe(e){return e.map((e=>{var{foundation:e,priority:t,address:r,protocol:i,port:o,type:n}=e,i=function(e){return e===f.Udp?"udp":"tcp"}(i);return{foundation:e,priority:t,address:r,protocol:i,port:o,type:De(n),tcpType:"tcp"===i?"passive":void 0}}))}function De(e){return e===g.Host?"host":e===g.Srflx?"srflx":e===g.Prflx?"prflx":"relay"}function Ae(e){var{role:e,fingerprints:t}=e;return{role:Ve(e),fingerprints:t.map((e=>function(e){var{algorithm:e,value:t}=e;return{algorithm:e,value:t}}(e)))}}function Be(e){var{role:e,fingerprints:t}=e;return{role:Le(e),fingerprints:t.map((e=>function(e){var{algorithm:e,value:t}=e;return{algorithm:e,value:t}}(e)))}}function Ve(e){return e===v.Client?"client":e===v.Server?"server":"auto"}function Le(e){return"client"===e?v.Client:"server"===e?v.Server:v.Auto}function Je(e){var{id:e,iceParameters:t,iceCandidates:r,dtlsParameters:i}=e;return{id:e,iceParameters:Ne(t),iceCandidates:xe(r),dtlsParameters:Ae(i)}}function Ge(e){var{mid:e,codecs:t,headerExtensions:r,encodings:i,rtcp:o}=e;return{mid:e,codecs:t.map((e=>function(e){var{mimeType:e,payloadType:t,clockRate:r,channels:i,parameters:o,rtcpFeedback:n}=e;return{mimeType:ye(e),payloadType:t,clockRate:r,channels:i,parameters:be(o),rtcpFeedback:Re(n)}}(e))),headerExtensions:r.map((e=>function(e){var{uri:e,id:t,encrypt:r}=e;return{uri:Se(e),id:t,encrypt:r}}(e))),encodings:i.map((e=>function(e){var{ssrc:e,rid:t,codecPayloadType:r,rtx:i,dtx:o,scalabilityMode:n,maxBitrate:a}=e;return{ssrc:e,rid:t,codecPayloadType:r,rtx:i,dtx:o,scalabilityMode:n,maxBitrate:a}}(e))),rtcp:Fe(o)}}function Ue(e){var{mid:e,codecs:t,headerExtensions:r,encodings:i,rtcp:o}=e;return{mid:e,codecs:t.map((e=>function(e){var{mimeType:e,payloadType:t,clockRate:r,channels:i,parameters:o,rtcpFeedback:n}=e;return{mimeType:Ie(e),payloadType:t,clockRate:r,channels:i,parameters:Ee(o),rtcpFeedback:Ce(n)}}(e))),headerExtensions:r.map((e=>function(e){var{uri:e,id:t,encrypt:r}=e;return{uri:Pe(e),id:t,encrypt:!0===r}}(e))),encodings:i.map((e=>function(e){var{ssrc:e,rid:t,codecPayloadType:r,rtx:i,dtx:o,scalabilityMode:n,maxBitrate:a}=e;return{ssrc:e,rid:t,codecPayloadType:r,rtx:i,dtx:o,scalabilityMode:n,maxBitrate:a}}(e))),rtcp:We(o)}}function Fe(e){var t;if(e)return({cname:e,reducedSize:t}=e),{cname:e,reducedSize:t}}function We(e){var t;if(e)return({cname:e,reducedSize:t}=e),{cname:e,reducedSize:!0===t}}class $e{constructor(){this.map=new Map}on(e,t){let r=this.map.get(e);r||this.map.set(e,r=new Set),r.add(t)}emit(e,t){var r=this.map.get(e);r?r.forEach((e=>e(t))):console.log(e+" Not Found")}off(e,t){var r;e?t?(r=this.map.get(e))&&r.delete(t):this.map.delete(e):this.map.clear()}once(e,t){const r=i=>{t(i),this.off(e,r)};this.on(e,r)}}class qe{constructor(e){this.consumerList=new Map,e=e.clientId,this.clientId=e}pushConsumerList(e){return!this.consumerList||this.consumerList.get(e.producerId)?(console.log("pushConsumerList - 异常情况"),!1):void this.consumerList.set(e.producerId,e)}async genConsumer(e,t){if(!e)return{consumer:void 0,producerId:""};var{consumerId:e,producerId:r,kind:i,rtpParameters:o}=e,i=(e={id:e,producerId:r,kind:ke(i),rtpParameters:Ge(o)},await(null==t?void 0:t.consume(e)));this.updateConsumerForConsumer(r,i)}updateConsumerForConsumer(e,t){var r=null==(r=this.consumerList)?void 0:r.get(e);r&&(r.consumer=t,null!=(t=this.consumerList))&&t.set(e,r)}}!function(e){e[e.Channel=0]="Channel",e[e.Monitor=1]="Monitor",e[e.BeMonitor=2]="BeMonitor",e[e.Broadcast=3]="Broadcast",e[e.BeBroadcast=4]="BeBroadcast",e[e.MonitorListen=5]="MonitorListen",e[e.BeMonitorListen=6]="BeMonitorListen",e[e.AudioCall=7]="AudioCall",e[e.BeAudioCall=8]="BeAudioCall",e[e.VideoCall=9]="VideoCall",e[e.BeVideoCall=10]="BeVideoCall",e[e.SipVideo=11]="SipVideo",e[e.Recorder=12]="Recorder"}(I=I||{}),function(e){e.Channel="hy_talk_",e.Monitor="hy_rtc_monitor_",e.MonitorListen="hy_rtc_monitor_listen_",e.Broadcast="hy_rtc_broadcast_",e.AudioCall="hy_rtc_audio_be_call_",e.BeAudioCall="hy_rtc_audio_call_",e.VideoCall="hy_rtc_video_be_call_",e.BeVideoCall="hy_rtc_video_call_",e.SipVideo="hy_rtc_sip_video_"}(y=y||{}),function(e){e[e.DeviceNotResponse=4001]="DeviceNotResponse",e[e.RoomIsExist=4100]="RoomIsExist",e[e.DeviceNotExist=4101]="DeviceNotExist",e[e.JoinRoomFailed=4200]="JoinRoomFailed"}(k=k||{}),function(e){e.DeviceNotResponse="设备未响应",e.RoomIsExist="房间已存在",e.DeviceNotExist="设备不存在",e.JoinRoomFailed="加入房间失败"}(T=T||{});const He=e=>(e.setAttribute("playsinline","true"),e.setAttribute("x5-video-player-fullscreen","true"),e.setAttribute("x5-playsinline","true"),e.setAttribute("webkit-playsinline","true"),e);async function je(e){var t=await navigator.mediaDevices.enumerateDevices();return e?t.filter((t=>t.kind==e&&""!==t.deviceId)):t}async function Ze(e){return navigator.mediaDevices.getUserMedia(e)}function _e(e){return e.getTracks()}function ze(e){return new Promise((t=>{e.emit("getGlobalVideoDevice",{callback:e=>{t(e)}})}))}function Ke(e){return new Promise((t=>{e.emit("getGlobalAudioDevice",{callback:e=>{t(e)}})}))}function Qe(e){return Ze({audio:{deviceId:e},video:!1})}function Xe(e){return Ze({audio:!1,video:{deviceId:e}})}async function Ye(e={video:!0,audio:!0}){return navigator.mediaDevices.getDisplayMedia(e)}class et{constructor(e){this.room=e}getRoom(){}getProduceInfo(){return this.room.producerMap}producerAudioResume(){return new Promise(((e,t)=>{""!==this.room.audioProducerId&&ve(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,producerId:this.room.audioProducerId}).then((t=>{var r;this.room.roomType===I.Channel&&(r=this.getChannelRoomConsumer())&&(r.producerPaused=!1,r.speaker={clientId:this.room.clientId}),e(t)})).catch((e=>{t(e)}))}))}producerAudioPause(){return new Promise(((e,t)=>{""!==this.room.audioProducerId&&fe(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,producerId:this.room.audioProducerId}).then((t=>{var r=this.getChannelRoomConsumer();r&&(r.producerPaused=!0,r.speaker={clientId:""}),e(t)}))}))}producerVideoResume(){return new Promise(((e,t)=>{""!==this.room.videoProducerId&&ve(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,producerId:this.room.videoProducerId}).then((t=>{e(t)})).catch((e=>{t(e)}))}))}producerVideoPause(){return new Promise(((e,t)=>{""!==this.room.videoProducerId&&fe(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,producerId:this.room.videoProducerId}).then((t=>{e(t)}))}))}producerAllResume(){return new Promise(((e,t)=>{Promise.all([this.producerAudioResume(),this.producerVideoResume()]).then((()=>{e({})}))}))}producerAllPause(){return new Promise(((e,t)=>{Promise.all([this.producerAudioPause(),this.producerVideoPause()]).then((()=>{e({})}))}))}getAllVideoConsumer(){const e=[];return this.room.clientList.forEach((t=>{t.consumerList.forEach((t=>{1===t.kind&&e.push(t)}))})),e}getAllAudioConsumer(){const e=[];return this.room.clientList.forEach((t=>{t.consumerList.forEach((t=>{0===t.kind&&e.push(t)}))})),e}mutedAllElement(){this.room.playElements.forEach((e=>{e.muted=!0}))}unMutedAllElement(){this.room.playElements.forEach((e=>{e.muted=!1}))}async replaceProducerByProduceId(e,t){const r=this.room.producerMap.get(e);return r?-1===t.kind.indexOf(r.kind)?(console.log("produce的类型与设备类型不匹配"),!1):void("videoinput"===t.kind?_e(await Xe(t.deviceId)).forEach((e=>{null!=r&&r.replaceTrack({track:e})})):"audioinput"===t.kind&&_e(await Qe(t.deviceId)).forEach((e=>{null!=r&&r.replaceTrack({track:e})}))):(console.log("未找到produce"),!1)}replaceProducerByTrack(e,t){if(!(e=this.room.producerMap.get(e)))return console.log("未找到produce"),!1;null!=e&&e.replaceTrack({track:t})}async startProduceDisplayMedia(){var e=(await Ye()).getTracks();e.forEach((e=>{e.onended=e=>{"ended"===e.type?(console.log("停止画面共享事件"),this.switchToDefaultStream()):console.log("startProduceDisplayMedia 未知event")}}));const t=e.filter((e=>"video"==e.kind)),r=e.filter((e=>"audio"==e.kind));1<t.length&&console.log("特殊情况:displayMediaVideoTrack 长度大于1"),1<r.length&&console.log("特殊情况:displayMediaAudioTrack 长度大于1"),this.room.producerMap.forEach((e=>{"video"===e.kind?e.replaceTrack({track:t[0]}):"audio"===e.kind&&e.replaceTrack({track:r[0]})}))}switchToDefaultStream(){this.room.producerMap.forEach((e=>{"video"===e.kind?this.room.eventEmit.emit("getGlobalVideoDevice",{callback:async t=>{t?this.replaceProducerByProduceId(e.id,t):(1<(t=_e(await Ze({video:!0,audio:!1}))).length&&console.log("switchToDefaultStream track > 1 的情况,需要注意",t),this.replaceProducerByTrack(e.id,t[0]))}}):"audio"===e.kind&&this.room.eventEmit.emit("getGlobalAudioDevice",{callback:async t=>{t?this.replaceProducerByProduceId(e.id,t):(1<(t=_e(await Ze({video:!1,audio:!0}))).length&&console.log("switchToDefaultStream track > 1 的情况,需要注意",t),this.replaceProducerByTrack(e.id,t[0]))}})}))}stopProduceDisplayMedia(){this.room.producerMap.forEach((e=>{null!=(e=e.track)&&e.stop()})),this.switchToDefaultStream()}leaveRoom(){this.room.leaveRoom()}getElementByDeviceId(e){let t=null;for(var[r,i]of this.room.playElements)r.includes(e)&&(t=i);return t||null}getLocalPlayElement(){let e=null;return(e=this.room.localPlayElementBox&&this.room.localPlayVideoElement?this.room.localPlayVideoElement:e)||null}getChannelRoomConsumer(){var e;return this.room.roomType===I.Channel&&null!=(e=this.room.clientList.get("HY_TALK_MIX"))&&e.consumerList&&(null==e?void 0:e.consumerList.entries().next().value)[1]||null}whoIsSpeaking(){var e,t,r;return this.room.roomType!==I.Channel?null:(e=this.getChannelRoomConsumer())?(t=e.speaker,r=e.producerPaused,t&&!r?{clientId:t.clientId}:{clientId:""}):void console.log("consumer 异常",e)}recorderRoomAppendStreams(e){e=e.map((e=>{if(e&&e.captureStream)return e.captureStream()})).filter(Boolean),this.room.videoMixer.appendStreams(e)}}class tt{constructor({eventEmit:e}){this.eventEmit=new $e,this.roomEvent=new $e,this.audioProducerId="",this.videoProducerId="",this.clientList=new Map,this.produceTag="",this.producerMap=new Map,this.broadcastClientIds=[],this.playElements=new Map,this.defaultEnableAudio=!0,this.defaultEnableVideo=!0,this.eventEmit=e,this.keepaliveInterval=0,this.mediaCallWaitingInterval=0,this.mediaCallRingingInterval=0,this.mediaCallRingingTimeout=0,this.mediaCallWaitingTimeout=0,this.mediaCallNoAnswerTimeout=0,this.produceOption={encodings:[{maxBitrate:5e6,maxFramerate:25}],codecOptions:{opusNack:!0,videoGoogleStartBitrate:4e3,videoGoogleMaxBitrate:4e6,videoGoogleMinBitrate:27e5}},this.roomMethods=new et(this)}async initRoom(){return this}registerMessageEvents(){}setRoomId(e){return this.roomId=e,this}setClientId(e){return this.clientId=e,this}setPlayElementBox(e){return this.playElementBox=e,this}setToken(e){return this.token=e,this}setProduceTag(e){return this.produceTag=e,this}setRoomType(e){return this.roomType=e,this}setMonitorDeviceId(e){return this.monitorDeviceId=e,this}setSipVideoDeviceId(e){return this.sipVideoDeviceId=e,this}setMonitorListenDeviceId(e){return this.monitorListenDeviceId=e,this}setBroadcastClientIds(e){return this.broadcastClientIds=e,this}setMediaBeCallDeviceId(e){return this.mediaBeCallDeviceId=e,this}setMediaCallDeviceId(e){return this.mediaCallDeviceId=e,this}setDefaultEnableAudio(e=!0){return this.defaultEnableAudio=e,this}setDefaultEnableVideo(e=!0){return this.defaultEnableVideo=e,this}setLocalPlayElementBox(e){return this.localPlayElementBox=e,this}setOnEvent(e){for(const t in e)e.hasOwnProperty(t)&&this.roomEvent.on(t,e[t]);return this}setProduceOption(e){void 0!==e&&(this.produceOption=e)}setRoomMediaStream(e){this.roomMediaStream=e}setVideoMixer(e){this.videoMixer=e}setMutedAudioBufferSourceNodeSource(e){this.mutedAudioBufferSourceNodeSourceNodeSource=e}publishChannel(){!function(e,t,r){var{roomId:r,callback:i}=r;e.emit("send",{topic:`client/${t}/mediaapp/${r}/channel`,messageType:"StringValue",message:{value:r},responseMessageType:"StringValue",callback:i})}(this.eventEmit,this.clientId,{roomId:this.roomId,callback:e=>{this.token=e.messageContent.value,this.joinMediaRoom()}})}publishMonitor(){return new Promise(((e,t)=>{!function(e,t,r){var{deviceId:r,roomId:i,callback:n}=r,a=o().replace(/-/g,"");e.emit("send",{topic:`client/${t}/mediaapp/${a}/monitor`,messageType:"MonitorRequest",message:{clientId:r,roomId:i},responseMessageType:"SimpleClientToken",callback:n})}(this.eventEmit,this.clientId,{deviceId:this.monitorDeviceId,roomId:this.roomId,callback:r=>{var i;r.messageContent.code?t(r):(i=r.topic.split("/")[1],this.setToken(r.messageContent.token),this.setRoomId(i),this.setRoomType(I.Monitor),this.joinMediaRoom(),e(i))}})}))}publishSipVideo(){return new Promise(((e,t)=>{this.sipVideoDeviceId&&this.roomId?function(e,t,r){var{deviceId:r,roomId:i,callback:o}=r;e.emit("send",{topic:`client/${t}/mediaapp/${i}/sipVideo`,messageType:"SipVideoRequest",message:{clientId:r,roomId:i},responseMessageType:"SimpleClientToken",callback:o})}(this.eventEmit,this.clientId,{deviceId:this.sipVideoDeviceId,roomId:this.roomId,callback:r=>{var i;r.messageContent.code?t(r):(i=r.topic.split("/")[1],this.setToken(r.messageContent.token),this.setRoomId(i),this.setRoomType(I.SipVideo),this.joinMediaRoom(),e(i))}}):t(new Error("必须有设备ID和房间ID"))}))}publishMonitorListen(){return new Promise(((e,t)=>{!function(e,t,r){var{deviceId:r,callback:i}=r,n=o().replace(/-/g,"");e.emit("send",{topic:`client/${t}/mediaapp/${n}/monitorListen`,messageType:"StringValue",message:{value:r},responseMessageType:"SimpleClientToken",callback:i})}(this.eventEmit,this.clientId,{deviceId:this.monitorListenDeviceId,callback:t=>{var r=t.topic.split("/")[1];this.setToken(t.messageContent.token),this.setRoomId(r),this.setRoomType(I.MonitorListen),this.joinMediaRoom(),e(r)}})}))}publishBroadcast(){return new Promise(((e,t)=>{!function(e,t,r){var{clientIds:r,callback:i}=r,n=o().replace(/-/g,"");e.emit("send",{topic:`client/${t}/mediaapp/${n}/broadcast`,messageType:"BroadcastRequest",message:{clientIds:r},responseMessageType:"SimpleClientToken",callback:i})}(this.eventEmit,this.clientId,{clientIds:this.broadcastClientIds,callback:t=>{var r=t.topic.split("/")[1];this.setToken(t.messageContent.token),this.setRoomId(r),this.setRoomType(I.Broadcast),this.joinMediaRoom(),e(r)}})}))}publishMediaCall(){return new Promise(((e,t)=>{let r=-1;7===this.roomType||8===this.roomType?r=0:9!==this.roomType&&10!==this.roomType||(r=1),function(e,t,r){var{deviceId:r,callback:i,kind:n}=r,a=o().replace(/-/g,"");e.emit("send",{topic:`client/${t}/mediaapp/${a}/`+pe[n],messageType:"StringValue",message:{value:r},responseMessageType:"SimpleClientToken",callback:i})}(this.eventEmit,this.clientId,{kind:r,deviceId:this.mediaBeCallDeviceId,callback:r=>{2e3===r.messageContent.code&&t({code:k.DeviceNotResponse,msg:T.DeviceNotResponse});var i=r.topic.split("/")[1];this.setToken(r.messageContent.token),this.setRoomId(i),e(i)}})}))}publishRecordRoom(){return new Promise(((e,t)=>{this.roomId&&function(e,t,r){var{roomId:r,callback:i}=r;e.emit("send",{topic:`client/${t}/mediaapp/${r}/recordRoom`,messageType:"StringValue",message:{value:r},responseMessageType:"SimpleClientToken",callback:i})}(this.eventEmit,this.clientId,{roomId:this.roomId,callback:t=>{this.setToken(t.messageContent.token),this.joinMediaRoom(),e(this.roomId)}})}))}startMediaCallWaiting(){this.mediaCallWaitingInterval&&this.stopMediaCallWaiting(),this.mediaCallWaitingInterval=window.setInterval((()=>{this.mediaCallWaiting()}),5e3)}stopMediaCallWaiting(){clearInterval(this.mediaCallWaitingInterval)}startAudioCallRinging(){this.mediaCallRingingInterval&&this.stopMediaCallRinging(),this.mediaCallRingingInterval=window.setInterval((()=>{this.mediaCallRinging()}),5e3)}stopMediaCallRinging(){clearInterval(this.mediaCallRingingInterval)}mediaCallWaiting(){this.mediaBeCallDeviceId&&this.roomId&&function(e,t,r){var{clientId:r,event:i,roomId:o,kind:n}=r;t=`client/${t}/mediaapp/${o}/${pe[n]}Event`,e.emit("send",{topic:t,messageType:"AudioCallEvent",message:{clientId:r,event:i},options:{noResponse:!0}})}(this.eventEmit,this.clientId,{clientId:this.mediaBeCallDeviceId,roomId:this.roomId,event:"waiting",kind:this._getRoomKind()})}mediaCallRinging(){this.mediaCallDeviceId&&function(e,t,r){var{clientId:r,event:i,roomId:o,kind:n}=r;t=`client/${t}/mediaapp/${o}/${pe[n]}Event`,e.emit("send",{topic:t,messageType:"AudioCallEvent",message:{clientId:r,event:i},options:{noResponse:!0}})}(this.eventEmit,this.clientId,{clientId:this.mediaCallDeviceId,event:"ringing",roomId:this.roomId,kind:this._getRoomKind()})}startMediaCallRingingTimeout(){this.clearMediaCallRingingTimeout&&this.clearMediaCallRingingTimeout(),this.mediaCallRingingTimeout=window.setTimeout((()=>{this.clearMediaCallRingingTimeout(),this.eventEmit.emit("onAudioCallTimeout",{roomId:this.roomId})}),15e3)}clearMediaCallRingingTimeout(){clearTimeout(this.mediaCallRingingTimeout)}startMediaCallWaitingTimeout(){this.mediaCallWaitingTimeout&&this.clearMediaCallWaitingTimeout(),this.mediaCallWaitingTimeout=window.setTimeout((()=>{this.clearMediaCallWaitingTimeout(),this.eventEmit.emit("onAudioCallTimeout",{roomId:this.roomId})}),15e3)}clearMediaCallWaitingTimeout(){clearTimeout(this.mediaCallWaitingTimeout)}startMediaCallNoAnswerTimeout(){this.mediaCallNoAnswerTimeout&&this.clearMediaCallNoAnswerTimeout(),this.mediaCallNoAnswerTimeout=window.setTimeout((()=>{this.eventEmit.emit("onAudioCallNoAnswer",{roomId:this.roomId}),this.mediaCallDeviceId&&(function(e,t,r){var{clientId:r,event:i,roomId:o,kind:n}=r;t=`client/${t}/mediaapp/${o}/${pe[n]}Event`,e.emit("send",{topic:t,messageType:"AudioCallEvent",message:{clientId:r,event:i},options:{noResponse:!0}})}(this.eventEmit,this.clientId,{clientId:this.mediaCallDeviceId,roomId:this.roomId,event:"noAnswer",kind:this._getRoomKind()}),this.clearMediaCallRingingTimeout(),this.clearMediaCallWaitingTimeout(),this.stopMediaCallRinging(),this.clearMediaCallNoAnswerTimeout())}),6e4)}clearMediaCallNoAnswerTimeout(){clearTimeout(this.mediaCallNoAnswerTimeout)}mediaCallAnswer(){this.mediaCallDeviceId&&(function(e,t,r){var{clientId:r,event:i,roomId:o,kind:n}=r;t=`client/${t}/mediaapp/${o}/${pe[n]}Event`,e.emit("send",{topic:t,messageType:"AudioCallEvent",message:{clientId:r,event:i},options:{noResponse:!0}})}(this.eventEmit,this.clientId,{clientId:this.mediaCallDeviceId,roomId:this.roomId,event:"answer",kind:this._getRoomKind()}),this.joinMediaRoom(),this.clearMediaCallNoAnswerTimeout(),this.clearMediaCallWaitingTimeout(),this.stopMediaCallRinging())}mediaCallHangup(){7!==this.roomType&&9!==this.roomType||!this.mediaBeCallDeviceId||he(this.eventEmit,this.clientId,{clientId:this.mediaBeCallDeviceId,roomId:this.roomId,event:"hangup",kind:this._getRoomKind()}),8!==this.roomType&&10!==this.roomType||!this.mediaCallDeviceId||he(this.eventEmit,this.clientId,{clientId:this.mediaCallDeviceId,roomId:this.roomId,event:"hangup",kind:this._getRoomKind()}),this.isJoinMediaRoom()&&this.leaveRoom(),this.clearMediaCallNoAnswerTimeout(),this.clearMediaCallWaitingTimeout(),this.stopMediaCallRinging(),this.stopMediaCallWaiting()}joinMediaRoom(){this.roomId||console.log("joinMediaRoom - RoomId is Null"),this.token||console.log("joinMediaRoom - Token is Null"),function(e,t,r){var{token:r,forceTcp:i,roomId:o,callback:n}=r;e.emit("send",{topic:`client/${t}/media/${o}/join`,messageType:"JoinRequest",message:{token:r,forceTcp:i},responseMessageType:"JoinResponse",callback:n})}(this.eventEmit,this.clientId,{token:this.token,forceTcp:!1,roomId:this.roomId,callback:async({messageContent:e})=>{this.consumerTransportOptions=e.consumerTransportOptions,this.producerTransportOptions=e.producerTransportOptions,this.routerRtpCapabilities=e.routerRtpCapabilities,this.keepalive(),await this.createDevice(),await this.handlerRoomTransport()}})}isJoinMediaRoom(){return!!this.device}async handlerRoomTransport(){0===this.roomType?(await this.createConsumerTransport(),await this.createProducerTransport({audio:!0,video:!1}),await this.startConsuming()):1===this.roomType?(await this.createConsumerTransport(),await this.startConsuming()):2===this.roomType?(await this.createProducerTransport({audio:!0,video:!0}),await this.startConsuming()):3===this.roomType?await this.createProducerTransport({audio:!0,video:!1}):4===this.roomType||5===this.roomType?(await this.createConsumerTransport(),await this.startConsuming()):6===this.roomType?await this.createProducerTransport({audio:!0,video:!1}):7===this.roomType||8===this.roomType||9===this.roomType||10===this.roomType?(await this.createConsumerTransport(),await this.createProducerTransport({audio:!0,video:9===this.roomType||10===this.roomType}),await this.startConsuming()):11===this.roomType?(await this.createConsumerTransport(),await this.createProducerTransport({audio:!0,video:!0}),await this.startConsuming()):12===this.roomType?await this.createProducerTransport({audio:!0,video:!0}):console.log("无roomType")}keepalive(){this.keepaliveInterval&&clearInterval(this.keepaliveInterval),this.keepaliveInterval=window.setInterval((()=>{(function(e,t,r){r=r.roomId,e.emit("send",{topic:`client/${t}/media/${r}/keepalive`,messageType:"Empty",message:{},responseMessageType:"Empty",callback:()=>{console.log("心跳发送")}})})(this.eventEmit,this.clientId,{roomId:this.roomId}),function(e,t,r){r=r.roomId,e.emit("send",{topic:`client/${t}/mediaapp/${r}/keepalive`,messageType:"Empty",message:{},options:{noResponse:!0}}),console.log("业务侧心跳保持")}(this.eventEmit,this.clientId,{roomId:this.roomId})}),1e4)}async startConsuming(){this.rtpCapabilities&&function(e,t,r){var{codecs:r,headerExtensions:i,roomId:o,callback:n}=r;e.emit("send",{topic:`client/${t}/media/${o}/startConsuming`,messageType:"RtpCapabilitiesFinalized",message:{codecs:r,headerExtensions:i},responseMessageType:"Empty",callback:n})}(this.eventEmit,this.clientId,{codecs:this.rtpCapabilities.codecs,headerExtensions:this.rtpCapabilities.headerExtensions,roomId:this.roomId,callback:()=>{}})}async createDevice(){this.device=new n,await this.device.load({routerRtpCapabilities:Oe(this.routerRtpCapabilities)}),this.rtpCapabilities=function(e){var t;return{codecs:(null==(t=e.codecs)?void 0:t.map((e=>{var{mimeType:e,kind:t,preferredPayloadType:r,clockRate:i,channels:o,parameters:n,rtcpFeedback:a}=e;return{mimeType:Ie(e),kind:Te(t),preferredPayloadType:r,clockRate:i,channels:o,parameters:Ee(n),rtcpFeedback:Ce(a)}})))||[],headerExtensions:(null==(t=e.headerExtensions)?void 0:t.map((e=>{var{kind:e,uri:t,preferredId:r,preferredEncrypt:i,direction:o}=e;return{kind:Te(e),uri:Pe(t),preferredId:r,preferredEncrypt:i,direction:we(o)}})))||[]}}(this.device.rtpCapabilities)}async createConsumerTransport(){var e;this.consumerTransportOptions&&(this.consumerTransport=null==(e=this.device)?void 0:e.createRecvTransport(Je(this.consumerTransportOptions)),null!=(e=this.consumerTransport))&&e.on("connect",(async({dtlsParameters:e},t)=>{e=Be(e),function(e,t,r){const{roomId:i,dtlsParametersProto:o,consumerTransportCallback:n}=r;e.emit("send",{topic:`client/${t}/media/${i}/connectConsumerTransport`,messageType:"DtlsParameters",message:o,responseMessageType:"Empty",callback:()=>{n()}})}(this.eventEmit,this.clientId,{roomId:this.roomId,dtlsParametersProto:e,consumerTransportCallback:t})}))}async createProducerTransport(e){if(this.producerTransportOptions){this.producerTransport=null==(t=this.device)?void 0:t.createSendTransport(Je(this.producerTransportOptions)),null!=(t=this.producerTransport)&&t.on("connect",(({dtlsParameters:e},t)=>{e=Be(e),function(e,t,r){const{roomId:i,dtlsParametersProto:o,producerTransportCallback:n}=r;e.emit("send",{topic:`client/${t}/media/${i}/connectProducerTransport`,messageType:"DtlsParameters",message:o,responseMessageType:"Empty",callback:e=>{console.log("connectProducerTransport success",e),n()}})}(this.eventEmit,this.clientId,{roomId:this.roomId,dtlsParametersProto:e,producerTransportCallback:t})})).on("produce",(({kind:e,rtpParameters:t},r)=>{let i=!1,o=this.produceTag;if("audio"==e)i=!this.defaultEnableAudio;else{if("video"!=e)return void console.log("异常情况,请排查");i=!this.defaultEnableVideo}11===this.roomType&&("audio"===e?o="sp_audio":"video"===e&&(o="sp_video")),function(e,t,r){const{roomId:i,produceCallback:o,callback:n,kind:a,tag:s,rtpParameters:c,paused:d}=r;r=`client/${t}/media/${i}/produce`,console.log("produce - paused",d),e.emit("send",{topic:r,messageType:"ProduceRequest",message:{tag:s,kind:a,rtpParameters:c,paused:d},responseMessageType:"StringValue",callback:e=>{n&&n({kind:a,producerId:e.messageContent.value}),o({id:e.messageContent.value})}})}(this.eventEmit,this.clientId,{roomId:this.roomId,tag:o,kind:Te(e),rtpParameters:Ue(t),paused:i,callback:({kind:e,producerId:t})=>{switch(e){case u.Audio:this.audioProducerId=t;break;case u.Video:this.videoProducerId=t}console.log("kind: %o, productId: %o",e,t)},produceCallback:r})}));var t=await ze(this.eventEmit),r=await Ke(this.eventEmit);let i=new MediaStream;if(e.video&&t&&_e(await Xe(t.deviceId)).forEach((e=>{i.addTrack(e)})),e.audio&&r&&_e(await Qe(r.deviceId)).forEach((e=>{i.addTrack(e)})),this.roomMediaStream)i=this.roomMediaStream;else if(0===i.getTracks().length)try{i=await Ze(e)}catch(e){this.eventEmit.emit("hyRtcOnError",{code:4350})}t=_e(i),await this.handlerProduce(t),this.localPlayElementBox&&this.handlerLocalPlayElementBox(t)}}handlerLocalPlayElementBox(e){var t;const r=new MediaStream;e.forEach((e=>{r.addTrack(e)})),document.querySelector(""+this.localPlayElementBox)&&this.localPlayElementBox&&((e=document.createElement("video")).id="localPlayElementBox_"+this.roomId,e.muted=!1,e.controls=!1,e.srcObject=r,e.volume=0,null!=(t=document.querySelector(this.localPlayElementBox))&&t.append(e),e.play(),this.localPlayVideoElement=e)}async handlerProduce(e){e.forEach((e=>{var t;e={track:e,...this.produceOption};null!=(t=this.producerTransport)&&t.produce(e).then((e=>{this.producerMap.set(e.id,e)})).catch((e=>{}))}))}async createNewClient(e){let t=this.getClient(e.clientId);if(t?this.roomEvent.emit("onNewClient",{room:this,code:4302,data:{roomId:this.roomId,clientId:t.clientId}}):(t=new qe(e),console.log("创建新客户端 client %o ",t),this.roomEvent.emit("onNewClient",{room:this,code:4301,data:{roomId:this.roomId,clientId:t.clientId}})),this.addClient(t),t.pushConsumerList({consumerId:e.consumerId,producerId:e.producerId,kind:e.kind,producerPaused:e.producerPaused,speaker:e.speaker,rtpParameters:e.rtpParameters}),await t.genConsumer(e,this.consumerTransport),1===this.roomType)null!=this.monitorDeviceId&&(t=(e=Array.from(this.clientList.entries()))[0][1])&&this.playElementBox&&(e=function(e){var{client:e,playElementBox:t,room:r}=e,r=""+y.Monitor+r.monitorDeviceId+"_"+e.clientId;const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let o=document.querySelector("#"+r);return o?o.srcObject=i:((o=document.createElement("video")).id=r,o.muted=!1,o.style.width="100%",He(o),o.onloadedmetadata=()=>{null!=o&&o.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(o),o.srcObject=i,o}return null}({room:this,client:t,playElementBox:this.playElementBox}))&&this.playElements.set(e.id,e);else if(0===this.roomType){const t=this.clientList.get("HY_TALK_MIX");t&&this.playElementBox&&(e=function(e){var{client:e,playElementBox:t,room:r}=e,r=""+y.Channel+r.roomId;if(e){const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let o=document.querySelector("#"+r);return o?o.srcObject=i:((o=document.createElement("video")).id=r,o.muted=!1,o.controls=!1,He(o),o.onloadedmetadata=()=>{null!=o&&o.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(o),o.srcObject=i,o}}return null}({room:this,client:t,playElementBox:this.playElementBox}))&&this.playElements.set(e.id,e)}else if(4===this.roomType)this.clientList.forEach((e=>{this.playElementBox&&function(e){var{client:e,playElementBox:t}=e;const r=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&r.addTrack(e.consumer.track)})),e=""+y.Broadcast+e.clientId,t&&r){let i=document.querySelector("#"+e);return i?i.srcObject=r:((i=document.createElement("audio")).id=e,i.muted=!1,i.controls=!1,i.onloadedmetadata=()=>{null!=i&&i.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(i),i.srcObject=r,i}}({room:this,client:e,playElementBox:this.playElementBox})}));else if(5===this.roomType){if(null!=this.monitorListenDeviceId&&this.playElementBox){const e=this.clientList.get(this.monitorListenDeviceId);e&&function(e){var{client:e,playElementBox:t}=e,r=""+y.MonitorListen+e.clientId;const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let o=document.querySelector("#"+r);return o?o.srcObject=i:((o=document.createElement("audio")).id=r,o.muted=!1,o.controls=!1,o.onloadedmetadata=()=>{null!=o&&o.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(o),o.srcObject=i,o}}({room:this,client:e,playElementBox:this.playElementBox})}}else if(7===this.roomType||9===this.roomType){if(null!=this.mediaBeCallDeviceId){const t=this.clientList.get(this.mediaBeCallDeviceId);t&&this.playElementBox&&(e=function(e){var{client:e,playElementBox:t,room:r}=e,r=""+y[7===r.roomType?"AudioCall":"VideoCall"]+r.mediaBeCallDeviceId;const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let o=document.querySelector("#"+r);return o?o.srcObject=i:((o=document.createElement("video")).id=r,o.muted=!1,o.controls=!1,He(o),o.onloadedmetadata=()=>{null!=o&&o.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(o),o.srcObject=i,o}return null}({room:this,client:t,playElementBox:this.playElementBox}))&&this.playElements.set(e.id,e)}}else if(8===this.roomType||10===this.roomType){if(null!=this.mediaCallDeviceId){const t=this.clientList.get(this.mediaCallDeviceId);t&&this.playElementBox&&(e=function(e){var{client:e,playElementBox:t,room:r}=e,r=""+y[8===r.roomType?"BeAudioCall":"BeVideoCall"]+r.mediaCallDeviceId;const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let o=document.querySelector("#"+r);return o?o.srcObject=i:((o=document.createElement("video")).id=r,o.muted=!1,o.controls=!1,He(o),o.onloadedmetadata=()=>{null!=o&&o.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(o),o.srcObject=i,o}return null}({room:this,client:t,playElementBox:this.playElementBox}))&&this.playElements.set(e.id,e)}}else if(11===this.roomType){if(null!=this.sipVideoDeviceId){const t=this.clientList.get(this.sipVideoDeviceId);t&&this.playElementBox&&(e=function(e){var{client:e,playElementBox:t,room:r}=e,r=""+y.SipVideo+r.sipVideoDeviceId;const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let o=document.querySelector("#"+r);return o?o.srcObject=i:((o=document.createElement("video")).id=r,o.muted=!1,o.controls=!1,o.style.width="100%",He(o),o.onloadedmetadata=()=>{null!=o&&o.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(o),o.srcObject=i,o}return null}({room:this,client:t,playElementBox:this.playElementBox}))&&this.playElements.set(e.id,e)}}else console.log("createNewClient 中没有处理 roomType",this.roomType)}cleanPlayElement(){switch(this.roomType){case I.Channel:this.cleanChannelElement();break;case I.Monitor:this.cleanMonitorElement();break;case I.BeMonitor:case I.Broadcast:break;case I.VideoCall:this.cleanMediaCallElement();break;case I.BeVideoCall:this.cleanMediaBeCallElement();break;case I.AudioCall:this.cleanMediaCallElement();break;case I.BeAudioCall:this.cleanMediaBeCallElement();break;case I.BeBroadcast:this.cleanVBeBroadcastElement();break;case I.MonitorListen:this.cleanMonitorListenElement();break;case I.SipVideo:this.cleanSipVideoElement();break;case I.BeMonitorListen:case I.Recorder:break;default:console.log("cleanPlayElement - 未知播放器元素: %s",this.roomType)}this.cleanLocalPlayElement()}cleanLocalPlayElement(){var e,t;this.localPlayElementBox&&(t="localPlayElementBox_"+this.roomId,t=document.querySelector("#"+t))&&null!=(e=null==t?void 0:t.parentElement)&&e.removeChild(t)}cleanMonitorElement(){var e,t;this.playElementBox&&null!=this.monitorDeviceId&&(t=""+y.Monitor+this.monitorDeviceId,t=document.querySelector(`[id^="${t}"]`))&&null!=(e=null==t?void 0:t.parentElement)&&e.removeChild(t)}cleanSipVideoElement(){var e,t;this.playElementBox&&null!=this.sipVideoDeviceId&&(t=""+y.SipVideo+this.sipVideoDeviceId,t=document.querySelector("#"+t))&&null!=(e=null==t?void 0:t.parentElement)&&e.removeChild(t)}cleanChannelElement(){var e,t;this.playElementBox&&null!=this.roomId&&(t=""+y.Channel+this.roomId,t=document.querySelector("#"+t))&&null!=(e=null==t?void 0:t.parentElement)&&e.removeChild(t)}cleanMediaCallElement(){var e,t;this.playElementBox&&null!=this.mediaBeCallDeviceId&&(t=""+y[7===this.roomType?"AudioCall":"VideoCall"]+this.mediaBeCallDeviceId,t=document.querySelector("#"+t))&&null!=(e=null==t?void 0:t.parentElement)&&e.removeChild(t)}cleanMediaBeCallElement(){var e,t;this.playElementBox&&null!=this.mediaCallDeviceId&&(t=""+y[8===this.roomType?"BeAudioCall":"BeVideoCall"]+this.mediaCallDeviceId,t=document.querySelector("#"+t))&&null!=(e=null==t?void 0:t.parentElement)&&e.removeChild(t)}cleanVBeBroadcastElement(){this.clientList.forEach((e=>{var t;this.playElementBox&&(e=""+y.Broadcast+e.clientId,e=document.querySelector("#"+e))&&null!=(t=null==e?void 0:e.parentElement)&&t.removeChild(e)}))}cleanMonitorListenElement(){var e,t;this.playElementBox&&null!=this.monitorListenDeviceId&&(t=""+y.MonitorListen+this.monitorListenDeviceId,t=document.querySelector("#"+t))&&null!=(e=null==t?void 0:t.parentElement)&&e.removeChild(t)}passiveLeaved(){this.destroyRoom(),this.eventEmit.emit("roomPassiveLeave",{roomId:this.roomId}),this.roomEvent.emit("roomPassiveLeave",{roomId:this.roomId})}addClient(e){this.clientList&&null!=e.clientId&&this.clientList.set(e.clientId||"HY_TALK_MIX",e)}removeClient(e){this.clientList&&null!=e&&this.clientList.delete(e)}removeAllClient(){this.clientList=new Map}getClient(e){if(this.clientList&&null!=e)return this.clientList.get(e)}getRoomId(){return this.roomId}leaveRoom(){!function(e,t,r){const{roomId:i,callback:o}=r;r=`client/${t}/media/${i}/leave`,e.emit("send",{topic:r,messageType:"Empty",responseMessageType:"Empty",callback:()=>{console.log("room leave success"),e.emit("roomLeaveSuccess",{roomId:i}),o&&o(i)}})}(this.eventEmit,this.clientId,{roomId:this.roomId,callback:()=>{this.destroyRoom()}})}deleteRoom(){this.eventEmit.emit("deleteRoom",{roomId:this.roomId})}clearKeepAlive(){console.log("清除心跳定时器",this.keepaliveInterval),clearInterval(this.keepaliveInterval)}producerClose(){0<this.producerMap.size&&this.producerMap.forEach((e=>{e.close(),console.log("producerId: %o is close",e.id)}))}clearMutedAudioBufferSourceNodeSource(){this.mutedAudioBufferSourceNodeSourceNodeSource&&this.mutedAudioBufferSourceNodeSourceNodeSource.stop()}closeTransport(){var e=this.producerTransport,t=this.consumerTransport;e&&e.close(),t&&t.close()}destroyRoom(){console.log("destroyRoom %s",this.roomId),this.eventEmit.emit("unSubscribeMediaAppRoomEventTopic",this.roomId),this.clearKeepAlive(),this.closeTransport(),this.producerClose(),this.clearMutedAudioBufferSourceNodeSource(),this.cleanPlayElement(),this.removeAllClient(),this.deleteRoom()}_getRoomKind(){let e=-1;return 7===this.roomType||8===this.roomType?e=0:9!==this.roomType&&10!==this.roomType||(e=1),e}onClientLeft(e){this.roomType===I.Broadcast&&(this.broadcastClientIds=this.broadcastClientIds.filter((t=>t!=e.clientId))),this.roomEvent.emit("onClientLeft",{code:"4306",data:{clientId:e.clientId}})}}const rt={encode:(e,t=i.Writer.create())=>(0!==e.code&&t.uint32(8).uint32(e.code),""!==e.message&&t.uint32(18).string(e.message),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={code:0,message:""};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(8!==a)break;n.code=r.uint32();continue;case 2:if(18===a){n.message=r.string();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({code:dt(e.code)?globalThis.Number(e.code):0,message:dt(e.message)?globalThis.String(e.message):""}),toJSON(e){var t={};return 0!==e.code&&(t.code=Math.round(e.code)),""!==e.message&&(t.message=e.message),t},create:e=>rt.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={code:0,message:""};return r.code=null!=(t=e.code)?t:0,r.message=null!=(t=e.message)?t:"",r}};const it={encode:(e,t=i.Writer.create())=>(""!==e.clientId&&t.uint32(10).string(e.clientId),void 0!==e.roomId&&t.uint32(18).string(e.roomId),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={clientId:"",roomId:void 0};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.clientId=r.string();continue;case 2:if(18===a){n.roomId=r.string();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({clientId:dt(e.clientId)?globalThis.String(e.clientId):"",roomId:dt(e.roomId)?globalThis.String(e.roomId):void 0}),toJSON(e){var t={};return""!==e.clientId&&(t.clientId=e.clientId),void 0!==e.roomId&&(t.roomId=e.roomId),t},create:e=>it.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={clientId:"",roomId:void 0};return r.clientId=null!=(t=e.clientId)?t:"",r.roomId=null!=(t=e.roomId)?t:void 0,r}};const ot={encode(e,t=i.Writer.create()){for(const r of e.clientIds)t.uint32(10).string(r);return t},decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={clientIds:[]};r.pos<o;){var a=r.uint32();if(a>>>3!=1||10!==a){if(4==(7&a)||0===a)break;r.skipType(7&a)}else n.clientIds.push(r.string())}return n},fromJSON:e=>({clientIds:globalThis.Array.isArray(null==e?void 0:e.clientIds)?e.clientIds.map((e=>globalThis.String(e))):[]}),toJSON(e){var t,r={};return null!=(t=e.clientIds)&&t.length&&(r.clientIds=e.clientIds),r},create:e=>ot.fromPartial(null!=e?e:{}),fromPartial(e){var t={clientIds:[]};return t.clientIds=(null==(e=e.clientIds)?void 0:e.map((e=>e)))||[],t}};const nt={encode:(e,t=i.Writer.create())=>(""!==e.clientId&&t.uint32(10).string(e.clientId),""!==e.event&&t.uint32(18).string(e.event),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={clientId:"",event:""};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.clientId=r.string();continue;case 2:if(18===a){n.event=r.string();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({clientId:dt(e.clientId)?globalThis.String(e.clientId):"",event:dt(e.event)?globalThis.String(e.event):""}),toJSON(e){var t={};return""!==e.clientId&&(t.clientId=e.clientId),""!==e.event&&(t.event=e.event),t},create:e=>nt.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={clientId:"",event:""};return r.clientId=null!=(t=e.clientId)?t:"",r.event=null!=(t=e.event)?t:"",r}};const at={encode:(e,t=i.Writer.create())=>(""!==e.roomId&&t.uint32(10).string(e.roomId),void 0!==e.clientId&&t.uint32(18).string(e.clientId),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={roomId:"",clientId:void 0};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.roomId=r.string();continue;case 2:if(18===a){n.clientId=r.string();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({roomId:dt(e.roomId)?globalThis.String(e.roomId):"",clientId:dt(e.clientId)?globalThis.String(e.clientId):void 0}),toJSON(e){var t={};return""!==e.roomId&&(t.roomId=e.roomId),void 0!==e.clientId&&(t.clientId=e.clientId),t},create:e=>at.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={roomId:"",clientId:void 0};return r.roomId=null!=(t=e.roomId)?t:"",r.clientId=null!=(t=e.clientId)?t:void 0,r}};const st={encode(e,t=i.Writer.create()){""!==e.token&&t.uint32(10).string(e.token);for(const r of e.produceTags)t.uint32(18).string(r);for(const r of e.consumeTags)t.uint32(26).string(r);return""!==e.extfield1&&t.uint32(34).string(e.extfield1),t},decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={token:"",produceTags:[],consumeTags:[],extfield1:""};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.token=r.string();continue;case 2:if(18!==a)break;n.produceTags.push(r.string());continue;case 3:if(26!==a)break;n.consumeTags.push(r.string());continue;case 4:if(34===a){n.extfield1=r.string();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({token:dt(e.token)?globalThis.String(e.token):"",produceTags:globalThis.Array.isArray(null==e?void 0:e.produceTags)?e.produceTags.map((e=>globalThis.String(e))):[],consumeTags:globalThis.Array.isArray(null==e?void 0:e.consumeTags)?e.consumeTags.map((e=>globalThis.String(e))):[],extfield1:dt(e.extfield1)?globalThis.String(e.extfield1):""}),toJSON(e){var t,r={};return""!==e.token&&(r.token=e.token),null!=(t=e.produceTags)&&t.length&&(r.produceTags=e.produceTags),null!=(t=e.consumeTags)&&t.length&&(r.consumeTags=e.consumeTags),""!==e.extfield1&&(r.extfield1=e.extfield1),r},create:e=>st.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={token:"",produceTags:[],consumeTags:[],extfield1:""};return r.token=null!=(t=e.token)?t:"",r.produceTags=(null==(t=e.produceTags)?void 0:t.map((e=>e)))||[],r.consumeTags=(null==(t=e.consumeTags)?void 0:t.map((e=>e)))||[],r.extfield1=null!=(t=e.extfield1)?t:"",r}};const ct={encode:(e,t=i.Writer.create())=>(""!==e.event&&t.uint32(10).string(e.event),""!==e.clientId&&t.uint32(18).string(e.clientId),t),decode(e,t){for(var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t,n={event:"",clientId:""};r.pos<o;){var a=r.uint32();switch(a>>>3){case 1:if(10!==a)break;n.event=r.string();continue;case 2:if(18===a){n.clientId=r.string();continue}}if(4==(7&a)||0===a)break;r.skipType(7&a)}return n},fromJSON:e=>({event:dt(e.event)?globalThis.String(e.event):"",clientId:dt(e.clientId)?globalThis.String(e.clientId):""}),toJSON(e){var t={};return""!==e.event&&(t.event=e.event),""!==e.clientId&&(t.clientId=e.clientId),t},create:e=>ct.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={event:"",clientId:""};return r.event=null!=(t=e.event)?t:"",r.clientId=null!=(t=e.clientId)?t:"",r}};function dt(e){return null!=e}const lt=(e,t)=>{var{curTopicMethod:r,packet:i,message:o,topic:t}=t,n=t.split("/")[1],a=t.split("/")[3];switch(r){case"monitor":ut(e,st.decode(o),n,a),gt(e,i,n,a);break;case"broadcast":mt(e,st.decode(o),n,a),It(e,i,n,a);break;case"monitorListen":pt(e,st.decode(o),n,a),yt(e,i,n,a);break;case"audioCall":ht(e,st.decode(o),n,a,8),kt(e,i,n,a);break;case"videoCall":ht(e,st.decode(o),n,a,10),kt(e,i,n,a);break;case"audioCallEvent":case"videoCallEvent":vt(e,nt.decode(o),n);break;case"roomEvent":ft(e,ct.decode(o),n);break;case"err":console.log("handlerMediaAppServerOnMessage -ERR",rt.decode(o)),Tt(e,rt.decode(o),n);break;default:console.log("handlerMediaAppServerOnMessage 未知类型",r)}},ut=(e,t,r,i)=>{const{token:o,produceTags:n}=t;e.emit("getRoom",{roomId:r,callback:({room:t})=>{if(!t){const t=new tt({eventEmit:e});t.setRoomId(r).setClientId(i).setToken(o).setRoomType(I.BeMonitor).setProduceTag(n.toString()).joinMediaRoom(),e.emit("addRoom",t),e.emit("onMonitor",{room:t})}}})},mt=(e,t,r,i)=>{const{token:o,produceTags:n}=t;e.emit("getRoom",{roomId:r,callback:({room:t})=>{if(!t){const t=new tt({eventEmit:e});t.setRoomId(r).setClientId(i).setToken(o).setPlayElementBox("body").setProduceTag(n.toString()).setRoomType(I.BeBroadcast).joinMediaRoom(),e.emit("addRoom",t),e.emit("onBroadcast",{room:t})}}})},pt=(e,t,r,i)=>{const{token:o,produceTags:n}=t;e.emit("getRoom",{roomId:r,callback:({room:t})=>{if(!t){const t=new tt({eventEmit:e});t.setRoomId(r).setClientId(i).setToken(o).setProduceTag(n.toString()).setRoomType(I.BeMonitorListen).joinMediaRoom(),e.emit("addRoom",t),e.emit("onMonitorListen",{room:t})}}})},ht=(e,t,r,i,o)=>{const{token:n,produceTags:a}=t;e.emit("getRoom",{roomId:r,callback:({room:t})=>{if(!t){const t=new tt({eventEmit:e});t.setRoomId(r).setClientId(i).setToken(n).setProduceTag(a.toString()).setPlayElementBox("#preview-box").setRoomType(o),e.emit("addRoom",t),e.emit("onMediaBeCall",{room:t}),t.mediaCallRinging(),t.startAudioCallRinging(),t.startMediaCallNoAnswerTimeout()}}})},vt=(e,t,r,i)=>{const{clientId:o,event:n}=t;console.log("mediaCallEvent : %s",n),e.emit("getRoom",{roomId:r,callback:({room:e})=>{if(e)switch(n){case"waiting":e.setMediaCallDeviceId(o),e.startMediaCallWaitingTimeout();break;case"ringing":e.clearMediaCallRingingTimeout(),e.roomEvent.emit("onAudioCallEventRinging",{event:"ringing"});break;case"noAnswer":e.roomEvent.emit("onAudioCallEventNoAnswer",{event:"noAnswer"});break;case"answer":e.roomEvent.emit("onAudioCallEventAnswer",{event:"answer"}),e.joinMediaRoom(),e.clearMediaCallRingingTimeout(),e.stopMediaCallWaiting();break;case"hangup":e.roomEvent.emit("onAudioCallEventHangup",{event:"hangup"}),e.isJoinMediaRoom()?e.leaveRoom():e.deleteRoom(),e.startMediaCallWaitingTimeout(),e.clearMediaCallWaitingTimeout(),e.clearMediaCallNoAnswerTimeout(),e.stopMediaCallWaiting(),e.stopMediaCallRinging();break;default:console.log("mediaCallEvent - 未知event: %s",n)}}})},ft=(e,t,r,i)=>{const o=t.event;console.log("roomEvent : %s",o),e.emit("getRoom",{roomId:r,callback:({room:e})=>{switch(o){case"clientJoined":t.clientId!==e.clientId&&e.roomEvent.emit("onClientJoined",{code:"4305",data:{clientId:t.clientId}});break;case"clientLeft":e&&t.clientId!==e.clientId&&e.onClientLeft(t)}}})},gt=(e,t,r,i)=>{t=t.properties.correlationData,e.emit("reply",{topic:`client/${i}/mediaapp/${r}/ok`,messageType:"BoolValue",message:{value:!0},correlationData:t})},It=(e,t,r,i)=>{t=t.properties.correlationData,e.emit("reply",{topic:`client/${i}/mediaapp/${r}/ok`,messageType:"Empty",correlationData:t})},yt=(e,t,r,i)=>{t=t.properties.correlationData,e.emit("reply",{topic:`client/${i}/mediaapp/${r}/ok`,messageType:"Empty",correlationData:t})},kt=(e,t,r,i)=>{t=t.properties.correlationData,e.emit("reply",{topic:`client/${i}/mediaapp/${r}/ok`,messageType:"Empty",correlationData:t})},Tt=(e,t,r,i)=>{switch(t.code){case 2e3:e.emit("getRoom",{roomId:r,callback:({room:e})=>{e?(e.roomEvent.emit("joinRoomEvent",{code:k.DeviceNotResponse,msg:T.DeviceNotResponse}),e.destroyRoom()):console.log("设备响应超时")}});break;case 2001:console.log("业务服务器返回错误码:%s 内容为:%s",t.code,t.message);break;case 2003:break;default:console.log("未知异常 handlerMediaAppServerOnError : %o",t)}};!function(e){e[e.Opus=0]="Opus",e[e.MultiChannelOpus=1]="MultiChannelOpus",e[e.Pcmu=2]="Pcmu",e[e.Pcma=3]="Pcma",e[e.Isac=4]="Isac",e[e.G722=5]="G722",e[e.Ilbc=6]="Ilbc",e[e.Silk=7]="Silk",e[e.Cn=8]="Cn",e[e.TelephoneEvent=9]="TelephoneEvent",e[e.ARtx=10]="ARtx",e[e.ARed=11]="ARed",e[e.Vp8=100]="Vp8",e[e.Vp9=101]="Vp9",e[e.H264=102]="H264",e[e.H264Svc=103]="H264Svc",e[e.H265=104]="H265",e[e.VRtx=105]="VRtx",e[e.VRed=106]="VRed",e[e.Ulpfec=107]="Ulpfec",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(b=b||{}),function(e){e[e.Audio=0]="Audio",e[e.Video=1]="Video",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(E=E||{}),function(e){e[e.Nack=0]="Nack",e[e.NackPli=1]="NackPli",e[e.CcmFir=2]="CcmFir",e[e.GoogRemb=3]="GoogRemb",e[e.TransportCc=4]="TransportCc",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(R=R||{}),function(e){e[e.Mid=0]="Mid",e[e.RtpStreamId=1]="RtpStreamId",e[e.RepairRtpStreamId=2]="RepairRtpStreamId",e[e.FrameMarkingDraft07=3]="FrameMarkingDraft07",e[e.FrameMarking=4]="FrameMarking",e[e.AudioLevel=5]="AudioLevel",e[e.VideoOrientation=6]="VideoOrientation",e[e.TimeOffset=7]="TimeOffset",e[e.TransportWideCcDraft01=8]="TransportWideCcDraft01",e[e.AbsSendTime=9]="AbsSendTime",e[e.AbsCaptureTime=10]="AbsCaptureTime",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(C=C||{}),function(e){e[e.SendRecv=0]="SendRecv",e[e.SendOnly=1]="SendOnly",e[e.RecvOnly=2]="RecvOnly",e[e.Inactive=3]="Inactive",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(S=S||{}),function(e){e[e.Auto=0]="Auto",e[e.Client=1]="Client",e[e.Server=2]="Server",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(P=P||{}),function(e){e[e.Tcp=0]="Tcp",e[e.Udp=1]="Udp",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(M=M||{}),function(e){e[e.Host=0]="Host",e[e.Srflx=1]="Srflx",e[e.Prflx=2]="Prflx",e[e.Relay=3]="Relay",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(w=w||{});const bt={encode:(e,t=r.Writer.create())=>(""!==e.clientId&&t.uint32(10).string(e.clientId),""!==e.consumerId&&t.uint32(18).string(e.consumerId),t),decode(e,t){for(var i=e instanceof r.Reader?e:r.Reader.create(e),o=void 0===t?i.len:i.pos+t,n={clientId:"",consumerId:""};i.pos<o;){var a=i.uint32();switch(a>>>3){case 1:if(10!==a)break;n.clientId=i.string();continue;case 2:if(18===a){n.consumerId=i.string();continue}}if(4==(7&a)||0===a)break;i.skipType(7&a)}return n},fromJSON:e=>({clientId:Et(e.clientId)?globalThis.String(e.clientId):"",consumerId:Et(e.consumerId)?globalThis.String(e.consumerId):""}),toJSON(e){var t={};return""!==e.clientId&&(t.clientId=e.clientId),""!==e.consumerId&&(t.consumerId=e.consumerId),t},create:e=>bt.fromPartial(null!=e?e:{}),fromPartial(e){var t,r={clientId:"",consumerId:""};return r.clientId=null!=(t=e.clientId)?t:"",r.consumerId=null!=(t=e.consumerId)?t:"",r}};function Et(e){return null!=e}const Rt=(e,t)=>new Promise(((r,i)=>{e.emit("getRoom",{roomId:t,callback:({room:e})=>{e?r(e):i("房间不存在")}})})),Ct=async(e,t,r)=>{await(await Rt(e,r)).createNewClient(t),console.log("consumerCreatedRequest",t)},St=async(e,t,r)=>{(e=await Rt(e,r)).roomEvent.emit("onConsumerCreated",{room:e,code:4300,data:{roomId:r,clientId:t.clientId,kind:t.kind}})},Pt=(e,t)=>{let r=null;if(e.clientList.forEach(((e,i)=>{e.consumerList.forEach((e=>{e.consumerId===t.consumerId&&(r=e)}))})),r)return r},Mt=async(e,t,r)=>{var i;e=await Rt(e,r);let o=t.clientId;e.roomType===I.Channel&&(i=e.roomMethods.getChannelRoomConsumer(),(null==(n=t.speaker)?void 0:n.clientId)===i.speaker.clientId&&(i.producerPaused=!0,i.speaker.clientId=""),t.speaker)&&(o=t.speaker.clientId);var n=Pt(e,t).kind;e.roomEvent.emit("onConsumerPaused",{room:e,code:4304,data:{roomId:r,clientId:o,consumerId:t.consumerId,speaker:t.speaker,kind:n}})},wt=async(e,t,r)=>{var i;e=await Rt(e,r);let o=t.clientId;e.roomType===I.Channel&&(""!==(null==(n=e.roomMethods.whoIsSpeaking())?void 0:n.clientId)&&(null==n?void 0:n.clientId)!==(null==(i=t.speaker)?void 0:i.clientId)&&e.roomEvent.emit("onCutOffSpeaking",{room:e,code:4308,data:{roomId:r,clientId:null==(i=t.speaker)?void 0:i.clientId,beCutOffClientId:null==n?void 0:n.clientId,consumerId:t.consumerId,speaker:t.speaker}}),(i=e.roomMethods.getChannelRoomConsumer()).producerPaused=!1,i.speaker=t.speaker,t.speaker)&&(o=t.speaker.clientId);var n=Pt(e,t).kind;e.roomEvent.emit("onConsumerResume",{room:e,code:4303,data:{roomId:r,clientId:o,consumerId:t.consumerId,speaker:t.speaker,kind:n}})},Ot=(e,t,r)=>{r=r.split("/")[3];var i=null==(i=null==(i=t.properties)?void 0:i.userProperties)?void 0:i.redirect;t=t.properties.correlationData;e.emit("reply",{topic:`client/${r}/redirect/${i}/ok`,messageType:"BoolValue",message:{value:!0},correlationData:t})},Nt=(e,t,r,i)=>{r=r.split("/")[3],t=t.properties.correlationData,e.emit("reply",{topic:`client/${r}/media/${i}/ok`,messageType:"Empty",correlationData:t})},xt=async(e,t,r)=>{r=await Rt(e,r),e.emit("onConsumerResume",{room:r})},Dt=async(e,t)=>{t=await Rt(e,t),e.emit("onConsumerPaused",{room:t})},At=async(e,t)=>{null!=(e=await Rt(e,t))&&e.passiveLeaved()},Bt=async(e,t)=>{null!=(e=await Rt(e,t))&&e.passiveLeaved()},Vt=(e,t,r,i)=>{r=r.split("/")[3],t=t.properties.correlationData,e.emit("reply",{topic:`client/${r}/media/${i}/ok`,messageType:"Empty",correlationData:t})},Lt=async function(e,t,r,i,o){var n=((l=o.dup)&&console.log("重复消息"),Jt(r));let a=!1,s="";a="business"===n||(s=Gt(r),!1);var c=Ut(r);let d=Wt(o).index;if("err"===s){var l=oe.decode(i);if("media"===n){const r=t.get(d);await(async(e,t)=>{var{messageContent:r,roomId:i,messageObj:o}=t;if(1415===(t=(console.log("Recv Error - media: %o",t),r).code)){if(!i)return console.log("roomId 解析失败 %s",i),!1;t=await Rt(e,i),e.emit("channelOnSpeakerAccessFailed",{room:t}),t.roomEvent.emit("onSpeakerAccessFailed",{room:t,code:4307,data:{roomId:i}}),o.callback({messageContent:r,code:4202})}})(e,{messageContent:l,roomId:c,topicMethod:s,topicModule:n,messageObj:r})}else if("mediaapp"===n){await(async(e,t)=>{console.log("Recv Error - mediaapp: %o",t)})(0,{messageContent:l,roomId:c,topicMethod:s,topicModule:n});const a=t.get(d);a?(m=a.callback)&&m({messageContent:l,topic:r,message:i,packet:o}):lt(e,{curTopicMethod:s,packet:o,message:i,topic:r})}return t.delete(d),!1}a&&(m=(new TextDecoder).decode(i),l=JSON.parse(m),d=parseInt(l.id));const u=t.get(d);if(a)u?(m=u.callback,l=(new TextDecoder).decode(i),m({messageContent:JSON.parse(l),topic:r,message:i,packet:o}),t.delete(d)):(m=(new TextDecoder).decode(i),e.emit("onBusinessNotification",{messageContent:JSON.parse(m),topic:r,message:i,packet:o}));else if(u){var{callback:l,responseMessageType:m}=u,m=Ft(m,i);console.log("MQ Recv <- topicMethod:%o message:%o",s,m),t.delete(d),l&&l({messageContent:m,topic:r,message:i,packet:o})}else switch(console.log("MQ Server <- curTopicModule:%s, topicMethod:%o",n,s),n){case"media":await(async(e,t)=>{var{packet:r,message:i,topicMethod:o,roomId:n,topic:a}=t;switch(o){case"consumerCreated":var s=se.decode(i);await Ct(e,s,n),await St(e,s,n),Ot(e,r,a);break;case"consumerResumed":s=ce.decode(i),await xt(e,s,n),Nt(e,r,a,n),await wt(e,s,n);break;case"consumerPaused":s=ce.decode(i),console.log("consumerPaused - messageContent",s),await Dt(e,n),Nt(e,r,a,n),await Mt(e,s,n);break;case"passiveLeaved":await At(e,n);break;case"consumerClosed":console.log("consumerClosed - messageContent",bt.decode(i)),Bt(e,n),Vt(e,r,a,n);break;default:console.log("handlerMediaServerOnMessage 未知类型",o)}})(e,{roomId:c,topicMethod:s,topicModule:n,packet:o,topic:r,message:i});break;case"mediaapp":lt(e,{curTopicMethod:s,packet:o,message:i,topic:r});break;case"business":console.log("业务数据");break;default:console.log("handlerOnMessage 未知错误")}},Jt=e=>e.split("/")[0]||(console.log("Topic解析错误:",e),""),Gt=e=>e.split("/")[4]||(console.log("method解析错误:",e),""),Ut=e=>e.split("/")[1]||(console.log("RoomId解析错误:",e),""),Ft=(e,t)=>{let r;switch(e){case"StringValue":r=c.decode(t);break;case"JoinResponse":r=ne.decode(t);break;case"SimpleClientToken":r=st.decode(t);break;case"Empty":break;default:console.log("handlerMessage 未知类型")}return r},Wt=({properties:e})=>{var t=new TextDecoder;e=null==e?void 0:e.correlationData;return{index:parseInt(t.decode(e)),correlationData:e}};const $t={encode:(e,t=i.Writer.create())=>t,decode(e,t){var r=e instanceof i.Reader?e:i.Reader.create(e),o=void 0===t?r.len:r.pos+t;for(e={};r.pos<o;){var n=r.uint32();if(4==(7&n)||0===n)break;r.skipType(7&n)}return e},fromJSON:e=>({}),toJSON:e=>({}),create:e=>$t.fromPartial(null!=e?e:{}),fromPartial:e=>({})};let qt=(()=>{const e=self,t=new Map,r=(e.addEventListener("message",(e=>{var i;"createInterval"===e.data.method?(i=r(e.data.time,e.data.data),t.set(i,e.data)):console.error("未知methods")})),(t,{name:r})=>setInterval((()=>{e.postMessage({name:r})}),t))}).toString();qt=qt.substring(qt.indexOf("{")+1,qt.lastIndexOf("}"));const Ht=new Blob([qt],{type:"application/javascript"}),jt=URL.createObjectURL(Ht);let Zt=100,_t=new Map;class zt{constructor({eventEmit:e}){this.eventEmit=new $e,this.handlerOnMessage=async(e,t,r)=>{await Lt(this.eventEmit,_t,e,t,r)},this.handlerOnClose=()=>{this.eventEmit.emit("hyRtcOnClose",{})},this.eventEmit=e,this.registerMessageEvents()}registerMessageEvents(){this.eventEmit.on("send",(e=>{this.send(e)})),this.eventEmit.on("reply",(e=>{this.reply(e)})),this.eventEmit.on("unSubscribeMediaAppRoomEventTopic",(e=>{this.unSubscribeMediaAppRoomEventTopic(e)}))}async connect({authInfo:t},r){this.authInfo=t,this.connectUrl=r;let i={clean:!0,connectTimeout:1e3,reconnectPeriod:0,clientId:this.authInfo.clientId,username:this.authInfo.clientId,password:this.authInfo.password,protocol:this.authInfo.protocol,protocolVersion:5};if(null!=this.connectUrl)try{this.mqttClient=e.connect(this.connectUrl,i),this.mqttClient.on("message",this.handlerOnMessage),this.mqttClient.on("close",this.handlerOnClose)}catch{}return new Promise(((e,t)=>{let r=1;const i=setInterval((()=>{3<=++r&&(clearInterval(i),t({msg:"连接失败"})),e(this.mqttClient)}),0)}))}close({force:e=!1}){return new Promise((t=>{var r=this.getMqttClient();null!=r&&r.end(e,{},(()=>{t(!0)}))}))}subscribeMediaTopic(){var e=this.getClientId();this.subscribe(`media/+/client/${e}/+`)}subscribeMediaAppTopic(){var e=this.getClientId();this.subscribe(`mediaapp/+/client/${e}/+`)}async subscribeBusinessTopic(){var e=this.getClientId();await this.subscribe("business/user/"+e),console.log("开启业务心跳"),this.businessSendHeartbeat(),this.sendWorker()}businessSendHeartbeat(){var e=this.getClientId();this.businessSend({topic:"user/"+e,method:"heartbeat",notification:!0,data:{}})}sendWorker(){var e=new Worker(jt);e.onmessage=e=>{this.businessSendHeartbeat()},e.postMessage({method:"createInterval",time:1e4,data:{name:"businessSendHeartbeat"}})}subscribeDeviceStatusRealtimeTopic(e){if(0===e.length)return!1;e.forEach((e=>{this.subscribe("business/devicestatusRealtime/"+e)}))}subscribe(e){return new Promise(((t,r)=>{var i;null!=(i=this.mqttClient)&&i.subscribe(e,(function(e){e?r(e):t(!0)}))}))}unsubscribe(e){return new Promise(((t,r)=>{var i;null!=(i=this.mqttClient)&&i.unsubscribe(e,(function(i){i?r(i):(console.log("unsubscribe topic: %s",e),t(!0))}))}))}subscribeBatch(e){var t;null!=(t=this.mqttClient)&&t.subscribe(e)}subscribeMediaAppRoomEventTopic(e){this.subscribe(`mediaapp/${e}/+/+/roomEvent`)}unSubscribeMediaAppRoomEventTopic(e){this.unsubscribe(`mediaapp/${e}/`)}handlerMessageByte(e,t){switch(e){case"StringValue":return c.encode(t).finish();case"JoinRequest":return le.encode(t).finish();case"RtpCapabilitiesFinalized":return $.encode(t).finish();case"BoolValue":return s.encode(t).finish();case"Empty":return $t.encode(t).finish();case"ProduceRequest":return ue.encode(t).finish();case"DtlsParameters":return Z.encode(t).finish();case"BroadcastRequest":return ot.encode(t).finish();case"AudioCallEvent":return nt.encode(t).finish();case"MonitorRequest":return it.encode(t).finish();case"SipVideoRequest":return at.encode(t).finish();default:return console.log("未知回复体,请检查handlerMessageByte方法",e),""}}async joinRoom(e){var t=this.getClientId(),r=new tt({eventEmit:this.eventEmit});return r.setRoomId(e.roomId).setClientId(t).setProduceTag("hy_talk").setPlayElementBox(e.playElementBox).setRoomType(I.Channel).publishChannel(),r.setOnEvent(e.onEvent),r}async joinMonitor(e){return new Promise((async(t,r)=>{var i=this.getClientId();const o=new tt({eventEmit:this.eventEmit});o.setOnEvent(e.onEvent),o.setMonitorDeviceId(e.deviceId).setClientId(i).setPlayElementBox(e.playElementBox).setProduceTag("control"),e.roomId&&o.setRoomId(e.roomId),o.publishMonitor().then((()=>{t(o)})).catch((e=>{r(e)}))}))}async joinBroadcast(e){var t=this.getClientId(),r=new tt({eventEmit:this.eventEmit});return r.setOnEvent(e.onEvent),r.setBroadcastClientIds(e.clientIds).setClientId(t).setProduceTag("gb_broadcast").setDefaultEnableAudio(null==(t=e.options)?void 0:t.defaultEnableAudio),await r.publishBroadcast(),r}async joinMonitorListen(e){var t=this.getClientId(),r=new tt({eventEmit:this.eventEmit});return r.setMonitorListenDeviceId(e.deviceId).setPlayElementBox(e.playElementBox).setClientId(t).setProduceTag("control"),await r.publishMonitorListen(),r}async joinAudioCall(e){var t=this.getClientId(),r=e.deviceId,i=new tt({eventEmit:this.eventEmit});return i.setProduceTag("control").setMediaBeCallDeviceId(r).setPlayElementBox(e.playElementBox).setClientId(t).setRoomType(I.AudioCall).setDefaultEnableAudio(null==(r=e.options)?void 0:r.defaultEnableAudio),await i.publishMediaCall(),i.mediaCallWaiting(),i.startMediaCallWaiting(),i.startMediaCallRingingTimeout(),i}async joinVideoCall(e){var t=this.getClientId(),r=e.deviceId,i=new tt({eventEmit:this.eventEmit});return i.setProduceTag("control").setMediaBeCallDeviceId(r).setPlayElementBox(e.playElementBox).setClientId(t).setRoomType(I.VideoCall).setDefaultEnableAudio(null==(r=e.options)?void 0:r.defaultEnableAudio).setDefaultEnableVideo(null==(t=e.options)?void 0:t.defaultEnableVideo).setLocalPlayElementBox(e.localPlayElementBox),await i.publishMediaCall(),i.mediaCallWaiting(),i.startMediaCallWaiting(),i.startMediaCallRingingTimeout(),i}async joinSipVideo(e){return new Promise((async(t,r)=>{var i=this.getClientId();const o=new tt({eventEmit:this.eventEmit});o.setOnEvent(e.onEvent),o.setClientId(i).setPlayElementBox(e.playElementBox).setSipVideoDeviceId(e.deviceId).setRoomId(e.roomId).setRoomType(I.SipVideo).setLocalPlayElementBox(e.localPlayElementBox),o.publishSipVideo().then((()=>{t(o)})).catch((e=>{r(e)}))}))}async joinRecordRoom(e){return new Promise((async(t,r)=>{var i=this.getClientId(),o=new tt({eventEmit:this.eventEmit});o.setOnEvent(e.onEvent),o.setClientId(i).setRoomType(I.Recorder).setRoomId(e.roomId).setProduceTag("control").setProduceOption(e.produceOption),o.publishRecordRoom(),t(o)}))}send(e){var{topic:e,messageType:t,message:r,callback:i,responseMessageType:o,options:n}=e,a=this.getMqttClient(),{correlationData:s,index:c}=this.nextCorrelationData(),s={properties:{correlationData:s}},n=(null!=n&&n.noResponse&&null!=(n=s.properties)&&delete n.correlationData,e.indexOf("undefined"),this.handlerMessageByte(t,r)),t=(console.log("MQ Send -> opts:%o topic:%o message:%o",s,e,r),null!=a&&a.publish(e,n,s),{index:c,topic:e,payload:n,opts:s,callback:i,responseMessageType:o});this.correlationDataMapAdd(t)}reply(e){var{topic:e,messageType:t,message:r,correlationData:i}=e,o=this.getMqttClient(),i={properties:{correlationData:i}},t=(e.indexOf("undefined"),console.log("MQ Reply -> opts:%o topic:%o message:%o",i,e,r),this.handlerMessageByte(t,r));null!=o&&o.publish(e,t,i)}businessSend(e){return new Promise(((t,r)=>{var i=this.nextCorrelationData().index,o=(null!=(o=(e.id=i,console.log("businessSend ->",e),this.getMqttClient()))&&o.publish(e.topic,JSON.stringify(e)),{index:i,topic:e.topic,payload:e.data,callback:({messageContent:e,topic:i,message:o,packet:n})=>{(e.ok?t:r)({messageContent:e,topic:i,message:o,packet:n})},responseMessageType:"business"});this.correlationDataMapAdd(o)}))}getClientId(){var e;return null==(e=this.mqttClient)?void 0:e.options.clientId}getMqttClient(){return this.mqttClient}nextCorrelationData(){var e=Zt++;return{correlationData:(new TextEncoder).encode(e.toString()),index:e}}correlationDataMapAdd(e){_t.set(e.index,e)}getMqttClientStatus(){var e;return null==(e=this.getMqttClient())?void 0:e.connected}}class Kt extends $e{constructor({eventEmit:e}){super(),this.eventEmit=new $e,this.roomList=new Map,this.eventEmit=e,this.registerRoomEvents()}registerRoomEvents(){this.eventEmit.on("addRoom",(e=>{this.addRoom(e)})),this.eventEmit.on("getRoom",(e=>{this.getRoom(e)})),this.eventEmit.on("deleteRoom",(e=>{this.deleteRoom(e)})),this.eventEmit.on("delRoom",(e=>{console.log("delRoom")})),this.eventEmit.on("getAllRooms",(({callback:e})=>{e(this.getAllRooms())}))}addRoom(e){var t=e.roomId;return!!t&&(this.roomList.get(t)?(console.log("房间ID已存在: %o",t),!1):void this.roomList.set(t,e))}deleteRoom(e){return!!(e=e.roomId)&&(this.roomList.get(e)?(this.roomList.delete(e),console.log("已删除房间ID: %o",e),console.log("roomList",this.roomList),!1):void console.log("房间ID不存在: %o",e))}getRoom({roomId:e,callback:t}){t((e=this.roomList.get(e))?{room:e}:{room:null})}getAllRooms(){return this.roomList}getRoomByRoomId(e){var t=this.roomList.get(e);if(t)return t;console.log("未找到 roomId: %s",e)}getRoomsByRoomType(e){const t=[];return this.getAllRooms().forEach((r=>{r.roomType===e&&t.push(r)})),t}getDeviceIdByRoomType(e){let t=[];return this.getRoomsByRoomType(e).forEach((r=>{r.clientList.forEach((e=>{e.clientId&&t.push({clientId:e.clientId})})),e==I.Broadcast&&(t=r.broadcastClientIds.map((e=>({clientId:e}))))})),t}}class Qt extends $e{constructor({eventEmit:e}){super(),this.eventEmit=new $e,this.eventEmit=e,this.registerRoomEvents()}registerRoomEvents(){this.eventEmit.on("setGlobalVideoDevice",(({device:e})=>{console.log("setGlobalVideoDevice",e),this.globalVideoDevice=e})),this.eventEmit.on("getGlobalVideoDevice",(({callback:e})=>{e(this.globalVideoDevice)})),this.eventEmit.on("setGlobalAudioDevice",(({device:e})=>{this.globalAudioDevice=e})),this.eventEmit.on("getGlobalAudioDevice",(({callback:e})=>{e(this.globalAudioDevice)})),this.eventEmit.on("setGlobalDisplayMediaStream",(({displayMediaStream:e})=>{this.displayMediaStream=e})),this.eventEmit.on("getGlobalDisplayMediaStream",(({callback:e})=>{e(this.displayMediaStream)}))}}class Xt extends $e{constructor(){super(),this.eventEmit=new $e,this.registerMessageEvents(),this.eventEmit.emit("hyRtcConstructor",{})}registerMessageEvents(){}init(e){return new Promise(((t,r)=>{var i,o;this.getMqttClientStatus()?this.eventEmit.emit("hyRtcInitSuccess",this):(this.HyRtcCoreOptions=e,({authInfo:i,connectUrl:o}=this.HyRtcCoreOptions),this.NewRoomManager(),this.NewGlobalDeviceManager(),this.Message=this.NewMessage(),this.Message.connect({authInfo:i},o).then((()=>{var e;null!=(e=this.Message)&&e.subscribeMediaTopic(),null!=(e=this.Message)&&e.subscribeMediaAppTopic(),this.eventEmit.emit("hyRtcInitSuccess",this),t({})})).catch((e=>(r(e),this.eventEmit.emit("hyRtcInitError",e),!1))))}))}close(e){var t;return null==(t=this.Message)?void 0:t.close({force:null==e?void 0:e.force})}NewMessage(){return new zt({eventEmit:this.eventEmit})}NewRoomManager(){this.RoomManager=new Kt({eventEmit:this.eventEmit})}NewGlobalDeviceManager(){this.GlobalDeviceManager=new Qt({eventEmit:this.eventEmit})}async joinChannel(e){return new Promise(((t,r)=>{this.eventEmit.emit("getRoom",{roomId:e.roomId,callback:async({room:i})=>{var o;if(i)r({code:k.RoomIsExist,message:T.RoomIsExist});else{const i=await(null==(o=this.Message)?void 0:o.joinRoom(e));null!=i&&i.roomId&&null!=(o=this.Message)&&o.subscribeMediaAppRoomEventTopic(i.roomId),this.eventEmit.emit("addRoom",i),i?t({room:i}):r({code:k.JoinRoomFailed,message:T.JoinRoomFailed})}}})}))}async joinMonitor(e){return new Promise((async(t,r)=>{var i=this.getAllRooms();const o=[];null!=i&&i.forEach((function(e,t,r){null!=e.monitorDeviceId&&o.push(e.monitorDeviceId)})),-1===o.indexOf(e.deviceId)?null!=(i=this.Message)&&i.joinMonitor(e).then((e=>{var i;this.eventEmit.emit("addRoom",e),e?(null!=e&&e.roomId&&null!=(i=this.Message)&&i.subscribeMediaAppRoomEventTopic(e.roomId),t({room:e})):r({error:new Error("加入房间失败")})})).catch((({messageContent:e})=>{2003===e.code&&r({code:k.DeviceNotExist,message:T.DeviceNotExist})})):r({error:new Error("设备已存在直播房间中.")})}))}async joinBroadcast(e){return new Promise((async(t,r)=>{var i,o=await(null==(o=this.Message)?void 0:o.joinBroadcast(e));this.eventEmit.emit("addRoom",o),o&&(null!=o&&o.roomId&&null!=(i=this.Message)&&i.subscribeMediaAppRoomEventTopic(o.roomId),t({room:o}))}))}async joinMonitorListen(e){return new Promise((async(t,r)=>{var i,o=await(null==(o=this.Message)?void 0:o.joinMonitorListen(e));this.eventEmit.emit("addRoom",o),o&&(null!=o&&o.roomId&&null!=(i=this.Message)&&i.subscribeMediaAppRoomEventTopic(o.roomId),t({room:o}))}))}async joinAudioCall(e){return new Promise((async(t,r)=>{var i;await(null==(i=this.Message)?void 0:i.joinAudioCall(e).then((i=>{var o;this.eventEmit.emit("addRoom",i),i?(null!=i&&i.roomId&&null!=(o=this.Message)&&o.subscribeMediaAppRoomEventTopic(i.roomId),i.setOnEvent(e.onEvent),t({room:i})):r({error:new Error("加入房间失败")})})).catch((({code:e,msg:t})=>{r({code:e,msg:t})})))}))}async joinVideoCall(e){return new Promise((async(t,r)=>{var i;null!=(i=this.Message)&&i.joinVideoCall(e).then((i=>{var o;this.eventEmit.emit("addRoom",i),i?(null!=i&&i.roomId&&null!=(o=this.Message)&&o.subscribeMediaAppRoomEventTopic(i.roomId),i.setOnEvent(e.onEvent),t({room:i})):r({error:new Error("加入房间失败")})})).catch((({code:e,msg:t})=>{r({code:e,msg:t})}))}))}async joinSipVideo(e){return new Promise((async(t,r)=>{var i,o=await(null==(o=this.Message)?void 0:o.joinSipVideo(e));this.eventEmit.emit("addRoom",o),o?(null!=o&&o.roomId&&null!=(i=this.Message)&&i.subscribeMediaAppRoomEventTopic(o.roomId),o.setOnEvent(e.onEvent),o.setOnEvent(e.onEvent),t({room:o})):t({error:new Error("加入房间失败")})}))}async joinRecordRoom({args:e}){return new Promise((async(t,r)=>{let i,o=new MediaStream;var n,{muteAudioStream:n,mutedAudioBufferSourceNodeSource:a}=this.createMuteAudio();(n=(e.videoList&&(i=this.mergeVideoElement(n,e.videoList),o=i.getMixedStream()),await(null==(n=this.Message)?void 0:n.joinRecordRoom(e))))&&(n.setRoomMediaStream(o),n.setVideoMixer(i),n.setMutedAudioBufferSourceNodeSource(a)),t({room:n})}))}mergeVideoElement(e,t){return t=t.map((e=>{if(e&&e.captureStream)return e.captureStream()})).filter(Boolean),t.push(e),(e=new a(t)).width=1280,e.height=720,e.frameInterval=1,e.startDrawingFrames(),e}createMuteAudio(){var e=((t=(r=new window.AudioContext).createBuffer(1,r.sampleRate,r.sampleRate)).getChannelData(0).fill(.3),r.createBufferSource()),t=(e.buffer=t,e.loop=!0,e.connect(r.destination),r.createMediaStreamDestination()),r=(e.connect(t),t.stream);return e.start(),{muteAudioStream:r,mutedAudioBufferSourceNodeSource:e}}getUserAudioMedia(){return Ze({audio:!0,video:!1})}getUserVideoMedia(){return Ze({audio:!1,video:!0})}getUserVideoMediaByDeviceId(e){return Xe(e)}getUserAudioMediaByDeviceId(e){return Qe(e)}enumerateDevices(){return je()}enumerateAudioDevices(){return je("audioinput")}enumerateVideoDevices(){return je("videoinput")}getAllRooms(){var e;return null==(e=this.RoomManager)?void 0:e.getAllRooms()}getRoomsByRoomId(e){var t;return null==(t=this.RoomManager)?void 0:t.getRoomByRoomId(e)}getRoomsByRoomType(e){var t;return null==(t=this.RoomManager)?void 0:t.getRoomsByRoomType(e)}getDeviceIdByRoomType(e){var t;return null==(t=this.RoomManager)?void 0:t.getDeviceIdByRoomType(e)}setGlobalVideoDevice(e){!function(e,t){t?e.emit("setGlobalVideoDevice",{device:t}):console.log("device 不能为空")}(this.eventEmit,e)}getGlobalVideoDevice(){return ze(this.eventEmit)}setGlobalAudioDevice(e){!function(e,t){t?e.emit("setGlobalAudioDevice",{device:t}):console.log("device 不能为空")}(this.eventEmit,e)}getGlobalAudioDevice(){return Ke(this.eventEmit)}getDisplayMediaStream(e={video:!0,audio:!0}){return Ye(e)}setGlobalDisplayMediaStream(e){!function(e,t){e.emit("setGlobalDisplayMediaStream",{displayMediaStream:t})}(this.eventEmit,e)}getGlobalDisplayMediaStream(){return function(e){return new Promise((t=>{e.emit("getGlobalDisplayMediaStream",{callback:e=>{t(e)}})}))}(this.eventEmit)}getMqttClientStatus(){var e;return null==(e=this.Message)?void 0:e.getMqttClientStatus()}async preCheckMediaSupport(){return new Promise((async(e,t)=>{var r={videoSupport:!1,audioSupport:!1,webRtcSupport:!0};try{var i=await navigator.mediaDevices.getUserMedia({video:!0,audio:!1});i&&(r.videoSupport=!0,i.getTracks().forEach((e=>{e.stop()})))}catch(e){r.videoSupport=!1}try{var o=await navigator.mediaDevices.getUserMedia({video:!1,audio:!0});o&&(r.audioSupport=!0,o.getTracks().forEach((e=>{e.stop()})))}catch(e){r.audioSupport=!1}e(r)}))}checkRecorderElementReady({videoList:e}){return new Promise(((t,r)=>{let i=0;const o=[],n=()=>{o.forEach((e=>{clearTimeout(e)}))},a=()=>{var s;e.map((e=>{if(e&&e.captureStream)return e.captureStream().active})).filter(Boolean).length===e.length?(n(),t(!0)):i<10?(i++,console.warn(`尝试检查当前录制画面,正在重试...(第${i}次)`),s=setTimeout(a,1e3),o.push(s)):(n(),r(!1))};a()}))}}export{Xt as HyRtcCore,zt as Message,tt as Room};
@@ -28,8 +28,11 @@ export declare class HyRtcCore extends EventEmitter<any> {
28
28
  joinRecordRoom({ args }: {
29
29
  args: joinRecordRoomArgs;
30
30
  }): Promise<any>;
31
- mergeVideoElement(mediaStream: MediaStream, videoList: any[]): any;
32
- createMuteAudio(): MediaStream;
31
+ mergeVideoElement(muteAudioStream: MediaStream, videoList: any[]): any;
32
+ createMuteAudio(): {
33
+ muteAudioStream: MediaStream;
34
+ mutedAudioBufferSourceNodeSource: AudioBufferSourceNode;
35
+ };
33
36
  getUserAudioMedia(): Promise<MediaStream>;
34
37
  getUserVideoMedia(): Promise<MediaStream>;
35
38
  getUserVideoMediaByDeviceId(videoDeviceId: string): Promise<MediaStream>;
@@ -54,4 +57,7 @@ export declare class HyRtcCore extends EventEmitter<any> {
54
57
  getGlobalDisplayMediaStream(): Promise<MediaStream>;
55
58
  getMqttClientStatus(): boolean | undefined;
56
59
  preCheckMediaSupport(): Promise<PreCheckMediaSupportArg>;
60
+ checkRecorderElementReady({ videoList }: {
61
+ videoList: HTMLMediaElement[];
62
+ }): Promise<unknown>;
57
63
  }
@@ -31,6 +31,7 @@ declare class Room {
31
31
  roomMediaStream: MediaStream | undefined;
32
32
  produceOption: ProducerOptions;
33
33
  videoMixer: any;
34
+ mutedAudioBufferSourceNodeSourceNodeSource: AudioBufferSourceNode | undefined;
34
35
  keepaliveInterval: number;
35
36
  mediaCallWaitingInterval: number;
36
37
  mediaCallRingingInterval: number;
@@ -76,6 +77,7 @@ declare class Room {
76
77
  setProduceOption(produceOption?: ProducerOptions): void;
77
78
  setRoomMediaStream(mediaStream: MediaStream): void;
78
79
  setVideoMixer(videoMixer: any): void;
80
+ setMutedAudioBufferSourceNodeSource(mutedAudioBufferSourceNodeSourceNodeSource: AudioBufferSourceNode): void;
79
81
  publishChannel(): void;
80
82
  publishMonitor(): Promise<unknown>;
81
83
  publishSipVideo(): Promise<unknown>;
@@ -130,6 +132,7 @@ declare class Room {
130
132
  deleteRoom(): void;
131
133
  clearKeepAlive(): void;
132
134
  producerClose(): void;
135
+ clearMutedAudioBufferSourceNodeSource(): void;
133
136
  closeTransport(): void;
134
137
  destroyRoom(): void;
135
138
  _getRoomKind(): number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hy-rtc-core-v3",
3
- "version": "3.6.41",
3
+ "version": "3.6.43",
4
4
  "description": "hy-rtc-core V3",
5
5
  "type": "module",
6
6
  "main": "dist/index.esm.js",