hy-rtc-core-v3 3.9.0 → 3.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import e from"mqtt";import t from"long";import*as o from"protobufjs/minimal";import i from"protobufjs/minimal";import r from"debug";import{v4 as a}from"uuid";import{Device as n}from"mediasoup-client";import{FilesetResolver as s,ImageSegmenter as d}from"@mediapipe/tasks-vision";import c from"flv.js";import l from"multistreamsmixer";const u={encode:(e,t=i.Writer.create())=>(!1!==e.value&&t.uint32(8).bool(e.value),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={value:!1};o.pos<r;){var n=o.uint32();if(n>>>3!=1||8!==n){if(4==(7&n)||0===n)break;o.skipType(7&n)}else a.value=o.bool()}return a},fromJSON:e=>({value:!!p(e.value)&&globalThis.Boolean(e.value)}),toJSON(e){var t={};return!1!==e.value&&(t.value=e.value),t},create:e=>u.fromPartial(null!=e?e:{}),fromPartial(e){var t={value:!1};return t.value=null!=(e=e.value)&&e,t}};const m={encode:(e,t=i.Writer.create())=>(""!==e.value&&t.uint32(10).string(e.value),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={value:""};o.pos<r;){var n=o.uint32();if(n>>>3!=1||10!==n){if(4==(7&n)||0===n)break;o.skipType(7&n)}else a.value=o.string()}return a},fromJSON:e=>({value:p(e.value)?globalThis.String(e.value):""}),toJSON(e){var t={};return""!==e.value&&(t.value=e.value),t},create:e=>m.fromPartial(null!=e?e:{}),fromPartial(e){var t={value:""};return t.value=null!=(e=e.value)?e:"",t}};function p(e){return null!=e}var h,v,g,I,f,T,y,b,k,E,C,R,S,P,M,w,N,A,O,D,x,B,V,_,L,J,U,F;function q(e){switch(e){case 0:case"Opus":return h.Opus;case 1:case"MultiChannelOpus":return h.MultiChannelOpus;case 2:case"Pcmu":return h.Pcmu;case 3:case"Pcma":return h.Pcma;case 4:case"Isac":return h.Isac;case 5:case"G722":return h.G722;case 6:case"Ilbc":return h.Ilbc;case 7:case"Silk":return h.Silk;case 8:case"Cn":return h.Cn;case 9:case"TelephoneEvent":return h.TelephoneEvent;case 10:case"ARtx":return h.ARtx;case 11:case"ARed":return h.ARed;case 100:case"Vp8":return h.Vp8;case 101:case"Vp9":return h.Vp9;case 102:case"H264":return h.H264;case 104:case"H265":return h.H265;case 108:case"AV1":return h.AV1;case 105:case"VRtx":return h.VRtx;case 106:case"VRed":return h.VRed;case 107:case"Ulpfec":return h.Ulpfec;default:return h.UNRECOGNIZED}}function W(e){switch(e){case h.Opus:return"Opus";case h.MultiChannelOpus:return"MultiChannelOpus";case h.Pcmu:return"Pcmu";case h.Pcma:return"Pcma";case h.Isac:return"Isac";case h.G722:return"G722";case h.Ilbc:return"Ilbc";case h.Silk:return"Silk";case h.Cn:return"Cn";case h.TelephoneEvent:return"TelephoneEvent";case h.ARtx:return"ARtx";case h.ARed:return"ARed";case h.Vp8:return"Vp8";case h.Vp9:return"Vp9";case h.H264:return"H264";case h.H265:return"H265";case h.AV1:return"AV1";case h.VRtx:return"VRtx";case h.VRed:return"VRed";case h.Ulpfec:return"Ulpfec";default:return h.UNRECOGNIZED,"UNRECOGNIZED"}}function G(e){switch(e){case 0:case"Audio":return v.Audio;case 1:case"Video":return v.Video;default:return v.UNRECOGNIZED}}function j(e){switch(e){case v.Audio:return"Audio";case v.Video:return"Video";default:return v.UNRECOGNIZED,"UNRECOGNIZED"}}function $(e){switch(e){case 0:case"Nack":return g.Nack;case 1:case"NackPli":return g.NackPli;case 2:case"CcmFir":return g.CcmFir;case 3:case"GoogRemb":return g.GoogRemb;case 4:case"TransportCc":return g.TransportCc;default:return g.UNRECOGNIZED}}function H(e){switch(e){case g.Nack:return"Nack";case g.NackPli:return"NackPli";case g.CcmFir:return"CcmFir";case g.GoogRemb:return"GoogRemb";case g.TransportCc:return"TransportCc";default:return g.UNRECOGNIZED,"UNRECOGNIZED"}}function Z(e){switch(e){case 0:case"Mid":return I.Mid;case 1:case"RtpStreamId":return I.RtpStreamId;case 2:case"RepairRtpStreamId":return I.RepairRtpStreamId;case 12:case"DependencyDescriptor":return I.DependencyDescriptor;case 5:case"AudioLevel":return I.AudioLevel;case 6:case"VideoOrientation":return I.VideoOrientation;case 7:case"TimeOffset":return I.TimeOffset;case 8:case"TransportWideCcDraft01":return I.TransportWideCcDraft01;case 9:case"AbsSendTime":return I.AbsSendTime;case 10:case"AbsCaptureTime":return I.AbsCaptureTime;case 11:case"PlayoutDelay":return I.PlayoutDelay;default:return I.UNRECOGNIZED}}function z(e){switch(e){case I.Mid:return"Mid";case I.RtpStreamId:return"RtpStreamId";case I.RepairRtpStreamId:return"RepairRtpStreamId";case I.DependencyDescriptor:return"DependencyDescriptor";case I.AudioLevel:return"AudioLevel";case I.VideoOrientation:return"VideoOrientation";case I.TimeOffset:return"TimeOffset";case I.TransportWideCcDraft01:return"TransportWideCcDraft01";case I.AbsSendTime:return"AbsSendTime";case I.AbsCaptureTime:return"AbsCaptureTime";case I.PlayoutDelay:return"PlayoutDelay";default:return I.UNRECOGNIZED,"UNRECOGNIZED"}}function X(e){switch(e){case 0:case"SendRecv":return f.SendRecv;case 1:case"SendOnly":return f.SendOnly;case 2:case"RecvOnly":return f.RecvOnly;case 3:case"Inactive":return f.Inactive;default:return f.UNRECOGNIZED}}function K(e){switch(e){case 0:case"Auto":return T.Auto;case 1:case"Client":return T.Client;case 2:case"Server":return T.Server;default:return T.UNRECOGNIZED}}function Y(e){switch(e){case 0:case"Tcp":return y.Tcp;case 1:case"Udp":return y.Udp;default:return y.UNRECOGNIZED}}function Q(e){switch(e){case 0:case"Host":return b.Host;case 1:case"Srflx":return b.Srflx;case 2:case"Prflx":return b.Prflx;case 3:case"Relay":return b.Relay;default:return b.UNRECOGNIZED}}i.util.Long!==t&&(i.util.Long=t,i.configure()),(F=h=h||{})[F.Opus=0]="Opus",F[F.MultiChannelOpus=1]="MultiChannelOpus",F[F.Pcmu=2]="Pcmu",F[F.Pcma=3]="Pcma",F[F.Isac=4]="Isac",F[F.G722=5]="G722",F[F.Ilbc=6]="Ilbc",F[F.Silk=7]="Silk",F[F.Cn=8]="Cn",F[F.TelephoneEvent=9]="TelephoneEvent",F[F.ARtx=10]="ARtx",F[F.ARed=11]="ARed",F[F.Vp8=100]="Vp8",F[F.Vp9=101]="Vp9",F[F.H264=102]="H264",F[F.H265=104]="H265",F[F.AV1=108]="AV1",F[F.VRtx=105]="VRtx",F[F.VRed=106]="VRed",F[F.Ulpfec=107]="Ulpfec",F[F.UNRECOGNIZED=-1]="UNRECOGNIZED",function(e){e[e.Audio=0]="Audio",e[e.Video=1]="Video",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(v=v||{}),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"}(g=g||{}),function(e){e[e.Mid=0]="Mid",e[e.RtpStreamId=1]="RtpStreamId",e[e.RepairRtpStreamId=2]="RepairRtpStreamId",e[e.DependencyDescriptor=12]="DependencyDescriptor",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"}(I=I||{}),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"}(f=f||{}),function(e){e[e.Auto=0]="Auto",e[e.Client=1]="Client",e[e.Server=2]="Server",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(T=T||{}),function(e){e[e.Tcp=0]="Tcp",e[e.Udp=1]="Udp",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(y=y||{}),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"}(b=b||{});const ee={encode(e,t=i.Writer.create()){for(const o of e.codecs)te.encode(o,t.uint32(10).fork()).ldelim();for(const o of e.headerExtensions)oe.encode(o,t.uint32(18).fork()).ldelim();return t},decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={codecs:[],headerExtensions:[]};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.codecs.push(te.decode(o,o.uint32()));continue;case 2:if(18===n){a.headerExtensions.push(oe.decode(o,o.uint32()));continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({codecs:globalThis.Array.isArray(null==e?void 0:e.codecs)?e.codecs.map((e=>te.fromJSON(e))):[],headerExtensions:globalThis.Array.isArray(null==e?void 0:e.headerExtensions)?e.headerExtensions.map((e=>oe.fromJSON(e))):[]}),toJSON(e){var t,o={};return null!=(t=e.codecs)&&t.length&&(o.codecs=e.codecs.map((e=>te.toJSON(e)))),null!=(t=e.headerExtensions)&&t.length&&(o.headerExtensions=e.headerExtensions.map((e=>oe.toJSON(e)))),o},create:e=>ee.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={codecs:[],headerExtensions:[]};return o.codecs=(null==(t=e.codecs)?void 0:t.map((e=>te.fromPartial(e))))||[],o.headerExtensions=(null==(t=e.headerExtensions)?void 0:t.map((e=>oe.fromPartial(e))))||[],o}};const te={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 o of e.parameters)ie.encode(o,t.uint32(50).fork()).ldelim();t.uint32(58).fork();for(const o of e.rtcpFeedback)t.int32(o);return t.ldelim(),t},decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={mimeType:0,kind:0,preferredPayloadType:0,clockRate:0,channels:void 0,parameters:[],rtcpFeedback:[]};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(8!==n)break;a.mimeType=o.int32();continue;case 2:if(16!==n)break;a.kind=o.int32();continue;case 3:if(24!==n)break;a.preferredPayloadType=o.uint32();continue;case 4:if(32!==n)break;a.clockRate=o.uint32();continue;case 5:if(40!==n)break;a.channels=o.uint32();continue;case 6:if(50!==n)break;a.parameters.push(ie.decode(o,o.uint32()));continue;case 7:if(56===n){a.rtcpFeedback.push(o.int32());continue}if(58===n){for(var s=o.uint32()+o.pos;o.pos<s;)a.rtcpFeedback.push(o.int32());continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({mimeType:he(e.mimeType)?q(e.mimeType):0,kind:he(e.kind)?G(e.kind):0,preferredPayloadType:he(e.preferredPayloadType)?globalThis.Number(e.preferredPayloadType):0,clockRate:he(e.clockRate)?globalThis.Number(e.clockRate):0,channels:he(e.channels)?globalThis.Number(e.channels):void 0,parameters:globalThis.Array.isArray(null==e?void 0:e.parameters)?e.parameters.map((e=>ie.fromJSON(e))):[],rtcpFeedback:globalThis.Array.isArray(null==e?void 0:e.rtcpFeedback)?e.rtcpFeedback.map((e=>$(e))):[]}),toJSON(e){var t,o={};return 0!==e.mimeType&&(o.mimeType=W(e.mimeType)),0!==e.kind&&(o.kind=j(e.kind)),0!==e.preferredPayloadType&&(o.preferredPayloadType=Math.round(e.preferredPayloadType)),0!==e.clockRate&&(o.clockRate=Math.round(e.clockRate)),void 0!==e.channels&&(o.channels=Math.round(e.channels)),null!=(t=e.parameters)&&t.length&&(o.parameters=e.parameters.map((e=>ie.toJSON(e)))),null!=(t=e.rtcpFeedback)&&t.length&&(o.rtcpFeedback=e.rtcpFeedback.map((e=>H(e)))),o},create:e=>te.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={mimeType:0,kind:0,preferredPayloadType:0,clockRate:0,channels:void 0,parameters:[],rtcpFeedback:[]};return o.mimeType=null!=(t=e.mimeType)?t:0,o.kind=null!=(t=e.kind)?t:0,o.preferredPayloadType=null!=(t=e.preferredPayloadType)?t:0,o.clockRate=null!=(t=e.clockRate)?t:0,o.channels=null!=(t=e.channels)?t:void 0,o.parameters=(null==(t=e.parameters)?void 0:t.map((e=>ie.fromPartial(e))))||[],o.rtcpFeedback=(null==(t=e.rtcpFeedback)?void 0:t.map((e=>e)))||[],o}};const oe={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={kind:0,uri:0,preferredId:0,preferredEncrypt:!1,direction:0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(8!==n)break;a.kind=o.int32();continue;case 2:if(16!==n)break;a.uri=o.int32();continue;case 3:if(24!==n)break;a.preferredId=o.uint32();continue;case 4:if(32!==n)break;a.preferredEncrypt=o.bool();continue;case 5:if(40===n){a.direction=o.int32();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({kind:he(e.kind)?G(e.kind):0,uri:he(e.uri)?Z(e.uri):0,preferredId:he(e.preferredId)?globalThis.Number(e.preferredId):0,preferredEncrypt:!!he(e.preferredEncrypt)&&globalThis.Boolean(e.preferredEncrypt),direction:he(e.direction)?X(e.direction):0}),toJSON(e){var t={};return 0!==e.kind&&(t.kind=j(e.kind)),0!==e.uri&&(t.uri=z(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 f.SendRecv:return"SendRecv";case f.SendOnly:return"SendOnly";case f.RecvOnly:return"RecvOnly";case f.Inactive:return"Inactive";default:return f.UNRECOGNIZED,"UNRECOGNIZED"}}(e.direction)),t},create:e=>oe.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={kind:0,uri:0,preferredId:0,preferredEncrypt:!1,direction:0};return o.kind=null!=(t=e.kind)?t:0,o.uri=null!=(t=e.uri)?t:0,o.preferredId=null!=(t=e.preferredId)?t:0,o.preferredEncrypt=null!=(t=e.preferredEncrypt)&&t,o.direction=null!=(t=e.direction)?t:0,o}};const ie={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={name:"",strValue:void 0,numValue:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.name=o.string();continue;case 2:if(18!==n)break;a.strValue=o.string();continue;case 3:if(24===n){a.numValue=o.uint32();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({name:he(e.name)?globalThis.String(e.name):"",strValue:he(e.strValue)?globalThis.String(e.strValue):void 0,numValue:he(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=>ie.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={name:"",strValue:void 0,numValue:void 0};return o.name=null!=(t=e.name)?t:"",o.strValue=null!=(t=e.strValue)?t:void 0,o.numValue=null!=(t=e.numValue)?t:void 0,o}};const re={encode(e,t=i.Writer.create()){0!==e.role&&t.uint32(8).int32(e.role);for(const o of e.fingerprints)ae.encode(o,t.uint32(18).fork()).ldelim();return t},decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={role:0,fingerprints:[]};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(8!==n)break;a.role=o.int32();continue;case 2:if(18===n){a.fingerprints.push(ae.decode(o,o.uint32()));continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({role:he(e.role)?K(e.role):0,fingerprints:globalThis.Array.isArray(null==e?void 0:e.fingerprints)?e.fingerprints.map((e=>ae.fromJSON(e))):[]}),toJSON(e){var t,o={};return 0!==e.role&&(o.role=function(e){switch(e){case T.Auto:return"Auto";case T.Client:return"Client";case T.Server:return"Server";default:return T.UNRECOGNIZED,"UNRECOGNIZED"}}(e.role)),null!=(t=e.fingerprints)&&t.length&&(o.fingerprints=e.fingerprints.map((e=>ae.toJSON(e)))),o},create:e=>re.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={role:0,fingerprints:[]};return o.role=null!=(t=e.role)?t:0,o.fingerprints=(null==(t=e.fingerprints)?void 0:t.map((e=>ae.fromPartial(e))))||[],o}};const ae={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={algorithm:"",value:""};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.algorithm=o.string();continue;case 2:if(18===n){a.value=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({algorithm:he(e.algorithm)?globalThis.String(e.algorithm):"",value:he(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=>ae.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={algorithm:"",value:""};return o.algorithm=null!=(t=e.algorithm)?t:"",o.value=null!=(t=e.value)?t:"",o}};const ne={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={foundation:"",priority:0,address:"",protocol:0,port:0,type:0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.foundation=o.string();continue;case 2:if(16!==n)break;a.priority=o.uint32();continue;case 3:if(26!==n)break;a.address=o.string();continue;case 4:if(32!==n)break;a.protocol=o.int32();continue;case 5:if(40!==n)break;a.port=o.uint32();continue;case 6:if(48===n){a.type=o.int32();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({foundation:he(e.foundation)?globalThis.String(e.foundation):"",priority:he(e.priority)?globalThis.Number(e.priority):0,address:he(e.address)?globalThis.String(e.address):"",protocol:he(e.protocol)?Y(e.protocol):0,port:he(e.port)?globalThis.Number(e.port):0,type:he(e.type)?Q(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 y.Tcp:return"Tcp";case y.Udp:return"Udp";default:return y.UNRECOGNIZED,"UNRECOGNIZED"}}(e.protocol)),0!==e.port&&(t.port=Math.round(e.port)),0!==e.type&&(t.type=function(e){switch(e){case b.Host:return"Host";case b.Srflx:return"Srflx";case b.Prflx:return"Prflx";case b.Relay:return"Relay";default:return b.UNRECOGNIZED,"UNRECOGNIZED"}}(e.type)),t},create:e=>ne.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={foundation:"",priority:0,address:"",protocol:0,port:0,type:0};return o.foundation=null!=(t=e.foundation)?t:"",o.priority=null!=(t=e.priority)?t:0,o.address=null!=(t=e.address)?t:"",o.protocol=null!=(t=e.protocol)?t:0,o.port=null!=(t=e.port)?t:0,o.type=null!=(t=e.type)?t:0,o}};const se={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={usernameFragment:"",password:"",iceLite:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.usernameFragment=o.string();continue;case 2:if(18!==n)break;a.password=o.string();continue;case 3:if(24===n){a.iceLite=o.bool();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({usernameFragment:he(e.usernameFragment)?globalThis.String(e.usernameFragment):"",password:he(e.password)?globalThis.String(e.password):"",iceLite:he(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=>se.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={usernameFragment:"",password:"",iceLite:void 0};return o.usernameFragment=null!=(t=e.usernameFragment)?t:"",o.password=null!=(t=e.password)?t:"",o.iceLite=null!=(t=e.iceLite)?t:void 0,o}};const de={encode(e,t=i.Writer.create()){void 0!==e.mid&&t.uint32(10).string(e.mid);for(const o of e.codecs)ce.encode(o,t.uint32(18).fork()).ldelim();for(const o of e.headerExtensions)le.encode(o,t.uint32(26).fork()).ldelim();for(const o of e.encodings)ue.encode(o,t.uint32(34).fork()).ldelim();return void 0!==e.rtcp&&pe.encode(e.rtcp,t.uint32(42).fork()).ldelim(),t},decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={mid:void 0,codecs:[],headerExtensions:[],encodings:[],rtcp:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.mid=o.string();continue;case 2:if(18!==n)break;a.codecs.push(ce.decode(o,o.uint32()));continue;case 3:if(26!==n)break;a.headerExtensions.push(le.decode(o,o.uint32()));continue;case 4:if(34!==n)break;a.encodings.push(ue.decode(o,o.uint32()));continue;case 5:if(42===n){a.rtcp=pe.decode(o,o.uint32());continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({mid:he(e.mid)?globalThis.String(e.mid):void 0,codecs:globalThis.Array.isArray(null==e?void 0:e.codecs)?e.codecs.map((e=>ce.fromJSON(e))):[],headerExtensions:globalThis.Array.isArray(null==e?void 0:e.headerExtensions)?e.headerExtensions.map((e=>le.fromJSON(e))):[],encodings:globalThis.Array.isArray(null==e?void 0:e.encodings)?e.encodings.map((e=>ue.fromJSON(e))):[],rtcp:he(e.rtcp)?pe.fromJSON(e.rtcp):void 0}),toJSON(e){var t,o={};return void 0!==e.mid&&(o.mid=e.mid),null!=(t=e.codecs)&&t.length&&(o.codecs=e.codecs.map((e=>ce.toJSON(e)))),null!=(t=e.headerExtensions)&&t.length&&(o.headerExtensions=e.headerExtensions.map((e=>le.toJSON(e)))),null!=(t=e.encodings)&&t.length&&(o.encodings=e.encodings.map((e=>ue.toJSON(e)))),void 0!==e.rtcp&&(o.rtcp=pe.toJSON(e.rtcp)),o},create:e=>de.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={mid:void 0,codecs:[],headerExtensions:[],encodings:[],rtcp:void 0};return o.mid=null!=(t=e.mid)?t:void 0,o.codecs=(null==(t=e.codecs)?void 0:t.map((e=>ce.fromPartial(e))))||[],o.headerExtensions=(null==(t=e.headerExtensions)?void 0:t.map((e=>le.fromPartial(e))))||[],o.encodings=(null==(t=e.encodings)?void 0:t.map((e=>ue.fromPartial(e))))||[],o.rtcp=void 0!==e.rtcp&&null!==e.rtcp?pe.fromPartial(e.rtcp):void 0,o}};const ce={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 o of e.parameters)ie.encode(o,t.uint32(42).fork()).ldelim();t.uint32(50).fork();for(const o of e.rtcpFeedback)t.int32(o);return t.ldelim(),t},decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={mimeType:0,payloadType:0,clockRate:0,channels:void 0,parameters:[],rtcpFeedback:[]};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(8!==n)break;a.mimeType=o.int32();continue;case 2:if(16!==n)break;a.payloadType=o.uint32();continue;case 3:if(24!==n)break;a.clockRate=o.uint32();continue;case 4:if(32!==n)break;a.channels=o.uint32();continue;case 5:if(42!==n)break;a.parameters.push(ie.decode(o,o.uint32()));continue;case 6:if(48===n){a.rtcpFeedback.push(o.int32());continue}if(50===n){for(var s=o.uint32()+o.pos;o.pos<s;)a.rtcpFeedback.push(o.int32());continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({mimeType:he(e.mimeType)?q(e.mimeType):0,payloadType:he(e.payloadType)?globalThis.Number(e.payloadType):0,clockRate:he(e.clockRate)?globalThis.Number(e.clockRate):0,channels:he(e.channels)?globalThis.Number(e.channels):void 0,parameters:globalThis.Array.isArray(null==e?void 0:e.parameters)?e.parameters.map((e=>ie.fromJSON(e))):[],rtcpFeedback:globalThis.Array.isArray(null==e?void 0:e.rtcpFeedback)?e.rtcpFeedback.map((e=>$(e))):[]}),toJSON(e){var t,o={};return 0!==e.mimeType&&(o.mimeType=W(e.mimeType)),0!==e.payloadType&&(o.payloadType=Math.round(e.payloadType)),0!==e.clockRate&&(o.clockRate=Math.round(e.clockRate)),void 0!==e.channels&&(o.channels=Math.round(e.channels)),null!=(t=e.parameters)&&t.length&&(o.parameters=e.parameters.map((e=>ie.toJSON(e)))),null!=(t=e.rtcpFeedback)&&t.length&&(o.rtcpFeedback=e.rtcpFeedback.map((e=>H(e)))),o},create:e=>ce.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={mimeType:0,payloadType:0,clockRate:0,channels:void 0,parameters:[],rtcpFeedback:[]};return o.mimeType=null!=(t=e.mimeType)?t:0,o.payloadType=null!=(t=e.payloadType)?t:0,o.clockRate=null!=(t=e.clockRate)?t:0,o.channels=null!=(t=e.channels)?t:void 0,o.parameters=(null==(t=e.parameters)?void 0:t.map((e=>ie.fromPartial(e))))||[],o.rtcpFeedback=(null==(t=e.rtcpFeedback)?void 0:t.map((e=>e)))||[],o}};const le={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={uri:0,id:0,encrypt:!1};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(8!==n)break;a.uri=o.int32();continue;case 2:if(16!==n)break;a.id=o.uint32();continue;case 3:if(24===n){a.encrypt=o.bool();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({uri:he(e.uri)?Z(e.uri):0,id:he(e.id)?globalThis.Number(e.id):0,encrypt:!!he(e.encrypt)&&globalThis.Boolean(e.encrypt)}),toJSON(e){var t={};return 0!==e.uri&&(t.uri=z(e.uri)),0!==e.id&&(t.id=Math.round(e.id)),!1!==e.encrypt&&(t.encrypt=e.encrypt),t},create:e=>le.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={uri:0,id:0,encrypt:!1};return o.uri=null!=(t=e.uri)?t:0,o.id=null!=(t=e.id)?t:0,o.encrypt=null!=(t=e.encrypt)&&t,o}};const ue={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&&me.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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={ssrc:void 0,rid:void 0,codecPayloadType:void 0,rtx:void 0,dtx:void 0,scalabilityMode:void 0,maxBitrate:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(8!==n)break;a.ssrc=o.uint32();continue;case 2:if(18!==n)break;a.rid=o.string();continue;case 3:if(24!==n)break;a.codecPayloadType=o.uint32();continue;case 4:if(34!==n)break;a.rtx=me.decode(o,o.uint32());continue;case 5:if(40!==n)break;a.dtx=o.bool();continue;case 6:if(50!==n)break;a.scalabilityMode=o.string();continue;case 7:if(56===n){a.maxBitrate=o.uint32();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({ssrc:he(e.ssrc)?globalThis.Number(e.ssrc):void 0,rid:he(e.rid)?globalThis.String(e.rid):void 0,codecPayloadType:he(e.codecPayloadType)?globalThis.Number(e.codecPayloadType):void 0,rtx:he(e.rtx)?me.fromJSON(e.rtx):void 0,dtx:he(e.dtx)?globalThis.Boolean(e.dtx):void 0,scalabilityMode:he(e.scalabilityMode)?globalThis.String(e.scalabilityMode):void 0,maxBitrate:he(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=me.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=>ue.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={ssrc:void 0,rid:void 0,codecPayloadType:void 0,rtx:void 0,dtx:void 0,scalabilityMode:void 0,maxBitrate:void 0};return o.ssrc=null!=(t=e.ssrc)?t:void 0,o.rid=null!=(t=e.rid)?t:void 0,o.codecPayloadType=null!=(t=e.codecPayloadType)?t:void 0,o.rtx=void 0!==e.rtx&&null!==e.rtx?me.fromPartial(e.rtx):void 0,o.dtx=null!=(t=e.dtx)?t:void 0,o.scalabilityMode=null!=(t=e.scalabilityMode)?t:void 0,o.maxBitrate=null!=(t=e.maxBitrate)?t:void 0,o}};const me={encode:(e,t=i.Writer.create())=>(0!==e.ssrc&&t.uint32(8).uint32(e.ssrc),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={ssrc:0};o.pos<r;){var n=o.uint32();if(n>>>3!=1||8!==n){if(4==(7&n)||0===n)break;o.skipType(7&n)}else a.ssrc=o.uint32()}return a},fromJSON:e=>({ssrc:he(e.ssrc)?globalThis.Number(e.ssrc):0}),toJSON(e){var t={};return 0!==e.ssrc&&(t.ssrc=Math.round(e.ssrc)),t},create:e=>me.fromPartial(null!=e?e:{}),fromPartial(e){var t={ssrc:0};return t.ssrc=null!=(e=e.ssrc)?e:0,t}};const pe={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={cname:void 0,reducedSize:!1};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.cname=o.string();continue;case 2:if(16===n){a.reducedSize=o.bool();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({cname:he(e.cname)?globalThis.String(e.cname):void 0,reducedSize:!!he(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=>pe.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={cname:void 0,reducedSize:!1};return o.cname=null!=(t=e.cname)?t:void 0,o.reducedSize=null!=(t=e.reducedSize)&&t,o}};function he(e){return null!=e}const ve={encode:(e,t=i.Writer.create())=>(0!==e.port&&t.uint32(8).uint32(e.port),0!==e.os&&t.uint32(16).uint32(e.os),0!==e.mis&&t.uint32(24).uint32(e.mis),0!==e.maxMessageSize&&t.uint32(32).uint32(e.maxMessageSize),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={port:0,os:0,mis:0,maxMessageSize:0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(8!==n)break;a.port=o.uint32();continue;case 2:if(16!==n)break;a.os=o.uint32();continue;case 3:if(24!==n)break;a.mis=o.uint32();continue;case 4:if(32===n){a.maxMessageSize=o.uint32();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({port:Ie(e.port)?globalThis.Number(e.port):0,os:Ie(e.os)?globalThis.Number(e.os):0,mis:Ie(e.mis)?globalThis.Number(e.mis):0,maxMessageSize:Ie(e.maxMessageSize)?globalThis.Number(e.maxMessageSize):0}),toJSON(e){var t={};return 0!==e.port&&(t.port=Math.round(e.port)),0!==e.os&&(t.os=Math.round(e.os)),0!==e.mis&&(t.mis=Math.round(e.mis)),0!==e.maxMessageSize&&(t.maxMessageSize=Math.round(e.maxMessageSize)),t},create:e=>ve.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={port:0,os:0,mis:0,maxMessageSize:0};return o.port=null!=(t=e.port)?t:0,o.os=null!=(t=e.os)?t:0,o.mis=null!=(t=e.mis)?t:0,o.maxMessageSize=null!=(t=e.maxMessageSize)?t:0,o}};const ge={encode:(e,t=i.Writer.create())=>(0!==e.streamId&&t.uint32(8).uint32(e.streamId),!1!==e.ordered&&t.uint32(16).bool(e.ordered),void 0!==e.maxPacketLifeTime&&t.uint32(24).uint32(e.maxPacketLifeTime),void 0!==e.maxRetransmits&&t.uint32(32).uint32(e.maxRetransmits),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={streamId:0,ordered:!1,maxPacketLifeTime:void 0,maxRetransmits:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(8!==n)break;a.streamId=o.uint32();continue;case 2:if(16!==n)break;a.ordered=o.bool();continue;case 3:if(24!==n)break;a.maxPacketLifeTime=o.uint32();continue;case 4:if(32===n){a.maxRetransmits=o.uint32();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({streamId:Ie(e.streamId)?globalThis.Number(e.streamId):0,ordered:!!Ie(e.ordered)&&globalThis.Boolean(e.ordered),maxPacketLifeTime:Ie(e.maxPacketLifeTime)?globalThis.Number(e.maxPacketLifeTime):void 0,maxRetransmits:Ie(e.maxRetransmits)?globalThis.Number(e.maxRetransmits):void 0}),toJSON(e){var t={};return 0!==e.streamId&&(t.streamId=Math.round(e.streamId)),!1!==e.ordered&&(t.ordered=e.ordered),void 0!==e.maxPacketLifeTime&&(t.maxPacketLifeTime=Math.round(e.maxPacketLifeTime)),void 0!==e.maxRetransmits&&(t.maxRetransmits=Math.round(e.maxRetransmits)),t},create:e=>ge.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={streamId:0,ordered:!1,maxPacketLifeTime:void 0,maxRetransmits:void 0};return o.streamId=null!=(t=e.streamId)?t:0,o.ordered=null!=(t=e.ordered)&&t,o.maxPacketLifeTime=null!=(t=e.maxPacketLifeTime)?t:void 0,o.maxRetransmits=null!=(t=e.maxRetransmits)?t:void 0,o}};function Ie(e){return null!=e}function fe(e){switch(e){case 0:case"AddPause":return k.AddPause;case 1:case"AddResume":return k.AddResume;case 2:case"Pause":return k.Pause;case 3:case"Resume":return k.Resume;case 4:case"Remove":return k.Remove;default:return k.UNRECOGNIZED}}!function(e){e[e.AddPause=0]="AddPause",e[e.AddResume=1]="AddResume",e[e.Pause=2]="Pause",e[e.Resume=3]="Resume",e[e.Remove=4]="Remove",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(k=k||{});const Te={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={code:0,message:""};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(8!==n)break;a.code=o.uint32();continue;case 2:if(18===n){a.message=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({code:qe(e.code)?globalThis.Number(e.code):0,message:qe(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=>Te.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={code:0,message:""};return o.code=null!=(t=e.code)?t:0,o.message=null!=(t=e.message)?t:"",o}};const ye={encode:(e,t=i.Writer.create())=>(void 0!==e.consumerTransportOptions&&be.encode(e.consumerTransportOptions,t.uint32(10).fork()).ldelim(),void 0!==e.producerTransportOptions&&be.encode(e.producerTransportOptions,t.uint32(18).fork()).ldelim(),void 0!==e.routerRtpCapabilities&&ee.encode(e.routerRtpCapabilities,t.uint32(26).fork()).ldelim(),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={consumerTransportOptions:void 0,producerTransportOptions:void 0,routerRtpCapabilities:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.consumerTransportOptions=be.decode(o,o.uint32());continue;case 2:if(18!==n)break;a.producerTransportOptions=be.decode(o,o.uint32());continue;case 3:if(26===n){a.routerRtpCapabilities=ee.decode(o,o.uint32());continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({consumerTransportOptions:qe(e.consumerTransportOptions)?be.fromJSON(e.consumerTransportOptions):void 0,producerTransportOptions:qe(e.producerTransportOptions)?be.fromJSON(e.producerTransportOptions):void 0,routerRtpCapabilities:qe(e.routerRtpCapabilities)?ee.fromJSON(e.routerRtpCapabilities):void 0}),toJSON(e){var t={};return void 0!==e.consumerTransportOptions&&(t.consumerTransportOptions=be.toJSON(e.consumerTransportOptions)),void 0!==e.producerTransportOptions&&(t.producerTransportOptions=be.toJSON(e.producerTransportOptions)),void 0!==e.routerRtpCapabilities&&(t.routerRtpCapabilities=ee.toJSON(e.routerRtpCapabilities)),t},create:e=>ye.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?be.fromPartial(e.consumerTransportOptions):void 0,t.producerTransportOptions=void 0!==e.producerTransportOptions&&null!==e.producerTransportOptions?be.fromPartial(e.producerTransportOptions):void 0,t.routerRtpCapabilities=void 0!==e.routerRtpCapabilities&&null!==e.routerRtpCapabilities?ee.fromPartial(e.routerRtpCapabilities):void 0,t}};const be={encode(e,t=i.Writer.create()){""!==e.id&&t.uint32(10).string(e.id),void 0!==e.dtlsParameters&&re.encode(e.dtlsParameters,t.uint32(18).fork()).ldelim();for(const o of e.iceCandidates)ne.encode(o,t.uint32(26).fork()).ldelim();return void 0!==e.iceParameters&&se.encode(e.iceParameters,t.uint32(34).fork()).ldelim(),void 0!==e.sctpParameters&&ve.encode(e.sctpParameters,t.uint32(42).fork()).ldelim(),t},decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={id:"",dtlsParameters:void 0,iceCandidates:[],iceParameters:void 0,sctpParameters:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.id=o.string();continue;case 2:if(18!==n)break;a.dtlsParameters=re.decode(o,o.uint32());continue;case 3:if(26!==n)break;a.iceCandidates.push(ne.decode(o,o.uint32()));continue;case 4:if(34!==n)break;a.iceParameters=se.decode(o,o.uint32());continue;case 5:if(42===n){a.sctpParameters=ve.decode(o,o.uint32());continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({id:qe(e.id)?globalThis.String(e.id):"",dtlsParameters:qe(e.dtlsParameters)?re.fromJSON(e.dtlsParameters):void 0,iceCandidates:globalThis.Array.isArray(null==e?void 0:e.iceCandidates)?e.iceCandidates.map((e=>ne.fromJSON(e))):[],iceParameters:qe(e.iceParameters)?se.fromJSON(e.iceParameters):void 0,sctpParameters:qe(e.sctpParameters)?ve.fromJSON(e.sctpParameters):void 0}),toJSON(e){var t,o={};return""!==e.id&&(o.id=e.id),void 0!==e.dtlsParameters&&(o.dtlsParameters=re.toJSON(e.dtlsParameters)),null!=(t=e.iceCandidates)&&t.length&&(o.iceCandidates=e.iceCandidates.map((e=>ne.toJSON(e)))),void 0!==e.iceParameters&&(o.iceParameters=se.toJSON(e.iceParameters)),void 0!==e.sctpParameters&&(o.sctpParameters=ve.toJSON(e.sctpParameters)),o},create:e=>be.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={id:"",dtlsParameters:void 0,iceCandidates:[],iceParameters:void 0,sctpParameters:void 0};return o.id=null!=(t=e.id)?t:"",o.dtlsParameters=void 0!==e.dtlsParameters&&null!==e.dtlsParameters?re.fromPartial(e.dtlsParameters):void 0,o.iceCandidates=(null==(t=e.iceCandidates)?void 0:t.map((e=>ne.fromPartial(e))))||[],o.iceParameters=void 0!==e.iceParameters&&null!==e.iceParameters?se.fromPartial(e.iceParameters):void 0,o.sctpParameters=void 0!==e.sctpParameters&&null!==e.sctpParameters?ve.fromPartial(e.sctpParameters):void 0,o}};const ke={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&&de.encode(e.rtpParameters,t.uint32(42).fork()).ldelim(),!1!==e.producerPaused&&t.uint32(48).bool(e.producerPaused),void 0!==e.speakerId&&t.uint32(58).string(e.speakerId),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={clientId:"",producerId:"",consumerId:"",kind:0,rtpParameters:void 0,producerPaused:!1,speakerId:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.clientId=o.string();continue;case 2:if(18!==n)break;a.producerId=o.string();continue;case 3:if(26!==n)break;a.consumerId=o.string();continue;case 4:if(32!==n)break;a.kind=o.int32();continue;case 5:if(42!==n)break;a.rtpParameters=de.decode(o,o.uint32());continue;case 6:if(48!==n)break;a.producerPaused=o.bool();continue;case 7:if(58===n){a.speakerId=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({clientId:qe(e.clientId)?globalThis.String(e.clientId):"",producerId:qe(e.producerId)?globalThis.String(e.producerId):"",consumerId:qe(e.consumerId)?globalThis.String(e.consumerId):"",kind:qe(e.kind)?G(e.kind):0,rtpParameters:qe(e.rtpParameters)?de.fromJSON(e.rtpParameters):void 0,producerPaused:!!qe(e.producerPaused)&&globalThis.Boolean(e.producerPaused),speakerId:qe(e.speakerId)?globalThis.String(e.speakerId):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=j(e.kind)),void 0!==e.rtpParameters&&(t.rtpParameters=de.toJSON(e.rtpParameters)),!1!==e.producerPaused&&(t.producerPaused=e.producerPaused),void 0!==e.speakerId&&(t.speakerId=e.speakerId),t},create:e=>ke.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={clientId:"",producerId:"",consumerId:"",kind:0,rtpParameters:void 0,producerPaused:!1,speakerId:void 0};return o.clientId=null!=(t=e.clientId)?t:"",o.producerId=null!=(t=e.producerId)?t:"",o.consumerId=null!=(t=e.consumerId)?t:"",o.kind=null!=(t=e.kind)?t:0,o.rtpParameters=void 0!==e.rtpParameters&&null!==e.rtpParameters?de.fromPartial(e.rtpParameters):void 0,o.producerPaused=null!=(t=e.producerPaused)&&t,o.speakerId=null!=(t=e.speakerId)?t:void 0,o}};const Ee={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.speakerId&&t.uint32(26).string(e.speakerId),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={clientId:"",consumerId:"",speakerId:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.clientId=o.string();continue;case 2:if(18!==n)break;a.consumerId=o.string();continue;case 3:if(26===n){a.speakerId=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({clientId:qe(e.clientId)?globalThis.String(e.clientId):"",consumerId:qe(e.consumerId)?globalThis.String(e.consumerId):"",speakerId:qe(e.speakerId)?globalThis.String(e.speakerId):void 0}),toJSON(e){var t={};return""!==e.clientId&&(t.clientId=e.clientId),""!==e.consumerId&&(t.consumerId=e.consumerId),void 0!==e.speakerId&&(t.speakerId=e.speakerId),t},create:e=>Ee.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={clientId:"",consumerId:"",speakerId:void 0};return o.clientId=null!=(t=e.clientId)?t:"",o.consumerId=null!=(t=e.consumerId)?t:"",o.speakerId=null!=(t=e.speakerId)?t:void 0,o}};const Ce={encode:(e,t=i.Writer.create())=>(""!==e.clientId&&t.uint32(10).string(e.clientId),0!==e.state&&t.uint32(16).int32(e.state),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={clientId:"",state:0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.clientId=o.string();continue;case 2:if(16===n){a.state=o.int32();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({clientId:qe(e.clientId)?globalThis.String(e.clientId):"",state:qe(e.state)?fe(e.state):0}),toJSON(e){var t={};return""!==e.clientId&&(t.clientId=e.clientId),0!==e.state&&(t.state=function(e){switch(e){case k.AddPause:return"AddPause";case k.AddResume:return"AddResume";case k.Pause:return"Pause";case k.Resume:return"Resume";case k.Remove:return"Remove";default:return k.UNRECOGNIZED,"UNRECOGNIZED"}}(e.state)),t},create:e=>Ce.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={clientId:"",state:0};return o.clientId=null!=(t=e.clientId)?t:"",o.state=null!=(t=e.state)?t:0,o}};const Re={encode(e,t=i.Writer.create()){0!==e.kind&&t.uint32(8).int32(e.kind),0!==e.sequence&&t.uint32(16).uint32(e.sequence);for(const o of e.sources)Ce.encode(o,t.uint32(26).fork()).ldelim();return t},decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={kind:0,sequence:0,sources:[]};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(8!==n)break;a.kind=o.int32();continue;case 2:if(16!==n)break;a.sequence=o.uint32();continue;case 3:if(26===n){a.sources.push(Ce.decode(o,o.uint32()));continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({kind:qe(e.kind)?G(e.kind):0,sequence:qe(e.sequence)?globalThis.Number(e.sequence):0,sources:globalThis.Array.isArray(null==e?void 0:e.sources)?e.sources.map((e=>Ce.fromJSON(e))):[]}),toJSON(e){var t,o={};return 0!==e.kind&&(o.kind=j(e.kind)),0!==e.sequence&&(o.sequence=Math.round(e.sequence)),null!=(t=e.sources)&&t.length&&(o.sources=e.sources.map((e=>Ce.toJSON(e)))),o},create:e=>Re.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={kind:0,sequence:0,sources:[]};return o.kind=null!=(t=e.kind)?t:0,o.sequence=null!=(t=e.sequence)?t:0,o.sources=(null==(t=e.sources)?void 0:t.map((e=>Ce.fromPartial(e))))||[],o}};const Se={encode(e,t=i.Writer.create()){0!==e.sequence&&t.uint32(8).uint32(e.sequence),0!==e.width&&t.uint32(16).uint32(e.width),0!==e.height&&t.uint32(24).uint32(e.height);for(const o of e.clients)Pe.encode(o,t.uint32(34).fork()).ldelim();return t},decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={sequence:0,width:0,height:0,clients:[]};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(8!==n)break;a.sequence=o.uint32();continue;case 2:if(16!==n)break;a.width=o.uint32();continue;case 3:if(24!==n)break;a.height=o.uint32();continue;case 4:if(34===n){a.clients.push(Pe.decode(o,o.uint32()));continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({sequence:qe(e.sequence)?globalThis.Number(e.sequence):0,width:qe(e.width)?globalThis.Number(e.width):0,height:qe(e.height)?globalThis.Number(e.height):0,clients:globalThis.Array.isArray(null==e?void 0:e.clients)?e.clients.map((e=>Pe.fromJSON(e))):[]}),toJSON(e){var t,o={};return 0!==e.sequence&&(o.sequence=Math.round(e.sequence)),0!==e.width&&(o.width=Math.round(e.width)),0!==e.height&&(o.height=Math.round(e.height)),null!=(t=e.clients)&&t.length&&(o.clients=e.clients.map((e=>Pe.toJSON(e)))),o},create:e=>Se.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={sequence:0,width:0,height:0,clients:[]};return o.sequence=null!=(t=e.sequence)?t:0,o.width=null!=(t=e.width)?t:0,o.height=null!=(t=e.height)?t:0,o.clients=(null==(t=e.clients)?void 0:t.map((e=>Pe.fromPartial(e))))||[],o}};const Pe={encode:(e,t=i.Writer.create())=>(""!==e.clientId&&t.uint32(10).string(e.clientId),0!==e.width&&t.uint32(16).uint32(e.width),0!==e.height&&t.uint32(24).uint32(e.height),0!==e.xpos&&t.uint32(32).uint32(e.xpos),0!==e.ypos&&t.uint32(40).uint32(e.ypos),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={clientId:"",width:0,height:0,xpos:0,ypos:0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.clientId=o.string();continue;case 2:if(16!==n)break;a.width=o.uint32();continue;case 3:if(24!==n)break;a.height=o.uint32();continue;case 4:if(32!==n)break;a.xpos=o.uint32();continue;case 5:if(40===n){a.ypos=o.uint32();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({clientId:qe(e.clientId)?globalThis.String(e.clientId):"",width:qe(e.width)?globalThis.Number(e.width):0,height:qe(e.height)?globalThis.Number(e.height):0,xpos:qe(e.xpos)?globalThis.Number(e.xpos):0,ypos:qe(e.ypos)?globalThis.Number(e.ypos):0}),toJSON(e){var t={};return""!==e.clientId&&(t.clientId=e.clientId),0!==e.width&&(t.width=Math.round(e.width)),0!==e.height&&(t.height=Math.round(e.height)),0!==e.xpos&&(t.xpos=Math.round(e.xpos)),0!==e.ypos&&(t.ypos=Math.round(e.ypos)),t},create:e=>Pe.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={clientId:"",width:0,height:0,xpos:0,ypos:0};return o.clientId=null!=(t=e.clientId)?t:"",o.width=null!=(t=e.width)?t:0,o.height=null!=(t=e.height)?t:0,o.xpos=null!=(t=e.xpos)?t:0,o.ypos=null!=(t=e.ypos)?t:0,o}};const Me={encode:(e,t=i.Writer.create())=>(""!==e.roomId&&t.uint32(10).string(e.roomId),""!==e.mode&&t.uint32(18).string(e.mode),void 0!==e.clientId&&t.uint32(26).string(e.clientId),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={roomId:"",mode:"",clientId:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.roomId=o.string();continue;case 2:if(18!==n)break;a.mode=o.string();continue;case 3:if(26===n){a.clientId=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({roomId:qe(e.roomId)?globalThis.String(e.roomId):"",mode:qe(e.mode)?globalThis.String(e.mode):"",clientId:qe(e.clientId)?globalThis.String(e.clientId):void 0}),toJSON(e){var t={};return""!==e.roomId&&(t.roomId=e.roomId),""!==e.mode&&(t.mode=e.mode),void 0!==e.clientId&&(t.clientId=e.clientId),t},create:e=>Me.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={roomId:"",mode:"",clientId:void 0};return o.roomId=null!=(t=e.roomId)?t:"",o.mode=null!=(t=e.mode)?t:"",o.clientId=null!=(t=e.clientId)?t:void 0,o}};const we={encode:(e,t=i.Writer.create())=>(""!==e.clientId&&t.uint32(10).string(e.clientId),""!==e.dataProducerId&&t.uint32(18).string(e.dataProducerId),""!==e.dataConsumerId&&t.uint32(26).string(e.dataConsumerId),void 0!==e.sctpStreamParameters&&ge.encode(e.sctpStreamParameters,t.uint32(34).fork()).ldelim(),""!==e.label&&t.uint32(42).string(e.label),""!==e.protocol&&t.uint32(50).string(e.protocol),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={clientId:"",dataProducerId:"",dataConsumerId:"",sctpStreamParameters:void 0,label:"",protocol:""};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.clientId=o.string();continue;case 2:if(18!==n)break;a.dataProducerId=o.string();continue;case 3:if(26!==n)break;a.dataConsumerId=o.string();continue;case 4:if(34!==n)break;a.sctpStreamParameters=ge.decode(o,o.uint32());continue;case 5:if(42!==n)break;a.label=o.string();continue;case 6:if(50===n){a.protocol=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({clientId:qe(e.clientId)?globalThis.String(e.clientId):"",dataProducerId:qe(e.dataProducerId)?globalThis.String(e.dataProducerId):"",dataConsumerId:qe(e.dataConsumerId)?globalThis.String(e.dataConsumerId):"",sctpStreamParameters:qe(e.sctpStreamParameters)?ge.fromJSON(e.sctpStreamParameters):void 0,label:qe(e.label)?globalThis.String(e.label):"",protocol:qe(e.protocol)?globalThis.String(e.protocol):""}),toJSON(e){var t={};return""!==e.clientId&&(t.clientId=e.clientId),""!==e.dataProducerId&&(t.dataProducerId=e.dataProducerId),""!==e.dataConsumerId&&(t.dataConsumerId=e.dataConsumerId),void 0!==e.sctpStreamParameters&&(t.sctpStreamParameters=ge.toJSON(e.sctpStreamParameters)),""!==e.label&&(t.label=e.label),""!==e.protocol&&(t.protocol=e.protocol),t},create:e=>we.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={clientId:"",dataProducerId:"",dataConsumerId:"",sctpStreamParameters:void 0,label:"",protocol:""};return o.clientId=null!=(t=e.clientId)?t:"",o.dataProducerId=null!=(t=e.dataProducerId)?t:"",o.dataConsumerId=null!=(t=e.dataConsumerId)?t:"",o.sctpStreamParameters=void 0!==e.sctpStreamParameters&&null!==e.sctpStreamParameters?ge.fromPartial(e.sctpStreamParameters):void 0,o.label=null!=(t=e.label)?t:"",o.protocol=null!=(t=e.protocol)?t:"",o}};const Ne={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={token:"",forceTcp:!1};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.token=o.string();continue;case 2:if(16===n){a.forceTcp=o.bool();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({token:qe(e.token)?globalThis.String(e.token):"",forceTcp:!!qe(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=>Ne.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={token:"",forceTcp:!1};return o.token=null!=(t=e.token)?t:"",o.forceTcp=null!=(t=e.forceTcp)&&t,o}};const Ae={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&&de.encode(e.rtpParameters,t.uint32(26).fork()).ldelim(),!1!==e.paused&&t.uint32(32).bool(e.paused),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={tag:"",kind:0,rtpParameters:void 0,paused:!1};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.tag=o.string();continue;case 2:if(16!==n)break;a.kind=o.int32();continue;case 3:if(26!==n)break;a.rtpParameters=de.decode(o,o.uint32());continue;case 4:if(32===n){a.paused=o.bool();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({tag:qe(e.tag)?globalThis.String(e.tag):"",kind:qe(e.kind)?G(e.kind):0,rtpParameters:qe(e.rtpParameters)?de.fromJSON(e.rtpParameters):void 0,paused:!!qe(e.paused)&&globalThis.Boolean(e.paused)}),toJSON(e){var t={};return""!==e.tag&&(t.tag=e.tag),0!==e.kind&&(t.kind=j(e.kind)),void 0!==e.rtpParameters&&(t.rtpParameters=de.toJSON(e.rtpParameters)),!1!==e.paused&&(t.paused=e.paused),t},create:e=>Ae.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={tag:"",kind:0,rtpParameters:void 0,paused:!1};return o.tag=null!=(t=e.tag)?t:"",o.kind=null!=(t=e.kind)?t:0,o.rtpParameters=void 0!==e.rtpParameters&&null!==e.rtpParameters?de.fromPartial(e.rtpParameters):void 0,o.paused=null!=(t=e.paused)&&t,o}};const Oe={encode:(e,t=i.Writer.create())=>(""!==e.roomId&&t.uint32(10).string(e.roomId),""!==e.clientId&&t.uint32(18).string(e.clientId),0!==e.streamType&&t.uint32(24).int32(e.streamType),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={roomId:"",clientId:"",streamType:0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.roomId=o.string();continue;case 2:if(18!==n)break;a.clientId=o.string();continue;case 3:if(24===n){a.streamType=o.int32();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({roomId:qe(e.roomId)?globalThis.String(e.roomId):"",clientId:qe(e.clientId)?globalThis.String(e.clientId):"",streamType:qe(e.streamType)?globalThis.Number(e.streamType):0}),toJSON(e){var t={};return""!==e.roomId&&(t.roomId=e.roomId),""!==e.clientId&&(t.clientId=e.clientId),0!==e.streamType&&(t.streamType=Math.round(e.streamType)),t},create:e=>Oe.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={roomId:"",clientId:"",streamType:0};return o.roomId=null!=(t=e.roomId)?t:"",o.clientId=null!=(t=e.clientId)?t:"",o.streamType=null!=(t=e.streamType)?t:0,o}};const De={encode:(e,t=i.Writer.create())=>(""!==e.clientId&&t.uint32(10).string(e.clientId),0!==e.mediaType&&t.uint32(16).int32(e.mediaType),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={clientId:"",mediaType:0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.clientId=o.string();continue;case 2:if(16===n){a.mediaType=o.int32();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({clientId:qe(e.clientId)?globalThis.String(e.clientId):"",mediaType:qe(e.mediaType)?globalThis.Number(e.mediaType):0}),toJSON(e){var t={};return""!==e.clientId&&(t.clientId=e.clientId),0!==e.mediaType&&(t.mediaType=Math.round(e.mediaType)),t},create:e=>De.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={clientId:"",mediaType:0};return o.clientId=null!=(t=e.clientId)?t:"",o.mediaType=null!=(t=e.mediaType)?t:0,o}};const xe={encode(e,t=i.Writer.create()){for(const o of e.dates)Be.encode(o,t.uint32(10).fork()).ldelim();return t},decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={dates:[]};o.pos<r;){var n=o.uint32();if(n>>>3!=1||10!==n){if(4==(7&n)||0===n)break;o.skipType(7&n)}else a.dates.push(Be.decode(o,o.uint32()))}return a},fromJSON:e=>({dates:globalThis.Array.isArray(null==e?void 0:e.dates)?e.dates.map((e=>Be.fromJSON(e))):[]}),toJSON(e){var t,o={};return null!=(t=e.dates)&&t.length&&(o.dates=e.dates.map((e=>Be.toJSON(e)))),o},create:e=>xe.fromPartial(null!=e?e:{}),fromPartial(e){var t={dates:[]};return t.dates=(null==(e=e.dates)?void 0:e.map((e=>Be.fromPartial(e))))||[],t}};const Be={encode(e,t=i.Writer.create()){void 0!==e.date&&t.uint32(10).string(e.date),void 0!==e.count&&t.uint32(16).int32(e.count);for(const o of e.items)Ve.encode(o,t.uint32(26).fork()).ldelim();return t},decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={date:void 0,count:void 0,items:[]};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.date=o.string();continue;case 2:if(16!==n)break;a.count=o.int32();continue;case 3:if(26===n){a.items.push(Ve.decode(o,o.uint32()));continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({date:qe(e.date)?globalThis.String(e.date):void 0,count:qe(e.count)?globalThis.Number(e.count):void 0,items:globalThis.Array.isArray(null==e?void 0:e.items)?e.items.map((e=>Ve.fromJSON(e))):[]}),toJSON(e){var t,o={};return void 0!==e.date&&(o.date=e.date),void 0!==e.count&&(o.count=Math.round(e.count)),null!=(t=e.items)&&t.length&&(o.items=e.items.map((e=>Ve.toJSON(e)))),o},create:e=>Be.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={date:void 0,count:void 0,items:[]};return o.date=null!=(t=e.date)?t:void 0,o.count=null!=(t=e.count)?t:void 0,o.items=(null==(t=e.items)?void 0:t.map((e=>Ve.fromPartial(e))))||[],o}};const Ve={encode:(e,t=i.Writer.create())=>(void 0!==e.channelNo&&t.uint32(10).string(e.channelNo),void 0!==e.startTime&&t.uint32(18).string(e.startTime),void 0!==e.endTime&&t.uint32(26).string(e.endTime),void 0!==e.warnBit&&t.uint32(32).int64(e.warnBit),void 0!==e.mediaType&&t.uint32(40).int32(e.mediaType),void 0!==e.streamType&&t.uint32(48).int32(e.streamType),void 0!==e.storageType&&t.uint32(56).int32(e.storageType),void 0!==e.size&&t.uint32(64).int64(e.size),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={channelNo:void 0,startTime:void 0,endTime:void 0,warnBit:void 0,mediaType:void 0,streamType:void 0,storageType:void 0,size:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.channelNo=o.string();continue;case 2:if(18!==n)break;a.startTime=o.string();continue;case 3:if(26!==n)break;a.endTime=o.string();continue;case 4:if(32!==n)break;a.warnBit=Fe(o.int64());continue;case 5:if(40!==n)break;a.mediaType=o.int32();continue;case 6:if(48!==n)break;a.streamType=o.int32();continue;case 7:if(56!==n)break;a.storageType=o.int32();continue;case 8:if(64===n){a.size=Fe(o.int64());continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({channelNo:qe(e.channelNo)?globalThis.String(e.channelNo):void 0,startTime:qe(e.startTime)?globalThis.String(e.startTime):void 0,endTime:qe(e.endTime)?globalThis.String(e.endTime):void 0,warnBit:qe(e.warnBit)?globalThis.Number(e.warnBit):void 0,mediaType:qe(e.mediaType)?globalThis.Number(e.mediaType):void 0,streamType:qe(e.streamType)?globalThis.Number(e.streamType):void 0,storageType:qe(e.storageType)?globalThis.Number(e.storageType):void 0,size:qe(e.size)?globalThis.Number(e.size):void 0}),toJSON(e){var t={};return void 0!==e.channelNo&&(t.channelNo=e.channelNo),void 0!==e.startTime&&(t.startTime=e.startTime),void 0!==e.endTime&&(t.endTime=e.endTime),void 0!==e.warnBit&&(t.warnBit=Math.round(e.warnBit)),void 0!==e.mediaType&&(t.mediaType=Math.round(e.mediaType)),void 0!==e.streamType&&(t.streamType=Math.round(e.streamType)),void 0!==e.storageType&&(t.storageType=Math.round(e.storageType)),void 0!==e.size&&(t.size=Math.round(e.size)),t},create:e=>Ve.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={channelNo:void 0,startTime:void 0,endTime:void 0,warnBit:void 0,mediaType:void 0,streamType:void 0,storageType:void 0,size:void 0};return o.channelNo=null!=(t=e.channelNo)?t:void 0,o.startTime=null!=(t=e.startTime)?t:void 0,o.endTime=null!=(t=e.endTime)?t:void 0,o.warnBit=null!=(t=e.warnBit)?t:void 0,o.mediaType=null!=(t=e.mediaType)?t:void 0,o.streamType=null!=(t=e.streamType)?t:void 0,o.storageType=null!=(t=e.storageType)?t:void 0,o.size=null!=(t=e.size)?t:void 0,o}};const _e={encode:(e,t=i.Writer.create())=>(""!==e.clientId&&t.uint32(10).string(e.clientId),""!==e.channelNo&&t.uint32(18).string(e.channelNo),0!==e.mediaType&&t.uint32(24).int32(e.mediaType),0!==e.playbackMode&&t.uint32(32).int32(e.playbackMode),0!==e.playbackSpeed&&t.uint32(40).int32(e.playbackSpeed),""!==e.startTime&&t.uint32(50).string(e.startTime),""!==e.endTime&&t.uint32(58).string(e.endTime),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={clientId:"",channelNo:"",mediaType:0,playbackMode:0,playbackSpeed:0,startTime:"",endTime:""};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.clientId=o.string();continue;case 2:if(18!==n)break;a.channelNo=o.string();continue;case 3:if(24!==n)break;a.mediaType=o.int32();continue;case 4:if(32!==n)break;a.playbackMode=o.int32();continue;case 5:if(40!==n)break;a.playbackSpeed=o.int32();continue;case 6:if(50!==n)break;a.startTime=o.string();continue;case 7:if(58===n){a.endTime=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({clientId:qe(e.clientId)?globalThis.String(e.clientId):"",channelNo:qe(e.channelNo)?globalThis.String(e.channelNo):"",mediaType:qe(e.mediaType)?globalThis.Number(e.mediaType):0,playbackMode:qe(e.playbackMode)?globalThis.Number(e.playbackMode):0,playbackSpeed:qe(e.playbackSpeed)?globalThis.Number(e.playbackSpeed):0,startTime:qe(e.startTime)?globalThis.String(e.startTime):"",endTime:qe(e.endTime)?globalThis.String(e.endTime):""}),toJSON(e){var t={};return""!==e.clientId&&(t.clientId=e.clientId),""!==e.channelNo&&(t.channelNo=e.channelNo),0!==e.mediaType&&(t.mediaType=Math.round(e.mediaType)),0!==e.playbackMode&&(t.playbackMode=Math.round(e.playbackMode)),0!==e.playbackSpeed&&(t.playbackSpeed=Math.round(e.playbackSpeed)),""!==e.startTime&&(t.startTime=e.startTime),""!==e.endTime&&(t.endTime=e.endTime),t},create:e=>_e.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={clientId:"",channelNo:"",mediaType:0,playbackMode:0,playbackSpeed:0,startTime:"",endTime:""};return o.clientId=null!=(t=e.clientId)?t:"",o.channelNo=null!=(t=e.channelNo)?t:"",o.mediaType=null!=(t=e.mediaType)?t:0,o.playbackMode=null!=(t=e.playbackMode)?t:0,o.playbackSpeed=null!=(t=e.playbackSpeed)?t:0,o.startTime=null!=(t=e.startTime)?t:"",o.endTime=null!=(t=e.endTime)?t:"",o}};const Le={encode:(e,t=i.Writer.create())=>(void 0!==e.roomId&&t.uint32(10).string(e.roomId),""!==e.clientId&&t.uint32(18).string(e.clientId),""!==e.channelNo&&t.uint32(26).string(e.channelNo),0!==e.playbackMode&&t.uint32(32).int32(e.playbackMode),void 0!==e.playbackSpeed&&t.uint32(40).int32(e.playbackSpeed),void 0!==e.playbackTime&&t.uint32(50).string(e.playbackTime),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={roomId:void 0,clientId:"",channelNo:"",playbackMode:0,playbackSpeed:void 0,playbackTime:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.roomId=o.string();continue;case 2:if(18!==n)break;a.clientId=o.string();continue;case 3:if(26!==n)break;a.channelNo=o.string();continue;case 4:if(32!==n)break;a.playbackMode=o.int32();continue;case 5:if(40!==n)break;a.playbackSpeed=o.int32();continue;case 6:if(50===n){a.playbackTime=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({roomId:qe(e.roomId)?globalThis.String(e.roomId):void 0,clientId:qe(e.clientId)?globalThis.String(e.clientId):"",channelNo:qe(e.channelNo)?globalThis.String(e.channelNo):"",playbackMode:qe(e.playbackMode)?globalThis.Number(e.playbackMode):0,playbackSpeed:qe(e.playbackSpeed)?globalThis.Number(e.playbackSpeed):void 0,playbackTime:qe(e.playbackTime)?globalThis.String(e.playbackTime):void 0}),toJSON(e){var t={};return void 0!==e.roomId&&(t.roomId=e.roomId),""!==e.clientId&&(t.clientId=e.clientId),""!==e.channelNo&&(t.channelNo=e.channelNo),0!==e.playbackMode&&(t.playbackMode=Math.round(e.playbackMode)),void 0!==e.playbackSpeed&&(t.playbackSpeed=Math.round(e.playbackSpeed)),void 0!==e.playbackTime&&(t.playbackTime=e.playbackTime),t},create:e=>Le.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={roomId:void 0,clientId:"",channelNo:"",playbackMode:0,playbackSpeed:void 0,playbackTime:void 0};return o.roomId=null!=(t=e.roomId)?t:void 0,o.clientId=null!=(t=e.clientId)?t:"",o.channelNo=null!=(t=e.channelNo)?t:"",o.playbackMode=null!=(t=e.playbackMode)?t:0,o.playbackSpeed=null!=(t=e.playbackSpeed)?t:void 0,o.playbackTime=null!=(t=e.playbackTime)?t:void 0,o}};const Je={encode:(e,t=i.Writer.create())=>(""!==e.clientId&&t.uint32(10).string(e.clientId),""!==e.channelNo&&t.uint32(18).string(e.channelNo),0!==e.mediaType&&t.uint32(24).int32(e.mediaType),""!==e.startTime&&t.uint32(34).string(e.startTime),""!==e.endTime&&t.uint32(42).string(e.endTime),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={clientId:"",channelNo:"",mediaType:0,startTime:"",endTime:""};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.clientId=o.string();continue;case 2:if(18!==n)break;a.channelNo=o.string();continue;case 3:if(24!==n)break;a.mediaType=o.int32();continue;case 4:if(34!==n)break;a.startTime=o.string();continue;case 5:if(42===n){a.endTime=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({clientId:qe(e.clientId)?globalThis.String(e.clientId):"",channelNo:qe(e.channelNo)?globalThis.String(e.channelNo):"",mediaType:qe(e.mediaType)?globalThis.Number(e.mediaType):0,startTime:qe(e.startTime)?globalThis.String(e.startTime):"",endTime:qe(e.endTime)?globalThis.String(e.endTime):""}),toJSON(e){var t={};return""!==e.clientId&&(t.clientId=e.clientId),""!==e.channelNo&&(t.channelNo=e.channelNo),0!==e.mediaType&&(t.mediaType=Math.round(e.mediaType)),""!==e.startTime&&(t.startTime=e.startTime),""!==e.endTime&&(t.endTime=e.endTime),t},create:e=>Je.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={clientId:"",channelNo:"",mediaType:0,startTime:"",endTime:""};return o.clientId=null!=(t=e.clientId)?t:"",o.channelNo=null!=(t=e.channelNo)?t:"",o.mediaType=null!=(t=e.mediaType)?t:0,o.startTime=null!=(t=e.startTime)?t:"",o.endTime=null!=(t=e.endTime)?t:"",o}};const Ue={encode:(e,t=i.Writer.create())=>(""!==e.id&&t.uint32(10).string(e.id),0!==e.sequence&&t.uint32(16).uint32(e.sequence),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={id:"",sequence:0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.id=o.string();continue;case 2:if(16===n){a.sequence=o.uint32();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({id:qe(e.id)?globalThis.String(e.id):"",sequence:qe(e.sequence)?globalThis.Number(e.sequence):0}),toJSON(e){var t={};return""!==e.id&&(t.id=e.id),0!==e.sequence&&(t.sequence=Math.round(e.sequence)),t},create:e=>Ue.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={id:"",sequence:0};return o.id=null!=(t=e.id)?t:"",o.sequence=null!=(t=e.sequence)?t:0,o}};function Fe(e){if(e.gt(globalThis.Number.MAX_SAFE_INTEGER))throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");if(e.lt(globalThis.Number.MIN_SAFE_INTEGER))throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER");return e.toNumber()}function qe(e){return null!=e}i.util.Long!==t&&(i.util.Long=t,i.configure());const We="HY-RTC-CORE-V3";localStorage&&(localStorage.debug="hy-rtc-core-v3:*,mediasoup-client:*,mediaclient:*");class Ge{constructor(e){e?(this._debug=r(We+":"+e),this._warn=r(We+":WARN:"+e),this._error=r(We+":ERROR:"+e)):(this._debug=r(We),this._warn=r(We+":WARN"),this._error=r(We+":ERROR")),this._debug.log=console.info.bind(console),this._warn.log=console.warn.bind(console),this._error.log=console.error.bind(console)}get debug(){return this._debug}get warn(){return this._warn}get error(){return this._error}}!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",e[e.VideoMeeting=13]="VideoMeeting",e[e.FlvMonitor=14]="FlvMonitor",e[e.SipPhoneCall=15]="SipPhoneCall",e[e.BeSipPhoneCall=16]="BeSipPhoneCall",e[e.JT1078SourcesPlayback=17]="JT1078SourcesPlayback",e[e.MixerMeeting=18]="MixerMeeting"}(E=E||{}),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_",e.VideoMeeting="hy_rtc_video_meeting_",e.H265Canvas="hy_rtc_h265_canvas_",e.VirtualBackgroundTmpVideo="hy_rtc_video_virtual_background_",e.VirtualBackgroundTmpCanvas="hy_rtc_canvas_virtual_background_",e.FlvMonitor="hy_rtc_flv_monitor_",e.JT1078SourcesPlayback="hy_rtc_jt1078_sources_playback_",e.SipPhoneCall="hy_rtc_sip_phone_call_",e.BeSipPhoneCall="hy_rtc_sip_phone_be_call_",e.MixerMeeting="hy_rtc_mixer_meeting_"}(C=C||{}),function(e){e[e.DeviceNotResponse=4001]="DeviceNotResponse",e[e.RoomTimeout=4002]="RoomTimeout",e[e.RoomIsExist=4100]="RoomIsExist",e[e.DeviceNotExist=4101]="DeviceNotExist",e[e.JoinRoomFailed=4200]="JoinRoomFailed",e[e.RoomDestroy=4102]="RoomDestroy",e[e.PsStreamFailedPrecondition=4103]="PsStreamFailedPrecondition",e[e.NetworkError=4312]="NetworkError",e[e.MediaEncodingFormatError=4313]="MediaEncodingFormatError",e[e.connectionTimeout=4314]="connectionTimeout",e[e.ProducerVideoResumeFailed=4315]="ProducerVideoResumeFailed",e[e.ProducerAudioResumeFailed=4316]="ProducerAudioResumeFailed",e[e.ConsumerVideoConnected=4318]="ConsumerVideoConnected",e[e.ConsumerVideoConnectionTimeout=4319]="ConsumerVideoConnectionTimeout",e[e.ConsumerVideoLag=4320]="ConsumerVideoLag",e[e.ConsumerVideoResume=4321]="ConsumerVideoResume",e[e.ConsumerVideoInterpupt=4322]="ConsumerVideoInterpupt",e[e.ConsumerVideoAbnormal=4323]="ConsumerVideoAbnormal",e[e.ProducerTrackCreated=4324]="ProducerTrackCreated",e[e.CompositorLayoutChanged=4325]="CompositorLayoutChanged"}(R=R||{}),function(e){e.DeviceNotResponse="设备未响应",e.RoomTimeout="加入房间超时",e.RoomIsExist="房间已存在",e.DeviceNotExist="设备不存在",e.JoinRoomFailed="加入房间失败",e.RoomDestroy="房间已销毁",e.PsStreamFailedPrecondition="设备未发送媒体数据",e.NetworkError="网络错误",e.MediaEncodingFormatError="媒体编码格式错误",e.connectionTimeout="连接超时",e.ProducerVideoResumeFailed="视频生产恢复失败",e.ProducerAudioResumeFailed="音频生产恢复失败",e.ConsumerVideoLag="视频消费卡顿",e.ConsumerVideoResume="视频消费恢复",e.ConsumerVideoInterpupt="视频消费中断",e.ConsumerVideoAbnormal="视频消费异常",e.ConsumerVideoConnected="视频消费已连接",e.ConsumerVideoConnectionTimeout="视频消费连接超时",e.ProducerTrackCreated="生产通道创建完成",e.CompositorLayoutChanged="视频混流画⾯布局变化通知"}(S=S||{}),function(e){e[e.PCMU=2]="PCMU",e[e.PCMA=3]="PCMA",e[e.G722=5]="G722",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.H265WASM=204]="H265WASM"}(P=P||{}),function(e){e[e.PTZ_STOP=0]="PTZ_STOP",e[e.PTZ_ZOOM_OUT=1]="PTZ_ZOOM_OUT",e[e.PTZ_ZOOM_IN=2]="PTZ_ZOOM_IN",e[e.PTZ_UP=3]="PTZ_UP",e[e.PTZ_DOWN=4]="PTZ_DOWN",e[e.PTZ_LEFT=5]="PTZ_LEFT",e[e.PTZ_RIGHT=6]="PTZ_RIGHT",e[e.PTZ_LEFT_UP=7]="PTZ_LEFT_UP",e[e.PTZ_RIGHT_UP=8]="PTZ_RIGHT_UP",e[e.PTZ_LEFT_DOWN=9]="PTZ_LEFT_DOWN",e[e.PTZ_RIGHT_DOWN=10]="PTZ_RIGHT_DOWN",e[e.FI_STOP=11]="FI_STOP",e[e.FI_IRIS_ZOOM_OUT=12]="FI_IRIS_ZOOM_OUT",e[e.FI_IRIS_ZOOM_IN=13]="FI_IRIS_ZOOM_IN",e[e.FI_FOCUS_NEAR=14]="FI_FOCUS_NEAR",e[e.FI_FOCUS_FAR=15]="FI_FOCUS_FAR",e[e.PRESET_SET=16]="PRESET_SET",e[e.PRESET_USE=17]="PRESET_USE",e[e.PRESET_DEL=18]="PRESET_DEL"}(M=M||{}),function(e){e[e.Init=0]="Init",e[e.Joining=1]="Joining",e[e.Joined=2]="Joined",e[e.Closed=3]="Closed",e[e.Timeout=4]="Timeout"}(w=w||{});const je=["audioCall","videoCall"];function $e(e,t,o){var{clientId:o,event:i,roomId:r,kind:a}=o;t=`client/${t}/mediaapp/${r}/${je[a]}Event`;e.emit("send",{topic:t,messageType:"AudioCallEvent",message:{clientId:o,event:i},options:{noResponse:!0}})}function He(e,t,o){return new Promise(((i,r)=>{const{roomId:a,producerId:n,sequence:s}=o;e.emit("send",{topic:`client/${t}/media/${a}/producerResume`,messageType:"StateChangeRequest",message:{id:n,sequence:s},responseMessageType:"Empty",callback:({messageContent:e,code:t})=>{t?r({code:4202,msg:e.message}):(console.log("consumerResume success"),i({producerId:n}))}})}))}function Ze(e,t,o){return new Promise(((i,r)=>{const{roomId:a,consumerId:n,sequence:s}=o;e.emit("send",{topic:`client/${t}/media/${a}/consumerPause`,messageType:"StateChangeRequest",message:{id:n,sequence:s},responseMessageType:"Empty",callback:({messageContent:e,code:t})=>{t?r({code:4204,msg:e.message}):(console.log("consumerPause success"),i({consumerId:n}))}})}))}function ze(e,t,o){return new Promise(((i,r)=>{const{roomId:a,consumerId:n,sequence:s}=o;e.emit("send",{topic:`client/${t}/media/${a}/consumerResume`,messageType:"StateChangeRequest",message:{id:n,sequence:s},responseMessageType:"Empty",callback:({messageContent:e,code:t})=>{t?r({code:4206,msg:e.message}):(console.log("consumerResume success"),i({consumerId:n}))}})}))}function Xe(e,t,o){return new Promise(((i,r)=>{const{roomId:a,producerId:n,sequence:s}=o;e.emit("send",{topic:`client/${t}/media/${a}/producerPause`,messageType:"StateChangeRequest",message:{id:n,sequence:s},responseMessageType:"Empty",callback:()=>{console.log("consumerResume success"),i({producerId:n})}})}))}function Ke(e){switch(e){case h.Opus:return"audio/opus";case h.MultiChannelOpus:return"audio/multiopus";case h.Pcmu:return"audio/PCMU";case h.Pcma:return"audio/PCMA";case h.Isac:return"audio/ISAC";case h.G722:return"audio/G722";case h.Ilbc:return"audio/iLBC";case h.Silk:return"audio/SILK";case h.Cn:return"audio/CN";case h.TelephoneEvent:return"audio/telephone-event";case h.ARtx:return"audio/rtx";case h.ARed:return"audio/red";case h.Vp8:return"video/VP8";case h.Vp9:return"video/VP9";case h.H264:return"video/H264";case h.H265:return"video/H265";case h.AV1:return"video/AV1";case h.VRtx:return"video/rtx";case h.VRed:return"video/red";case h.Ulpfec:return"video/ulpfec";default:return}}function Ye(e){switch(e){case"audio/opus":return h.Opus;case"audio/multiopus":return h.MultiChannelOpus;case"audio/PCMU":return h.Pcmu;case"audio/PCMA":return h.Pcma;case"audio/ISAC":return h.Isac;case"audio/G722":return h.G722;case"audio/iLBC":return h.Ilbc;case"audio/SILK":return h.Silk;case"audio/CN":return h.Cn;case"audio/telephone-event":return h.TelephoneEvent;case"audio/rtx":return h.ARtx;case"audio/red":return h.ARed;case"video/VP8":return h.Vp8;case"video/VP9":return h.Vp9;case"video/H264":return h.H264;case"video/H265":return h.H265;case"video/AV1":return h.AV1;case"video/rtx":return h.VRtx;case"video/red":return h.VRed;case"video/ulpfec":return h.Ulpfec;default:return h.UNRECOGNIZED}}function Qe(e){switch(e){case h.Opus:return"audio/opus";case h.MultiChannelOpus:return"audio/multiopus";case h.Pcmu:return"audio/PCMU";case h.Pcma:return"audio/PCMA";case h.Isac:return"audio/ISAC";case h.G722:return"audio/G722";case h.Ilbc:return"audio/iLBC";case h.Silk:return"audio/SILK";case h.Cn:return"audio/CN";case h.TelephoneEvent:return"audio/telephone-event";case h.ARtx:case h.ARed:return"audio/red";case h.Vp8:return"video/VP8";case h.Vp9:return"video/VP9";case h.H264:return"video/H264";case h.H265:return"video/H265";case h.AV1:return"video/AV1";case h.VRtx:return"video/rtx";case h.VRed:return"video/red";case h.Ulpfec:return"video/ulpfec";default:return}}function et(e){switch(e){case v.Audio:return"audio";case v.Video:return"video";default:return}}function tt(e){switch(e){case"audio":return v.Audio;case"video":return v.Video;default:return v.UNRECOGNIZED}}function ot(e){var t={};for(const o of e)t[o.name]=o.strValue||o.numValue;return t}function it(e){var t,o=[];for(const i in e)e.hasOwnProperty(i)&&(t=e[i],o.push({name:i,strValue:"string"==typeof t?t:void 0,numValue:"number"==typeof t?t:void 0}));return o}function rt(e){return e.map((e=>{switch(e){case g.Nack:return{type:"nack",parameter:""};case g.NackPli:return{type:"nack",parameter:"pli"};case g.CcmFir:return{type:"ccm",parameter:"fir"};case g.GoogRemb:return{type:"goog-remb",parameter:""};case g.TransportCc:return{type:"transport-cc",parameter:""};default:return}})).filter((e=>null!=e))}function at(e){return e?e.map((e=>{switch(e.type){case"nack":return"pli"===e.parameter?g.NackPli:g.Nack;case"ccm":return g.CcmFir;case"goog-remb":return g.GoogRemb;case"transport-cc":return g.TransportCc;default:return}})).filter((e=>null!=e)):[]}function nt(e){switch(e){case I.Mid:return"urn:ietf:params:rtp-hdrext:sdes:mid";case I.RtpStreamId:return"urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id";case I.RepairRtpStreamId:return"urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id";case I.DependencyDescriptor:return"https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension";case I.AudioLevel:return"urn:ietf:params:rtp-hdrext:ssrc-audio-level";case I.VideoOrientation:return"urn:3gpp:video-orientation";case I.TimeOffset:return"urn:ietf:params:rtp-hdrext:toffset";case I.TransportWideCcDraft01:return"http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01";case I.AbsSendTime:return"http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time";case I.AbsCaptureTime:return"http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time";case I.PlayoutDelay:return"http://www.webrtc.org/experiments/rtp-hdrext/playout-delay";default:return}}function st(e){switch(e){case"urn:ietf:params:rtp-hdrext:sdes:mid":return I.Mid;case"urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id":return I.RtpStreamId;case"urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id":return I.RepairRtpStreamId;case"urn:ietf:params:rtp-hdrext:ssrc-audio-level":return I.AudioLevel;case"urn:3gpp:video-orientation":return I.VideoOrientation;case"urn:ietf:params:rtp-hdrext:toffset":return I.TimeOffset;case"http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01":return I.TransportWideCcDraft01;case"http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time":return I.AbsSendTime;case"http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time":return I.AbsCaptureTime;case"http://www.webrtc.org/experiments/rtp-hdrext/playout-delay":return I.PlayoutDelay;default:return I.UNRECOGNIZED}}function dt(e){switch(e){case f.SendRecv:return"sendrecv";case f.SendOnly:return"sendonly";case f.RecvOnly:return"recvonly";case f.Inactive:return"inactive";default:return}}function ct(e){switch(e){case"sendrecv":return f.SendRecv;case"sendonly":return f.SendOnly;case"recvonly":return f.RecvOnly;case"inactive":return f.Inactive;default:return f.UNRECOGNIZED}}function lt(e){return void 0===e?{codecs:[],headerExtensions:[]}:{codecs:e.codecs.map((e=>{var{mimeType:e,kind:t,preferredPayloadType:o,clockRate:i,channels:r,parameters:a,rtcpFeedback:n}=e;return{mimeType:Ke(e),kind:et(t),preferredPayloadType:o,clockRate:i,channels:r,parameters:ot(a),rtcpFeedback:rt(n)}})),headerExtensions:e.headerExtensions.map((e=>{var{kind:e,uri:t,preferredId:o,preferredEncrypt:i,direction:r}=e;return{kind:et(e),uri:nt(t),preferredId:o,preferredEncrypt:i,direction:dt(r)}})).filter((e=>void 0!==e.kind&&void 0!==e.uri&&void 0!==e.direction))}}function ut(e){var{usernameFragment:e,password:t,iceLite:o}=e;return{usernameFragment:e,password:t,iceLite:o}}function mt(e){return e.map((e=>{var{foundation:e,priority:t,address:o,protocol:i,port:r,type:a}=e,i=function(e){return e===y.Udp?"udp":"tcp"}(i);return{foundation:e,priority:t,address:o,protocol:i,port:r,type:pt(a),tcpType:"tcp"===i?"passive":void 0}}))}function pt(e){return e===b.Host?"host":e===b.Srflx?"srflx":e===b.Prflx?"prflx":"relay"}function ht(e){var{role:e,fingerprints:t}=e;return{role:gt(e),fingerprints:t.map((e=>function(e){var{algorithm:e,value:t}=e;return{algorithm:e,value:t}}(e)))}}function vt(e){var{role:e,fingerprints:t}=e;return{role:It(e),fingerprints:t.map((e=>function(e){var{algorithm:e,value:t}=e;return{algorithm:e,value:t}}(e)))}}function gt(e){return e===T.Client?"client":e===T.Server?"server":"auto"}function It(e){return"client"===e?T.Client:"server"===e?T.Server:T.Auto}function ft(e){var{id:e,iceParameters:t,iceCandidates:o,dtlsParameters:i,sctpParameters:r}=e;return{id:e,iceParameters:ut(t),iceCandidates:mt(o),dtlsParameters:ht(i),sctpParameters:Et(r)}}function Tt(e){var{mid:e,codecs:t,headerExtensions:o,encodings:i,rtcp:r}=e;return{mid:e,codecs:t.map((e=>function(e){var{mimeType:e,payloadType:t,clockRate:o,channels:i,parameters:r,rtcpFeedback:a}=e;return{mimeType:Qe(e),payloadType:t,clockRate:o,channels:i,parameters:ot(r),rtcpFeedback:rt(a)}}(e))),headerExtensions:o.map((e=>({uri:nt(e.uri),id:e.id,encrypt:e.encrypt}))).filter((e=>void 0!==e.uri)),encodings:i.map((e=>function(e){var{ssrc:e,rid:t,codecPayloadType:o,rtx:i,dtx:r,scalabilityMode:a,maxBitrate:n}=e;return{ssrc:e,rid:t,codecPayloadType:o,rtx:i,dtx:r,scalabilityMode:a,maxBitrate:n}}(e))),rtcp:bt(r)}}function yt(e){var{mid:e,codecs:t,headerExtensions:o,encodings:i,rtcp:r}=e;return{mid:e,codecs:t.map((e=>function(e){var{mimeType:e,payloadType:t,clockRate:o,channels:i,parameters:r,rtcpFeedback:a}=e;return{mimeType:Ye(e),payloadType:t,clockRate:o,channels:i,parameters:it(r),rtcpFeedback:at(a)}}(e))),headerExtensions:o.map((e=>function(e){var{uri:e,id:t,encrypt:o}=e;return{uri:st(e),id:t,encrypt:!0===o}}(e))),encodings:i.map((e=>function(e){var{ssrc:e,rid:t,codecPayloadType:o,rtx:i,dtx:r,scalabilityMode:a,maxBitrate:n}=e;return{ssrc:e,rid:t,codecPayloadType:o,rtx:i,dtx:r,scalabilityMode:a,maxBitrate:n}}(e))),rtcp:kt(r)}}function bt(e){var t;if(e)return({cname:e,reducedSize:t}=e),{cname:e,reducedSize:t}}function kt(e){var t;if(e)return({cname:e,reducedSize:t}=e),{cname:e,reducedSize:!0===t}}function Et(e){var t,o,i;if(e)return({port:e,os:t,mis:o,maxMessageSize:i}=e),{port:e,OS:t,MIS:o,maxMessageSize:i}}function Ct(e){var{streamId:e,ordered:t,maxPacketLifeTime:o,maxRetransmits:i}=e;return{streamId:e,ordered:t,maxPacketLifeTime:o,maxRetransmits:i}}class Rt{constructor(){this.map=new Map}on(e,t){let o=this.map.get(e);o||this.map.set(e,o=new Set),o.add(t)}emit(e,t,o){var i=this.map.get(e);i?i.forEach((e=>e(t))):(console.log(e+" Not Found"),o&&o())}off(e,t){var o;e?t?(o=this.map.get(e))&&o.delete(t):this.map.delete(e):this.map.clear()}once(e,t){const o=i=>{t(i),this.off(e,o)};this.on(e,o)}}class St{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):(this.consumerList.forEach((t=>{t.kind===e.kind&&this.consumerList.delete(t.producerId)})),void this.consumerList.set(e.producerId,e))}async genConsumer(e,t){if(!e)return{consumer:void 0,producerId:""};var{consumerId:e,producerId:o,kind:i,rtpParameters:r}=e,i=(e={id:e,producerId:o,kind:et(i),rtpParameters:Tt(r)},await(null==t?void 0:t.consume(e)));this.updateConsumerForConsumer(o,i)}updateConsumerForConsumer(e,t){var o=null==(o=this.consumerList)?void 0:o.get(e);o&&(o.consumer=t,null!=(t=this.consumerList))&&t.set(e,o)}}async function Pt(e){var t=await navigator.mediaDevices.enumerateDevices();return e?t.filter((t=>t.kind==e&&""!==t.deviceId)):t}async function Mt(e){let t=new MediaStream;try{t=await navigator.mediaDevices.getUserMedia(e)}catch(i){var{video:e,audio:o}=e;if(e&&!o)throw i;if(!e&&o)throw i;if(!e||!o)throw i;try{console.log("摄像头+麦克风获取失败,尝试降级为只获取音频流"),t=await navigator.mediaDevices.getUserMedia({audio:!0,video:!1})}catch(e){try{console.log("摄像头+麦克风获取失败,获取音频视频失败,尝试指获取视频流"),t=await navigator.mediaDevices.getUserMedia({audio:!1,video:!0})}catch(e){console.log("摄像头+麦克风获取失败,获取音频视频失败,尝试指获取视频流也失败")}}}return t}function wt(e){return e.getTracks()}function Nt(e){return new Promise((t=>{e.emit("getGlobalVideoDevice",{callback:e=>{t(e)}})}))}function At(e){return new Promise((t=>{e.emit("getGlobalAudioDevice",{callback:e=>{t(e)}})}))}function Ot(e){return Mt({audio:{deviceId:e},video:!1})}function Dt(e){return Mt({audio:!1,video:{deviceId:e}})}async function xt(e={video:!0,audio:!0}){return navigator.mediaDevices.getDisplayMedia(e)}function Bt({text:e="暂无摄像头画面"}){const t=document.createElement("canvas"),o=(t.width=320,t.height=240,t.getContext("2d"));if(o){o.fillStyle="black",o.fillRect(0,0,t.width,t.height),o.fillStyle="white",o.font="16px Arial",o.textAlign="center",o.fillText(e,t.width/2,t.height/2);var i=t.captureStream(25);const r=()=>{o.fillStyle="black",o.fillRect(0,0,t.width,t.height),o.fillStyle="white",o.fillText(e,t.width/2,t.height/2),requestAnimationFrame(r)};return r(),i}}const Vt=e=>(e.setAttribute("playsinline","true"),e.setAttribute("x5-video-player-fullscreen","true"),e.setAttribute("x5-playsinline","true"),e.setAttribute("webkit-playsinline","true"),e);class _t{constructor(e){this.webcamRunning=!0,this.lastWebcamTime=-1,this.videoDom=e.videoDom,this.canvasDom=e.canvasDom,this.modelAssetPath=e.modelAssetPath,this.wasmFileset=e.wasmFileset,this.bgImg=e.bgImg,this.canvasCtx=this.canvasDom.getContext("2d",{willReadFrequently:!0})}async createImageSegmenter(){var e;return""!==this.wasmFileset&&(e=await s.forVisionTasks(this.wasmFileset),""!==this.modelAssetPath)&&void(this.imageSegmenter=await d.createFromOptions(e,{baseOptions:{modelAssetPath:this.modelAssetPath,delegate:"GPU"},runningMode:"VIDEO",outputCategoryMask:!0,outputConfidenceMasks:!1}))}async predictWebcam(){var e;this.videoDom.currentTime===this.lastWebcamTime?this.webcamRunning&&window.requestAnimationFrame((()=>{this.predictWebcam()})):(this.lastWebcamTime=this.videoDom.currentTime,this.canvasCtx.drawImage(this.videoDom,0,0,this.videoDom.videoWidth,this.videoDom.videoHeight),void 0!==this.imageSegmenter&&(e=performance.now(),this.imageSegmenter.segmentForVideo(this.videoDom,e,(e=>{this.callbackForVideo(e)}))))}async callbackForVideo(e){this.customImgData||(this.customImgData=await this.createCustomImgData());var t=this.canvasCtx.getImageData(0,0,this.videoDom.videoWidth,this.videoDom.videoHeight).data;if(e.categoryMask){var o=e.categoryMask.getAsFloat32Array();let i=0;for(let e=0;e<o.length;++e){if(1===o[e]){if(!this.customImgData)return;t[i]=this.customImgData[i],t[i+1]=this.customImgData[i+1],t[i+2]=this.customImgData[i+2],t[i+3]=this.customImgData[i+3]}i+=4}e=new Uint8ClampedArray(t.buffer),e=new ImageData(e,this.videoDom.videoWidth,this.videoDom.videoHeight),this.canvasCtx.putImageData(e,0,0),this.webcamRunning&&window.requestAnimationFrame((()=>{this.predictWebcam()}))}else console.log("result.categoryMask is null")}createCustomImgData(){return new Promise(((e,t)=>{if(""===this.bgImg)return console.error("bgImg is null"),!1;const o=new Image;o.onerror=e=>{t("加载失败"+e)},o.onload=()=>{var i=document.createElement("canvas"),r=i.getContext("2d");i.width=this.videoDom.videoWidth,i.height=this.videoDom.videoHeight,r?(r.drawImage(o,0,0,i.width,i.height),r=r.getImageData(0,0,i.width,i.height).data,e(r)):t()},o.src=this.bgImg}))}stopRenderer(){this.webcamRunning=!1}}class Lt{constructor(e){this.producerVideoSequence=0,this.producerAudioSequence=0,this.consumerVideoSequence=new Map,this.consumerAudioSequence=new Map,this.room=e}getRoom(){}getProducerVideoSequence(){return this.producerVideoSequence}setProducerVideoSequence(e){"number"==typeof e?this.producerVideoSequence=e:++this.producerVideoSequence}getProducerAudioSequence(){return this.producerAudioSequence}setProducerAudioSequence(e){"number"==typeof e?this.producerAudioSequence=e:++this.producerAudioSequence}getConsumerVideoSequence(e){return this.consumerVideoSequence.get(e)||0}setConsumerVideoSequence(e,t){"number"!=typeof t&&(t=(this.consumerVideoSequence.get(e)||0)+1),this.consumerVideoSequence.set(e,t)}getConsumerAudioSequence(e){return this.consumerAudioSequence.get(e)||0}setConsumerAudioSequence(e,t){"number"!=typeof t&&(t=(this.consumerAudioSequence.get(e)||0)+1),this.consumerAudioSequence.set(e,t)}getProduceInfo(){return this.room.producerMap}getProduceTrack(e){var t,o=0===e?"audio":1===e?"video":"";for([,t]of this.getProduceInfo())if(t.track&&t.kind===o)return t.track}producerAudioResume(){return new Promise(((e,t)=>{var o=this.room.roomType;o&&[E.SipPhoneCall,E.BeSipPhoneCall].includes(o)?""!==this.room.sipAudioProducerId?(this.setProducerAudioSequence(),He(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,producerId:this.room.sipAudioProducerId,sequence:this.getProducerAudioSequence()}).then((t=>{e(t)}))):t({code:R.ProducerAudioResumeFailed,msg:S.ProducerAudioResumeFailed}):(o===E.Broadcast&&""!==this.room.sipAudioProducerId&&(this.setProducerAudioSequence(),He(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,producerId:this.room.sipAudioProducerId,sequence:this.getProducerAudioSequence()}).then((e=>{}))),""!==this.room.audioProducerId?(this.setProducerAudioSequence(),He(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,producerId:this.room.audioProducerId,sequence:this.getProducerAudioSequence()}).then((t=>{var o;this.room.roomType===E.Channel&&((o=this.getChannelRoomConsumer())?(o.producerPaused=!1,o.speakerId=this.room.clientId):this.room.setChannelRoomIAmTalking(!0)),e(t)})).catch((e=>{t(e)}))):t({code:R.ProducerAudioResumeFailed,msg:S.ProducerAudioResumeFailed}))}))}producerAudioPause(){return new Promise(((e,t)=>{var o=this.room.roomType;o&&[E.SipPhoneCall,E.BeSipPhoneCall].includes(o)?""!==this.room.sipAudioProducerId?(this.setProducerAudioSequence(),Xe(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,producerId:this.room.sipAudioProducerId,sequence:this.getProducerAudioSequence()}).then((t=>{e(t)}))):t({code:R.ProducerAudioResumeFailed,msg:S.ProducerAudioResumeFailed}):(o===E.Broadcast&&""!==this.room.sipAudioProducerId&&(this.setProducerAudioSequence(),Xe(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,producerId:this.room.sipAudioProducerId,sequence:this.getProducerAudioSequence()}).then((e=>{}))),""!==this.room.audioProducerId&&(this.setProducerAudioSequence(),Xe(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,producerId:this.room.audioProducerId,sequence:this.getProducerAudioSequence()}).then((t=>{var o=this.getChannelRoomConsumer();o?(o.producerPaused=!0,o.speakerId=""):this.room.setChannelRoomIAmTalking(!1),e(t)}))))}))}producerVideoResume(){return new Promise(((e,t)=>{""!==this.room.videoProducerId?(this.setProducerVideoSequence(),He(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,producerId:this.room.videoProducerId,sequence:this.getProducerVideoSequence()}).then((t=>{e(t)})).catch((e=>{t(e)}))):t({code:R.ProducerVideoResumeFailed,msg:S.ProducerVideoResumeFailed})}))}producerVideoPause(){return new Promise(((e,t)=>{""!==this.room.videoProducerId&&(this.setProducerVideoSequence(),Xe(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,producerId:this.room.videoProducerId,sequence:this.getProducerVideoSequence()}).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({})}))}))}consumerVideoPauseByClientId(e){var t=this.getConsumerByClientId(e,v.Video);t&&(this.handlerConsumerPausedStatus(t,!0),this.setConsumerVideoSequence(e),Ze(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,consumerId:t.consumerId,sequence:this.getConsumerVideoSequence(e)}))}consumerAudioPauseByClientId(e){var t=this.getConsumerByClientId(e,v.Audio);t&&(this.handlerConsumerPausedStatus(t,!0),this.setConsumerAudioSequence(e),Ze(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,consumerId:t.consumerId,sequence:this.getConsumerAudioSequence(e)}))}consumerVideoResumeByClientId(e){var t=this.getConsumerByClientId(e,v.Video);t&&(this.handlerConsumerPausedStatus(t,!1),this.setConsumerVideoSequence(e),ze(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,consumerId:t.consumerId,sequence:this.getConsumerVideoSequence(e)}))}consumerAudioResumeByClientId(e){var t=this.getConsumerByClientId(e,v.Audio);t&&(this.handlerConsumerPausedStatus(t,!1),this.setConsumerAudioSequence(e),ze(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,consumerId:t.consumerId,sequence:this.getConsumerAudioSequence(e)}))}handlerConsumerPausedStatus(e,t){e.producerPaused=t}getConsumerByClientId(e,t){return!!e&&!!(e=this.room.clientList.get(e))&&Array.from(e.consumerList.values()).find((e=>e.kind===t))}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 o=this.room.producerMap.get(e);return o?-1===t.kind.indexOf(o.kind)?(console.log("produce的类型与设备类型不匹配"),!1):void("videoinput"===t.kind?wt(await Dt(t.deviceId)).forEach((e=>{null!=o&&o.replaceTrack({track:e})})):"audioinput"===t.kind&&wt(await Ot(t.deviceId)).forEach((e=>{null!=o&&o.replaceTrack({track:e})}))):(console.log("未找到produce"),!1)}async replaceProducerByTrack(e,t){if(!(e=this.room.producerMap.get(e)))return console.log("未找到produce"),!1;console.log("track",t),await(null==e?void 0:e.replaceTrack({track:t}))}setVideoRtpEncodingParameters(e){var t;this.room.videoProducerId?(t=this.room.producerMap.get(this.room.videoProducerId))?null!=t&&t.setRtpEncodingParameters(e):console.log("未找到videoProducer %s",this.room.videoProducerId):console.log("videoProducerId 为空")}async startProduceDisplayMedia(){var e=(await xt()).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)),o=e.filter((e=>"audio"==e.kind));1<t.length&&console.log("特殊情况:displayMediaVideoTrack 长度大于1"),1<o.length&&console.log("特殊情况:displayMediaAudioTrack 长度大于1"),this.room.producerMap.forEach((e=>{"video"===e.kind?e.replaceTrack({track:t[0]}):"audio"===e.kind&&e.replaceTrack({track:o[0]})})),this.room.cleanLocalPlayElement(),this.room.handlerLocalPlayElementBox([t[0],o[0]])}switchToDefaultStream(){let e=null,t=null;this.room.producerMap.forEach((i=>{"video"===i.kind?this.room.eventEmit.emit("getGlobalVideoDevice",{callback:async t=>{t?(this.replaceProducerByProduceId(i.id,t),t=wt(await Dt(t.deviceId)),e=t[0]):(1<(t=wt(await Mt({video:!0,audio:!1}))).length&&console.log("switchToDefaultStream track > 1 的情况,需要注意",t),this.replaceProducerByTrack(i.id,t[0]),e=t[0],o())}}):"audio"===i.kind&&this.room.eventEmit.emit("getGlobalAudioDevice",{callback:async e=>{e?(this.replaceProducerByProduceId(i.id,e),e=wt(await Dt(e.deviceId)),t=e[0]):(1<(e=wt(await Mt({video:!1,audio:!0}))).length&&console.log("switchToDefaultStream track > 1 的情况,需要注意",e),this.replaceProducerByTrack(i.id,e[0]),t=e[0],o())}})})),this.room.cleanLocalPlayElement();const o=()=>{t&&e&&this.room.handlerLocalPlayElementBox([t,e])}}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[o,i]of this.room.playElements)o.includes(e)&&(t=i);return t||null}getElementIdByDeviceId(e){return(e=this.getElementByDeviceId(e))?e.id:null}getElementListById(e){var t,o,i=[];for([t,o]of this.room.playElements)t.split("_").includes(e)&&i.push(o);return i}getLocalPlayElement(){let e=null;return(e=this.room.localPlayElementBox&&this.room.localPlayVideoElement?this.room.localPlayVideoElement:e)||null}getLocalPlayElementId(e){var t=this.getLocalPlayElement();return t?t.id:null}getChannelRoomConsumer(){var e;return this.room.roomType===E.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;return this.room.roomType===E.Channel?(t=this.getChannelRoomConsumer())?(e=t.speakerId,t=t.producerPaused,e&&!t?{clientId:e}:{clientId:""}):this.room.channelRoomIAmTalking?{clientId:this.room.clientId}:{clientId:""}:null}recorderRoomAppendStreams(e){e=e.map((e=>{if(e&&e.captureStream)return e.captureStream()})).filter(Boolean),this.room.videoMixer.appendStreams(e)}async changeCameraFacingMode(e="environment"){this.room.producerMap.forEach((e=>{null!=(e=e.track)&&e.stop()}));const t=wt(await Mt({video:{facingMode:e,...this.room.localUserMediaOption.localUserMediaStreamVideoConstraints},audio:!0}));this.room.producerMap.forEach((e=>{"video"===e.kind?t.forEach((t=>{"video"===t.kind&&this.replaceProducerByTrack(e.id,t)})):"audio"===e.kind&&t.forEach((t=>{"audio"===t.kind&&this.replaceProducerByTrack(e.id,t)})),this.room.cleanLocalPlayElement(),this.room.handlerLocalPlayElementBox(t)}))}async ptzControl(e,t){this.room.clientId&&this.room.monitorDeviceId&&function(e,t,o){var{ptzControlType:o,deviceId:i,value:r=4}=o,n=a().replace(/-/g,"");e.emit("send",{topic:`client/${t}/mediaapp/${n}/ptzcontrol`,messageType:"PtzControl",message:{deviceId:i,cmdType:M[o],value:r},options:{noResponse:!0}})}(this.room.eventEmit,this.room.clientId,{clientId:this.room.clientId,deviceId:this.room.monitorDeviceId,roomId:this.room.roomId,ptzControlType:e,value:t})}async handlerVirtualBackground(){if(this.room.virtualBackground)return console.log("当前已开启背景虚化,无需重复开启"),!1;var e={video:{...this.room.localUserMediaOption.localUserMediaStreamVideoConstraints}},t=function(e){e=e.room,e=""+C.VirtualBackgroundTmpVideo+e.roomId;var t=document.createElement("video");return t.id=e,t.muted=!1,t.controls=!1,t.style.display="none",document.body.appendChild(t),t}({room:this.room});if(t&&(t.srcObject=await navigator.mediaDevices.getUserMedia(e),await t.play(),e=function(e){var t=document.createElement("canvas"),{videoWidth:e,videoHeight:o,room:i}=e,i=""+C.VirtualBackgroundTmpCanvas+i.roomId;return t.id=i,t.width=e,t.height=o,t.style.display="none",document.body.appendChild(t),t}({room:this.room,videoWidth:t.videoWidth,videoHeight:t.videoHeight}),e)){var o=e.getContext("2d");if(o&&null!=(o=null==(o=this.room)?void 0:o.virtualBackgroundInfo)&&o.modelAssetPath&&null!=(o=null==(o=this.room)?void 0:o.virtualBackgroundInfo)&&o.wasmFileset){if(o=new _t({canvasDom:e,videoDom:t,modelAssetPath:this.room.virtualBackgroundInfo.modelAssetPath,wasmFileset:this.room.virtualBackgroundInfo.wasmFileset,bgImg:this.room.virtualBackgroundInfo.bgImg}),await o.createImageSegmenter(),o.predictWebcam(),t=e.captureStream()){const o=new MediaStream;(e=t.getTracks()).forEach((e=>{o.addTrack(e)})),this.replaceProducerByTrack(this.room.videoProducerId,o.getTracks()[0]),this.room.cleanLocalPlayElement(),this.room.handlerLocalPlayElementBox(e)}this.room.setVirtualBackground(o)}}}async closeVirtualBackground(){this.room.virtualBackground&&(this.room.virtualBackground.stopRenderer(),this.room.setVirtualBackground(null)),await this.changeCameraFacingMode(),this.room.cleanVirtualBackgroundTmpElement()}getConsumerByConsumerId(e,t){return e.find((e=>e.consumerId===t))}getConsumerListByClient(e){return(e=this.room.clientList.get(e))?e.consumerList:[]}filterConsumerByKind(e,t){return Array.from(e.values()).find((e=>e.kind===t))}getRoomClientList(){const e=[];return this.room.clientList.forEach((t=>{var o=this.filterConsumerByKind(Array.from(t.consumerList.values()),v.Video),i=this.filterConsumerByKind(Array.from(t.consumerList.values()),v.Audio);e.push({clientId:t.clientId,videoConsumer:o,audioConsumer:i,isPushingVideo:!(null!=o&&o.producerPaused),isPushingAudio:!(null!=i&&i.producerPaused)})})),e}setProduceOption(e){void 0!==e&&this.room.setProduceOption(e)}jt1078StreamSwitch(e){return new Promise(((t,o)=>{this.room.roomId&&this.room.monitorDeviceId?function(e,t,o){var{roomId:o,deviceId:i,streamType:r,callback:a}=o;e.emit("send",{topic:`client/${t}/mediaapp/${o}/JT1078StreamSwitch`,messageType:"JT1078StreamSwitchRequest",message:{roomId:o,clientId:i,streamType:r},callback:a})}(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,deviceId:this.room.monitorDeviceId,streamType:e,callback:()=>{t({room:this.room})}}):o()}))}jt1078SourcesPlaybackControl(e){return new Promise(((t,o)=>{var{playbackMode:i,playbackSpeed:r,playbackTime:a}=e;this.room.roomId&&this.room.monitorDeviceId?function(e,t,o){var{roomId:o,deviceId:i,channelNo:r,playbackMode:a,playbackSpeed:n,playbackTime:s,callback:d}=o;e.emit("send",{topic:`client/${t}/mediaapp/${o}/JT1078SourcesPlaybackControl`,messageType:"JT1078FileSourcesPlaybackControl",message:{roomId:o,clientId:i,channelNo:r,playbackMode:a,playbackSpeed:n,playbackTime:s},callback:d})}(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,deviceId:this.room.monitorDeviceId,channelNo:this.room.channelNo,playbackMode:i||0,playbackSpeed:r||0,playbackTime:a||"1970-01-01 00:00:00",callback:()=>{t({room:this.room})}}):o()}))}setMixerMeetingCompositorLayout(e){return new Promise(((t,o)=>{var{mode:i,deviceId:r}=e;this.room.roomId&&i?function(e,t,o){var{roomId:o,deviceId:i,mode:r,callback:a}=o;e.emit("send",{topic:`client/${t}/mediaapp/${o}/mixerMeetingCompositorLayout`,messageType:"MixerMeetingCompositorLayoutRequest",message:{roomId:o,clientId:i,mode:r},responseMessageType:"Empty",callback:a})}(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,mode:i,deviceId:r,callback:()=>{t({room:this.room})}}):o()}))}}const Jt={LANDSCAPE_4X:{width:1080,height:1920},LANDSCAPE_3X:{width:720,height:1280},LANDSCAPE_2X:{width:480,height:640},LANDSCAPE_1X:{height:240,width:320},PORTRAIT_4X:{width:1920,height:1080},PORTRAIT_3X:{width:720,height:1280},PORTRAIT_2X:{width:480,height:640},PORTRAIT_1X:{height:320,width:240}},Ut="onMediaBeCall",Ft="onAudioCallTimeout",qt="onAudioCallNoAnswer",Wt="onNewClient",Gt="roomPassiveLeave";function jt(){let e={};onmessage=function(e){switch(e.data.method){case"decodeBuffer":var{roomId:i,buffer:r,monitorDeviceId:a,streamId:n}=e.data.params;o(i,r,a,n);break;case"initWorker":i=e.data.params.wasmJsFileUrl,t(i)}};const t=async t=>new Promise((async(o,i)=>{"undefined"==typeof __vite__injectQuery&&(globalThis.__vite__injectQuery=(e,t)=>e);var r=(await new Function(`return import('${t}')`)()).default;const a=(t,o,i,r,a)=>{o=new Uint8Array(e.HEAPU8.buffer,o,i),i=new Uint8Array(o),self.postMessage({method:"jsCallBack",params:{streamId:t,videoWidth:r,videoHeight:a,yuvData:i.buffer}},{transfer:[i.buffer]})};e=await r({env:{},print:(...e)=>{console.log(e)},onRuntimeInitialized:function(){var t=this.addFunction(a,"viiiii");this._setJsFunction(t),this._init_decoder(),o(e)}})})),o=(t,o,i,r)=>{var a,n;e._malloc&&(a=new Uint8Array(o),n=e._malloc(o.byteLength),e.HEAPU8.set(a,n),e._decode_buffer(r,n,o.byteLength))}}function $t(){let e=null,t=null,o=null,i=null,r=null,a=null;function n(e,t,o){return(t=e.createShader(t))?(e.shaderSource(t,o),e.compileShader(t),e.getShaderParameter(t,e.COMPILE_STATUS)?t:(console.error("An error occurred compiling the shaders: "+e.getShaderInfoLog(t)),e.deleteShader(t),null)):null}function s(e){var t=e.createTexture();return t?(e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),t):null}onmessage=function(d){switch(d.data.method){case"render":var{yuvData:c,width:l,height:u}=d.data.params,c=new Uint8Array(c);e&&t&&o&&i&&r&&(v=(h=l*u)>>2,g=c.subarray(0,h),I=c.subarray(h,h+v),c=c.subarray(h+v,h+2*v),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,o),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,l,u,0,e.LUMINANCE,e.UNSIGNED_BYTE,g),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,i),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,l>>1,u>>1,0,e.LUMINANCE,e.UNSIGNED_BYTE,I),e.activeTexture(e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,r),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,l>>1,u>>1,0,e.LUMINANCE,e.UNSIGNED_BYTE,c),e.useProgram(t),e.uniform1i(e.getUniformLocation(t,"u_yTexture"),0),e.uniform1i(e.getUniformLocation(t,"u_uTexture"),1),e.uniform1i(e.getUniformLocation(t,"u_vTexture"),2),e.viewport(0,0,l,u),e.drawArrays(e.TRIANGLES,0,6));break;case"initWorker":h=d.data.params.offscreenCanvas,(e=(v=h).getContext("webgl"))&&(t=function(e,t,o){if(t=n(e,e.VERTEX_SHADER,t),o=n(e,e.FRAGMENT_SHADER,o),t&&o){var i=e.createProgram();if(i){if(e.attachShader(i,t),e.attachShader(i,o),e.linkProgram(i),e.getProgramParameter(i,e.LINK_STATUS))return i;console.error("Unable to initialize the shader program: "+e.getProgramInfoLog(i))}}return null}(e,"\n attribute vec2 a_position;\n attribute vec2 a_texCoord;\n varying vec2 v_texCoord;\n void main() {\n gl_Position = vec4(a_position, 0, 1);\n v_texCoord = a_texCoord;\n }\n ","\n precision mediump float;\n varying vec2 v_texCoord;\n uniform sampler2D u_yTexture;\n uniform sampler2D u_uTexture;\n uniform sampler2D u_vTexture;\n void main() {\n float y = texture2D(u_yTexture, v_texCoord).r;\n float u = texture2D(u_uTexture, v_texCoord).r - 0.5;\n float v = texture2D(u_vTexture, v_texCoord).r - 0.5;\n \n float r = y + 1.402 * v;\n float g = y - 0.344136 * u - 0.714136 * v;\n float b = y + 1.772 * u;\n \n gl_FragColor = vec4(r, g, b, 1.0);\n }\n "))&&(o=s(e),i=s(e),r=s(e),v=new Float32Array([-1,-1,1,-1,-1,1,-1,1,1,-1,1,1]),g=new Float32Array([0,1,1,1,0,0,0,0,1,1,1,0]),c=t,l=(I=e).createBuffer(),I.bindBuffer(I.ARRAY_BUFFER,l),I.bufferData(I.ARRAY_BUFFER,v,I.STATIC_DRAW),v=I.createBuffer(),I.bindBuffer(I.ARRAY_BUFFER,v),I.bufferData(I.ARRAY_BUFFER,g,I.STATIC_DRAW),g=I.getAttribLocation(c,"a_position"),I.enableVertexAttribArray(g),I.bindBuffer(I.ARRAY_BUFFER,l),I.vertexAttribPointer(g,2,I.FLOAT,!1,0,0),l=I.getAttribLocation(c,"a_texCoord"),I.enableVertexAttribArray(l),I.bindBuffer(I.ARRAY_BUFFER,v),I.vertexAttribPointer(l,2,I.FLOAT,!1,0,0)),a=h;break;case"resizeCanvas":var{width:u,height:m}=d.data.params;p=u,e&&a&&(a.width=p,a.height=m,e.viewport(0,0,p,m),e.bindFramebuffer(e.FRAMEBUFFER,null),e.clear(e.COLOR_BUFFER_BIT),t)&&o&&i&&r&&e.drawArrays(e.TRIANGLES,0,6)}var p,h,v,g,I}}const Ht="h265room:TESTWasm",Zt="h265room:createWasm",zt="h265room:getWasmModule";class Xt extends Rt{constructor({eventEmit:e,wasmJsFileUrl:t}){super(),this.eventEmit=new Rt,this.roomInfoMap=new Map,this.ptrList=[],this.eventEmit=e,this.wasmJsFileUrl=t,this.registerRoomEvents()}registerRoomEvents(){this.eventEmit.on(Ht,(e=>{console.log("H265WASM_EVENTS.TEST_WASM"),this.initWasmModule()})),this.eventEmit.on(Zt,(async({callback:e})=>{console.log("H265WASM_EVENTS.CREATE_WASM"),this.module=await this.initWasmModule(),e(this)})),this.eventEmit.on(zt,(async({callback:e})=>{console.log("H265WASM_EVENTS.GET_WASM_MODULE"),this.module=await this.getWasmModule(),e(this)}))}getWasmModule(){return new Promise((async(e,t)=>{this.module||(this.module=await this.initWasmModule()),e(this.module)}))}async jsCallBack(e,t,o,i,r,a){if(!document.hidden){let t=null;this.roomInfoMap.forEach(((o,i)=>{o.streamId===e&&(t=i)}));var n=t?this.roomInfoMap.get(t):null;if(n){if(n.renderWorker.postMessage({method:"render",params:{yuvData:a.buffer,width:i,height:r}},{transfer:[a.buffer]}),n.renderWorker.postMessage({method:"resizeCanvas",params:{width:i,height:r}}),a=n.canvas,t&&n.canvas&&!n.isInitRender){i=await this._getRoom(this.eventEmit,t);const e=Array.from(i.playElements.values())[0];a.captureStream().getTracks().forEach((t=>{let o=e.srcObject;o||(o=new MediaStream,e.srcObject=o),o.addTrack(t)})),n.isInitRender=!0}}else console.log("roomInfo not found")}}async initWasmModule(){}decodeBuffer(e,t,o){var i=null==(i=this.roomInfoMap.get(e))?void 0:i.decodeWorker,r=null==(r=this.roomInfoMap.get(e))?void 0:r.streamId;i.postMessage({method:"decodeBuffer",params:{roomId:e,buffer:t,monitorDeviceId:o,streamId:r}})}async initRoomInfo(e){var t=this.getRandomInt(1,500);let o=jt.toString();o=o.substring(o.indexOf("{")+1,o.lastIndexOf("}"));var i=new Blob([o],{type:"application/javascript"});i=URL.createObjectURL(i),i=new Worker(i,{type:"module"});let r=$t.toString();r=r.substring(r.indexOf("{")+1,r.lastIndexOf("}"));var a=new Blob([r],{type:"application/javascript"}),n=(a=URL.createObjectURL(a),a=new Worker(a,{type:"module"}),function(e){var t,{streamId:e,room:t}=e;return e=""+C.H265Canvas+e+t.roomId,(t=document.createElement("canvas")).id=e,t}({room:e,streamId:t})),s=(n.width=1920,n.height=1080,n.transferControlToOffscreen());a.postMessage({method:"initWorker",params:{offscreenCanvas:s,width:1920,height:1080}},{transfer:[s]}),i.postMessage({method:"initWorker",params:{wasmJsFileUrl:this.wasmJsFileUrl}}),i.onmessage=e=>{var t,o,i,r,a;"jsCallBack"===e.data.method&&(({streamId:e,ptr:t,len:o,videoWidth:i,videoHeight:r,yuvData:a}=e.data.params),a=new Uint8Array(a),this.jsCallBack(e,t,o,i,r,a))},e.roomId&&this.roomInfoMap.set(e.roomId,{streamId:t,decodeWorker:i,renderWorker:a,room:e,canvas:n,isInitRender:!1})}jsCallBack265(e,t,o,i,r,a){}free(e,t){e.decodeWorker.postMessage({method:"free",params:{ptr:t}})}terminateWorker(e){var t=null==(t=this.roomInfoMap.get(e))?void 0:t.decodeWorker;e=null==(e=this.roomInfoMap.get(e))?void 0:e.renderWorker;null!=t&&t.terminate(),null!=e&&e.terminate()}getRandomInt(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(Math.random()*(t-e+1))+e}_getRoom(e,t){return new Promise(((o,i)=>{e.emit("getRoom",{roomId:t,callback:({room:e})=>{e?o(e):i("房间不存在")}})}))}genJpgFromYuvData(e,t,o){var i=document.createElement("canvas"),r=t,a=o,n=(t=(i.width=r,i.height=a,i.getContext("2d"))).createImageData(r,a);let s=0;var d=o=r*a,c=o+o/4;for(let t=0;t<a;t++)for(let o=0;o<r;o++){var l=Math.floor(o/2),u=(l=Math.floor(t/2)*Math.floor(r/2)+l,e[s++]),m=u-.344136*((p=e[d+l])-128)-.714136*((l=e[c+l])-128),p=u+1.772*(p-128),h=4*(t*r+o);n.data[h]=Math.max(0,Math.min(255,u+1.402*(l-128))),n.data[1+h]=Math.max(0,Math.min(255,m)),n.data[2+h]=Math.max(0,Math.min(255,p)),n.data[3+h]=255}o=new Date+".jpg",t.putImageData(n,0,0),t=i.toDataURL("image/jpeg",.85);const v=document.createElement("a");v.href=t,v.download=o,document.body.appendChild(v),v.click(),setTimeout((()=>{document.body.removeChild(v)}),100)}}!function(e){e[e.INITIAL=0]="INITIAL",e[e.DECODED_NORMAL=1]="DECODED_NORMAL",e[e.SIGNAL_JITTER=2]="SIGNAL_JITTER",e[e.DECODED_LAG=3]="DECODED_LAG",e[e.DECODED_INTERRUPT=4]="DECODED_INTERRUPT",e[e.DECODED_ABNORMAL=5]="DECODED_ABNORMAL"}(N=N||{}),function(e){e.CONNECTED="CONNECTED",e.CONNECTION_TIMEOUT="CONNECTION_TIMEOUT",e.SIGNAL_JITTER="SIGNAL_JITTER",e.DECODED_LAG="DECODED_LAG",e.DECODED_INTERRUPT="DECODED_INTERRUPT",e.DECODED_ABNORMAL="DECODED_ABNORMAL",e.DECODED_RESUME="DECODED_RESUME",e.STATISTICS_INFO="STATISTICS_INFO"}(A=A||{}),function(e){e[e.RUNNING=0]="RUNNING",e[e.PAUSE=1]="PAUSE",e[e.DESTROY=2]="DESTROY"}(O=O||{});class Kt extends Rt{constructor(e){if(super(),this._statInterval=2e3,this._connectionTimeout=1e4,this._status=O.RUNNING,this._statInfo={timestamp:0,status:N.INITIAL,decodedFrames:0,droppedFrames:0},!e.element)throw new Error("VideoStatusMonitor.element: can not be empty.");this.setMediaElement(e.element).setStatInterval(e.statInterval).setClientId(e.clientId).setDeviceId(e.deviceId).setConnectionTimeout(e.timeout).startTimer()}startTimer(){this._statTimer&&clearTimeout(this._statTimer),this.isDestroy||(this._statTimer=setTimeout((()=>{this.updateStatisticsInfo(),this.startTimer()}),this._statInterval))}resume(){if(this.isDestroy)throw new Error("The VideoStatusProps has been destroy");this.setStatInfo({timestamp:0,status:N.INITIAL,decodedFrames:0,droppedFrames:0}),this.startTimer(),this.setMonitorStatus(O.RUNNING)}pause(){this._statTimer&&clearTimeout(this._statTimer),this.isDestroy||this.setMonitorStatus(O.PAUSE)}setMediaElement(e){return this._el=e,this}setStatInterval(e){return this._statInterval=e||2e3,this}setConnectionTimeout(e){return this._connectionTimeout=e||1e4,this}get statInfo(){return this._statInfo}setStatInfo(e){Object.assign(this._statInfo,{timestamp:e.timestamp,status:e.status,decodedFrames:e.decodedFrames,droppedFrames:e.droppedFrames})}get clientId(){return this._clientId}setClientId(e){return this._clientId=e,this}get deviceId(){return this._deviceId}setDeviceId(e){return this._deviceId=e,this}get status(){return this._status}get isDestroy(){return this._status===O.DESTROY}setMonitorStatus(e){this._status=e}updateStatisticsInfo(){var e=null==(e=this._el)?void 0:e.getVideoPlaybackQuality();if(!e)return;var t=Date.now();let{timestamp:o,status:i=N.DECODED_NORMAL}=this._statInfo;var r=t-(o=o||t);i===N.INITIAL?e.totalVideoFrames?(i=N.DECODED_NORMAL,this.emit(A.CONNECTED,null),o=t):r>=this._connectionTimeout&&(i=N.DECODED_ABNORMAL,this.emit(A.CONNECTION_TIMEOUT,null),this.pause()):this._statInfo.decodedFrames===e.totalVideoFrames?12e4<=r?i!==N.DECODED_ABNORMAL&&(i=N.DECODED_ABNORMAL,this.emit(A.DECODED_ABNORMAL,null),this.pause()):3e4<=r?i!==N.DECODED_INTERRUPT&&(i=N.DECODED_INTERRUPT,this.emit(A.DECODED_INTERRUPT,null)):4e3<=r?i!==N.DECODED_LAG&&(i=N.DECODED_LAG,this.emit(A.DECODED_LAG,null)):i!==N.SIGNAL_JITTER&&(o=t,i=N.SIGNAL_JITTER):(i!==N.DECODED_NORMAL&&(i=N.DECODED_NORMAL,this.emit(A.DECODED_RESUME,null)),o=t),this.setStatInfo({timestamp:o,status:i,decodedFrames:e.totalVideoFrames,droppedFrames:e.droppedVideoFrames})}destroy(){this.pause(),this.setMonitorStatus(O.DESTROY)}}const Yt=new Ge("Room");class Qt{constructor({eventEmit:e}){this.eventEmit=new Rt,this.roomEvent=new Rt,this.audioProducerId="",this.sipAudioProducerId="",this.videoProducerId="",this.clientList=new Map,this.produceTag="",this.producerMap=new Map,this.broadcastClientIds=[],this.playElements=new Map,this.playStatusMonitor=new Map,this.defaultEnableAudio=!0,this.defaultEnableVideo=!0,this.afterJoinPullVideo=!0,this.afterJoinPullAudio=!0,this.channelRoomIAmTalking=!1,this.roomTimeout=1e4,this.roomTimeoutId=0,this.roomStatus=w.Init,this.roomCompositorLayoutInit=!1,this.forceTcp=!1,this.channelNo="",this.mediaType=0,this.playbackMode=0,this.playbackSpeed=0,this.startTime="",this.endTime="",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.localUserMediaOption={localUserMediaStreamVideoConstraints:Jt.LANDSCAPE_1X},this.roomMethods=new Lt(this),this.setRoomStatus(w.Init),Yt.debug("初始化 Room 对象",this)}startRoomTimeout(e){console.log("开启房间超时计时器, 超时时间 %s ms",this.roomTimeout),this.roomTimeoutId=window.setTimeout((()=>{this.roomStatus!==w.Joined&&(this.setRoomStatus(w.Timeout),this.destroyRoom(e,{messageContent:{code:R.RoomTimeout,msg:S.RoomTimeout}}))}),this.roomTimeout)}async initRoom(){return this}registerMessageEvents(){}setRoomStatus(e){this.roomStatus=e}setRoomTimeout(e=1e4){return this.roomTimeout=e,this}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}setSipPhoneCallGatewayId(e){return this.sipPhoneCallGatewayId=e,this}setDefaultEnableAudio(e=!0){return this.defaultEnableAudio=e,this}setDefaultEnableVideo(e=!0){return this.defaultEnableVideo=e,this}setAfterJoinPullVideo(e=!0){return this.afterJoinPullVideo=e,this}setAfterJoinPullAudio(e=!0){return this.afterJoinPullAudio=e,this}setLocalPlayElementBox(e){return this.localPlayElementBox=e,this}setVirtualBackgroundInfo({modelAssetPath:e,wasmFileset:t,bgImg:o}){this.virtualBackgroundInfo={modelAssetPath:e,wasmFileset:t,bgImg:o}}setOnEvent(e){for(const t in e)e.hasOwnProperty(t)&&this.roomEvent.on(t,e[t]);return this}setProduceOption(e){return void 0!==e&&(this.produceOption=e),this}setVirtualBackground(e){this.virtualBackground=e}setSipBroadcastRoom(e){this.sipBroadcastRoom=e}setProduceCodec(e){this.produceCodec=e}setForceTcp(e=!1){this.forceTcp=e}_isIOS(){var e=navigator.userAgent,t=navigator.platform;e=/iPhone|iPad|iPod/i.test(e),t="MacIntel"===t&&1<navigator.maxTouchPoints;return e||t}_handlerVideoConstraints(e){var t=window.matchMedia("(orientation: portrait)").matches;return{width:t?e.height:e.width,height:t?e.width:e.height}}setLocalUserMediaOption(e){return void 0!==e&&e.localUserMediaStreamVideoConstraints&&(this.localUserMediaOption.localUserMediaStreamVideoConstraints=e.localUserMediaStreamVideoConstraints),this._isIOS()&&(this.localUserMediaOption.localUserMediaStreamVideoConstraints=this._handlerVideoConstraints(this.localUserMediaOption.localUserMediaStreamVideoConstraints)),this}setRoomMediaStream(e){this.roomMediaStream=e}setVideoMixer(e){this.videoMixer=e}setMutedAudioBufferSourceNodeSource(e){this.mutedAudioBufferSourceNodeSourceNodeSource=e}setChannelRoomIAmTalking(e){this.channelRoomIAmTalking=e}setChannelNo(e){return this.channelNo=e,this}setMediaType(e){return this.mediaType=e,this}setPlaybackMode(e){return this.playbackMode=e,this}setPlaybackSpeed(e){return this.playbackSpeed=e,this}setStartTime(e){return this.startTime=e||"",this}setEndTime(e){return this.endTime=e||"",this}publishChannel(){!function(e,t,o){var{roomId:o,callback:i}=o;e.emit("send",{topic:`client/${t}/mediaapp/${o}/channel`,messageType:"StringValue",message:{value:o},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)=>{this.startRoomTimeout(t),this.setRoomStatus(w.Joining),function(e,t,o){var{deviceId:o,roomId:i,callback:r}=o,n=a().replace(/-/g,"");e.emit("send",{topic:`client/${t}/mediaapp/${n}/monitor`,messageType:"MonitorRequest",message:{clientId:o,roomId:i},responseMessageType:"SimpleClientToken",callback:r})}(this.eventEmit,this.clientId,{deviceId:this.monitorDeviceId,roomId:this.roomId,callback:o=>{if(o.messageContent.code)t(o);else{const i=o.topic.split("/")[1];this.setToken(o.messageContent.token),this.setRoomId(i),this.setRoomType(E.Monitor),this.joinMediaRoom().then((()=>{e(i)})).catch(t)}}})}))}publishSipVideo(){return new Promise(((e,t)=>{this.sipVideoDeviceId&&this.roomId?function(e,t,o){var{deviceId:o,roomId:i,callback:r}=o;e.emit("send",{topic:`client/${t}/mediaapp/${i}/sipVideo`,messageType:"SipVideoRequest",message:{clientId:o,roomId:i},responseMessageType:"SimpleClientToken",callback:r})}(this.eventEmit,this.clientId,{deviceId:this.sipVideoDeviceId,roomId:this.roomId,callback:o=>{var i;o.messageContent.code?t(o):(i=o.topic.split("/")[1],this.setToken(o.messageContent.token),this.setRoomId(i),this.setRoomType(E.SipVideo),this.joinMediaRoom(),e(i))}}):t(new Error("必须有设备ID和房间ID"))}))}publishVideoMeeting(){return new Promise(((e,t)=>{this.roomId?function(e,t,o){var{roomId:o,callback:i}=o;e.emit("send",{topic:`client/${t}/mediaapp/${o}/videoMeeting`,messageType:"StringValue",message:{value:o},responseMessageType:"SimpleClientToken",callback:i})}(this.eventEmit,this.clientId,{roomId:this.roomId,callback:o=>{var i;o.messageContent.code?t(o):(i=o.topic.split("/")[1],this.setToken(o.messageContent.token),this.setRoomId(i),this.setRoomType(E.VideoMeeting),this.joinMediaRoom(),e(i))}}):t(new Error("必须有设备ID和房间ID"))}))}publishMonitorListen(){return new Promise(((e,t)=>{!function(e,t,o){var{deviceId:o,callback:i}=o,r=a().replace(/-/g,"");e.emit("send",{topic:`client/${t}/mediaapp/${r}/monitorListen`,messageType:"StringValue",message:{value:o},responseMessageType:"SimpleClientToken",callback:i})}(this.eventEmit,this.clientId,{deviceId:this.monitorListenDeviceId,callback:t=>{var o=t.topic.split("/")[1];this.setToken(t.messageContent.token),this.setRoomId(o),this.setRoomType(E.MonitorListen),this.joinMediaRoom(),e(o)}})}))}publishBroadcast(){return new Promise(((e,t)=>{!function(e,t,o){var{clientIds:o,callback:i}=o,r=a().replace(/-/g,"");e.emit("send",{topic:`client/${t}/mediaapp/${r}/broadcast`,messageType:"BroadcastRequest",message:{clientIds:o},responseMessageType:"SimpleClientToken",callback:i})}(this.eventEmit,this.clientId,{clientIds:this.broadcastClientIds,callback:t=>{var o=t.topic.split("/")[1];this.setToken(t.messageContent.token),this.setRoomId(o),this.setRoomType(E.Broadcast),this.joinMediaRoom(),e(o)}})}))}publishMediaCall(){return new Promise(((e,t)=>{let o=-1;7===this.roomType||8===this.roomType?o=0:9!==this.roomType&&10!==this.roomType||(o=1),function(e,t,o){var{deviceId:o,callback:i,kind:r}=o,n=a().replace(/-/g,"");e.emit("send",{topic:`client/${t}/mediaapp/${n}/`+je[r],messageType:"StringValue",message:{value:o},responseMessageType:"SimpleClientToken",callback:i})}(this.eventEmit,this.clientId,{kind:o,deviceId:this.mediaBeCallDeviceId,callback:o=>{2e3===o.messageContent.code&&t({code:R.DeviceNotResponse,msg:S.DeviceNotResponse});var i=o.topic.split("/")[1];this.setToken(o.messageContent.token),this.setRoomId(i),e(i)}})}))}publishRecordRoom(){return new Promise(((e,t)=>{this.roomId&&function(e,t,o){var{roomId:o,callback:i}=o;e.emit("send",{topic:`client/${t}/mediaapp/${o}/recordRoom`,messageType:"StringValue",message:{value:o},responseMessageType:"SimpleClientToken",callback:i})}(this.eventEmit,this.clientId,{roomId:this.roomId,callback:t=>{this.setToken(t.messageContent.token),this.joinMediaRoom(),e(this.roomId)}})}))}publishFlvMonitor(e){return new Promise(((t,o)=>{var i;c.isSupported()?(this.setRoomStatus(w.Joining),i=function(e){var{playElementBox:e,room:t}=e,t=""+C.FlvMonitor+t.monitorDeviceId+"_"+t.clientId;let o=document.querySelector("#"+t);return o||((o=document.createElement("video")).id=t,o.muted=!1,o.style.width="100%",Vt(o),o.onloadedmetadata=()=>{null!=o&&o.play().then((()=>{}))},null!=(t=document.querySelector(e))&&t.append(o)),o}({room:this,playElementBox:this.playElementBox||""}),this.playElements.set(i.id,i),this.flvPlayer=c.createPlayer({type:"flv",url:e},{isLive:!0,statisticsInfoReportInterval:864e5}),this.flvPlayer.on(c.Events.ERROR,((e,t,o)=>{let i,r="未知错误";switch(e){case c.ErrorTypes.NETWORK_ERROR:console.warn("网络错误: ",o),i=R.NetworkError,r=S.NetworkError;break;case c.ErrorTypes.MEDIA_ERROR:console.warn("媒体错误: ",t),i=R.MediaEncodingFormatError,r=S.MediaEncodingFormatError;break;default:console.warn("未知错误: ",o)}this.roomEvent.emit("onFlvMonitorError",{room:this,code:i,message:r}),this.leaveRoom()})),this.flvPlayer.attachMediaElement(i),this.flvPlayer.load(),this.setVideoStatusMonitor({element:i,clientId:this.clientId,deviceId:this.monitorDeviceId}),t(this.roomId)):o({messageContent:{message:"浏览器版本过低,不支持打开监控"}})}))}publishSipPhoneCall(){return new Promise(((e,t)=>{this.mediaBeCallDeviceId?function(e,t,o){var{deviceId:i,gatewayId:r,callback:n}=o;let s,d=o.roomId;s=r?{clientId:r,targetId:i}:{clientId:i},d=d||a().replace(/-/g,""),e.emit("send",{topic:`client/${t}/mediaapp/${d}/sipPhoneCallOut`,messageType:"SipPhoneCallOutRequest",message:s,responseMessageType:"SimpleClientToken",callback:n})}(this.eventEmit,this.clientId,{gatewayId:this.sipPhoneCallGatewayId,deviceId:this.mediaBeCallDeviceId,roomId:this.roomId,callback:o=>{var{messageContent:i,topic:r}=o;i.code?t(o):(o=r.split("/")[1],this.setToken(i.token),this.setRoomId(o),this.setRoomType(E.SipPhoneCall),this.joinMediaRoom(),e(o))}}):t(new Error("必须有设备ID和房间ID"))}))}publishJT1078SourcesPlayback(){return new Promise(((e,t)=>{this.startRoomTimeout(t),this.setRoomStatus(w.Joining),function(e,t,o){var{deviceId:o,channelNo:i,mediaType:r,playbackMode:n,playbackSpeed:s,startTime:d,endTime:c,callback:l}=o,u=a().replace(/-/g,"");e.emit("send",{topic:`client/${t}/mediaapp/${u}/JT1078SourcesPlayback`,messageType:"JT1078FileSourcesPlaybackRequest",message:{clientId:o,channelNo:i,mediaType:r,playbackMode:n,playbackSpeed:s,startTime:d,endTime:c},responseMessageType:"SimpleClientToken",callback:l})}(this.eventEmit,this.clientId,{deviceId:this.monitorDeviceId,channelNo:this.channelNo,mediaType:this.mediaType,playbackMode:this.playbackMode,playbackSpeed:this.playbackSpeed,startTime:this.startTime,endTime:this.endTime,callback:o=>{if(o.messageContent.code)t(o);else{const i=o.topic.split("/")[1];this.setToken(o.messageContent.token),this.setRoomId(i),this.joinMediaRoom().then((()=>{e(i)})).catch(t)}}})}))}publishMixerMeeting(){return new Promise(((e,t)=>{this.roomId?function(e,t,o){var{roomId:o,callback:i}=o;e.emit("send",{topic:`client/${t}/mediaapp/${o}/mixerMeeting`,messageType:"StringValue",message:{value:o},responseMessageType:"SimpleClientToken",callback:i})}(this.eventEmit,this.clientId,{roomId:this.roomId,callback:o=>{var i;o.messageContent.code?t(o):(i=o.topic.split("/")[1],this.setToken(o.messageContent.token),this.setRoomId(i),this.setRoomType(E.MixerMeeting),this.joinMediaRoom(),e(i))}}):t(new Error("必须有设备ID和房间ID"))}))}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(),this.roomEvent.emit("onAudioCallRinging",{event:"ringing"})}),5e3)}stopMediaCallRinging(){clearInterval(this.mediaCallRingingInterval)}mediaCallWaiting(){this.mediaBeCallDeviceId&&this.roomId&&function(e,t,o){var{clientId:o,event:i,roomId:r,kind:a}=o;t=`client/${t}/mediaapp/${r}/${je[a]}Event`,e.emit("send",{topic:t,messageType:"AudioCallEvent",message:{clientId:o,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,o){var{clientId:o,event:i,roomId:r,kind:a}=o;t=`client/${t}/mediaapp/${r}/${je[a]}Event`,e.emit("send",{topic:t,messageType:"AudioCallEvent",message:{clientId:o,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(Ft,{roomId:this.roomId})}),15e3)}clearMediaCallRingingTimeout(){clearTimeout(this.mediaCallRingingTimeout)}startMediaCallWaitingTimeout(){this.mediaCallWaitingTimeout&&this.clearMediaCallWaitingTimeout(),this.mediaCallWaitingTimeout=window.setTimeout((()=>{this.clearMediaCallWaitingTimeout(),this.eventEmit.emit(Ft,{roomId:this.roomId})}),15e3)}clearMediaCallWaitingTimeout(){clearTimeout(this.mediaCallWaitingTimeout)}startMediaCallNoAnswerTimeout(){this.mediaCallNoAnswerTimeout&&this.clearMediaCallNoAnswerTimeout(),this.mediaCallNoAnswerTimeout=window.setTimeout((()=>{this.roomEvent.emit("onAudioCallNoAnswer",{event:"answer"}),this.eventEmit.emit(qt,{event:"answer",roomId:this.roomId}),this.mediaCallDeviceId&&(function(e,t,o){var{clientId:o,event:i,roomId:r,kind:a}=o;t=`client/${t}/mediaapp/${r}/${je[a]}Event`,e.emit("send",{topic:t,messageType:"AudioCallEvent",message:{clientId:o,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(){if(this.mediaCallDeviceId){if(this.roomType===E.BeSipPhoneCall)return new Promise(((e,t)=>{if(!this.roomId)return t();!function(e,t,o){var{roomId:o,callback:i}=o;e.emit("send",{topic:`client/${t}/mediaapp/${o}/sipPhoneCall`,messageType:"SipPhoneCallRequest",message:{roomId:o},responseMessageType:"SimpleClientToken",callback:i})}(this.eventEmit,this.clientId,{roomId:this.roomId,callback:o=>{this.eventEmit.emit("beSipPhoneCallRommCloseTopic",this.roomId);var{messageContent:i,topic:r}=o;i.code?t(o):(o=r.split("/")[1],this.setToken(i.token),this.setRoomId(o),this.setRoomType(E.BeSipPhoneCall),this.joinMediaRoom(),e(o))}})}));(function(e,t,o){var{clientId:o,event:i,roomId:r,kind:a}=o;t=`client/${t}/mediaapp/${r}/${je[a]}Event`,e.emit("send",{topic:t,messageType:"AudioCallEvent",message:{clientId:o,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()}}mediaCallBusy(){this.mediaBeCallDeviceId&&(function(e,t,o){var{clientId:o,event:i,roomId:r,kind:a}=o;t=`client/${t}/mediaapp/${r}/${je[a]}Event`,e.emit("send",{topic:t,messageType:"AudioCallEvent",message:{clientId:o,event:i},options:{noResponse:!0}})}(this.eventEmit,this.clientId,{clientId:this.mediaBeCallDeviceId,roomId:this.roomId,event:"busy",kind:this._getRoomKind()}),this.clearMediaCallNoAnswerTimeout(),this.clearMediaCallWaitingTimeout(),this.stopMediaCallRinging(),this.stopMediaCallWaiting())}mediaCallHangup(){7!==this.roomType&&9!==this.roomType&&this.roomType!==E.SipPhoneCall||!this.mediaBeCallDeviceId||$e(this.eventEmit,this.clientId,{clientId:this.mediaBeCallDeviceId,roomId:this.roomId,event:"hangup",kind:this._getRoomKind()}),8!==this.roomType&&10!==this.roomType&&this.roomType!==E.BeSipPhoneCall||!this.mediaCallDeviceId||$e(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(){return new Promise(((e,t)=>{this.roomId||Yt.debug("joinMediaRoom - RoomId is Null"),this.token||Yt.debug("joinMediaRoom - Token is Null"),this.roomStatus===w.Timeout?console.log("房间已超时,忽略 joinMediaRoom 流程 afterJoin"):function(e,t,o){var{token:o,forceTcp:i,roomId:r,callback:a}=o;e.emit("send",{topic:`client/${t}/media/${r}/join`,messageType:"JoinRequest",message:{token:o,forceTcp:i},responseMessageType:"JoinResponse",callback:a})}(this.eventEmit,this.clientId,{token:this.token,forceTcp:this.forceTcp,roomId:this.roomId,callback:async({messageContent:t})=>{this.roomStatus===w.Timeout?console.log("房间已超时,忽略 joinMediaRoom 流程"):(this.consumerTransportOptions=t.consumerTransportOptions,this.producerTransportOptions=t.producerTransportOptions,this.routerRtpCapabilities=t.routerRtpCapabilities,this.keepalive(),await this.createDevice(),await this.handlerRoomTransport(),e(!0))}})}))}isJoinMediaRoom(){return!!this.device}async handlerRoomTransport(){this.setRoomStatus(w.Joined),this.roomType===E.Channel?(await this.createConsumerTransport(),await this.createProducerTransport({audio:!0,video:!1}),await this.startConsuming()):this.roomType===E.Monitor?(await this.createConsumerTransport(),await this.startConsuming()):this.roomType===E.BeMonitor?(await this.createProducerTransport({audio:!0,video:!0}),await this.startConsuming()):this.roomType===E.Broadcast?await this.createProducerTransport({audio:!0,video:!1}):this.roomType===E.BeBroadcast||this.roomType===E.MonitorListen?(await this.createConsumerTransport(),await this.startConsuming()):this.roomType===E.BeMonitorListen?await this.createProducerTransport({audio:!0,video:!1}):this.roomType===E.AudioCall||this.roomType===E.BeAudioCall||this.roomType===E.VideoCall||this.roomType===E.BeVideoCall?(await this.createConsumerTransport(),await this.createProducerTransport({audio:!0,video:9===this.roomType||10===this.roomType}),await this.startConsuming()):this.roomType===E.SipVideo?(await this.createConsumerTransport(),await this.createProducerTransport({audio:!0,video:!0}),await this.startConsuming()):this.roomType===E.Recorder?await this.createProducerTransport({audio:!0,video:!0}):this.roomType===E.VideoMeeting||this.roomType===E.SipPhoneCall||this.roomType===E.BeSipPhoneCall?(await this.createConsumerTransport(),await this.createProducerTransport({audio:!0,video:this.localUserMediaOption.localUserMediaStreamVideoConstraints}),await this.startConsuming()):this.roomType===E.JT1078SourcesPlayback?(await this.createConsumerTransport(),await this.startConsuming()):this.roomType===E.MixerMeeting?(await this.createConsumerTransport(),await this.createProducerTransport({audio:!0,video:this.localUserMediaOption.localUserMediaStreamVideoConstraints}),await this.startConsuming()):Yt.debug("无roomType")}keepalive(){this.keepaliveInterval&&clearInterval(this.keepaliveInterval),this.keepaliveInterval=window.setInterval((()=>{(function(e,t,o){o=o.roomId,e.emit("send",{topic:`client/${t}/media/${o}/keepalive`,messageType:"Empty",message:{},responseMessageType:"Empty",callback:()=>{console.log("心跳发送")}})})(this.eventEmit,this.clientId,{roomId:this.roomId}),function(e,t,o){o=o.roomId,e.emit("send",{topic:`client/${t}/mediaapp/${o}/keepalive`,messageType:"Empty",message:{},options:{noResponse:!0}}),console.log("业务侧心跳保持")}(this.eventEmit,this.clientId,{roomId:this.roomId})}),1e4)}async startConsuming(){this.rtpCapabilities&&function(e,t,o){var{codecs:i,headerExtensions:r,roomId:a,callback:n}=o;console.log("startConsuming args",o),o=`client/${t}/media/${a}/startConsuming`,e.emit("send",{topic:o,messageType:"RtpCapabilitiesFinalized",message:{codecs:i,headerExtensions:r},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,console.log("routerRtpCapabilities",this.routerRtpCapabilities),await this.device.load({routerRtpCapabilities:lt(this.routerRtpCapabilities)}),console.log("router rtpCapabilities: %o",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:o,clockRate:i,channels:r,parameters:a,rtcpFeedback:n}=e;return{mimeType:Ye(e),kind:tt(t),preferredPayloadType:o,clockRate:i,channels:r,parameters:it(a),rtcpFeedback:at(n)}})))||[],headerExtensions:(null==(t=e.headerExtensions)?void 0:t.map((e=>{var{kind:e,uri:t,preferredId:o,preferredEncrypt:i,direction:r}=e;return{kind:tt(e),uri:st(t),preferredId:o,preferredEncrypt:i,direction:ct(r)}})))||[]}}(this.device.rtpCapabilities),console.log("device rtpCapabilities: %o",this.rtpCapabilities)}async createConsumerTransport(){var e;this.consumerTransportOptions&&(this.consumerTransport=null==(e=this.device)?void 0:e.createRecvTransport(ft(this.consumerTransportOptions)),null!=(e=this.consumerTransport))&&e.on("connect",(async({dtlsParameters:e},t)=>{e=vt(e),function(e,t,o){const{roomId:i,dtlsParametersProto:r,consumerTransportCallback:a}=o;e.emit("send",{topic:`client/${t}/media/${i}/connectConsumerTransport`,messageType:"DtlsParameters",message:r,responseMessageType:"Empty",callback:()=>{a()}})}(this.eventEmit,this.clientId,{roomId:this.roomId,dtlsParametersProto:e,consumerTransportCallback:t})}))}handleCreateDataConsumerTransport(e){}async createDataConsumerTransport(e){const t=await this.getH265WasmModule();t.initRoomInfo(this),(await this.consumerTransport.consumeData(e)).on("message",(async e=>{t.decodeBuffer(this.roomId,e,this.monitorDeviceId)}))}async createProducerTransport(e){if(this.producerTransportOptions){this.producerTransport=null==(t=this.device)?void 0:t.createSendTransport(ft(this.producerTransportOptions)),null!=(t=this.producerTransport)&&t.on("connect",(({dtlsParameters:e},t)=>{e=vt(e),function(e,t,o){const{roomId:i,dtlsParametersProto:r,producerTransportCallback:a}=o;e.emit("send",{topic:`client/${t}/media/${i}/connectProducerTransport`,messageType:"DtlsParameters",message:r,responseMessageType:"Empty",callback:e=>{a()}})}(this.eventEmit,this.clientId,{roomId:this.roomId,dtlsParametersProto:e,producerTransportCallback:t})})).on("produce",(({kind:e,rtpParameters:t},o)=>{let i=!1,r=this.produceTag;if("audio"==e)i=!this.defaultEnableAudio;else{if("video"!=e)return void Yt.error("异常情况,请排查");i=!this.defaultEnableVideo}if(this.roomType===E.SipVideo&&("audio"===e?r="sp_audio":"video"===e&&(r="sp_video")),this.roomType===E.SipPhoneCall||this.roomType===E.BeSipPhoneCall)if("audio"===e)r="sp_audio";else if("video"===e)return void(r="sp_video");if(this.roomType===E.Broadcast){var a=t.codecs[0].mimeType;switch(a){case"audio/PCMA":r="gb_broadcast";break;case"audio/PCMU":r="sp_audio";break;default:console.log("其他音频类型",a)}}this.roomType===E.MixerMeeting&&"video"===e&&(i=!1),function(e,t,o){const{roomId:i,produceCallback:r,callback:a,kind:n,tag:s,rtpParameters:d,paused:c}=o;o=`client/${t}/media/${i}/produce`,console.log("生产时候,是否先暂停:",c),e.emit("send",{topic:o,messageType:"ProduceRequest",message:{tag:s,kind:n,rtpParameters:d,paused:c},responseMessageType:"StringValue",callback:e=>{a&&a({kind:n,producerId:e.messageContent.value}),r({id:e.messageContent.value})}})}(this.eventEmit,this.clientId,{roomId:this.roomId,tag:r,kind:tt(e),rtpParameters:yt(t),paused:i,callback:({kind:e,producerId:o})=>{switch(e){case v.Audio:var r=t.codecs[0].mimeType;switch(r){case"audio/PCMA":case"audio/opus":this.audioProducerId=o;break;case"audio/PCMU":this.sipAudioProducerId=o;break;default:console.log("其他音频类型",r)}break;case v.Video:this.videoProducerId=o}Yt.debug("kind: %o, productId: %o",e,o),this.roomType!==E.Broadcast||i||this.roomMethods.producerAudioResume(),this.roomEvent.emit("onProducerSuccess",{room:this,code:4317,data:{roomId:this.roomId,kind:e}})},produceCallback:o})}));var t=await Nt(this.eventEmit),o=await At(this.eventEmit);let i=new MediaStream;if(e.video&&t&&wt(await Dt(t.deviceId)).forEach((e=>{i.addTrack(e)})),e.audio&&o&&wt(await Ot(o.deviceId)).forEach((e=>{i.addTrack(e)})),this.roomMediaStream)i=this.roomMediaStream;else if(0===i.getTracks().length)try{i=await Mt(e)}catch(e){Yt.debug("getUserMedia(produceType)"),this.eventEmit.emit("hyRtcOnError",{code:4350})}1===(t=wt(i)).length&&"audio"===t[0].kind&&(Yt.debug("构造虚拟视频流"),e=null==(o=Bt({text:"暂无摄像头画面"}))?void 0:o.getVideoTracks()[0])&&t.push(e),await this.handlerProduce(t),this.localPlayElementBox&&this.handlerLocalPlayElementBox(t),this.roomEvent.emit("onProducerCreated",{room:this,code:4309,data:{roomId:this.roomId}})}}handlerLocalPlayElementBox(e){var t;const o=new MediaStream;e.forEach((e=>{e&&o.addTrack(e)})),document.querySelector(""+this.localPlayElementBox)&&this.localPlayElementBox&&((e=document.createElement("video")).id="localPlayElementBox_"+this.roomId,e.muted=!0,e.controls=!1,e.srcObject=o,e.volume=0,e.playsInline=!0,e.autoplay,null!=(t=document.querySelector(this.localPlayElementBox))&&t.append(e),e.play(),this.localPlayVideoElement=e)}async handlerProduce(e){const t=[],o=[];e.forEach((e=>{var i,r;e.canvas||(i={track:e,...this.produceOption,codec:this.produceCodec},console.log("推理参数 produceOptions",i),(r=null==(r=this.producerTransport)?void 0:r.produce(i))&&t.push(r),this.roomType===E.Broadcast&&(r=null==(i=this.producerTransport)?void 0:i.produce({track:e,codec:{kind:"audio",mimeType:"audio/PCMU",preferredPayloadType:8,clockRate:8e3,channels:1}}))&&o.push(r))})),Promise.allSettled(t).then((e=>{e.forEach((e=>{if("fulfilled"===e.status){const t=e.value;this.producerMap.set(t.id,t),this.roomType!==E.MixerMeeting||"video"!==t.kind||this.defaultEnableVideo||(e=null==(e=Bt({text:"暂无摄像头画面"}))?void 0:e.getVideoTracks()[0])&&this.roomMethods.replaceProducerByTrack(this.videoProducerId,e),t.on("trackended",(()=>{this.handlerTracksEnd(t)}))}})),r()})),Promise.allSettled(o).then((e=>{e.forEach((e=>{"fulfilled"===e.status&&(e=e.value,this.producerMap.set(e.id,e))})),r()}));let i=0;const r=()=>{++i<2||this.roomEvent.emit("onProducerTrackCreated",{room:this,code:R.ProducerTrackCreated,data:{roomId:this.roomId}})}}async createNewClient(e){let t=this.getClient(e.clientId),o=(t?this.roomEvent.emit(Wt,{room:this,code:4302,data:{roomId:this.roomId,clientId:t.clientId}}):(t=new St(e),Yt.debug("创建新客户端 client %o ",t),this.roomEvent.emit(Wt,{room:this,code:4301,data:{roomId:this.roomId,clientId:t.clientId}})),this.addClient(t),!0);switch(e.kind){case v.Video:o=!this.afterJoinPullVideo;break;case v.Audio:o=!this.afterJoinPullAudio}var i;if(t.pushConsumerList({consumerId:e.consumerId,producerId:e.producerId,kind:e.kind,producerPaused:o||e.producerPaused,speakerId:e.speakerId,rtpParameters:e.rtpParameters}),await t.genConsumer(e,this.consumerTransport),this.roomType===E.Monitor)null!=this.monitorDeviceId&&(t=(i=Array.from(this.clientList.entries()))[0][1])&&this.playElementBox&&(i=function(e){var{client:e,playElementBox:t,room:o}=e,o=""+C.Monitor+o.monitorDeviceId+"_"+e.clientId;const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let r=document.querySelector("#"+o);return r?r.srcObject=i:((r=document.createElement("video")).id=o,r.muted=!1,r.style.width="100%",Vt(r),r.onloadedmetadata=()=>{null!=r&&r.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(r),r.srcObject=i,r}return null}({room:this,client:t,playElementBox:this.playElementBox}))&&(this.playElements.set(i.id,i),e.kind===v.Video)&&this.setVideoStatusMonitor({element:i,clientId:t.clientId,deviceId:this.monitorDeviceId});else if(this.roomType===E.Channel){const t=this.clientList.get("HY_TALK_MIX");t&&this.playElementBox&&(e=function(e){var{client:e,playElementBox:t,room:o}=e,o=""+C.Channel+o.roomId;if(e){const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let r=document.querySelector("#"+o);return r?r.srcObject=i:((r=document.createElement("video")).id=o,r.muted=!1,r.controls=!1,Vt(r),r.onloadedmetadata=()=>{null!=r&&r.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(r),r.srcObject=i,r}}return null}({room:this,client:t,playElementBox:this.playElementBox}))&&this.playElements.set(e.id,e)}else if(this.roomType===E.BeBroadcast)this.clientList.forEach((e=>{this.playElementBox&&function(e){var{client:e,playElementBox:t}=e;const o=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&o.addTrack(e.consumer.track)})),e=""+C.Broadcast+e.clientId,t&&o){let i=document.querySelector("#"+e);return i?i.srcObject=o:((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=o,i}}({room:this,client:e,playElementBox:this.playElementBox})}));else if(this.roomType===E.MonitorListen){if(null!=this.monitorListenDeviceId&&this.playElementBox){const e=this.clientList.get(this.monitorListenDeviceId);e&&function(e){var{client:e,playElementBox:t}=e,o=""+C.MonitorListen+e.clientId;const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let r=document.querySelector("#"+o);return r?r.srcObject=i:((r=document.createElement("audio")).id=o,r.muted=!1,r.controls=!1,r.onloadedmetadata=()=>{null!=r&&r.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(r),r.srcObject=i,r}}({room:this,client:e,playElementBox:this.playElementBox})}}else if(this.roomType===E.AudioCall||this.roomType===E.VideoCall){if(null!=this.mediaBeCallDeviceId){const e=this.clientList.get(this.mediaBeCallDeviceId);e&&this.playElementBox&&(i=function(e){var{client:e,playElementBox:t,room:o}=e,o=""+C[7===o.roomType?"AudioCall":"VideoCall"]+o.mediaBeCallDeviceId;const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let r=document.querySelector("#"+o);return r?r.srcObject=i:((r=document.createElement("video")).id=o,r.muted=!1,r.controls=!1,Vt(r),r.onloadedmetadata=()=>{null!=r&&r.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(r),r.srcObject=i,r}return null}({room:this,client:e,playElementBox:this.playElementBox}))&&this.playElements.set(i.id,i)}}else if(this.roomType===E.BeAudioCall||this.roomType===E.BeVideoCall){if(null!=this.mediaCallDeviceId){const t=this.clientList.get(this.mediaCallDeviceId);t&&this.playElementBox&&(e=function(e){var{client:e,playElementBox:t,room:o}=e,o=""+C[8===o.roomType?"BeAudioCall":"BeVideoCall"]+o.mediaCallDeviceId;const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let r=document.querySelector("#"+o);return r?r.srcObject=i:((r=document.createElement("video")).id=o,r.muted=!1,r.controls=!1,Vt(r),r.onloadedmetadata=()=>{null!=r&&r.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(r),r.srcObject=i,r}return null}({room:this,client:t,playElementBox:this.playElementBox}))&&this.playElements.set(e.id,e)}}else if(this.roomType===E.SipVideo){if(null!=this.sipVideoDeviceId){const e=this.clientList.get(this.sipVideoDeviceId);e&&this.playElementBox&&(i=function(e){var{client:e,playElementBox:t,room:o}=e,o=""+C.SipVideo+o.sipVideoDeviceId;const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let r=document.querySelector("#"+o);return r?r.srcObject=i:((r=document.createElement("video")).id=o,r.muted=!1,r.controls=!1,r.style.width="100%",Vt(r),r.onloadedmetadata=()=>{null!=r&&r.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(r),r.srcObject=i,r}return null}({room:this,client:e,playElementBox:this.playElementBox}))&&this.playElements.set(i.id,i)}}else if(this.roomType===E.VideoMeeting)t&&this.playElementBox&&(e=function(e){const{client:t,playElementBox:o,room:i}=e;e=""+C.VideoMeeting+t.clientId;const r=new MediaStream;var a=Bt({text:"暂无对方画面"});if(a&&r.addTrack(null==a?void 0:a.getTracks()[0]),t.consumerList.forEach((e=>{e.consumer&&r.addTrack(e.consumer.track)})),o&&r){let n=document.querySelector("#"+e);return n?n.srcObject=r:((n=document.createElement("video")).id=e,n.muted=!1,n.controls=!1,n.style.width="100%",n.playsInline=!0,n.autoplay=!0,Vt(n),n.onloadedmetadata=()=>{t.clientId&&i.removeVirtualMediaTrackByClientId(t.clientId),null!=n&&n.play().then((()=>{}))}),null!=(a=document.querySelector(o))&&a.append(n),n.srcObject=r,n}return null}({room:this,client:t,playElementBox:this.playElementBox}))&&this.playElements.set(e.id,e);else if(this.roomType===E.SipPhoneCall||this.roomType===E.BeSipPhoneCall){if(null!=this.mediaBeCallDeviceId){const e=this.clientList.get(this.mediaBeCallDeviceId);e&&this.playElementBox&&(i=function(e){var{client:e,playElementBox:t,room:o}=e,o=""+C.BeSipPhoneCall+o.mediaBeCallDeviceId;const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let r=document.querySelector("#"+o);return r?r.srcObject=i:((r=document.createElement("video")).id=o,r.muted=!1,r.controls=!1,Vt(r),r.onloadedmetadata=()=>{null!=r&&r.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(r),r.srcObject=i,r}return null}({room:this,client:e,playElementBox:this.playElementBox}))&&this.playElements.set(i.id,i)}}else this.roomType===E.JT1078SourcesPlayback?null!=this.monitorDeviceId&&(t=(e=Array.from(this.clientList.entries()))[0][1])&&this.playElementBox&&(i=function(e){var{client:e,playElementBox:t,room:o}=e,o=""+C.JT1078SourcesPlayback+o.monitorDeviceId;const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let r=document.querySelector("#"+o);return r?r.srcObject=i:((r=document.createElement("video")).id=o,r.muted=!1,r.style.width="100%",Vt(r),r.onloadedmetadata=()=>{null!=r&&r.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(r),r.srcObject=i,r}return null}({room:this,client:t,playElementBox:this.playElementBox}))&&this.playElements.set(i.id,i):this.roomType===E.MixerMeeting?t&&this.playElementBox&&(e=function(e){var{client:e,playElementBox:t}=e,o=""+C.MixerMeeting+e.clientId;const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let r=document.querySelector("#"+o);return r?r.srcObject=i:((r=document.createElement("video")).id=o,r.muted=!1,r.controls=!1,r.style.width="100%",r.playsInline=!0,r.autoplay=!0,Vt(r),r.onloadedmetadata=()=>{null!=r&&r.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(r),r.srcObject=i,r}return null}({room:this,client:t,playElementBox:this.playElementBox}))&&this.playElements.set(e.id,e):Yt.error("createNewClient 中没有处理 roomType",this.roomType)}async createVirtualNewClient(e){let t=this.getClient(e.clientId),o=(t?this.roomEvent.emit(Wt,{room:this,code:4302,data:{roomId:this.roomId,clientId:t.clientId}}):(t=new St(e),Yt.debug("创建新客户端 client %o ",t),this.roomEvent.emit(Wt,{room:this,code:4301,data:{roomId:this.roomId,clientId:t.clientId}})),this.addClient(t),!0);switch(e.kind){case v.Video:o=!this.afterJoinPullVideo;break;case v.Audio:o=!this.afterJoinPullAudio}t.pushConsumerList({consumerId:e.consumerId,producerId:e.producerId,kind:e.kind,producerPaused:o||e.producerPaused,speakerId:e.speakerId,rtpParameters:e.rtpParameters})}cleanPlayElement(){switch(this.roomType){case E.Channel:this.cleanChannelElement();break;case E.Monitor:this.cleanMonitorElement();break;case E.BeMonitor:case E.Broadcast:break;case E.VideoCall:this.cleanMediaCallElement();break;case E.BeVideoCall:this.cleanMediaBeCallElement();break;case E.AudioCall:this.cleanMediaCallElement();break;case E.BeAudioCall:this.cleanMediaBeCallElement();break;case E.BeBroadcast:this.cleanVBeBroadcastElement();break;case E.MonitorListen:this.cleanMonitorListenElement();break;case E.SipVideo:this.cleanSipVideoElement();break;case E.BeMonitorListen:case E.Recorder:break;case E.VideoMeeting:this.cleanVideoMeetingElement();break;case E.SipPhoneCall:case E.BeSipPhoneCall:this.cleanSipPhoneBeCallElement();break;case E.JT1078SourcesPlayback:this.cleanJT1078SourcesPlayback();case E.MixerMeeting:this.cleanMixerMeetingElement();break;default:Yt.error("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=""+C.Monitor+this.monitorDeviceId,t=document.querySelector(`[id^="${t}"]`))&&(this.cleanVideoStatusMonitor(t),null!=(e=null==t?void 0:t.parentElement))&&e.removeChild(t)}cleanSipVideoElement(){var e,t;this.playElementBox&&null!=this.sipVideoDeviceId&&(t=""+C.SipVideo+this.sipVideoDeviceId,t=document.querySelector("#"+t))&&null!=(e=null==t?void 0:t.parentElement)&&e.removeChild(t)}cleanVideoMeetingElement(){this.playElementBox&&null!=this.roomId&&this.clientList.forEach((e=>{e.clientId&&this.cleanVideoMeetingElementByClientId(e.clientId)}))}cleanVideoMeetingElementByClientId(e){var t;this.playElementBox&&null!=this.roomId&&(e=""+C.VideoMeeting+e,e=document.querySelector("#"+e))&&null!=(t=null==e?void 0:e.parentElement)&&t.removeChild(e)}cleanChannelElement(){var e,t;this.playElementBox&&null!=this.roomId&&(t=""+C.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=""+C[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=""+C[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=""+C.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=""+C.MonitorListen+this.monitorListenDeviceId,t=document.querySelector("#"+t))&&null!=(e=null==t?void 0:t.parentElement)&&e.removeChild(t)}cleanVirtualBackgroundTmpElement(){var e,t,o;this.playElementBox&&null!=this.roomId&&(t=""+C.VirtualBackgroundTmpVideo+this.roomId,o=""+C.VirtualBackgroundTmpCanvas+this.roomId,t=document.querySelector("#"+t),o=document.querySelector("#"+o),t&&null!=(e=null==t?void 0:t.parentElement)&&e.removeChild(t),o)&&null!=(e=null==o?void 0:o.parentElement)&&e.removeChild(o)}cleanFlvMonitorElement(){var e,t;this.flvPlayer&&(t=this.playElements.get(null==(t=this.flvPlayer._mediaElement)?void 0:t.id),this.flvPlayer.unload(),this.flvPlayer.destroy(),t&&(this.playElements.delete(t.id),t.parentElement)&&null!=(e=t.parentElement)&&e.removeChild(t),this.flvPlayer=void 0)}cleanSipPhoneBeCallElement(){var e,t;this.playElementBox&&null!=this.mediaBeCallDeviceId&&(t=""+C.BeSipPhoneCall+this.mediaBeCallDeviceId,t=document.querySelector("#"+t))&&null!=(e=null==t?void 0:t.parentElement)&&e.removeChild(t)}cleanJT1078SourcesPlayback(){var e,t;this.playElementBox&&null!=this.monitorDeviceId&&(t=""+C.JT1078SourcesPlayback+this.monitorDeviceId,t=document.querySelector("#"+t))&&null!=(e=null==t?void 0:t.parentElement)&&e.removeChild(t)}cleanMixerMeetingElement(){this.playElementBox&&null!=this.roomId&&this.clientList.forEach((e=>{var t;e.clientId&&(e=""+C.MixerMeeting+e.clientId,e=document.querySelector("#"+e))&&null!=(t=null==e?void 0:e.parentElement)&&t.removeChild(e)}))}passiveLeaved(){this.destroyRoom(),this.eventEmit.emit(Gt,{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)}async terminateH265Worker(){this.getH265WasmModule().then((e=>{e&&e.terminateWorker(this.roomId)})).catch((()=>{Yt.error("未找到 H265 的 wasm 模块")}))}getRoomId(){return this.roomId}leaveRoom(){this.roomType===E.FlvMonitor?(this.cleanAllVideoStatusMonitor(),this.cleanFlvMonitorElement(),this.deleteRoom()):(function(e,t,o){const{roomId:i,callback:r}=o;o=`client/${t}/media/${i}/leave`,e.emit("send",{topic:o,messageType:"Empty",responseMessageType:"Empty",callback:()=>{console.log("room leave success"),e.emit("roomLeaveSuccess",{roomId:i}),r&&r(i)}})}(this.eventEmit,this.clientId,{roomId:this.roomId,callback:()=>{}}),this.destroyRoom())}deleteRoom(){this.eventEmit.emit("deleteRoom",{roomId:this.roomId})}clearKeepAlive(){Yt.debug("清除心跳定时器",this.keepaliveInterval),clearInterval(this.keepaliveInterval)}producerClose(){0<this.producerMap.size&&this.producerMap.forEach((e=>{e.close(),Yt.debug("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()}setVideoStatusMonitor(e){var t=e.element;if(t){this.cleanVideoStatusMonitor(t);const o=new Kt(e);o.on(A.CONNECTED,(()=>{this.roomEvent.emit("onConsumerVideoConnected",{code:R.ConsumerVideoConnected,room:this,message:S.ConsumerVideoConnected,data:{roomId:this.roomId,clientId:o.clientId}})})),o.on(A.CONNECTION_TIMEOUT,(()=>{this.roomEvent.emit("onConsumerVideoConnectionTimeout",{code:R.ConsumerVideoConnectionTimeout,room:this,message:S.ConsumerVideoConnectionTimeout,data:{roomId:this.roomId,clientId:o.clientId}})})),o.on(A.DECODED_LAG,(()=>{this.roomEvent.emit("onConsumerVideoLag",{code:R.ConsumerVideoLag,room:this,message:S.ConsumerVideoLag,data:{roomId:this.roomId,clientId:o.clientId}})})),o.on(A.DECODED_RESUME,(()=>{this.roomEvent.emit("onConsumerVideoResume",{code:R.ConsumerVideoResume,room:this,message:S.ConsumerVideoResume,data:{roomId:this.roomId,clientId:o.clientId}})})),o.on(A.DECODED_INTERRUPT,(()=>{this.roomEvent.emit("onConsumerVideoInterpupt",{code:R.ConsumerVideoInterpupt,room:this,message:S.ConsumerVideoInterpupt,data:{roomId:this.roomId,clientId:o.clientId}})})),o.on(A.DECODED_ABNORMAL,(()=>{this.roomEvent.emit("onConsumerVideoAbnormal",{code:R.ConsumerVideoAbnormal,room:this,message:S.ConsumerVideoAbnormal,data:{roomId:this.roomId,clientId:o.clientId}})})),this.playStatusMonitor.set(t.id,o)}}cleanVideoStatusMonitor(e){this.playStatusMonitor.has(e.id)&&(this.playStatusMonitor.get(e.id).destroy(),this.playStatusMonitor.delete(e.id))}cleanAllVideoStatusMonitor(){this.playStatusMonitor.forEach((e=>{e&&e.destroy()}))}async destroyRoom(e,t){Yt.debug("销毁房间 destroyRoom %s",this.roomId),this.eventEmit.emit("unSubscribeMediaAppRoomEventTopic",this.roomId),clearTimeout(this.roomTimeoutId),this.clearKeepAlive(),await this.terminateH265Worker(),this.closeTransport(),this.producerClose(),this.clearMutedAudioBufferSourceNodeSource(),this.cleanPlayElement(),this.cleanAllVideoStatusMonitor(),this.removeAllClient(),this.deleteRoom(),e&&e(t),this.roomEvent.emit("onRoomDestroy",{code:R.RoomDestroy,data:{roomId:this.roomId||null}})}_getRoomKind(){let e=-1;return 7===this.roomType||8===this.roomType||this.roomType===E.SipPhoneCall||this.roomType===E.BeSipPhoneCall?e=0:9!==this.roomType&&10!==this.roomType||(e=1),e}onClientLeft(e){switch(this.roomType){case E.Broadcast:this.broadcastClientIds=this.broadcastClientIds.filter((t=>t!=e.clientId));break;case E.MixerMeeting:this.removeClient(e.clientId)}this.roomEvent.emit("onClientLeft",{code:"4306",data:{clientId:e.clientId}})}getH265WasmModule(){return new Promise((async(e,t)=>{this.eventEmit.emit(zt,{callback:t=>{e(t)}},(()=>{t()}))}))}removeVirtualMediaTrackByClientId(e){if(this.roomType===E.VideoMeeting&&(e=""+C.VideoMeeting+e,e=this.playElements.get(e))){const t=e.srcObject;t.getVideoTracks().forEach((e=>{e.canvas&&t.removeTrack(e)}))}}handlerTracksEnd(e){this.roomType===E.Recorder?this.leaveRoom():console.log("未处理 handlerTracksEnd 房间类型:",this.roomType)}}const eo={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={code:0,message:""};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(8!==n)break;a.code=o.uint32();continue;case 2:if(18===n){a.message=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({code:uo(e.code)?globalThis.Number(e.code):0,message:uo(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=>eo.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={code:0,message:""};return o.code=null!=(t=e.code)?t:0,o.message=null!=(t=e.message)?t:"",o}};const to={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={clientId:"",roomId:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.clientId=o.string();continue;case 2:if(18===n){a.roomId=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({clientId:uo(e.clientId)?globalThis.String(e.clientId):"",roomId:uo(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=>to.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={clientId:"",roomId:void 0};return o.clientId=null!=(t=e.clientId)?t:"",o.roomId=null!=(t=e.roomId)?t:void 0,o}};const oo={encode(e,t=i.Writer.create()){for(const o of e.clientIds)t.uint32(10).string(o);return t},decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={clientIds:[]};o.pos<r;){var n=o.uint32();if(n>>>3!=1||10!==n){if(4==(7&n)||0===n)break;o.skipType(7&n)}else a.clientIds.push(o.string())}return a},fromJSON:e=>({clientIds:globalThis.Array.isArray(null==e?void 0:e.clientIds)?e.clientIds.map((e=>globalThis.String(e))):[]}),toJSON(e){var t,o={};return null!=(t=e.clientIds)&&t.length&&(o.clientIds=e.clientIds),o},create:e=>oo.fromPartial(null!=e?e:{}),fromPartial(e){var t={clientIds:[]};return t.clientIds=(null==(e=e.clientIds)?void 0:e.map((e=>e)))||[],t}};const io={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={clientId:"",event:""};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.clientId=o.string();continue;case 2:if(18===n){a.event=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({clientId:uo(e.clientId)?globalThis.String(e.clientId):"",event:uo(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=>io.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={clientId:"",event:""};return o.clientId=null!=(t=e.clientId)?t:"",o.event=null!=(t=e.event)?t:"",o}};const ro={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={roomId:"",clientId:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.roomId=o.string();continue;case 2:if(18===n){a.clientId=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({roomId:uo(e.roomId)?globalThis.String(e.roomId):"",clientId:uo(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=>ro.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={roomId:"",clientId:void 0};return o.roomId=null!=(t=e.roomId)?t:"",o.clientId=null!=(t=e.clientId)?t:void 0,o}};const ao={encode(e,t=i.Writer.create()){""!==e.token&&t.uint32(10).string(e.token);for(const o of e.produceTags)t.uint32(18).string(o);for(const o of e.consumeTags)t.uint32(26).string(o);return""!==e.extfield1&&t.uint32(34).string(e.extfield1),t},decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={token:"",produceTags:[],consumeTags:[],extfield1:""};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.token=o.string();continue;case 2:if(18!==n)break;a.produceTags.push(o.string());continue;case 3:if(26!==n)break;a.consumeTags.push(o.string());continue;case 4:if(34===n){a.extfield1=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({token:uo(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:uo(e.extfield1)?globalThis.String(e.extfield1):""}),toJSON(e){var t,o={};return""!==e.token&&(o.token=e.token),null!=(t=e.produceTags)&&t.length&&(o.produceTags=e.produceTags),null!=(t=e.consumeTags)&&t.length&&(o.consumeTags=e.consumeTags),""!==e.extfield1&&(o.extfield1=e.extfield1),o},create:e=>ao.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={token:"",produceTags:[],consumeTags:[],extfield1:""};return o.token=null!=(t=e.token)?t:"",o.produceTags=(null==(t=e.produceTags)?void 0:t.map((e=>e)))||[],o.consumeTags=(null==(t=e.consumeTags)?void 0:t.map((e=>e)))||[],o.extfield1=null!=(t=e.extfield1)?t:"",o}};const no={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={event:"",clientId:""};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.event=o.string();continue;case 2:if(18===n){a.clientId=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({event:uo(e.event)?globalThis.String(e.event):"",clientId:uo(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=>no.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={event:"",clientId:""};return o.event=null!=(t=e.event)?t:"",o.clientId=null!=(t=e.clientId)?t:"",o}};const so={encode:(e,t=i.Writer.create())=>(""!==e.clientId&&t.uint32(10).string(e.clientId),void 0!==e.targetId&&t.uint32(18).string(e.targetId),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={clientId:"",targetId:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.clientId=o.string();continue;case 2:if(18===n){a.targetId=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({clientId:uo(e.clientId)?globalThis.String(e.clientId):"",targetId:uo(e.targetId)?globalThis.String(e.targetId):void 0}),toJSON(e){var t={};return""!==e.clientId&&(t.clientId=e.clientId),void 0!==e.targetId&&(t.targetId=e.targetId),t},create:e=>so.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={clientId:"",targetId:void 0};return o.clientId=null!=(t=e.clientId)?t:"",o.targetId=null!=(t=e.targetId)?t:void 0,o}};const co={encode:(e,t=i.Writer.create())=>(""!==e.roomId&&t.uint32(10).string(e.roomId),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={roomId:""};o.pos<r;){var n=o.uint32();if(n>>>3!=1||10!==n){if(4==(7&n)||0===n)break;o.skipType(7&n)}else a.roomId=o.string()}return a},fromJSON:e=>({roomId:uo(e.roomId)?globalThis.String(e.roomId):""}),toJSON(e){var t={};return""!==e.roomId&&(t.roomId=e.roomId),t},create:e=>co.fromPartial(null!=e?e:{}),fromPartial(e){var t={roomId:""};return t.roomId=null!=(e=e.roomId)?e:"",t}};const lo={encode:(e,t=i.Writer.create())=>(""!==e.deviceId&&t.uint32(10).string(e.deviceId),""!==e.cmdType&&t.uint32(18).string(e.cmdType),0!==e.value&&t.uint32(24).uint32(e.value),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={deviceId:"",cmdType:"",value:0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.deviceId=o.string();continue;case 2:if(18!==n)break;a.cmdType=o.string();continue;case 3:if(24===n){a.value=o.uint32();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({deviceId:uo(e.deviceId)?globalThis.String(e.deviceId):"",cmdType:uo(e.cmdType)?globalThis.String(e.cmdType):"",value:uo(e.value)?globalThis.Number(e.value):0}),toJSON(e){var t={};return""!==e.deviceId&&(t.deviceId=e.deviceId),""!==e.cmdType&&(t.cmdType=e.cmdType),0!==e.value&&(t.value=Math.round(e.value)),t},create:e=>lo.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={deviceId:"",cmdType:"",value:0};return o.deviceId=null!=(t=e.deviceId)?t:"",o.cmdType=null!=(t=e.cmdType)?t:"",o.value=null!=(t=e.value)?t:0,o}};function uo(e){return null!=e}const mo=new Ge("Message:mediaapp"),po=(e,t)=>{var{curTopicMethod:o,packet:i,message:r,topic:t}=t,a=t.split("/")[1],n=t.split("/")[3];switch(o){case"monitor":ho(e,ao.decode(r),a,n),bo(e,i,a,n);break;case"broadcast":vo(e,ao.decode(r),a,n),ko(e,i,a,n);break;case"monitorListen":go(e,ao.decode(r),a,n),Eo(e,i,a,n);break;case"audioCall":Io(e,ao.decode(r),a,n,8),Co(e,i,a,n);break;case"videoCall":Io(e,ao.decode(r),a,n,10),Co(e,i,a,n);break;case"audioCallEvent":case"videoCallEvent":fo(e,io.decode(r),a);break;case"roomEvent":To(e,no.decode(r),a);break;case"sipBye":yo(e,r,a);break;case"err":console.log("handlerMediaAppServerOnMessage -ERR",eo.decode(r)),Ro(e,eo.decode(r),a);break;default:console.log("handlerMediaAppServerOnMessage 未知类型",o)}},ho=(e,t,o,i)=>{const{token:r,produceTags:a}=t;e.emit("getRoom",{roomId:o,callback:({room:t})=>{if(!t){const t=new Qt({eventEmit:e});t.setRoomId(o).setClientId(i).setToken(r).setRoomType(E.BeMonitor).setProduceTag(a.toString()).joinMediaRoom(),e.emit("addRoom",t),e.emit("onMonitor",{room:t})}}})},vo=(e,t,o,i)=>{const{token:r,produceTags:a}=t;e.emit("getRoom",{roomId:o,callback:({room:t})=>{if(!t){const t=new Qt({eventEmit:e});t.setRoomId(o).setClientId(i).setToken(r).setPlayElementBox("body").setProduceTag(a.toString()).setRoomType(E.BeBroadcast).joinMediaRoom(),e.emit("addRoom",t),e.emit("onBroadcast",{room:t})}}})},go=(e,t,o,i)=>{const{token:r,produceTags:a}=t;e.emit("getRoom",{roomId:o,callback:({room:t})=>{if(!t){const t=new Qt({eventEmit:e});t.setRoomId(o).setClientId(i).setToken(r).setProduceTag(a.toString()).setRoomType(E.BeMonitorListen).joinMediaRoom(),e.emit("addRoom",t),e.emit("onMonitorListen",{room:t})}}})},Io=(e,t,o,i,r)=>{const{token:a,produceTags:n,extfield1:s}=t;e.emit("getRoom",{roomId:o,callback:({room:t})=>{if(!t){const t=new Qt({eventEmit:e});t.setRoomId(o).setClientId(i).setToken(a).setProduceTag(n.toString()).setPlayElementBox("#preview-box").setRoomType(r).setMediaCallDeviceId(i).setMediaBeCallDeviceId(s),e.emit("addRoom",t),e.emit(Ut,{room:t}),t.mediaCallRinging(),t.startAudioCallRinging(),t.startMediaCallNoAnswerTimeout()}}})},fo=(e,t,o,i)=>{const{clientId:r,event:a}=t;mo.debug("mediaCallEvent : %s",a),e.emit("getRoom",{roomId:o,callback:({room:e})=>{if(e)switch(a){case"waiting":e.setMediaCallDeviceId(r),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"busy":e.roomEvent.emit("onAudioCallEventBusy",{event:"busy"}),e.isJoinMediaRoom()?e.leaveRoom():e.deleteRoom(),e.clearMediaCallWaitingTimeout(),e.clearMediaCallNoAnswerTimeout(),e.stopMediaCallWaiting(),e.stopMediaCallRinging();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",a)}}})},To=(e,t,o,i)=>{const r=t.event;mo.debug("roomEvent : %s roomId:%o ",r,o),e.emit("getRoom",{roomId:o,callback:({room:e})=>{switch(r){case"clientJoined":e&&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)}}})},yo=(e,t,o,i)=>{e.emit("beSipPhoneCallRommCloseTopic",o),e.emit("getRoom",{roomId:o,callback:({room:e})=>{e&&(e.roomEvent.emit("onAudioCallEventHangup",{event:"hangup"}),e.isJoinMediaRoom()?e.leaveRoom():e.deleteRoom())}})},bo=(e,t,o,i)=>{t=t.properties.correlationData,e.emit("reply",{topic:`client/${i}/mediaapp/${o}/ok`,messageType:"BoolValue",message:{value:!0},correlationData:t})},ko=(e,t,o,i)=>{t=t.properties.correlationData,e.emit("reply",{topic:`client/${i}/mediaapp/${o}/ok`,messageType:"Empty",correlationData:t})},Eo=(e,t,o,i)=>{t=t.properties.correlationData,e.emit("reply",{topic:`client/${i}/mediaapp/${o}/ok`,messageType:"Empty",correlationData:t})},Co=(e,t,o,i)=>{t=t.properties.correlationData,e.emit("reply",{topic:`client/${i}/mediaapp/${o}/ok`,messageType:"Empty",correlationData:t})},Ro=(e,t,o,i)=>{switch(t.code){case 2e3:e.emit("getRoom",{roomId:o,callback:({room:e})=>{e?(e.roomEvent.emit("joinRoomEvent",{code:R.DeviceNotResponse,msg:S.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"}(D=D||{}),function(e){e[e.Audio=0]="Audio",e[e.Video=1]="Video",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(x=x||{}),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"}(B=B||{}),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"}(V=V||{}),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"}(_=_||{}),function(e){e[e.Auto=0]="Auto",e[e.Client=1]="Client",e[e.Server=2]="Server",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(L=L||{}),function(e){e[e.Tcp=0]="Tcp",e[e.Udp=1]="Udp",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(J=J||{}),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"}(U=U||{});const So={encode:(e,t=o.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 o.Reader?e:o.Reader.create(e),r=void 0===t?i.len:i.pos+t,a={clientId:"",consumerId:""};i.pos<r;){var n=i.uint32();switch(n>>>3){case 1:if(10!==n)break;a.clientId=i.string();continue;case 2:if(18===n){a.consumerId=i.string();continue}}if(4==(7&n)||0===n)break;i.skipType(7&n)}return a},fromJSON:e=>({clientId:Po(e.clientId)?globalThis.String(e.clientId):"",consumerId:Po(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=>So.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={clientId:"",consumerId:""};return o.clientId=null!=(t=e.clientId)?t:"",o.consumerId=null!=(t=e.consumerId)?t:"",o}};function Po(e){return null!=e}const Mo=(e,t)=>new Promise(((o,i)=>{e.emit("getRoom",{roomId:t,callback:({room:e})=>{e?o(e):i("房间不存在")}})})),wo=async(e,t,o)=>{await(await Mo(e,o)).createNewClient(t)},No=async(e,t,o)=>{e=await Mo(e,o);let i="",r=(null!=(a=null==t?void 0:t.rtpParameters)&&a.codecs&&(a=null==(a=null==t?void 0:t.rtpParameters)?void 0:a.codecs[0].mimeType,i=P[a]),"");null!=(a=t.clientId)&&a.includes("_")&&(r=(a=t.clientId.split("_"))[a.length-1]);var a=e.roomMethods.getRoomClientList().find((e=>e.clientId===t.clientId));e.roomEvent.emit("onConsumerCreated",{room:e,code:4300,data:{roomId:o,clientId:t.clientId,kind:t.kind,mimeTypeValue:i,deviceId:r,consumerState:a}})},Ao=async(e,t,o)=>{let i=!0;var r=await Mo(e,t);switch(o){case v.Video:console.log("业务侧传入,加入后是否需要消费:",r.afterJoinPullVideo),i=r.afterJoinPullVideo;break;case v.Audio:console.log("业务侧传入,加入后是否需要消费:",r.afterJoinPullAudio),i=r.afterJoinPullAudio}return i},Oo=(e,t)=>{let o=null;if(e.clientList.forEach(((e,i)=>{e.consumerList.forEach((e=>{e.consumerId===t.consumerId&&(o=e)}))})),o)return o},Do=async(e,t,o)=>{e=await Mo(e,o);let i=t.clientId;if(e.roomType===E.Channel){const o=e.roomMethods.getChannelRoomConsumer();(null==t?void 0:t.speakerId)===o.speakerId&&(o.producerPaused=!0,o.speakerId=""),null!=t&&t.speakerId&&(i=null==t?void 0:t.speakerId)}var r=Oo(e,t).kind,a=e.roomMethods.getConsumerListByClient(i);let n=e.roomMethods.filterConsumerByKind(Array.from(a.values()),r);n&&(n.producerPaused=!0),e.roomEvent.emit("onConsumerPaused",{room:e,code:4304,data:{roomId:o,clientId:i,consumerId:t.consumerId,speaker:null==t?void 0:t.speakerId,kind:r}})},xo=async(e,t,o)=>{e=await Mo(e,o);let i=t.clientId;if(e.roomType===E.Channel){""!==(null==(r=e.roomMethods.whoIsSpeaking())?void 0:r.clientId)&&(null==r?void 0:r.clientId)!==(null==t?void 0:t.speakerId)&&e.roomEvent.emit("onCutOffSpeaking",{room:e,code:4308,data:{roomId:o,clientId:null==t?void 0:t.speakerId,beCutOffClientId:null==r?void 0:r.clientId,consumerId:t.consumerId,speaker:null==t?void 0:t.speakerId}});const a=e.roomMethods.getChannelRoomConsumer();a.producerPaused=!1,a.speakerId=null==t?void 0:t.speakerId,null!=t&&t.speakerId&&(i=null==t?void 0:t.speakerId)}var r=Oo(e,t).kind,a=e.roomMethods.getConsumerListByClient(i);let n=e.roomMethods.filterConsumerByKind(Array.from(a.values()),r);n&&(n.producerPaused=!1),e.roomEvent.emit("onConsumerResume",{room:e,code:4303,data:{roomId:o,clientId:i,consumerId:t.consumerId,speaker:null==t?void 0:t.speakerId,kind:r}})},Bo=(e,t,o,i)=>{o=o.split("/")[3];var r=null==(r=null==(r=t.properties)?void 0:r.userProperties)?void 0:r.redirect;t=t.properties.correlationData;e.emit("reply",{topic:`client/${o}/redirect/${r}/ok`,messageType:"BoolValue",message:{value:i},correlationData:t})},Vo=(e,t,o,i)=>{o=o.split("/")[3],t=t.properties.correlationData,e.emit("reply",{topic:`client/${o}/media/${i}/ok`,messageType:"Empty",correlationData:t})},_o=async(e,t,o)=>{o=await Mo(e,o),e.emit("onConsumerResume",{room:o})},Lo=async(e,t)=>{t=await Mo(e,t),e.emit("onConsumerPaused",{room:t})},Jo=(e,t,o,i)=>{o=o.split("/")[3],t=t.properties.correlationData,e.emit("reply",{topic:`client/${o}/media/${i}/ok`,messageType:"Empty",correlationData:t})},Uo=async(e,t,o)=>{var i,r=await Mo(e,o),{kind:a,sequence:n,sources:s}=t;for(let e=0;e<s.length;e++){const{clientId:t,state:d}=s[e];t!==r.clientId&&((i=0===a?r.roomMethods.getConsumerAudioSequence(t):r.roomMethods.getConsumerVideoSequence(t))<n||0===i)&&([0,1].includes(d)?(r.getClient(t)||r.roomEvent.emit("onClientJoined",{code:4305,room:r,data:{clientId:t}}),r.createVirtualNewClient({clientId:t,kind:a,producerPaused:0===d,producerId:`producer_${t}_`+a,consumerId:`consumer_${t}_`+a,rtpParameters:void 0}),i=r.roomMethods.getRoomClientList(),r.roomEvent.emit("onConsumerCreated",{room:r,code:4300,data:{roomId:o,clientId:t,kind:a,consumerState:i.find((e=>e.clientId===t))}})):4!==d&&(i=r.roomMethods.getConsumerListByClient(t),i=r.roomMethods.filterConsumerByKind(Array.from(i.values()),a))&&(i.producerPaused=[0,2].includes(d)),0===a?r.roomMethods.setConsumerAudioSequence(t,n):1===a&&r.roomMethods.setConsumerVideoSequence(t,n),i={room:r,data:{roomId:o,clientId:t,kind:a}},2===d&&r.roomEvent.emit("onConsumerPaused",{...i,code:4304}),3===d&&r.roomEvent.emit("onConsumerResume",{...i,code:4303}),4===d)&&r.onClientLeft({clientId:t,event:""})}},Fo=(e,t,o,i)=>{o=o.split("/")[3],t=t.properties.correlationData,e.emit("reply",{topic:`client/${o}/media/${i}/ok`,messageType:"Empty",correlationData:t})},qo=async(e,t,o)=>{const i=await Mo(e,o);var{width:e,height:o,clients:t}=t;!i||i.roomCompositorLayoutInit||i.defaultEnableVideo||setTimeout((async()=>{i.roomMethods.producerVideoPause();const e=await Mt({video:!0,audio:!1});var t=null==e?void 0:e.getVideoTracks()[0];if(t){i.roomMethods.replaceProducerByTrack(i.videoProducerId,t);var o=i.localPlayVideoElement;if(null!=o&&o.captureStream){const e=o.captureStream();e.getVideoTracks().forEach((t=>e.removeTrack(t))),e.addTrack(t)}}}),100),i.roomCompositorLayoutInit=!0,i.roomEvent.emit("onCompositorLayoutChanged",{code:R.CompositorLayoutChanged,width:e,height:o,clients:t||[]})},Wo=async(e,t)=>{null!=(e=await Mo(e,t))&&e.passiveLeaved()},Go=async(e,t,o,i)=>{(e=await Mo(e,t)).roomType===E.VideoMeeting?e.cleanVideoMeetingElementByClientId(o):e.roomType===E.Monitor&&e.leaveRoom()},jo=(e,t,o,i)=>{o=o.split("/")[3],t=t.properties.correlationData,e.emit("reply",{topic:`client/${o}/media/${i}/ok`,messageType:"Empty",correlationData:t})},$o=(e,t,o,i)=>{o=o.split("/")[3],t=t.properties.correlationData,e.emit("reply",{topic:`client/${o}/media/${i}/ok`,messageType:"Empty",correlationData:t})},Ho=(e,t,o,i)=>{o=o.split("/")[3],t=t.properties.correlationData,e.emit("reply",{topic:`client/${o}/media/${i}/ok`,messageType:"Empty",correlationData:t})},Zo=(e,t)=>{var{packet:t,message:o,topic:i}=t,r=JSON.parse((new TextDecoder).decode(o)||""),a=i.split("/")[2];"sipPhoneCallIn"===r.method?zo(e,r.data,a,E.BeSipPhoneCall):e.emit("onBusinessNotification",{messageContent:r,topic:i,message:o,packet:t})},zo=(e,t,o,i)=>{const{gateWayDeviceId:r,callInNumber:a,roomId:n}=t;e.emit("getRoom",{roomId:n,callback:({room:s})=>{if(!s){const s=new Qt({eventEmit:e});s.setRoomId(n).setClientId(o).setPlayElementBox("#sip-preview-box").setRoomType(i).setMediaCallDeviceId(o).setMediaBeCallDeviceId(a).setSipPhoneCallGatewayId(r),e.emit("addRoom",s),e.emit(Ut,{...t,room:s})}}})},Xo=new Ge("Message"),Ko=async function(e,t,o,i,r){var a=((l=r.dup)&&console.log("重复消息"),Yo(o));let n=!1,s="";n="business"===a||(s=Qo(o),!1);var d=ei(o);let c=oi(r).index;if("err"===s){var l=Te.decode(i);if("media"===a){const o=t.get(c);await(async(e,t)=>{var{messageContent:o,roomId:i,messageObj:r}=t;if(1415===(t=(console.log("Recv Error - media: %o",t),o).code)){if(!i)return console.log("roomId 解析失败 %s",i),!1;t=await Mo(e,i),e.emit("channelOnSpeakerAccessFailed",{room:t}),t.roomEvent.emit("onSpeakerAccessFailed",{room:t,code:4307,data:{roomId:i}}),r.callback({messageContent:o,code:4202})}})(e,{messageContent:l,roomId:d,topicMethod:s,topicModule:a,messageObj:o})}else if("mediaapp"===a){await(async(e,t)=>{console.log("Recv Error - mediaapp: %o",t)})(0,{messageContent:l,roomId:d,topicMethod:s,topicModule:a});const n=t.get(c);n?(m=n.callback)&&m({messageContent:l,topic:o,message:i,packet:r}):po(e,{curTopicMethod:s,packet:r,message:i,topic:o})}return t.delete(c),!1}n&&(m=(new TextDecoder).decode(i),l=JSON.parse(m),c=parseInt(l.id));const u=t.get(c);if(n)u?(m=u.callback,l=(new TextDecoder).decode(i),m({messageContent:JSON.parse(l),topic:o,message:i,packet:r}),t.delete(c)):Zo(e,{curTopicMethod:s,packet:r,message:i,topic:o});else if(u){var{callback:m,responseMessageType:l}=u;l=ti(l,i);Xo.debug("MQ Recv <- topicMethod:%o message:%o",s,l),t.delete(c),m&&m({messageContent:l,topic:o,message:i,packet:r})}else switch(Xo.debug("MQ Server <- curTopicModule:%s, topicMethod:%o",a,s),a){case"media":await(async(e,t)=>{var{packet:o,message:i,topicMethod:r,roomId:a,topic:n}=t,s=await Mo(e,a);switch(r){case"consumerCreated":var d=ke.decode(i),c=await Ao(e,a,d.kind);await wo(e,d,a),await No(e,d,a),Bo(e,o,n,c);break;case"consumerResumed":d=Ee.decode(i),await _o(e,d,a),s.removeVirtualMediaTrackByClientId(d.clientId),Vo(e,o,n,a),await xo(e,d,a);break;case"consumerPaused":c=Ee.decode(i),console.log("consumerPaused - messageContent",c),await Lo(e,a),Vo(e,o,n,a),await Do(e,c,a);break;case"consumerSources":d=Re.decode(i),Jo(e,o,n,a),await Uo(e,d,a);break;case"compositorLayoutChanged":c=Se.decode(i),Fo(e,o,n,a),await qo(e,c,a);break;case"passiveLeaved":await Wo(e,a);break;case"consumerClosed":console.log("consumerClosed - messageContent",So.decode(i)),d=So.decode(i).clientId,Go(e,a,d),jo(e,o,n,a);break;case"dataConsumerCreated":c=we.decode(i);var{dataProducerId:d,dataConsumerId:l,sctpStreamParameters:u,label:m,protocol:p}=(console.log("data consumer created, %o",c),Bo(e,o,n,!0),c),l={id:l,dataProducerId:d,sctpStreamParameters:Ct(u),label:m,protocol:p};s.createDataConsumerTransport(l),s.roomEvent.emit("onConsumerCreated",{room:s,code:4300,data:{roomId:a,clientId:c.clientId,kind:v.Video,mimeTypeValue:P.H265WASM}});break;case"producerBlocked":$o(e,o,n,a),s.roomEvent.emit("onProducerBlocked",{room:s,code:4310});break;case"producerUnblocked":Ho(e,o,n,a),s.roomEvent.emit("onProducerUnblocked",{room:s,code:4311});break;default:console.log("handlerMediaServerOnMessage 未知类型",r)}})(e,{roomId:d,topicMethod:s,topicModule:a,packet:r,topic:o,message:i});break;case"mediaapp":po(e,{curTopicMethod:s,packet:r,message:i,topic:o});break;case"business":Zo(e,{curTopicMethod:s,packet:r,message:i,topic:o});break;default:console.log("handlerOnMessage 未知错误")}},Yo=e=>e.split("/")[0]||(console.log("Topic解析错误:",e),""),Qo=e=>e.split("/")[4]||(console.log("method解析错误:",e),""),ei=e=>e.split("/")[1]||(console.log("RoomId解析错误:",e),""),ti=(e,t)=>{let o;switch(e){case"StringValue":o=m.decode(t);break;case"StateChangeRequest":o=Ue.decode(t);break;case"JoinResponse":o=ye.decode(t);break;case"SimpleClientToken":o=ao.decode(t);break;case"JT1078FileSources":o=xe.decode(t);break;case"Empty":break;default:console.log("handlerMessage 未知类型")}return o},oi=({properties:e})=>{var t=new TextDecoder;e=null==e?void 0:e.correlationData;return{index:parseInt(t.decode(e)),correlationData:e}};const ii={encode:(e,t=i.Writer.create())=>t,decode(e,t){var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t;for(e={};o.pos<r;){var a=o.uint32();if(4==(7&a)||0===a)break;o.skipType(7&a)}return e},fromJSON:e=>({}),toJSON:e=>({}),create:e=>ii.fromPartial(null!=e?e:{}),fromPartial:e=>({})};let ri=(()=>{const e=self,t=new Map,o=(e.addEventListener("message",(e=>{var i;"createInterval"===e.data.method?(i=o(e.data.time,e.data.data),t.set(i,e.data)):console.error("未知methods")})),(t,{name:o})=>setInterval((()=>{e.postMessage({name:o})}),t))}).toString();ri=ri.substring(ri.indexOf("{")+1,ri.lastIndexOf("}"));const ai=new Blob([ri],{type:"application/javascript"}),ni=URL.createObjectURL(ai),si=new Ge("Message");let di=100,ci=new Map;class li{constructor({eventEmit:e}){this.eventEmit=new Rt,this.handlerOnConnect=()=>{this.eventEmit.emit("hyRtcInitSuccess",this)},this.handlerOnMessage=async(e,t,o)=>{await Ko(this.eventEmit,ci,e,t,o),console.log("correlationDataMap",ci)},this.handlerOnClose=()=>{this.eventEmit.emit("hyRtcOnClose",{}),console.log("hyRtcOnClose")},this.handlerOnError=e=>{this.eventEmit.emit("hyRtcOnError",{error:e})},this.handlerOnDisconnect=e=>{this.eventEmit.emit("hyRtcOnDisconnect",{packet:e}),console.log("hyRtcOnDisconnect")},this.reReconnect=async()=>new Promise(((e,t)=>{this.authInfo&&this.connectUrl&&(console.log("reReconnecting: "+this.connectUrl),this.connect({authInfo:this.authInfo},this.connectUrl).then((()=>{e(!0)})).catch((e=>{t(e)})))})),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)})),this.eventEmit.on(Ut,(({room:e})=>{e.roomType===E.BeSipPhoneCall&&this.subscribeSIPRoomCloseTopic(e.roomId)})),this.eventEmit.on("beSipPhoneCallRommCloseTopic",(e=>{this.unsubscribeSIPRoomCloseTopic(e)}))}async connect({authInfo:t},o){this.authInfo=t,this.connectUrl=o;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("connect",this.handlerOnConnect),this.mqttClient.on("message",this.handlerOnMessage),this.mqttClient.on("close",this.handlerOnClose),this.mqttClient.on("error",this.handlerOnError),this.mqttClient.on("disconnect",this.handlerOnDisconnect)}catch{}return new Promise(((e,t)=>{let o=1;const i=setInterval((()=>{3<=++o&&(clearInterval(i),t({msg:"连接失败"})),e(this.mqttClient)}),0)}))}close({force:e=!1}){return new Promise((t=>{var o=this.getMqttClient();null!=o&&o.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({appData:e}){var t=this.getClientId();await this.subscribe("business/user/"+t),si.debug("开启业务心跳"),this.businessSendHeartbeat({appData:e}),this.sendWorker({appData:e})}businessSendHeartbeat({appData:e}){var t=this.getClientId();this.businessSend({topic:"user/"+t,method:"heartbeat",notification:!0,data:e})}sendWorker({appData:e}){var t=new Worker(ni);t.onmessage=t=>{this.businessSendHeartbeat({appData:e})},t.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,o)=>{var i;null!=(i=this.mqttClient)&&i.subscribe(e,(function(e){e?o(e):t(!0)}))}))}unsubscribe(e){return new Promise(((t,o)=>{var i;null!=(i=this.mqttClient)&&i.unsubscribe(e,(function(i){i?o(i):(si.debug("取消订阅主题 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 m.encode(t).finish();case"JoinRequest":return Ne.encode(t).finish();case"RtpCapabilitiesFinalized":return ee.encode(t).finish();case"BoolValue":return u.encode(t).finish();case"Empty":return ii.encode(t).finish();case"ProduceRequest":return Ae.encode(t).finish();case"DtlsParameters":return re.encode(t).finish();case"BroadcastRequest":return oo.encode(t).finish();case"AudioCallEvent":return io.encode(t).finish();case"MonitorRequest":return to.encode(t).finish();case"SipVideoRequest":return ro.encode(t).finish();case"SipPhoneCallRequest":return co.encode(t).finish();case"SipPhoneCallOutRequest":return so.encode(t).finish();case"JT1078FileSourcesPlaybackRequest":return _e.encode(t).finish();case"JT1078StreamSwitchRequest":return console.log("///jt1078StreamSwitch///",t),Oe.encode(t).finish();case"JT1078FileSourcesPlaybackControl":return console.log("///JT1078FileSourcesPlaybackControl///",t),Le.encode(t).finish();case"JT1078FileSourcesQueryRequest":return De.encode(t).finish();case"JT1078FileSourcesUploadRequest":return Je.encode(t).finish();case"StateChangeRequest":return Ue.encode(t).finish();case"MixerMeetingCompositorLayoutRequest":return Me.encode(t).finish();case"PtzControl":return lo.encode(t).finish();default:return si.error("未知回复体,请检查handlerMessageByte方法",e),""}}async joinRoom(e){var t=this.getClientId(),o=new Qt({eventEmit:this.eventEmit});return o.setRoomId(e.roomId).setClientId(t).setProduceTag("hy_talk").setPlayElementBox(e.playElementBox).setRoomType(E.Channel).publishChannel(),o.setForceTcp(null==(t=e.options)?void 0:t.forceTcp),o.setOnEvent(e.onEvent),o}async joinMonitor(e){return new Promise((async(t,o)=>{var i=this.getClientId();const r=new Qt({eventEmit:this.eventEmit});r.setOnEvent(e.onEvent),r.setMonitorDeviceId(e.deviceId).setClientId(i).setPlayElementBox(e.playElementBox).setProduceTag("control").setRoomTimeout(e.timeout).setForceTcp(null==(i=e.options)?void 0:i.forceTcp),e.roomId&&r.setRoomId(e.roomId),r.publishMonitor().then((()=>{t(r)})).catch((e=>{o(e)}))}))}async joinBroadcast(e){var t=this.getClientId(),o=new Qt({eventEmit:this.eventEmit});return o.setOnEvent(e.onEvent).setBroadcastClientIds(e.clientIds).setClientId(t).setProduceTag("gb_broadcast").setDefaultEnableAudio(null==(t=e.options)?void 0:t.defaultEnableAudio),o.setForceTcp(null==(t=e.options)?void 0:t.forceTcp),await o.publishBroadcast(),o}async joinMonitorListen(e){var t=this.getClientId(),o=new Qt({eventEmit:this.eventEmit});return o.setMonitorListenDeviceId(e.deviceId).setPlayElementBox(e.playElementBox).setClientId(t).setProduceTag("control"),o.setForceTcp(null==(t=e.options)?void 0:t.forceTcp),await o.publishMonitorListen(),o}async joinAudioCall(e){var t=this.getClientId(),o=e.deviceId,i=new Qt({eventEmit:this.eventEmit});return i.setProduceTag("control").setMediaBeCallDeviceId(o).setPlayElementBox(e.playElementBox).setClientId(t).setRoomType(E.AudioCall).setDefaultEnableAudio(null==(o=e.options)?void 0:o.defaultEnableAudio),i.setForceTcp(null==(t=e.options)?void 0:t.forceTcp),await i.publishMediaCall(),i.mediaCallWaiting(),i.startMediaCallWaiting(),i.startMediaCallRingingTimeout(),i}async joinVideoCall(e){var t=this.getClientId(),o=e.deviceId,i=new Qt({eventEmit:this.eventEmit});return i.setProduceTag("control").setMediaBeCallDeviceId(o).setPlayElementBox(e.playElementBox).setClientId(t).setRoomType(E.VideoCall).setDefaultEnableAudio(null==(o=e.options)?void 0:o.defaultEnableAudio).setDefaultEnableVideo(null==(t=e.options)?void 0:t.defaultEnableVideo).setLocalPlayElementBox(e.localPlayElementBox),i.setForceTcp(null==(o=e.options)?void 0:o.forceTcp),await i.publishMediaCall(),i.mediaCallWaiting(),i.startMediaCallWaiting(),i.startMediaCallRingingTimeout(),i}async joinSipVideo(e){return new Promise((async(t,o)=>{var i=this.getClientId();const r=new Qt({eventEmit:this.eventEmit});r.setOnEvent(e.onEvent),r.setClientId(i).setPlayElementBox(e.playElementBox).setSipVideoDeviceId(e.deviceId).setRoomId(e.roomId).setRoomType(E.SipVideo).setLocalPlayElementBox(e.localPlayElementBox),r.setForceTcp(null==(i=e.options)?void 0:i.forceTcp),r.publishSipVideo().then((()=>{t(r)})).catch((e=>{o(e)}))}))}async joinVideoMeeting(e){return new Promise((async(t,o)=>{var i=this.getClientId();const r=new Qt({eventEmit:this.eventEmit});r.setOnEvent(e.onEvent),r.setClientId(i).setProduceTag("control").setPlayElementBox(e.playElementBox).setRoomId(e.roomId).setRoomType(E.VideoMeeting).setLocalPlayElementBox(e.localPlayElementBox).setProduceOption(e.produceOption).setLocalUserMediaOption(e.localUserMediaOption).setAfterJoinPullVideo(null==(i=e.options)?void 0:i.afterJoinPullVideo).setAfterJoinPullAudio(null==(i=e.options)?void 0:i.afterJoinPullAudio).setDefaultEnableAudio(null==(i=e.options)?void 0:i.defaultEnableAudio).setDefaultEnableVideo(null==(i=e.options)?void 0:i.defaultEnableVideo),r.setForceTcp(null==(i=e.options)?void 0:i.forceTcp),r.publishVideoMeeting().then((()=>{t(r)})).catch((e=>{o(e)}))}))}async joinRecordRoom(e){return new Promise((async(t,o)=>{var i=this.getClientId(),r=new Qt({eventEmit:this.eventEmit});r.setOnEvent(e.onEvent),r.setClientId(i).setRoomType(E.Recorder).setRoomId(e.roomId).setProduceTag("control").setProduceOption(e.produceOption),r.setForceTcp(null==(i=e.options)?void 0:i.forceTcp),r.publishRecordRoom(),t(r)}))}async joinFlvMonitor(e){return new Promise((async(t,o)=>{var i=this.getClientId();const r=new Qt({eventEmit:this.eventEmit});r.setOnEvent(e.onEvent),r.setMonitorDeviceId(e.deviceId).setClientId(i).setRoomType(E.FlvMonitor).setPlayElementBox(e.playElementBox).setRoomTimeout(e.timeout).setRoomId(e.roomId||a().replace(/-/g,"")),r.publishFlvMonitor(e.url).then((()=>{t(r)})).catch((e=>{o(e)}))}))}async joinSipPhoneCall(e){return new Promise((async(t,o)=>{var i=this.getClientId();const r=new Qt({eventEmit:this.eventEmit});r.setOnEvent(e.onEvent),r.setClientId(i).setMediaCallDeviceId(i||"").setMediaBeCallDeviceId(e.deviceId||"").setSipPhoneCallGatewayId(e.gatewayId).setRoomId(e.roomId).setRoomType(E.SipPhoneCall).setPlayElementBox(e.playElementBox).setLocalPlayElementBox(e.localPlayElementBox),r.setForceTcp(null==(i=e.options)?void 0:i.forceTcp),r.publishSipPhoneCall().then((()=>{t(r)})).catch((e=>{o(e)}))}))}subscribeSIPRoomCloseTopic(e){e&&this.subscribe(`mediaapp/${e}/client/+/sipBye`)}unsubscribeSIPRoomCloseTopic(e){e&&this.unsubscribe(`mediaapp/${e}/client/+/sipBye`)}async joinJT1078SourcesPlayback(e){return new Promise((async(t,o)=>{var i=this.getClientId();const r=new Qt({eventEmit:this.eventEmit});r.setOnEvent(e.onEvent),r.setMonitorDeviceId(e.deviceId).setClientId(i).setChannelNo(e.channelNo).setPlayElementBox(e.playElementBox).setRoomType(E.JT1078SourcesPlayback).setMediaType(e.mediaType).setPlaybackMode(e.playbackMode).setPlaybackSpeed(e.playbackSpeed).setStartTime(e.startTime).setEndTime(e.endTime).setRoomTimeout(e.timeout).setProduceTag("control").setForceTcp(null==(i=e.options)?void 0:i.forceTcp),e.roomId&&r.setRoomId(e.roomId),r.publishJT1078SourcesPlayback().then((()=>{t(r)})).catch((e=>{o(e)}))}))}async getJT1078FileSourcesGroup(e){return new Promise((async t=>{var o=this.getClientId();!function(e,t,o){var{deviceId:o,mediaType:i,callback:r}=o,n=a().replace(/-/g,"");e.emit("send",{topic:`client/${t}/mediaapp/${n}/JT1078fileSourcesGroup`,messageType:"JT1078FileSourcesQueryRequest",message:{clientId:o,mediaType:i},responseMessageType:"JT1078FileSources",callback:r})}(this.eventEmit,o,{...e,callback:e=>{e=(e||{}).messageContent,t(e)}})}))}jt1078FileSourcesUpload(e){return new Promise(((t,o)=>{var i=this.getClientId();!function(e,t,o){var{deviceId:o,channelNo:i,mediaType:r,startTime:n,endTime:s,callback:d}=o,c=a().replace(/-/g,"");e.emit("send",{topic:`client/${t}/mediaapp/${c}/JT1078SourcesUpload`,messageType:"JT1078FileSourcesUploadRequest",message:{clientId:o,channelNo:i,mediaType:r,startTime:n,endTime:s},callback:d})}(this.eventEmit,i,{...e,callback:e=>{e=(e||{}).messageContent,t(e)}})}))}async joinMixerMeeting(e){return new Promise((async(t,o)=>{var i=this.getClientId();const r=new Qt({eventEmit:this.eventEmit});r.setOnEvent(e.onEvent),r.setClientId(i).setProduceTag("control").setRoomId(e.roomId).setRoomType(E.MixerMeeting).setPlayElementBox(e.playElementBox).setLocalPlayElementBox(e.localPlayElementBox).setProduceOption(e.produceOption).setLocalUserMediaOption(e.localUserMediaOption).setAfterJoinPullVideo(null==(i=e.options)?void 0:i.afterJoinPullVideo).setAfterJoinPullAudio(null==(i=e.options)?void 0:i.afterJoinPullAudio).setDefaultEnableVideo(null==(i=e.options)?void 0:i.defaultEnableVideo).setDefaultEnableAudio(null==(i=e.options)?void 0:i.defaultEnableAudio),r.setForceTcp(null==(i=e.options)?void 0:i.forceTcp),r.publishMixerMeeting().then((()=>{t(r)})).catch((e=>{o(e)}))}))}send(e){var{topic:e,messageType:t,message:o,callback:i,responseMessageType:r,options:a}=e,n=this.getMqttClient(),{correlationData:s,index:d}=this.nextCorrelationData(),s={properties:{correlationData:s},qos:1},c=(null!=a&&a.noResponse&&null!=(c=s.properties)&&delete c.correlationData,e.indexOf("undefined"),this.handlerMessageByte(t,o)),t=(si.debug("MQ Send -> opts:%o topic:%o message:%o",s,e,o),null!=n&&n.publish(e,c,s),{index:d,topic:e,payload:c,opts:s,callback:i,responseMessageType:r});null!=a&&a.noResponse||this.correlationDataMapAdd(t)}reply(e){var{topic:e,messageType:t,message:o,correlationData:i}=e,r=this.getMqttClient(),i={properties:{correlationData:i}},t=(e.indexOf("undefined"),si.debug("MQ Reply -> opts:%o topic:%o message:%o",i,e,o),this.handlerMessageByte(t,o));null!=r&&r.publish(e,t,i)}businessSend(e){return new Promise(((t,o)=>{var i=this.nextCorrelationData().index,r=(null!=(r=(e.id=i,si.debug("业务信令 BusinessSend ->",e),this.getMqttClient()))&&r.publish(e.topic,JSON.stringify(e)),{index:i,topic:e.topic,payload:e.data,callback:({messageContent:e,topic:i,message:r,packet:a})=>{(e.ok?t:o)({messageContent:e,topic:i,message:r,packet:a})},responseMessageType:"business"});e.notification||this.correlationDataMapAdd(r)}))}getClientId(){var e;return null==(e=this.mqttClient)?void 0:e.options.clientId}getMqttClient(){return this.mqttClient}nextCorrelationData(){var e=di++;return{correlationData:(new TextEncoder).encode(e.toString()),index:e}}correlationDataMapAdd(e){ci.set(e.index,e)}getMqttClientStatus(){var e;return null==(e=this.getMqttClient())?void 0:e.connected}}class ui extends Rt{constructor({eventEmit:e}){super(),this.eventEmit=new Rt,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((o=>{o.roomType===e&&t.push(o)})),t}getDeviceIdByRoomType(e){let t=[];return this.getRoomsByRoomType(e).forEach((o=>{o.clientList.forEach((e=>{e.clientId&&t.push({clientId:e.clientId})})),e==E.Broadcast&&(t=o.broadcastClientIds.map((e=>({clientId:e}))))})),t}}class mi extends Rt{constructor({eventEmit:e}){super(),this.eventEmit=new Rt,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)}))}}const pi=new Ge("HyRtcCore");class hi extends Rt{constructor(){super(),this.eventEmit=new Rt,this.registerMessageEvents(),this.eventEmit.emit("hyRtcConstructor",{})}registerMessageEvents(){}init(e){return new Promise(((t,o)=>{var i,r;this.getMqttClientStatus()?this.eventEmit.emit("hyRtcInitSuccess",this):(this.HyRtcCoreOptions=e,({authInfo:i,connectUrl:r}=this.HyRtcCoreOptions),this.NewRoomManager(),this.NewGlobalDeviceManager(),this.NewH265WasmManager(e),this.Message=this.NewMessage(),this.Message.connect({authInfo:i},r).then((()=>{var e;null!=(e=this.Message)&&e.subscribeMediaTopic(),null!=(e=this.Message)&&e.subscribeMediaAppTopic(),t({})})).catch((e=>(o(e),this.eventEmit.emit("hyRtcInitError",e),!1))))}))}reConnect(){var e;null!=(e=this.Message)&&e.reReconnect().then((()=>{var e;null!=(e=this.Message)&&e.subscribeMediaTopic(),null!=(e=this.Message)&&e.subscribeMediaAppTopic()})).catch((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 li({eventEmit:this.eventEmit})}NewRoomManager(){this.RoomManager=new ui({eventEmit:this.eventEmit})}NewGlobalDeviceManager(){this.GlobalDeviceManager=new mi({eventEmit:this.eventEmit})}NewH265WasmManager(e){var t;if(null!=(t=e.h265Info)&&t.enable){if(pi.debug("启用h265软解"),!e.h265Info.wasmJsFileUrl)return!1;this.H265WasmManager=new Xt({eventEmit:this.eventEmit,wasmJsFileUrl:e.h265Info.wasmJsFileUrl})}}async joinChannel(e){return new Promise(((t,o)=>{this.eventEmit.emit("getRoom",{roomId:e.roomId,callback:async({room:i})=>{var r;if(i)o({code:R.RoomIsExist,message:S.RoomIsExist});else{const i=await(null==(r=this.Message)?void 0:r.joinRoom(e));console.log("加入群组成功",i),null!=i&&i.roomId&&null!=(r=this.Message)&&r.subscribeMediaAppRoomEventTopic(i.roomId),this.eventEmit.emit("addRoom",i),i?t({room:i}):o({code:R.JoinRoomFailed,message:S.JoinRoomFailed})}}})}))}async joinMonitor(e){return new Promise((async(t,o)=>{var i=this.getAllRooms();const r=[];null!=i&&i.forEach((function(e,t,o){null!=e.monitorDeviceId&&r.push(e.monitorDeviceId)})),-1===r.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})):o({error:new Error("加入房间失败")})})).catch((({messageContent:e})=>{switch(e.code){case 2001:o({code:R.PsStreamFailedPrecondition,message:S.PsStreamFailedPrecondition});break;case 2003:o({code:R.DeviceNotExist,message:S.DeviceNotExist});break;case R.RoomTimeout:o({code:R.RoomTimeout,message:S.RoomTimeout});break;default:o({code:-1,message:"mediaapp未知异常"})}})):o({error:new Error("设备已存在直播房间中.")})}))}async joinBroadcast(e){return new Promise((async(t,o)=>{var i,r=await(null==(r=this.Message)?void 0:r.joinBroadcast(e));this.eventEmit.emit("addRoom",r),r&&(null!=r&&r.roomId&&null!=(i=this.Message)&&i.subscribeMediaAppRoomEventTopic(r.roomId),t({room:r}))}))}async joinMonitorListen(e){return new Promise((async(t,o)=>{var i,r=await(null==(r=this.Message)?void 0:r.joinMonitorListen(e));this.eventEmit.emit("addRoom",r),r&&(null!=r&&r.roomId&&null!=(i=this.Message)&&i.subscribeMediaAppRoomEventTopic(r.roomId),t({room:r}))}))}async joinAudioCall(e){return new Promise((async(t,o)=>{var i;await(null==(i=this.Message)?void 0:i.joinAudioCall(e).then((i=>{var r;this.eventEmit.emit("addRoom",i),i?(null!=i&&i.roomId&&null!=(r=this.Message)&&r.subscribeMediaAppRoomEventTopic(i.roomId),i.setOnEvent(e.onEvent),t({room:i})):o({error:new Error("加入房间失败")})})).catch((({code:e,msg:t})=>{o({code:e,msg:t})})))}))}async joinVideoCall(e){return new Promise((async(t,o)=>{var i;null!=(i=this.Message)&&i.joinVideoCall(e).then((i=>{var r;this.eventEmit.emit("addRoom",i),i?(null!=i&&i.roomId&&null!=(r=this.Message)&&r.subscribeMediaAppRoomEventTopic(i.roomId),i.setOnEvent(e.onEvent),e.virtualBackgroundInfo.enable&&i.setVirtualBackgroundInfo(e.virtualBackgroundInfo),t({room:i})):o({error:new Error("加入房间失败")})})).catch((({code:e,msg:t})=>{o({code:e,msg:t})}))}))}async joinSipVideo(e){return new Promise((async(t,o)=>{var i,r=await(null==(r=this.Message)?void 0:r.joinSipVideo(e));this.eventEmit.emit("addRoom",r),r?(null!=r&&r.roomId&&null!=(i=this.Message)&&i.subscribeMediaAppRoomEventTopic(r.roomId),r.setOnEvent(e.onEvent),t({room:r})):t({error:new Error("加入房间失败")})}))}async joinVideoMeeting(e){return new Promise((async(t,o)=>{var i,r=await(null==(r=this.Message)?void 0:r.joinVideoMeeting(e));this.eventEmit.emit("addRoom",r),r?(null!=r&&r.roomId&&null!=(i=this.Message)&&i.subscribeMediaAppRoomEventTopic(r.roomId),r.setOnEvent(e.onEvent),null!=(i=null==e?void 0:e.virtualBackgroundInfo)&&i.enable&&r.setVirtualBackgroundInfo(e.virtualBackgroundInfo),t({room:r})):t({error:new Error("加入房间失败")})}))}async joinRecordRoom({args:e}){return new Promise((async(t,o)=>{var i=e.recorderRoom;console.log("recorderRoom.playElements",i.playElements),this.checkRecorderElementReady({recorderRoom:i}).then((async({videoList:o})=>{let i,r=new MediaStream;var{muteAudioStream:a,mutedAudioBufferSourceNodeSource:n}=this.createMuteAudio();(o=(o&&(i=this.mergeVideoElement(a,o),r=i.getMixedStream()),await(null==(a=this.Message)?void 0:a.joinRecordRoom(e))))&&(o.setRoomMediaStream(r),o.setVideoMixer(i),o.setMutedAudioBufferSourceNodeSource(n),this.eventEmit.emit("addRoom",o)),t({room:o})})).catch((()=>{o(!1)}))}))}async joinRecorderSelfRoom({args:e}){return new Promise((async(t,o)=>{var{roomId:i,streamList:r}=e;if(i){console.log("streamList",r);let o=new MediaStream;var i,{muteAudioStream:i,mutedAudioBufferSourceNodeSource:a}=this.createMuteAudio(),r=(r.forEach((e=>{e.getTracks().forEach((e=>{o.addTrack(e)}))})),o.getTracks().find((e=>"audio"===e.kind)));(i=(r||o.addTrack(i.getTracks()[0]),console.log("mediaStream",o.getTracks()),await(null==(r=this.Message)?void 0:r.joinRecordRoom(e))))&&(i.setRoomMediaStream(o),i.setMutedAudioBufferSourceNodeSource(a),this.eventEmit.emit("addRoom",i),t({room:i}))}else o({error:new Error("加入房间失败")})}))}async joinFlvMonitor(e){return new Promise((async(t,o)=>{var i;null!=(i=this.Message)&&i.joinFlvMonitor(e).then((e=>{t({room:e})})).catch((({messageContent:e})=>{o(e)}))}))}async joinSipPhoneCall(e){return new Promise((async(t,o)=>{var i,r=await(null==(r=this.Message)?void 0:r.joinSipPhoneCall(e));this.eventEmit.emit("addRoom",r),r?(null!=r&&r.roomId&&null!=(i=this.Message)&&i.subscribeMediaAppRoomEventTopic(r.roomId),r.setOnEvent(e.onEvent),t({room:r})):t({error:new Error("加入房间失败")})}))}async joinJT1078SourcesPlayback(e){return new Promise((async(t,o)=>{var i=this.getAllRooms();const r=[];null!=i&&i.forEach((function(e,t,o){null!=e.monitorDeviceId&&r.push(e.monitorDeviceId)})),-1===r.indexOf(e.deviceId)?null!=(i=this.Message)&&i.joinJT1078SourcesPlayback(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})):o({error:new Error("加入房间失败")})})).catch((e=>{switch(console.log("errparams",e),(e=e.messageContent).code){case 2001:o({code:R.PsStreamFailedPrecondition,message:S.PsStreamFailedPrecondition});break;case 2003:o({code:R.DeviceNotExist,message:S.DeviceNotExist});break;case R.RoomTimeout:o({code:R.RoomTimeout,message:S.RoomTimeout});break;default:o({code:-1,message:"mediaapp未知异常"})}})):o({error:new Error("设备已存在直播房间中.")})}))}async joinMixerMeeting(e){return new Promise((async(t,o)=>{var i,r=await(null==(r=this.Message)?void 0:r.joinMixerMeeting(e));this.eventEmit.emit("addRoom",r),r?(null!=r&&r.roomId&&null!=(i=this.Message)&&i.subscribeMediaAppRoomEventTopic(r.roomId),r.setOnEvent(e.onEvent),t({room:r})):t({error:new Error("加入房间失败")})}))}mergeVideoElement(e,t){return t=t.map((e=>{if(e&&e.captureStream)return e.captureStream()})).filter(Boolean),t.push(e),(e=new l(t)).width=1280,e.height=720,e.frameInterval=1,e.startDrawingFrames(),e}createMuteAudio(){var e=new window.AudioContext,t=((o=e.createBuffer(1,e.sampleRate,e.sampleRate)).getChannelData(0).fill(.3),e.createBufferSource()),o=(t.buffer=o,t.loop=!0,t.connect(e.destination),e.createMediaStreamDestination());t.connect(o),o=o.stream;return t.start(),{muteAudioStream:o,mutedAudioBufferSourceNodeSource:t,mutedAudioContext:e}}getUserAudioMedia(){return Mt({audio:!0,video:!1})}getUserVideoMedia(){return Mt({audio:!1,video:!0})}getUserVideoMediaByDeviceId(e){return Dt(e)}getUserAudioMediaByDeviceId(e){return Ot(e)}enumerateDevices(){return Pt()}enumerateAudioDevices(){return Pt("audioinput")}enumerateVideoDevices(){return Pt("videoinput")}getAllRooms(){var e;return null==(e=this.RoomManager)?void 0:e.getAllRooms()}getAllH265Manager(){return this.H265WasmManager}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 Nt(this.eventEmit)}setGlobalAudioDevice(e){!function(e,t){t?e.emit("setGlobalAudioDevice",{device:t}):console.log("device 不能为空")}(this.eventEmit,e)}getGlobalAudioDevice(){return At(this.eventEmit)}getDisplayMediaStream(e={video:!0,audio:!0}){return xt(e)}handlerMediaStream(e){return function(e){e=e.getTracks();const t=[],o=[];return e.forEach((e=>{switch(e.kind){case"video":t.push(e);break;case"audio":o.push(e)}})),{videoStream:new MediaStream(t),audioStream:new MediaStream(o)}}(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 o={videoSupport:!1,audioSupport:!1,webRtcSupport:!0};try{var i=await navigator.mediaDevices.getUserMedia({video:!0,audio:!1});i&&(o.videoSupport=!0,i.getTracks().forEach((e=>{e.stop()})))}catch(e){o.videoSupport=!1}try{var r=await navigator.mediaDevices.getUserMedia({video:!1,audio:!0});r&&(o.audioSupport=!0,r.getTracks().forEach((e=>{e.stop()})))}catch(e){o.audioSupport=!1}e(o)}))}checkRecorderElementReady({recorderRoom:e}){return new Promise(((t,o)=>{let i=0;const r=[],a=()=>{r.forEach((e=>{clearTimeout(e)}))},n=()=>{const s=[];e.playElements.forEach((e=>{s.push(e.id)})),e.localPlayVideoElement&&s.push(e.localPlayVideoElement.id);var d=s.map((e=>document.querySelector("#"+e))),c=d.map((e=>{var t;if(e&&e.captureStream)return t=(e=e.captureStream()).getTracks(),console.log("captureStream .",t),e.active&&1<t.length})).filter(Boolean),l=()=>(console.log("recorderRoom.playElements.size",e.playElements.size),0<e.playElements.size);(c=(console.log("videoList",d),console.log("streamList",c),console.log("roomTypeCheck()",l()),e.localPlayVideoElement&&e.producerMap.size,c.length===d.length&&l()))?(a(),t({videoList:d})):i<10?(i++,console.warn(`尝试检查当前录制画面,正在重试...(第${i}次)`),l=setTimeout(n,1e3),r.push(l)):(a(),o(!1))};n()}))}}export{hi as HyRtcCore,R as JoinRoomEventCode,li as Message,Jt as ProduceMediaStreamVideoConstraints,M as PtzType,Qt as Room,C as RoomPlayElementName,E as RoomType};
1
+ import e from"mqtt";import t from"long";import*as o from"protobufjs/minimal";import i from"protobufjs/minimal";import r from"debug";import{v4 as a}from"uuid";import{Device as n}from"mediasoup-client";import{FilesetResolver as s,ImageSegmenter as d}from"@mediapipe/tasks-vision";import c from"flv.js";import l from"multistreamsmixer";const u={encode:(e,t=i.Writer.create())=>(!1!==e.value&&t.uint32(8).bool(e.value),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={value:!1};o.pos<r;){var n=o.uint32();if(n>>>3!=1||8!==n){if(4==(7&n)||0===n)break;o.skipType(7&n)}else a.value=o.bool()}return a},fromJSON:e=>({value:!!p(e.value)&&globalThis.Boolean(e.value)}),toJSON(e){var t={};return!1!==e.value&&(t.value=e.value),t},create:e=>u.fromPartial(null!=e?e:{}),fromPartial(e){var t={value:!1};return t.value=null!=(e=e.value)&&e,t}};const m={encode:(e,t=i.Writer.create())=>(""!==e.value&&t.uint32(10).string(e.value),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={value:""};o.pos<r;){var n=o.uint32();if(n>>>3!=1||10!==n){if(4==(7&n)||0===n)break;o.skipType(7&n)}else a.value=o.string()}return a},fromJSON:e=>({value:p(e.value)?globalThis.String(e.value):""}),toJSON(e){var t={};return""!==e.value&&(t.value=e.value),t},create:e=>m.fromPartial(null!=e?e:{}),fromPartial(e){var t={value:""};return t.value=null!=(e=e.value)?e:"",t}};function p(e){return null!=e}var h,v,g,I,f,T,y,b,k,E,C,R,S,P,M,w,N,A,O,D,x,B,V,_,L,J,U,F;function q(e){switch(e){case 0:case"Opus":return h.Opus;case 1:case"MultiChannelOpus":return h.MultiChannelOpus;case 2:case"Pcmu":return h.Pcmu;case 3:case"Pcma":return h.Pcma;case 4:case"Isac":return h.Isac;case 5:case"G722":return h.G722;case 6:case"Ilbc":return h.Ilbc;case 7:case"Silk":return h.Silk;case 8:case"Cn":return h.Cn;case 9:case"TelephoneEvent":return h.TelephoneEvent;case 10:case"ARtx":return h.ARtx;case 11:case"ARed":return h.ARed;case 100:case"Vp8":return h.Vp8;case 101:case"Vp9":return h.Vp9;case 102:case"H264":return h.H264;case 104:case"H265":return h.H265;case 108:case"AV1":return h.AV1;case 105:case"VRtx":return h.VRtx;case 106:case"VRed":return h.VRed;case 107:case"Ulpfec":return h.Ulpfec;default:return h.UNRECOGNIZED}}function W(e){switch(e){case h.Opus:return"Opus";case h.MultiChannelOpus:return"MultiChannelOpus";case h.Pcmu:return"Pcmu";case h.Pcma:return"Pcma";case h.Isac:return"Isac";case h.G722:return"G722";case h.Ilbc:return"Ilbc";case h.Silk:return"Silk";case h.Cn:return"Cn";case h.TelephoneEvent:return"TelephoneEvent";case h.ARtx:return"ARtx";case h.ARed:return"ARed";case h.Vp8:return"Vp8";case h.Vp9:return"Vp9";case h.H264:return"H264";case h.H265:return"H265";case h.AV1:return"AV1";case h.VRtx:return"VRtx";case h.VRed:return"VRed";case h.Ulpfec:return"Ulpfec";default:return h.UNRECOGNIZED,"UNRECOGNIZED"}}function G(e){switch(e){case 0:case"Audio":return v.Audio;case 1:case"Video":return v.Video;default:return v.UNRECOGNIZED}}function j(e){switch(e){case v.Audio:return"Audio";case v.Video:return"Video";default:return v.UNRECOGNIZED,"UNRECOGNIZED"}}function $(e){switch(e){case 0:case"Nack":return g.Nack;case 1:case"NackPli":return g.NackPli;case 2:case"CcmFir":return g.CcmFir;case 3:case"GoogRemb":return g.GoogRemb;case 4:case"TransportCc":return g.TransportCc;default:return g.UNRECOGNIZED}}function H(e){switch(e){case g.Nack:return"Nack";case g.NackPli:return"NackPli";case g.CcmFir:return"CcmFir";case g.GoogRemb:return"GoogRemb";case g.TransportCc:return"TransportCc";default:return g.UNRECOGNIZED,"UNRECOGNIZED"}}function Z(e){switch(e){case 0:case"Mid":return I.Mid;case 1:case"RtpStreamId":return I.RtpStreamId;case 2:case"RepairRtpStreamId":return I.RepairRtpStreamId;case 12:case"DependencyDescriptor":return I.DependencyDescriptor;case 5:case"AudioLevel":return I.AudioLevel;case 6:case"VideoOrientation":return I.VideoOrientation;case 7:case"TimeOffset":return I.TimeOffset;case 8:case"TransportWideCcDraft01":return I.TransportWideCcDraft01;case 9:case"AbsSendTime":return I.AbsSendTime;case 10:case"AbsCaptureTime":return I.AbsCaptureTime;case 11:case"PlayoutDelay":return I.PlayoutDelay;default:return I.UNRECOGNIZED}}function z(e){switch(e){case I.Mid:return"Mid";case I.RtpStreamId:return"RtpStreamId";case I.RepairRtpStreamId:return"RepairRtpStreamId";case I.DependencyDescriptor:return"DependencyDescriptor";case I.AudioLevel:return"AudioLevel";case I.VideoOrientation:return"VideoOrientation";case I.TimeOffset:return"TimeOffset";case I.TransportWideCcDraft01:return"TransportWideCcDraft01";case I.AbsSendTime:return"AbsSendTime";case I.AbsCaptureTime:return"AbsCaptureTime";case I.PlayoutDelay:return"PlayoutDelay";default:return I.UNRECOGNIZED,"UNRECOGNIZED"}}function X(e){switch(e){case 0:case"SendRecv":return f.SendRecv;case 1:case"SendOnly":return f.SendOnly;case 2:case"RecvOnly":return f.RecvOnly;case 3:case"Inactive":return f.Inactive;default:return f.UNRECOGNIZED}}function K(e){switch(e){case 0:case"Auto":return T.Auto;case 1:case"Client":return T.Client;case 2:case"Server":return T.Server;default:return T.UNRECOGNIZED}}function Y(e){switch(e){case 0:case"Tcp":return y.Tcp;case 1:case"Udp":return y.Udp;default:return y.UNRECOGNIZED}}function Q(e){switch(e){case 0:case"Host":return b.Host;case 1:case"Srflx":return b.Srflx;case 2:case"Prflx":return b.Prflx;case 3:case"Relay":return b.Relay;default:return b.UNRECOGNIZED}}i.util.Long!==t&&(i.util.Long=t,i.configure()),(F=h=h||{})[F.Opus=0]="Opus",F[F.MultiChannelOpus=1]="MultiChannelOpus",F[F.Pcmu=2]="Pcmu",F[F.Pcma=3]="Pcma",F[F.Isac=4]="Isac",F[F.G722=5]="G722",F[F.Ilbc=6]="Ilbc",F[F.Silk=7]="Silk",F[F.Cn=8]="Cn",F[F.TelephoneEvent=9]="TelephoneEvent",F[F.ARtx=10]="ARtx",F[F.ARed=11]="ARed",F[F.Vp8=100]="Vp8",F[F.Vp9=101]="Vp9",F[F.H264=102]="H264",F[F.H265=104]="H265",F[F.AV1=108]="AV1",F[F.VRtx=105]="VRtx",F[F.VRed=106]="VRed",F[F.Ulpfec=107]="Ulpfec",F[F.UNRECOGNIZED=-1]="UNRECOGNIZED",function(e){e[e.Audio=0]="Audio",e[e.Video=1]="Video",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(v=v||{}),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"}(g=g||{}),function(e){e[e.Mid=0]="Mid",e[e.RtpStreamId=1]="RtpStreamId",e[e.RepairRtpStreamId=2]="RepairRtpStreamId",e[e.DependencyDescriptor=12]="DependencyDescriptor",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"}(I=I||{}),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"}(f=f||{}),function(e){e[e.Auto=0]="Auto",e[e.Client=1]="Client",e[e.Server=2]="Server",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(T=T||{}),function(e){e[e.Tcp=0]="Tcp",e[e.Udp=1]="Udp",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(y=y||{}),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"}(b=b||{});const ee={encode(e,t=i.Writer.create()){for(const o of e.codecs)te.encode(o,t.uint32(10).fork()).ldelim();for(const o of e.headerExtensions)oe.encode(o,t.uint32(18).fork()).ldelim();return t},decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={codecs:[],headerExtensions:[]};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.codecs.push(te.decode(o,o.uint32()));continue;case 2:if(18===n){a.headerExtensions.push(oe.decode(o,o.uint32()));continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({codecs:globalThis.Array.isArray(null==e?void 0:e.codecs)?e.codecs.map((e=>te.fromJSON(e))):[],headerExtensions:globalThis.Array.isArray(null==e?void 0:e.headerExtensions)?e.headerExtensions.map((e=>oe.fromJSON(e))):[]}),toJSON(e){var t,o={};return null!=(t=e.codecs)&&t.length&&(o.codecs=e.codecs.map((e=>te.toJSON(e)))),null!=(t=e.headerExtensions)&&t.length&&(o.headerExtensions=e.headerExtensions.map((e=>oe.toJSON(e)))),o},create:e=>ee.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={codecs:[],headerExtensions:[]};return o.codecs=(null==(t=e.codecs)?void 0:t.map((e=>te.fromPartial(e))))||[],o.headerExtensions=(null==(t=e.headerExtensions)?void 0:t.map((e=>oe.fromPartial(e))))||[],o}};const te={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 o of e.parameters)ie.encode(o,t.uint32(50).fork()).ldelim();t.uint32(58).fork();for(const o of e.rtcpFeedback)t.int32(o);return t.ldelim(),t},decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={mimeType:0,kind:0,preferredPayloadType:0,clockRate:0,channels:void 0,parameters:[],rtcpFeedback:[]};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(8!==n)break;a.mimeType=o.int32();continue;case 2:if(16!==n)break;a.kind=o.int32();continue;case 3:if(24!==n)break;a.preferredPayloadType=o.uint32();continue;case 4:if(32!==n)break;a.clockRate=o.uint32();continue;case 5:if(40!==n)break;a.channels=o.uint32();continue;case 6:if(50!==n)break;a.parameters.push(ie.decode(o,o.uint32()));continue;case 7:if(56===n){a.rtcpFeedback.push(o.int32());continue}if(58===n){for(var s=o.uint32()+o.pos;o.pos<s;)a.rtcpFeedback.push(o.int32());continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({mimeType:he(e.mimeType)?q(e.mimeType):0,kind:he(e.kind)?G(e.kind):0,preferredPayloadType:he(e.preferredPayloadType)?globalThis.Number(e.preferredPayloadType):0,clockRate:he(e.clockRate)?globalThis.Number(e.clockRate):0,channels:he(e.channels)?globalThis.Number(e.channels):void 0,parameters:globalThis.Array.isArray(null==e?void 0:e.parameters)?e.parameters.map((e=>ie.fromJSON(e))):[],rtcpFeedback:globalThis.Array.isArray(null==e?void 0:e.rtcpFeedback)?e.rtcpFeedback.map((e=>$(e))):[]}),toJSON(e){var t,o={};return 0!==e.mimeType&&(o.mimeType=W(e.mimeType)),0!==e.kind&&(o.kind=j(e.kind)),0!==e.preferredPayloadType&&(o.preferredPayloadType=Math.round(e.preferredPayloadType)),0!==e.clockRate&&(o.clockRate=Math.round(e.clockRate)),void 0!==e.channels&&(o.channels=Math.round(e.channels)),null!=(t=e.parameters)&&t.length&&(o.parameters=e.parameters.map((e=>ie.toJSON(e)))),null!=(t=e.rtcpFeedback)&&t.length&&(o.rtcpFeedback=e.rtcpFeedback.map((e=>H(e)))),o},create:e=>te.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={mimeType:0,kind:0,preferredPayloadType:0,clockRate:0,channels:void 0,parameters:[],rtcpFeedback:[]};return o.mimeType=null!=(t=e.mimeType)?t:0,o.kind=null!=(t=e.kind)?t:0,o.preferredPayloadType=null!=(t=e.preferredPayloadType)?t:0,o.clockRate=null!=(t=e.clockRate)?t:0,o.channels=null!=(t=e.channels)?t:void 0,o.parameters=(null==(t=e.parameters)?void 0:t.map((e=>ie.fromPartial(e))))||[],o.rtcpFeedback=(null==(t=e.rtcpFeedback)?void 0:t.map((e=>e)))||[],o}};const oe={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={kind:0,uri:0,preferredId:0,preferredEncrypt:!1,direction:0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(8!==n)break;a.kind=o.int32();continue;case 2:if(16!==n)break;a.uri=o.int32();continue;case 3:if(24!==n)break;a.preferredId=o.uint32();continue;case 4:if(32!==n)break;a.preferredEncrypt=o.bool();continue;case 5:if(40===n){a.direction=o.int32();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({kind:he(e.kind)?G(e.kind):0,uri:he(e.uri)?Z(e.uri):0,preferredId:he(e.preferredId)?globalThis.Number(e.preferredId):0,preferredEncrypt:!!he(e.preferredEncrypt)&&globalThis.Boolean(e.preferredEncrypt),direction:he(e.direction)?X(e.direction):0}),toJSON(e){var t={};return 0!==e.kind&&(t.kind=j(e.kind)),0!==e.uri&&(t.uri=z(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 f.SendRecv:return"SendRecv";case f.SendOnly:return"SendOnly";case f.RecvOnly:return"RecvOnly";case f.Inactive:return"Inactive";default:return f.UNRECOGNIZED,"UNRECOGNIZED"}}(e.direction)),t},create:e=>oe.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={kind:0,uri:0,preferredId:0,preferredEncrypt:!1,direction:0};return o.kind=null!=(t=e.kind)?t:0,o.uri=null!=(t=e.uri)?t:0,o.preferredId=null!=(t=e.preferredId)?t:0,o.preferredEncrypt=null!=(t=e.preferredEncrypt)&&t,o.direction=null!=(t=e.direction)?t:0,o}};const ie={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={name:"",strValue:void 0,numValue:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.name=o.string();continue;case 2:if(18!==n)break;a.strValue=o.string();continue;case 3:if(24===n){a.numValue=o.uint32();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({name:he(e.name)?globalThis.String(e.name):"",strValue:he(e.strValue)?globalThis.String(e.strValue):void 0,numValue:he(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=>ie.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={name:"",strValue:void 0,numValue:void 0};return o.name=null!=(t=e.name)?t:"",o.strValue=null!=(t=e.strValue)?t:void 0,o.numValue=null!=(t=e.numValue)?t:void 0,o}};const re={encode(e,t=i.Writer.create()){0!==e.role&&t.uint32(8).int32(e.role);for(const o of e.fingerprints)ae.encode(o,t.uint32(18).fork()).ldelim();return t},decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={role:0,fingerprints:[]};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(8!==n)break;a.role=o.int32();continue;case 2:if(18===n){a.fingerprints.push(ae.decode(o,o.uint32()));continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({role:he(e.role)?K(e.role):0,fingerprints:globalThis.Array.isArray(null==e?void 0:e.fingerprints)?e.fingerprints.map((e=>ae.fromJSON(e))):[]}),toJSON(e){var t,o={};return 0!==e.role&&(o.role=function(e){switch(e){case T.Auto:return"Auto";case T.Client:return"Client";case T.Server:return"Server";default:return T.UNRECOGNIZED,"UNRECOGNIZED"}}(e.role)),null!=(t=e.fingerprints)&&t.length&&(o.fingerprints=e.fingerprints.map((e=>ae.toJSON(e)))),o},create:e=>re.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={role:0,fingerprints:[]};return o.role=null!=(t=e.role)?t:0,o.fingerprints=(null==(t=e.fingerprints)?void 0:t.map((e=>ae.fromPartial(e))))||[],o}};const ae={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={algorithm:"",value:""};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.algorithm=o.string();continue;case 2:if(18===n){a.value=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({algorithm:he(e.algorithm)?globalThis.String(e.algorithm):"",value:he(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=>ae.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={algorithm:"",value:""};return o.algorithm=null!=(t=e.algorithm)?t:"",o.value=null!=(t=e.value)?t:"",o}};const ne={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={foundation:"",priority:0,address:"",protocol:0,port:0,type:0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.foundation=o.string();continue;case 2:if(16!==n)break;a.priority=o.uint32();continue;case 3:if(26!==n)break;a.address=o.string();continue;case 4:if(32!==n)break;a.protocol=o.int32();continue;case 5:if(40!==n)break;a.port=o.uint32();continue;case 6:if(48===n){a.type=o.int32();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({foundation:he(e.foundation)?globalThis.String(e.foundation):"",priority:he(e.priority)?globalThis.Number(e.priority):0,address:he(e.address)?globalThis.String(e.address):"",protocol:he(e.protocol)?Y(e.protocol):0,port:he(e.port)?globalThis.Number(e.port):0,type:he(e.type)?Q(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 y.Tcp:return"Tcp";case y.Udp:return"Udp";default:return y.UNRECOGNIZED,"UNRECOGNIZED"}}(e.protocol)),0!==e.port&&(t.port=Math.round(e.port)),0!==e.type&&(t.type=function(e){switch(e){case b.Host:return"Host";case b.Srflx:return"Srflx";case b.Prflx:return"Prflx";case b.Relay:return"Relay";default:return b.UNRECOGNIZED,"UNRECOGNIZED"}}(e.type)),t},create:e=>ne.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={foundation:"",priority:0,address:"",protocol:0,port:0,type:0};return o.foundation=null!=(t=e.foundation)?t:"",o.priority=null!=(t=e.priority)?t:0,o.address=null!=(t=e.address)?t:"",o.protocol=null!=(t=e.protocol)?t:0,o.port=null!=(t=e.port)?t:0,o.type=null!=(t=e.type)?t:0,o}};const se={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={usernameFragment:"",password:"",iceLite:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.usernameFragment=o.string();continue;case 2:if(18!==n)break;a.password=o.string();continue;case 3:if(24===n){a.iceLite=o.bool();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({usernameFragment:he(e.usernameFragment)?globalThis.String(e.usernameFragment):"",password:he(e.password)?globalThis.String(e.password):"",iceLite:he(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=>se.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={usernameFragment:"",password:"",iceLite:void 0};return o.usernameFragment=null!=(t=e.usernameFragment)?t:"",o.password=null!=(t=e.password)?t:"",o.iceLite=null!=(t=e.iceLite)?t:void 0,o}};const de={encode(e,t=i.Writer.create()){void 0!==e.mid&&t.uint32(10).string(e.mid);for(const o of e.codecs)ce.encode(o,t.uint32(18).fork()).ldelim();for(const o of e.headerExtensions)le.encode(o,t.uint32(26).fork()).ldelim();for(const o of e.encodings)ue.encode(o,t.uint32(34).fork()).ldelim();return void 0!==e.rtcp&&pe.encode(e.rtcp,t.uint32(42).fork()).ldelim(),t},decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={mid:void 0,codecs:[],headerExtensions:[],encodings:[],rtcp:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.mid=o.string();continue;case 2:if(18!==n)break;a.codecs.push(ce.decode(o,o.uint32()));continue;case 3:if(26!==n)break;a.headerExtensions.push(le.decode(o,o.uint32()));continue;case 4:if(34!==n)break;a.encodings.push(ue.decode(o,o.uint32()));continue;case 5:if(42===n){a.rtcp=pe.decode(o,o.uint32());continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({mid:he(e.mid)?globalThis.String(e.mid):void 0,codecs:globalThis.Array.isArray(null==e?void 0:e.codecs)?e.codecs.map((e=>ce.fromJSON(e))):[],headerExtensions:globalThis.Array.isArray(null==e?void 0:e.headerExtensions)?e.headerExtensions.map((e=>le.fromJSON(e))):[],encodings:globalThis.Array.isArray(null==e?void 0:e.encodings)?e.encodings.map((e=>ue.fromJSON(e))):[],rtcp:he(e.rtcp)?pe.fromJSON(e.rtcp):void 0}),toJSON(e){var t,o={};return void 0!==e.mid&&(o.mid=e.mid),null!=(t=e.codecs)&&t.length&&(o.codecs=e.codecs.map((e=>ce.toJSON(e)))),null!=(t=e.headerExtensions)&&t.length&&(o.headerExtensions=e.headerExtensions.map((e=>le.toJSON(e)))),null!=(t=e.encodings)&&t.length&&(o.encodings=e.encodings.map((e=>ue.toJSON(e)))),void 0!==e.rtcp&&(o.rtcp=pe.toJSON(e.rtcp)),o},create:e=>de.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={mid:void 0,codecs:[],headerExtensions:[],encodings:[],rtcp:void 0};return o.mid=null!=(t=e.mid)?t:void 0,o.codecs=(null==(t=e.codecs)?void 0:t.map((e=>ce.fromPartial(e))))||[],o.headerExtensions=(null==(t=e.headerExtensions)?void 0:t.map((e=>le.fromPartial(e))))||[],o.encodings=(null==(t=e.encodings)?void 0:t.map((e=>ue.fromPartial(e))))||[],o.rtcp=void 0!==e.rtcp&&null!==e.rtcp?pe.fromPartial(e.rtcp):void 0,o}};const ce={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 o of e.parameters)ie.encode(o,t.uint32(42).fork()).ldelim();t.uint32(50).fork();for(const o of e.rtcpFeedback)t.int32(o);return t.ldelim(),t},decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={mimeType:0,payloadType:0,clockRate:0,channels:void 0,parameters:[],rtcpFeedback:[]};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(8!==n)break;a.mimeType=o.int32();continue;case 2:if(16!==n)break;a.payloadType=o.uint32();continue;case 3:if(24!==n)break;a.clockRate=o.uint32();continue;case 4:if(32!==n)break;a.channels=o.uint32();continue;case 5:if(42!==n)break;a.parameters.push(ie.decode(o,o.uint32()));continue;case 6:if(48===n){a.rtcpFeedback.push(o.int32());continue}if(50===n){for(var s=o.uint32()+o.pos;o.pos<s;)a.rtcpFeedback.push(o.int32());continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({mimeType:he(e.mimeType)?q(e.mimeType):0,payloadType:he(e.payloadType)?globalThis.Number(e.payloadType):0,clockRate:he(e.clockRate)?globalThis.Number(e.clockRate):0,channels:he(e.channels)?globalThis.Number(e.channels):void 0,parameters:globalThis.Array.isArray(null==e?void 0:e.parameters)?e.parameters.map((e=>ie.fromJSON(e))):[],rtcpFeedback:globalThis.Array.isArray(null==e?void 0:e.rtcpFeedback)?e.rtcpFeedback.map((e=>$(e))):[]}),toJSON(e){var t,o={};return 0!==e.mimeType&&(o.mimeType=W(e.mimeType)),0!==e.payloadType&&(o.payloadType=Math.round(e.payloadType)),0!==e.clockRate&&(o.clockRate=Math.round(e.clockRate)),void 0!==e.channels&&(o.channels=Math.round(e.channels)),null!=(t=e.parameters)&&t.length&&(o.parameters=e.parameters.map((e=>ie.toJSON(e)))),null!=(t=e.rtcpFeedback)&&t.length&&(o.rtcpFeedback=e.rtcpFeedback.map((e=>H(e)))),o},create:e=>ce.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={mimeType:0,payloadType:0,clockRate:0,channels:void 0,parameters:[],rtcpFeedback:[]};return o.mimeType=null!=(t=e.mimeType)?t:0,o.payloadType=null!=(t=e.payloadType)?t:0,o.clockRate=null!=(t=e.clockRate)?t:0,o.channels=null!=(t=e.channels)?t:void 0,o.parameters=(null==(t=e.parameters)?void 0:t.map((e=>ie.fromPartial(e))))||[],o.rtcpFeedback=(null==(t=e.rtcpFeedback)?void 0:t.map((e=>e)))||[],o}};const le={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={uri:0,id:0,encrypt:!1};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(8!==n)break;a.uri=o.int32();continue;case 2:if(16!==n)break;a.id=o.uint32();continue;case 3:if(24===n){a.encrypt=o.bool();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({uri:he(e.uri)?Z(e.uri):0,id:he(e.id)?globalThis.Number(e.id):0,encrypt:!!he(e.encrypt)&&globalThis.Boolean(e.encrypt)}),toJSON(e){var t={};return 0!==e.uri&&(t.uri=z(e.uri)),0!==e.id&&(t.id=Math.round(e.id)),!1!==e.encrypt&&(t.encrypt=e.encrypt),t},create:e=>le.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={uri:0,id:0,encrypt:!1};return o.uri=null!=(t=e.uri)?t:0,o.id=null!=(t=e.id)?t:0,o.encrypt=null!=(t=e.encrypt)&&t,o}};const ue={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&&me.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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={ssrc:void 0,rid:void 0,codecPayloadType:void 0,rtx:void 0,dtx:void 0,scalabilityMode:void 0,maxBitrate:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(8!==n)break;a.ssrc=o.uint32();continue;case 2:if(18!==n)break;a.rid=o.string();continue;case 3:if(24!==n)break;a.codecPayloadType=o.uint32();continue;case 4:if(34!==n)break;a.rtx=me.decode(o,o.uint32());continue;case 5:if(40!==n)break;a.dtx=o.bool();continue;case 6:if(50!==n)break;a.scalabilityMode=o.string();continue;case 7:if(56===n){a.maxBitrate=o.uint32();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({ssrc:he(e.ssrc)?globalThis.Number(e.ssrc):void 0,rid:he(e.rid)?globalThis.String(e.rid):void 0,codecPayloadType:he(e.codecPayloadType)?globalThis.Number(e.codecPayloadType):void 0,rtx:he(e.rtx)?me.fromJSON(e.rtx):void 0,dtx:he(e.dtx)?globalThis.Boolean(e.dtx):void 0,scalabilityMode:he(e.scalabilityMode)?globalThis.String(e.scalabilityMode):void 0,maxBitrate:he(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=me.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=>ue.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={ssrc:void 0,rid:void 0,codecPayloadType:void 0,rtx:void 0,dtx:void 0,scalabilityMode:void 0,maxBitrate:void 0};return o.ssrc=null!=(t=e.ssrc)?t:void 0,o.rid=null!=(t=e.rid)?t:void 0,o.codecPayloadType=null!=(t=e.codecPayloadType)?t:void 0,o.rtx=void 0!==e.rtx&&null!==e.rtx?me.fromPartial(e.rtx):void 0,o.dtx=null!=(t=e.dtx)?t:void 0,o.scalabilityMode=null!=(t=e.scalabilityMode)?t:void 0,o.maxBitrate=null!=(t=e.maxBitrate)?t:void 0,o}};const me={encode:(e,t=i.Writer.create())=>(0!==e.ssrc&&t.uint32(8).uint32(e.ssrc),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={ssrc:0};o.pos<r;){var n=o.uint32();if(n>>>3!=1||8!==n){if(4==(7&n)||0===n)break;o.skipType(7&n)}else a.ssrc=o.uint32()}return a},fromJSON:e=>({ssrc:he(e.ssrc)?globalThis.Number(e.ssrc):0}),toJSON(e){var t={};return 0!==e.ssrc&&(t.ssrc=Math.round(e.ssrc)),t},create:e=>me.fromPartial(null!=e?e:{}),fromPartial(e){var t={ssrc:0};return t.ssrc=null!=(e=e.ssrc)?e:0,t}};const pe={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={cname:void 0,reducedSize:!1};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.cname=o.string();continue;case 2:if(16===n){a.reducedSize=o.bool();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({cname:he(e.cname)?globalThis.String(e.cname):void 0,reducedSize:!!he(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=>pe.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={cname:void 0,reducedSize:!1};return o.cname=null!=(t=e.cname)?t:void 0,o.reducedSize=null!=(t=e.reducedSize)&&t,o}};function he(e){return null!=e}const ve={encode:(e,t=i.Writer.create())=>(0!==e.port&&t.uint32(8).uint32(e.port),0!==e.os&&t.uint32(16).uint32(e.os),0!==e.mis&&t.uint32(24).uint32(e.mis),0!==e.maxMessageSize&&t.uint32(32).uint32(e.maxMessageSize),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={port:0,os:0,mis:0,maxMessageSize:0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(8!==n)break;a.port=o.uint32();continue;case 2:if(16!==n)break;a.os=o.uint32();continue;case 3:if(24!==n)break;a.mis=o.uint32();continue;case 4:if(32===n){a.maxMessageSize=o.uint32();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({port:Ie(e.port)?globalThis.Number(e.port):0,os:Ie(e.os)?globalThis.Number(e.os):0,mis:Ie(e.mis)?globalThis.Number(e.mis):0,maxMessageSize:Ie(e.maxMessageSize)?globalThis.Number(e.maxMessageSize):0}),toJSON(e){var t={};return 0!==e.port&&(t.port=Math.round(e.port)),0!==e.os&&(t.os=Math.round(e.os)),0!==e.mis&&(t.mis=Math.round(e.mis)),0!==e.maxMessageSize&&(t.maxMessageSize=Math.round(e.maxMessageSize)),t},create:e=>ve.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={port:0,os:0,mis:0,maxMessageSize:0};return o.port=null!=(t=e.port)?t:0,o.os=null!=(t=e.os)?t:0,o.mis=null!=(t=e.mis)?t:0,o.maxMessageSize=null!=(t=e.maxMessageSize)?t:0,o}};const ge={encode:(e,t=i.Writer.create())=>(0!==e.streamId&&t.uint32(8).uint32(e.streamId),!1!==e.ordered&&t.uint32(16).bool(e.ordered),void 0!==e.maxPacketLifeTime&&t.uint32(24).uint32(e.maxPacketLifeTime),void 0!==e.maxRetransmits&&t.uint32(32).uint32(e.maxRetransmits),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={streamId:0,ordered:!1,maxPacketLifeTime:void 0,maxRetransmits:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(8!==n)break;a.streamId=o.uint32();continue;case 2:if(16!==n)break;a.ordered=o.bool();continue;case 3:if(24!==n)break;a.maxPacketLifeTime=o.uint32();continue;case 4:if(32===n){a.maxRetransmits=o.uint32();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({streamId:Ie(e.streamId)?globalThis.Number(e.streamId):0,ordered:!!Ie(e.ordered)&&globalThis.Boolean(e.ordered),maxPacketLifeTime:Ie(e.maxPacketLifeTime)?globalThis.Number(e.maxPacketLifeTime):void 0,maxRetransmits:Ie(e.maxRetransmits)?globalThis.Number(e.maxRetransmits):void 0}),toJSON(e){var t={};return 0!==e.streamId&&(t.streamId=Math.round(e.streamId)),!1!==e.ordered&&(t.ordered=e.ordered),void 0!==e.maxPacketLifeTime&&(t.maxPacketLifeTime=Math.round(e.maxPacketLifeTime)),void 0!==e.maxRetransmits&&(t.maxRetransmits=Math.round(e.maxRetransmits)),t},create:e=>ge.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={streamId:0,ordered:!1,maxPacketLifeTime:void 0,maxRetransmits:void 0};return o.streamId=null!=(t=e.streamId)?t:0,o.ordered=null!=(t=e.ordered)&&t,o.maxPacketLifeTime=null!=(t=e.maxPacketLifeTime)?t:void 0,o.maxRetransmits=null!=(t=e.maxRetransmits)?t:void 0,o}};function Ie(e){return null!=e}function fe(e){switch(e){case 0:case"AddPause":return k.AddPause;case 1:case"AddResume":return k.AddResume;case 2:case"Pause":return k.Pause;case 3:case"Resume":return k.Resume;case 4:case"Remove":return k.Remove;default:return k.UNRECOGNIZED}}!function(e){e[e.AddPause=0]="AddPause",e[e.AddResume=1]="AddResume",e[e.Pause=2]="Pause",e[e.Resume=3]="Resume",e[e.Remove=4]="Remove",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(k=k||{});const Te={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={code:0,message:""};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(8!==n)break;a.code=o.uint32();continue;case 2:if(18===n){a.message=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({code:qe(e.code)?globalThis.Number(e.code):0,message:qe(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=>Te.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={code:0,message:""};return o.code=null!=(t=e.code)?t:0,o.message=null!=(t=e.message)?t:"",o}};const ye={encode:(e,t=i.Writer.create())=>(void 0!==e.consumerTransportOptions&&be.encode(e.consumerTransportOptions,t.uint32(10).fork()).ldelim(),void 0!==e.producerTransportOptions&&be.encode(e.producerTransportOptions,t.uint32(18).fork()).ldelim(),void 0!==e.routerRtpCapabilities&&ee.encode(e.routerRtpCapabilities,t.uint32(26).fork()).ldelim(),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={consumerTransportOptions:void 0,producerTransportOptions:void 0,routerRtpCapabilities:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.consumerTransportOptions=be.decode(o,o.uint32());continue;case 2:if(18!==n)break;a.producerTransportOptions=be.decode(o,o.uint32());continue;case 3:if(26===n){a.routerRtpCapabilities=ee.decode(o,o.uint32());continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({consumerTransportOptions:qe(e.consumerTransportOptions)?be.fromJSON(e.consumerTransportOptions):void 0,producerTransportOptions:qe(e.producerTransportOptions)?be.fromJSON(e.producerTransportOptions):void 0,routerRtpCapabilities:qe(e.routerRtpCapabilities)?ee.fromJSON(e.routerRtpCapabilities):void 0}),toJSON(e){var t={};return void 0!==e.consumerTransportOptions&&(t.consumerTransportOptions=be.toJSON(e.consumerTransportOptions)),void 0!==e.producerTransportOptions&&(t.producerTransportOptions=be.toJSON(e.producerTransportOptions)),void 0!==e.routerRtpCapabilities&&(t.routerRtpCapabilities=ee.toJSON(e.routerRtpCapabilities)),t},create:e=>ye.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?be.fromPartial(e.consumerTransportOptions):void 0,t.producerTransportOptions=void 0!==e.producerTransportOptions&&null!==e.producerTransportOptions?be.fromPartial(e.producerTransportOptions):void 0,t.routerRtpCapabilities=void 0!==e.routerRtpCapabilities&&null!==e.routerRtpCapabilities?ee.fromPartial(e.routerRtpCapabilities):void 0,t}};const be={encode(e,t=i.Writer.create()){""!==e.id&&t.uint32(10).string(e.id),void 0!==e.dtlsParameters&&re.encode(e.dtlsParameters,t.uint32(18).fork()).ldelim();for(const o of e.iceCandidates)ne.encode(o,t.uint32(26).fork()).ldelim();return void 0!==e.iceParameters&&se.encode(e.iceParameters,t.uint32(34).fork()).ldelim(),void 0!==e.sctpParameters&&ve.encode(e.sctpParameters,t.uint32(42).fork()).ldelim(),t},decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={id:"",dtlsParameters:void 0,iceCandidates:[],iceParameters:void 0,sctpParameters:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.id=o.string();continue;case 2:if(18!==n)break;a.dtlsParameters=re.decode(o,o.uint32());continue;case 3:if(26!==n)break;a.iceCandidates.push(ne.decode(o,o.uint32()));continue;case 4:if(34!==n)break;a.iceParameters=se.decode(o,o.uint32());continue;case 5:if(42===n){a.sctpParameters=ve.decode(o,o.uint32());continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({id:qe(e.id)?globalThis.String(e.id):"",dtlsParameters:qe(e.dtlsParameters)?re.fromJSON(e.dtlsParameters):void 0,iceCandidates:globalThis.Array.isArray(null==e?void 0:e.iceCandidates)?e.iceCandidates.map((e=>ne.fromJSON(e))):[],iceParameters:qe(e.iceParameters)?se.fromJSON(e.iceParameters):void 0,sctpParameters:qe(e.sctpParameters)?ve.fromJSON(e.sctpParameters):void 0}),toJSON(e){var t,o={};return""!==e.id&&(o.id=e.id),void 0!==e.dtlsParameters&&(o.dtlsParameters=re.toJSON(e.dtlsParameters)),null!=(t=e.iceCandidates)&&t.length&&(o.iceCandidates=e.iceCandidates.map((e=>ne.toJSON(e)))),void 0!==e.iceParameters&&(o.iceParameters=se.toJSON(e.iceParameters)),void 0!==e.sctpParameters&&(o.sctpParameters=ve.toJSON(e.sctpParameters)),o},create:e=>be.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={id:"",dtlsParameters:void 0,iceCandidates:[],iceParameters:void 0,sctpParameters:void 0};return o.id=null!=(t=e.id)?t:"",o.dtlsParameters=void 0!==e.dtlsParameters&&null!==e.dtlsParameters?re.fromPartial(e.dtlsParameters):void 0,o.iceCandidates=(null==(t=e.iceCandidates)?void 0:t.map((e=>ne.fromPartial(e))))||[],o.iceParameters=void 0!==e.iceParameters&&null!==e.iceParameters?se.fromPartial(e.iceParameters):void 0,o.sctpParameters=void 0!==e.sctpParameters&&null!==e.sctpParameters?ve.fromPartial(e.sctpParameters):void 0,o}};const ke={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&&de.encode(e.rtpParameters,t.uint32(42).fork()).ldelim(),!1!==e.producerPaused&&t.uint32(48).bool(e.producerPaused),void 0!==e.speakerId&&t.uint32(58).string(e.speakerId),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={clientId:"",producerId:"",consumerId:"",kind:0,rtpParameters:void 0,producerPaused:!1,speakerId:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.clientId=o.string();continue;case 2:if(18!==n)break;a.producerId=o.string();continue;case 3:if(26!==n)break;a.consumerId=o.string();continue;case 4:if(32!==n)break;a.kind=o.int32();continue;case 5:if(42!==n)break;a.rtpParameters=de.decode(o,o.uint32());continue;case 6:if(48!==n)break;a.producerPaused=o.bool();continue;case 7:if(58===n){a.speakerId=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({clientId:qe(e.clientId)?globalThis.String(e.clientId):"",producerId:qe(e.producerId)?globalThis.String(e.producerId):"",consumerId:qe(e.consumerId)?globalThis.String(e.consumerId):"",kind:qe(e.kind)?G(e.kind):0,rtpParameters:qe(e.rtpParameters)?de.fromJSON(e.rtpParameters):void 0,producerPaused:!!qe(e.producerPaused)&&globalThis.Boolean(e.producerPaused),speakerId:qe(e.speakerId)?globalThis.String(e.speakerId):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=j(e.kind)),void 0!==e.rtpParameters&&(t.rtpParameters=de.toJSON(e.rtpParameters)),!1!==e.producerPaused&&(t.producerPaused=e.producerPaused),void 0!==e.speakerId&&(t.speakerId=e.speakerId),t},create:e=>ke.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={clientId:"",producerId:"",consumerId:"",kind:0,rtpParameters:void 0,producerPaused:!1,speakerId:void 0};return o.clientId=null!=(t=e.clientId)?t:"",o.producerId=null!=(t=e.producerId)?t:"",o.consumerId=null!=(t=e.consumerId)?t:"",o.kind=null!=(t=e.kind)?t:0,o.rtpParameters=void 0!==e.rtpParameters&&null!==e.rtpParameters?de.fromPartial(e.rtpParameters):void 0,o.producerPaused=null!=(t=e.producerPaused)&&t,o.speakerId=null!=(t=e.speakerId)?t:void 0,o}};const Ee={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.speakerId&&t.uint32(26).string(e.speakerId),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={clientId:"",consumerId:"",speakerId:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.clientId=o.string();continue;case 2:if(18!==n)break;a.consumerId=o.string();continue;case 3:if(26===n){a.speakerId=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({clientId:qe(e.clientId)?globalThis.String(e.clientId):"",consumerId:qe(e.consumerId)?globalThis.String(e.consumerId):"",speakerId:qe(e.speakerId)?globalThis.String(e.speakerId):void 0}),toJSON(e){var t={};return""!==e.clientId&&(t.clientId=e.clientId),""!==e.consumerId&&(t.consumerId=e.consumerId),void 0!==e.speakerId&&(t.speakerId=e.speakerId),t},create:e=>Ee.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={clientId:"",consumerId:"",speakerId:void 0};return o.clientId=null!=(t=e.clientId)?t:"",o.consumerId=null!=(t=e.consumerId)?t:"",o.speakerId=null!=(t=e.speakerId)?t:void 0,o}};const Ce={encode:(e,t=i.Writer.create())=>(""!==e.clientId&&t.uint32(10).string(e.clientId),0!==e.state&&t.uint32(16).int32(e.state),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={clientId:"",state:0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.clientId=o.string();continue;case 2:if(16===n){a.state=o.int32();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({clientId:qe(e.clientId)?globalThis.String(e.clientId):"",state:qe(e.state)?fe(e.state):0}),toJSON(e){var t={};return""!==e.clientId&&(t.clientId=e.clientId),0!==e.state&&(t.state=function(e){switch(e){case k.AddPause:return"AddPause";case k.AddResume:return"AddResume";case k.Pause:return"Pause";case k.Resume:return"Resume";case k.Remove:return"Remove";default:return k.UNRECOGNIZED,"UNRECOGNIZED"}}(e.state)),t},create:e=>Ce.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={clientId:"",state:0};return o.clientId=null!=(t=e.clientId)?t:"",o.state=null!=(t=e.state)?t:0,o}};const Re={encode(e,t=i.Writer.create()){0!==e.kind&&t.uint32(8).int32(e.kind),0!==e.sequence&&t.uint32(16).uint32(e.sequence);for(const o of e.sources)Ce.encode(o,t.uint32(26).fork()).ldelim();return t},decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={kind:0,sequence:0,sources:[]};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(8!==n)break;a.kind=o.int32();continue;case 2:if(16!==n)break;a.sequence=o.uint32();continue;case 3:if(26===n){a.sources.push(Ce.decode(o,o.uint32()));continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({kind:qe(e.kind)?G(e.kind):0,sequence:qe(e.sequence)?globalThis.Number(e.sequence):0,sources:globalThis.Array.isArray(null==e?void 0:e.sources)?e.sources.map((e=>Ce.fromJSON(e))):[]}),toJSON(e){var t,o={};return 0!==e.kind&&(o.kind=j(e.kind)),0!==e.sequence&&(o.sequence=Math.round(e.sequence)),null!=(t=e.sources)&&t.length&&(o.sources=e.sources.map((e=>Ce.toJSON(e)))),o},create:e=>Re.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={kind:0,sequence:0,sources:[]};return o.kind=null!=(t=e.kind)?t:0,o.sequence=null!=(t=e.sequence)?t:0,o.sources=(null==(t=e.sources)?void 0:t.map((e=>Ce.fromPartial(e))))||[],o}};const Se={encode(e,t=i.Writer.create()){0!==e.sequence&&t.uint32(8).uint32(e.sequence),0!==e.width&&t.uint32(16).uint32(e.width),0!==e.height&&t.uint32(24).uint32(e.height);for(const o of e.clients)Pe.encode(o,t.uint32(34).fork()).ldelim();return t},decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={sequence:0,width:0,height:0,clients:[]};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(8!==n)break;a.sequence=o.uint32();continue;case 2:if(16!==n)break;a.width=o.uint32();continue;case 3:if(24!==n)break;a.height=o.uint32();continue;case 4:if(34===n){a.clients.push(Pe.decode(o,o.uint32()));continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({sequence:qe(e.sequence)?globalThis.Number(e.sequence):0,width:qe(e.width)?globalThis.Number(e.width):0,height:qe(e.height)?globalThis.Number(e.height):0,clients:globalThis.Array.isArray(null==e?void 0:e.clients)?e.clients.map((e=>Pe.fromJSON(e))):[]}),toJSON(e){var t,o={};return 0!==e.sequence&&(o.sequence=Math.round(e.sequence)),0!==e.width&&(o.width=Math.round(e.width)),0!==e.height&&(o.height=Math.round(e.height)),null!=(t=e.clients)&&t.length&&(o.clients=e.clients.map((e=>Pe.toJSON(e)))),o},create:e=>Se.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={sequence:0,width:0,height:0,clients:[]};return o.sequence=null!=(t=e.sequence)?t:0,o.width=null!=(t=e.width)?t:0,o.height=null!=(t=e.height)?t:0,o.clients=(null==(t=e.clients)?void 0:t.map((e=>Pe.fromPartial(e))))||[],o}};const Pe={encode:(e,t=i.Writer.create())=>(""!==e.clientId&&t.uint32(10).string(e.clientId),0!==e.width&&t.uint32(16).uint32(e.width),0!==e.height&&t.uint32(24).uint32(e.height),0!==e.xpos&&t.uint32(32).uint32(e.xpos),0!==e.ypos&&t.uint32(40).uint32(e.ypos),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={clientId:"",width:0,height:0,xpos:0,ypos:0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.clientId=o.string();continue;case 2:if(16!==n)break;a.width=o.uint32();continue;case 3:if(24!==n)break;a.height=o.uint32();continue;case 4:if(32!==n)break;a.xpos=o.uint32();continue;case 5:if(40===n){a.ypos=o.uint32();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({clientId:qe(e.clientId)?globalThis.String(e.clientId):"",width:qe(e.width)?globalThis.Number(e.width):0,height:qe(e.height)?globalThis.Number(e.height):0,xpos:qe(e.xpos)?globalThis.Number(e.xpos):0,ypos:qe(e.ypos)?globalThis.Number(e.ypos):0}),toJSON(e){var t={};return""!==e.clientId&&(t.clientId=e.clientId),0!==e.width&&(t.width=Math.round(e.width)),0!==e.height&&(t.height=Math.round(e.height)),0!==e.xpos&&(t.xpos=Math.round(e.xpos)),0!==e.ypos&&(t.ypos=Math.round(e.ypos)),t},create:e=>Pe.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={clientId:"",width:0,height:0,xpos:0,ypos:0};return o.clientId=null!=(t=e.clientId)?t:"",o.width=null!=(t=e.width)?t:0,o.height=null!=(t=e.height)?t:0,o.xpos=null!=(t=e.xpos)?t:0,o.ypos=null!=(t=e.ypos)?t:0,o}};const Me={encode:(e,t=i.Writer.create())=>(""!==e.roomId&&t.uint32(10).string(e.roomId),""!==e.mode&&t.uint32(18).string(e.mode),void 0!==e.clientId&&t.uint32(26).string(e.clientId),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={roomId:"",mode:"",clientId:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.roomId=o.string();continue;case 2:if(18!==n)break;a.mode=o.string();continue;case 3:if(26===n){a.clientId=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({roomId:qe(e.roomId)?globalThis.String(e.roomId):"",mode:qe(e.mode)?globalThis.String(e.mode):"",clientId:qe(e.clientId)?globalThis.String(e.clientId):void 0}),toJSON(e){var t={};return""!==e.roomId&&(t.roomId=e.roomId),""!==e.mode&&(t.mode=e.mode),void 0!==e.clientId&&(t.clientId=e.clientId),t},create:e=>Me.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={roomId:"",mode:"",clientId:void 0};return o.roomId=null!=(t=e.roomId)?t:"",o.mode=null!=(t=e.mode)?t:"",o.clientId=null!=(t=e.clientId)?t:void 0,o}};const we={encode:(e,t=i.Writer.create())=>(""!==e.clientId&&t.uint32(10).string(e.clientId),""!==e.dataProducerId&&t.uint32(18).string(e.dataProducerId),""!==e.dataConsumerId&&t.uint32(26).string(e.dataConsumerId),void 0!==e.sctpStreamParameters&&ge.encode(e.sctpStreamParameters,t.uint32(34).fork()).ldelim(),""!==e.label&&t.uint32(42).string(e.label),""!==e.protocol&&t.uint32(50).string(e.protocol),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={clientId:"",dataProducerId:"",dataConsumerId:"",sctpStreamParameters:void 0,label:"",protocol:""};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.clientId=o.string();continue;case 2:if(18!==n)break;a.dataProducerId=o.string();continue;case 3:if(26!==n)break;a.dataConsumerId=o.string();continue;case 4:if(34!==n)break;a.sctpStreamParameters=ge.decode(o,o.uint32());continue;case 5:if(42!==n)break;a.label=o.string();continue;case 6:if(50===n){a.protocol=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({clientId:qe(e.clientId)?globalThis.String(e.clientId):"",dataProducerId:qe(e.dataProducerId)?globalThis.String(e.dataProducerId):"",dataConsumerId:qe(e.dataConsumerId)?globalThis.String(e.dataConsumerId):"",sctpStreamParameters:qe(e.sctpStreamParameters)?ge.fromJSON(e.sctpStreamParameters):void 0,label:qe(e.label)?globalThis.String(e.label):"",protocol:qe(e.protocol)?globalThis.String(e.protocol):""}),toJSON(e){var t={};return""!==e.clientId&&(t.clientId=e.clientId),""!==e.dataProducerId&&(t.dataProducerId=e.dataProducerId),""!==e.dataConsumerId&&(t.dataConsumerId=e.dataConsumerId),void 0!==e.sctpStreamParameters&&(t.sctpStreamParameters=ge.toJSON(e.sctpStreamParameters)),""!==e.label&&(t.label=e.label),""!==e.protocol&&(t.protocol=e.protocol),t},create:e=>we.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={clientId:"",dataProducerId:"",dataConsumerId:"",sctpStreamParameters:void 0,label:"",protocol:""};return o.clientId=null!=(t=e.clientId)?t:"",o.dataProducerId=null!=(t=e.dataProducerId)?t:"",o.dataConsumerId=null!=(t=e.dataConsumerId)?t:"",o.sctpStreamParameters=void 0!==e.sctpStreamParameters&&null!==e.sctpStreamParameters?ge.fromPartial(e.sctpStreamParameters):void 0,o.label=null!=(t=e.label)?t:"",o.protocol=null!=(t=e.protocol)?t:"",o}};const Ne={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={token:"",forceTcp:!1};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.token=o.string();continue;case 2:if(16===n){a.forceTcp=o.bool();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({token:qe(e.token)?globalThis.String(e.token):"",forceTcp:!!qe(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=>Ne.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={token:"",forceTcp:!1};return o.token=null!=(t=e.token)?t:"",o.forceTcp=null!=(t=e.forceTcp)&&t,o}};const Ae={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&&de.encode(e.rtpParameters,t.uint32(26).fork()).ldelim(),!1!==e.paused&&t.uint32(32).bool(e.paused),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={tag:"",kind:0,rtpParameters:void 0,paused:!1};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.tag=o.string();continue;case 2:if(16!==n)break;a.kind=o.int32();continue;case 3:if(26!==n)break;a.rtpParameters=de.decode(o,o.uint32());continue;case 4:if(32===n){a.paused=o.bool();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({tag:qe(e.tag)?globalThis.String(e.tag):"",kind:qe(e.kind)?G(e.kind):0,rtpParameters:qe(e.rtpParameters)?de.fromJSON(e.rtpParameters):void 0,paused:!!qe(e.paused)&&globalThis.Boolean(e.paused)}),toJSON(e){var t={};return""!==e.tag&&(t.tag=e.tag),0!==e.kind&&(t.kind=j(e.kind)),void 0!==e.rtpParameters&&(t.rtpParameters=de.toJSON(e.rtpParameters)),!1!==e.paused&&(t.paused=e.paused),t},create:e=>Ae.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={tag:"",kind:0,rtpParameters:void 0,paused:!1};return o.tag=null!=(t=e.tag)?t:"",o.kind=null!=(t=e.kind)?t:0,o.rtpParameters=void 0!==e.rtpParameters&&null!==e.rtpParameters?de.fromPartial(e.rtpParameters):void 0,o.paused=null!=(t=e.paused)&&t,o}};const Oe={encode:(e,t=i.Writer.create())=>(""!==e.roomId&&t.uint32(10).string(e.roomId),""!==e.clientId&&t.uint32(18).string(e.clientId),0!==e.streamType&&t.uint32(24).int32(e.streamType),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={roomId:"",clientId:"",streamType:0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.roomId=o.string();continue;case 2:if(18!==n)break;a.clientId=o.string();continue;case 3:if(24===n){a.streamType=o.int32();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({roomId:qe(e.roomId)?globalThis.String(e.roomId):"",clientId:qe(e.clientId)?globalThis.String(e.clientId):"",streamType:qe(e.streamType)?globalThis.Number(e.streamType):0}),toJSON(e){var t={};return""!==e.roomId&&(t.roomId=e.roomId),""!==e.clientId&&(t.clientId=e.clientId),0!==e.streamType&&(t.streamType=Math.round(e.streamType)),t},create:e=>Oe.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={roomId:"",clientId:"",streamType:0};return o.roomId=null!=(t=e.roomId)?t:"",o.clientId=null!=(t=e.clientId)?t:"",o.streamType=null!=(t=e.streamType)?t:0,o}};const De={encode:(e,t=i.Writer.create())=>(""!==e.clientId&&t.uint32(10).string(e.clientId),0!==e.mediaType&&t.uint32(16).int32(e.mediaType),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={clientId:"",mediaType:0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.clientId=o.string();continue;case 2:if(16===n){a.mediaType=o.int32();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({clientId:qe(e.clientId)?globalThis.String(e.clientId):"",mediaType:qe(e.mediaType)?globalThis.Number(e.mediaType):0}),toJSON(e){var t={};return""!==e.clientId&&(t.clientId=e.clientId),0!==e.mediaType&&(t.mediaType=Math.round(e.mediaType)),t},create:e=>De.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={clientId:"",mediaType:0};return o.clientId=null!=(t=e.clientId)?t:"",o.mediaType=null!=(t=e.mediaType)?t:0,o}};const xe={encode(e,t=i.Writer.create()){for(const o of e.dates)Be.encode(o,t.uint32(10).fork()).ldelim();return t},decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={dates:[]};o.pos<r;){var n=o.uint32();if(n>>>3!=1||10!==n){if(4==(7&n)||0===n)break;o.skipType(7&n)}else a.dates.push(Be.decode(o,o.uint32()))}return a},fromJSON:e=>({dates:globalThis.Array.isArray(null==e?void 0:e.dates)?e.dates.map((e=>Be.fromJSON(e))):[]}),toJSON(e){var t,o={};return null!=(t=e.dates)&&t.length&&(o.dates=e.dates.map((e=>Be.toJSON(e)))),o},create:e=>xe.fromPartial(null!=e?e:{}),fromPartial(e){var t={dates:[]};return t.dates=(null==(e=e.dates)?void 0:e.map((e=>Be.fromPartial(e))))||[],t}};const Be={encode(e,t=i.Writer.create()){void 0!==e.date&&t.uint32(10).string(e.date),void 0!==e.count&&t.uint32(16).int32(e.count);for(const o of e.items)Ve.encode(o,t.uint32(26).fork()).ldelim();return t},decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={date:void 0,count:void 0,items:[]};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.date=o.string();continue;case 2:if(16!==n)break;a.count=o.int32();continue;case 3:if(26===n){a.items.push(Ve.decode(o,o.uint32()));continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({date:qe(e.date)?globalThis.String(e.date):void 0,count:qe(e.count)?globalThis.Number(e.count):void 0,items:globalThis.Array.isArray(null==e?void 0:e.items)?e.items.map((e=>Ve.fromJSON(e))):[]}),toJSON(e){var t,o={};return void 0!==e.date&&(o.date=e.date),void 0!==e.count&&(o.count=Math.round(e.count)),null!=(t=e.items)&&t.length&&(o.items=e.items.map((e=>Ve.toJSON(e)))),o},create:e=>Be.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={date:void 0,count:void 0,items:[]};return o.date=null!=(t=e.date)?t:void 0,o.count=null!=(t=e.count)?t:void 0,o.items=(null==(t=e.items)?void 0:t.map((e=>Ve.fromPartial(e))))||[],o}};const Ve={encode:(e,t=i.Writer.create())=>(void 0!==e.channelNo&&t.uint32(10).string(e.channelNo),void 0!==e.startTime&&t.uint32(18).string(e.startTime),void 0!==e.endTime&&t.uint32(26).string(e.endTime),void 0!==e.warnBit&&t.uint32(32).int64(e.warnBit),void 0!==e.mediaType&&t.uint32(40).int32(e.mediaType),void 0!==e.streamType&&t.uint32(48).int32(e.streamType),void 0!==e.storageType&&t.uint32(56).int32(e.storageType),void 0!==e.size&&t.uint32(64).int64(e.size),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={channelNo:void 0,startTime:void 0,endTime:void 0,warnBit:void 0,mediaType:void 0,streamType:void 0,storageType:void 0,size:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.channelNo=o.string();continue;case 2:if(18!==n)break;a.startTime=o.string();continue;case 3:if(26!==n)break;a.endTime=o.string();continue;case 4:if(32!==n)break;a.warnBit=Fe(o.int64());continue;case 5:if(40!==n)break;a.mediaType=o.int32();continue;case 6:if(48!==n)break;a.streamType=o.int32();continue;case 7:if(56!==n)break;a.storageType=o.int32();continue;case 8:if(64===n){a.size=Fe(o.int64());continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({channelNo:qe(e.channelNo)?globalThis.String(e.channelNo):void 0,startTime:qe(e.startTime)?globalThis.String(e.startTime):void 0,endTime:qe(e.endTime)?globalThis.String(e.endTime):void 0,warnBit:qe(e.warnBit)?globalThis.Number(e.warnBit):void 0,mediaType:qe(e.mediaType)?globalThis.Number(e.mediaType):void 0,streamType:qe(e.streamType)?globalThis.Number(e.streamType):void 0,storageType:qe(e.storageType)?globalThis.Number(e.storageType):void 0,size:qe(e.size)?globalThis.Number(e.size):void 0}),toJSON(e){var t={};return void 0!==e.channelNo&&(t.channelNo=e.channelNo),void 0!==e.startTime&&(t.startTime=e.startTime),void 0!==e.endTime&&(t.endTime=e.endTime),void 0!==e.warnBit&&(t.warnBit=Math.round(e.warnBit)),void 0!==e.mediaType&&(t.mediaType=Math.round(e.mediaType)),void 0!==e.streamType&&(t.streamType=Math.round(e.streamType)),void 0!==e.storageType&&(t.storageType=Math.round(e.storageType)),void 0!==e.size&&(t.size=Math.round(e.size)),t},create:e=>Ve.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={channelNo:void 0,startTime:void 0,endTime:void 0,warnBit:void 0,mediaType:void 0,streamType:void 0,storageType:void 0,size:void 0};return o.channelNo=null!=(t=e.channelNo)?t:void 0,o.startTime=null!=(t=e.startTime)?t:void 0,o.endTime=null!=(t=e.endTime)?t:void 0,o.warnBit=null!=(t=e.warnBit)?t:void 0,o.mediaType=null!=(t=e.mediaType)?t:void 0,o.streamType=null!=(t=e.streamType)?t:void 0,o.storageType=null!=(t=e.storageType)?t:void 0,o.size=null!=(t=e.size)?t:void 0,o}};const _e={encode:(e,t=i.Writer.create())=>(""!==e.clientId&&t.uint32(10).string(e.clientId),""!==e.channelNo&&t.uint32(18).string(e.channelNo),0!==e.mediaType&&t.uint32(24).int32(e.mediaType),0!==e.playbackMode&&t.uint32(32).int32(e.playbackMode),0!==e.playbackSpeed&&t.uint32(40).int32(e.playbackSpeed),""!==e.startTime&&t.uint32(50).string(e.startTime),""!==e.endTime&&t.uint32(58).string(e.endTime),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={clientId:"",channelNo:"",mediaType:0,playbackMode:0,playbackSpeed:0,startTime:"",endTime:""};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.clientId=o.string();continue;case 2:if(18!==n)break;a.channelNo=o.string();continue;case 3:if(24!==n)break;a.mediaType=o.int32();continue;case 4:if(32!==n)break;a.playbackMode=o.int32();continue;case 5:if(40!==n)break;a.playbackSpeed=o.int32();continue;case 6:if(50!==n)break;a.startTime=o.string();continue;case 7:if(58===n){a.endTime=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({clientId:qe(e.clientId)?globalThis.String(e.clientId):"",channelNo:qe(e.channelNo)?globalThis.String(e.channelNo):"",mediaType:qe(e.mediaType)?globalThis.Number(e.mediaType):0,playbackMode:qe(e.playbackMode)?globalThis.Number(e.playbackMode):0,playbackSpeed:qe(e.playbackSpeed)?globalThis.Number(e.playbackSpeed):0,startTime:qe(e.startTime)?globalThis.String(e.startTime):"",endTime:qe(e.endTime)?globalThis.String(e.endTime):""}),toJSON(e){var t={};return""!==e.clientId&&(t.clientId=e.clientId),""!==e.channelNo&&(t.channelNo=e.channelNo),0!==e.mediaType&&(t.mediaType=Math.round(e.mediaType)),0!==e.playbackMode&&(t.playbackMode=Math.round(e.playbackMode)),0!==e.playbackSpeed&&(t.playbackSpeed=Math.round(e.playbackSpeed)),""!==e.startTime&&(t.startTime=e.startTime),""!==e.endTime&&(t.endTime=e.endTime),t},create:e=>_e.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={clientId:"",channelNo:"",mediaType:0,playbackMode:0,playbackSpeed:0,startTime:"",endTime:""};return o.clientId=null!=(t=e.clientId)?t:"",o.channelNo=null!=(t=e.channelNo)?t:"",o.mediaType=null!=(t=e.mediaType)?t:0,o.playbackMode=null!=(t=e.playbackMode)?t:0,o.playbackSpeed=null!=(t=e.playbackSpeed)?t:0,o.startTime=null!=(t=e.startTime)?t:"",o.endTime=null!=(t=e.endTime)?t:"",o}};const Le={encode:(e,t=i.Writer.create())=>(void 0!==e.roomId&&t.uint32(10).string(e.roomId),""!==e.clientId&&t.uint32(18).string(e.clientId),""!==e.channelNo&&t.uint32(26).string(e.channelNo),0!==e.playbackMode&&t.uint32(32).int32(e.playbackMode),void 0!==e.playbackSpeed&&t.uint32(40).int32(e.playbackSpeed),void 0!==e.playbackTime&&t.uint32(50).string(e.playbackTime),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={roomId:void 0,clientId:"",channelNo:"",playbackMode:0,playbackSpeed:void 0,playbackTime:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.roomId=o.string();continue;case 2:if(18!==n)break;a.clientId=o.string();continue;case 3:if(26!==n)break;a.channelNo=o.string();continue;case 4:if(32!==n)break;a.playbackMode=o.int32();continue;case 5:if(40!==n)break;a.playbackSpeed=o.int32();continue;case 6:if(50===n){a.playbackTime=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({roomId:qe(e.roomId)?globalThis.String(e.roomId):void 0,clientId:qe(e.clientId)?globalThis.String(e.clientId):"",channelNo:qe(e.channelNo)?globalThis.String(e.channelNo):"",playbackMode:qe(e.playbackMode)?globalThis.Number(e.playbackMode):0,playbackSpeed:qe(e.playbackSpeed)?globalThis.Number(e.playbackSpeed):void 0,playbackTime:qe(e.playbackTime)?globalThis.String(e.playbackTime):void 0}),toJSON(e){var t={};return void 0!==e.roomId&&(t.roomId=e.roomId),""!==e.clientId&&(t.clientId=e.clientId),""!==e.channelNo&&(t.channelNo=e.channelNo),0!==e.playbackMode&&(t.playbackMode=Math.round(e.playbackMode)),void 0!==e.playbackSpeed&&(t.playbackSpeed=Math.round(e.playbackSpeed)),void 0!==e.playbackTime&&(t.playbackTime=e.playbackTime),t},create:e=>Le.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={roomId:void 0,clientId:"",channelNo:"",playbackMode:0,playbackSpeed:void 0,playbackTime:void 0};return o.roomId=null!=(t=e.roomId)?t:void 0,o.clientId=null!=(t=e.clientId)?t:"",o.channelNo=null!=(t=e.channelNo)?t:"",o.playbackMode=null!=(t=e.playbackMode)?t:0,o.playbackSpeed=null!=(t=e.playbackSpeed)?t:void 0,o.playbackTime=null!=(t=e.playbackTime)?t:void 0,o}};const Je={encode:(e,t=i.Writer.create())=>(""!==e.clientId&&t.uint32(10).string(e.clientId),""!==e.channelNo&&t.uint32(18).string(e.channelNo),0!==e.mediaType&&t.uint32(24).int32(e.mediaType),""!==e.startTime&&t.uint32(34).string(e.startTime),""!==e.endTime&&t.uint32(42).string(e.endTime),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={clientId:"",channelNo:"",mediaType:0,startTime:"",endTime:""};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.clientId=o.string();continue;case 2:if(18!==n)break;a.channelNo=o.string();continue;case 3:if(24!==n)break;a.mediaType=o.int32();continue;case 4:if(34!==n)break;a.startTime=o.string();continue;case 5:if(42===n){a.endTime=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({clientId:qe(e.clientId)?globalThis.String(e.clientId):"",channelNo:qe(e.channelNo)?globalThis.String(e.channelNo):"",mediaType:qe(e.mediaType)?globalThis.Number(e.mediaType):0,startTime:qe(e.startTime)?globalThis.String(e.startTime):"",endTime:qe(e.endTime)?globalThis.String(e.endTime):""}),toJSON(e){var t={};return""!==e.clientId&&(t.clientId=e.clientId),""!==e.channelNo&&(t.channelNo=e.channelNo),0!==e.mediaType&&(t.mediaType=Math.round(e.mediaType)),""!==e.startTime&&(t.startTime=e.startTime),""!==e.endTime&&(t.endTime=e.endTime),t},create:e=>Je.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={clientId:"",channelNo:"",mediaType:0,startTime:"",endTime:""};return o.clientId=null!=(t=e.clientId)?t:"",o.channelNo=null!=(t=e.channelNo)?t:"",o.mediaType=null!=(t=e.mediaType)?t:0,o.startTime=null!=(t=e.startTime)?t:"",o.endTime=null!=(t=e.endTime)?t:"",o}};const Ue={encode:(e,t=i.Writer.create())=>(""!==e.id&&t.uint32(10).string(e.id),0!==e.sequence&&t.uint32(16).uint32(e.sequence),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={id:"",sequence:0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.id=o.string();continue;case 2:if(16===n){a.sequence=o.uint32();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({id:qe(e.id)?globalThis.String(e.id):"",sequence:qe(e.sequence)?globalThis.Number(e.sequence):0}),toJSON(e){var t={};return""!==e.id&&(t.id=e.id),0!==e.sequence&&(t.sequence=Math.round(e.sequence)),t},create:e=>Ue.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={id:"",sequence:0};return o.id=null!=(t=e.id)?t:"",o.sequence=null!=(t=e.sequence)?t:0,o}};function Fe(e){if(e.gt(globalThis.Number.MAX_SAFE_INTEGER))throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");if(e.lt(globalThis.Number.MIN_SAFE_INTEGER))throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER");return e.toNumber()}function qe(e){return null!=e}i.util.Long!==t&&(i.util.Long=t,i.configure());const We="HY-RTC-CORE-V3";localStorage&&(localStorage.debug="hy-rtc-core-v3:*,mediasoup-client:*,mediaclient:*");class Ge{constructor(e){e?(this._debug=r(We+":"+e),this._warn=r(We+":WARN:"+e),this._error=r(We+":ERROR:"+e)):(this._debug=r(We),this._warn=r(We+":WARN"),this._error=r(We+":ERROR")),this._debug.log=console.info.bind(console),this._warn.log=console.warn.bind(console),this._error.log=console.error.bind(console)}get debug(){return this._debug}get warn(){return this._warn}get error(){return this._error}}!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",e[e.VideoMeeting=13]="VideoMeeting",e[e.FlvMonitor=14]="FlvMonitor",e[e.SipPhoneCall=15]="SipPhoneCall",e[e.BeSipPhoneCall=16]="BeSipPhoneCall",e[e.JT1078SourcesPlayback=17]="JT1078SourcesPlayback",e[e.MixerMeeting=18]="MixerMeeting"}(E=E||{}),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_",e.VideoMeeting="hy_rtc_video_meeting_",e.H265Canvas="hy_rtc_h265_canvas_",e.VirtualBackgroundTmpVideo="hy_rtc_video_virtual_background_",e.VirtualBackgroundTmpCanvas="hy_rtc_canvas_virtual_background_",e.FlvMonitor="hy_rtc_flv_monitor_",e.JT1078SourcesPlayback="hy_rtc_jt1078_sources_playback_",e.SipPhoneCall="hy_rtc_sip_phone_call_",e.BeSipPhoneCall="hy_rtc_sip_phone_be_call_",e.MixerMeeting="hy_rtc_mixer_meeting_"}(C=C||{}),function(e){e[e.DeviceNotResponse=4001]="DeviceNotResponse",e[e.RoomTimeout=4002]="RoomTimeout",e[e.RoomIsExist=4100]="RoomIsExist",e[e.DeviceNotExist=4101]="DeviceNotExist",e[e.JoinRoomFailed=4200]="JoinRoomFailed",e[e.RoomDestroy=4102]="RoomDestroy",e[e.PsStreamFailedPrecondition=4103]="PsStreamFailedPrecondition",e[e.NetworkError=4312]="NetworkError",e[e.MediaEncodingFormatError=4313]="MediaEncodingFormatError",e[e.connectionTimeout=4314]="connectionTimeout",e[e.ProducerVideoResumeFailed=4315]="ProducerVideoResumeFailed",e[e.ProducerAudioResumeFailed=4316]="ProducerAudioResumeFailed",e[e.ConsumerVideoConnected=4318]="ConsumerVideoConnected",e[e.ConsumerVideoConnectionTimeout=4319]="ConsumerVideoConnectionTimeout",e[e.ConsumerVideoLag=4320]="ConsumerVideoLag",e[e.ConsumerVideoResume=4321]="ConsumerVideoResume",e[e.ConsumerVideoInterpupt=4322]="ConsumerVideoInterpupt",e[e.ConsumerVideoAbnormal=4323]="ConsumerVideoAbnormal",e[e.ProducerTrackCreated=4324]="ProducerTrackCreated",e[e.CompositorLayoutChanged=4325]="CompositorLayoutChanged"}(R=R||{}),function(e){e.DeviceNotResponse="设备未响应",e.RoomTimeout="加入房间超时",e.RoomIsExist="房间已存在",e.DeviceNotExist="设备不存在",e.JoinRoomFailed="加入房间失败",e.RoomDestroy="房间已销毁",e.PsStreamFailedPrecondition="设备未发送媒体数据",e.NetworkError="网络错误",e.MediaEncodingFormatError="媒体编码格式错误",e.connectionTimeout="连接超时",e.ProducerVideoResumeFailed="视频生产恢复失败",e.ProducerAudioResumeFailed="音频生产恢复失败",e.ConsumerVideoLag="视频消费卡顿",e.ConsumerVideoResume="视频消费恢复",e.ConsumerVideoInterpupt="视频消费中断",e.ConsumerVideoAbnormal="视频消费异常",e.ConsumerVideoConnected="视频消费已连接",e.ConsumerVideoConnectionTimeout="视频消费连接超时",e.ProducerTrackCreated="生产通道创建完成",e.CompositorLayoutChanged="视频混流画⾯布局变化通知"}(S=S||{}),function(e){e[e.PCMU=2]="PCMU",e[e.PCMA=3]="PCMA",e[e.G722=5]="G722",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.H265WASM=204]="H265WASM"}(P=P||{}),function(e){e[e.PTZ_STOP=0]="PTZ_STOP",e[e.PTZ_ZOOM_OUT=1]="PTZ_ZOOM_OUT",e[e.PTZ_ZOOM_IN=2]="PTZ_ZOOM_IN",e[e.PTZ_UP=3]="PTZ_UP",e[e.PTZ_DOWN=4]="PTZ_DOWN",e[e.PTZ_LEFT=5]="PTZ_LEFT",e[e.PTZ_RIGHT=6]="PTZ_RIGHT",e[e.PTZ_LEFT_UP=7]="PTZ_LEFT_UP",e[e.PTZ_RIGHT_UP=8]="PTZ_RIGHT_UP",e[e.PTZ_LEFT_DOWN=9]="PTZ_LEFT_DOWN",e[e.PTZ_RIGHT_DOWN=10]="PTZ_RIGHT_DOWN",e[e.FI_STOP=11]="FI_STOP",e[e.FI_IRIS_ZOOM_OUT=12]="FI_IRIS_ZOOM_OUT",e[e.FI_IRIS_ZOOM_IN=13]="FI_IRIS_ZOOM_IN",e[e.FI_FOCUS_NEAR=14]="FI_FOCUS_NEAR",e[e.FI_FOCUS_FAR=15]="FI_FOCUS_FAR",e[e.PRESET_SET=16]="PRESET_SET",e[e.PRESET_USE=17]="PRESET_USE",e[e.PRESET_DEL=18]="PRESET_DEL"}(M=M||{}),function(e){e[e.Init=0]="Init",e[e.Joining=1]="Joining",e[e.Joined=2]="Joined",e[e.Closed=3]="Closed",e[e.Timeout=4]="Timeout"}(w=w||{});const je=["audioCall","videoCall"];function $e(e,t,o){var{clientId:o,event:i,roomId:r,kind:a}=o;t=`client/${t}/mediaapp/${r}/${je[a]}Event`;e.emit("send",{topic:t,messageType:"AudioCallEvent",message:{clientId:o,event:i},options:{noResponse:!0}})}function He(e,t,o){return new Promise(((i,r)=>{const{roomId:a,producerId:n,sequence:s}=o;e.emit("send",{topic:`client/${t}/media/${a}/producerResume`,messageType:"StateChangeRequest",message:{id:n,sequence:s},responseMessageType:"Empty",callback:({messageContent:e,code:t})=>{t?r({code:4202,msg:e.message}):(console.log("consumerResume success"),i({producerId:n}))}})}))}function Ze(e,t,o){return new Promise(((i,r)=>{const{roomId:a,consumerId:n,sequence:s}=o;e.emit("send",{topic:`client/${t}/media/${a}/consumerPause`,messageType:"StateChangeRequest",message:{id:n,sequence:s},responseMessageType:"Empty",callback:({messageContent:e,code:t})=>{t?r({code:4204,msg:e.message}):(console.log("consumerPause success"),i({consumerId:n}))}})}))}function ze(e,t,o){return new Promise(((i,r)=>{const{roomId:a,consumerId:n,sequence:s}=o;e.emit("send",{topic:`client/${t}/media/${a}/consumerResume`,messageType:"StateChangeRequest",message:{id:n,sequence:s},responseMessageType:"Empty",callback:({messageContent:e,code:t})=>{t?r({code:4206,msg:e.message}):(console.log("consumerResume success"),i({consumerId:n}))}})}))}function Xe(e,t,o){return new Promise(((i,r)=>{const{roomId:a,producerId:n,sequence:s}=o;e.emit("send",{topic:`client/${t}/media/${a}/producerPause`,messageType:"StateChangeRequest",message:{id:n,sequence:s},responseMessageType:"Empty",callback:()=>{console.log("consumerResume success"),i({producerId:n})}})}))}function Ke(e){switch(e){case h.Opus:return"audio/opus";case h.MultiChannelOpus:return"audio/multiopus";case h.Pcmu:return"audio/PCMU";case h.Pcma:return"audio/PCMA";case h.Isac:return"audio/ISAC";case h.G722:return"audio/G722";case h.Ilbc:return"audio/iLBC";case h.Silk:return"audio/SILK";case h.Cn:return"audio/CN";case h.TelephoneEvent:return"audio/telephone-event";case h.ARtx:return"audio/rtx";case h.ARed:return"audio/red";case h.Vp8:return"video/VP8";case h.Vp9:return"video/VP9";case h.H264:return"video/H264";case h.H265:return"video/H265";case h.AV1:return"video/AV1";case h.VRtx:return"video/rtx";case h.VRed:return"video/red";case h.Ulpfec:return"video/ulpfec";default:return}}function Ye(e){switch(e){case"audio/opus":return h.Opus;case"audio/multiopus":return h.MultiChannelOpus;case"audio/PCMU":return h.Pcmu;case"audio/PCMA":return h.Pcma;case"audio/ISAC":return h.Isac;case"audio/G722":return h.G722;case"audio/iLBC":return h.Ilbc;case"audio/SILK":return h.Silk;case"audio/CN":return h.Cn;case"audio/telephone-event":return h.TelephoneEvent;case"audio/rtx":return h.ARtx;case"audio/red":return h.ARed;case"video/VP8":return h.Vp8;case"video/VP9":return h.Vp9;case"video/H264":return h.H264;case"video/H265":return h.H265;case"video/AV1":return h.AV1;case"video/rtx":return h.VRtx;case"video/red":return h.VRed;case"video/ulpfec":return h.Ulpfec;default:return h.UNRECOGNIZED}}function Qe(e){switch(e){case h.Opus:return"audio/opus";case h.MultiChannelOpus:return"audio/multiopus";case h.Pcmu:return"audio/PCMU";case h.Pcma:return"audio/PCMA";case h.Isac:return"audio/ISAC";case h.G722:return"audio/G722";case h.Ilbc:return"audio/iLBC";case h.Silk:return"audio/SILK";case h.Cn:return"audio/CN";case h.TelephoneEvent:return"audio/telephone-event";case h.ARtx:case h.ARed:return"audio/red";case h.Vp8:return"video/VP8";case h.Vp9:return"video/VP9";case h.H264:return"video/H264";case h.H265:return"video/H265";case h.AV1:return"video/AV1";case h.VRtx:return"video/rtx";case h.VRed:return"video/red";case h.Ulpfec:return"video/ulpfec";default:return}}function et(e){switch(e){case v.Audio:return"audio";case v.Video:return"video";default:return}}function tt(e){switch(e){case"audio":return v.Audio;case"video":return v.Video;default:return v.UNRECOGNIZED}}function ot(e){var t={};for(const o of e)t[o.name]=o.strValue||o.numValue;return t}function it(e){var t,o=[];for(const i in e)e.hasOwnProperty(i)&&(t=e[i],o.push({name:i,strValue:"string"==typeof t?t:void 0,numValue:"number"==typeof t?t:void 0}));return o}function rt(e){return e.map((e=>{switch(e){case g.Nack:return{type:"nack",parameter:""};case g.NackPli:return{type:"nack",parameter:"pli"};case g.CcmFir:return{type:"ccm",parameter:"fir"};case g.GoogRemb:return{type:"goog-remb",parameter:""};case g.TransportCc:return{type:"transport-cc",parameter:""};default:return}})).filter((e=>null!=e))}function at(e){return e?e.map((e=>{switch(e.type){case"nack":return"pli"===e.parameter?g.NackPli:g.Nack;case"ccm":return g.CcmFir;case"goog-remb":return g.GoogRemb;case"transport-cc":return g.TransportCc;default:return}})).filter((e=>null!=e)):[]}function nt(e){switch(e){case I.Mid:return"urn:ietf:params:rtp-hdrext:sdes:mid";case I.RtpStreamId:return"urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id";case I.RepairRtpStreamId:return"urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id";case I.DependencyDescriptor:return"https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension";case I.AudioLevel:return"urn:ietf:params:rtp-hdrext:ssrc-audio-level";case I.VideoOrientation:return"urn:3gpp:video-orientation";case I.TimeOffset:return"urn:ietf:params:rtp-hdrext:toffset";case I.TransportWideCcDraft01:return"http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01";case I.AbsSendTime:return"http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time";case I.AbsCaptureTime:return"http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time";case I.PlayoutDelay:return"http://www.webrtc.org/experiments/rtp-hdrext/playout-delay";default:return}}function st(e){switch(e){case"urn:ietf:params:rtp-hdrext:sdes:mid":return I.Mid;case"urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id":return I.RtpStreamId;case"urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id":return I.RepairRtpStreamId;case"urn:ietf:params:rtp-hdrext:ssrc-audio-level":return I.AudioLevel;case"urn:3gpp:video-orientation":return I.VideoOrientation;case"urn:ietf:params:rtp-hdrext:toffset":return I.TimeOffset;case"http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01":return I.TransportWideCcDraft01;case"http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time":return I.AbsSendTime;case"http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time":return I.AbsCaptureTime;case"http://www.webrtc.org/experiments/rtp-hdrext/playout-delay":return I.PlayoutDelay;default:return I.UNRECOGNIZED}}function dt(e){switch(e){case f.SendRecv:return"sendrecv";case f.SendOnly:return"sendonly";case f.RecvOnly:return"recvonly";case f.Inactive:return"inactive";default:return}}function ct(e){switch(e){case"sendrecv":return f.SendRecv;case"sendonly":return f.SendOnly;case"recvonly":return f.RecvOnly;case"inactive":return f.Inactive;default:return f.UNRECOGNIZED}}function lt(e){return void 0===e?{codecs:[],headerExtensions:[]}:{codecs:e.codecs.map((e=>{var{mimeType:e,kind:t,preferredPayloadType:o,clockRate:i,channels:r,parameters:a,rtcpFeedback:n}=e;return{mimeType:Ke(e),kind:et(t),preferredPayloadType:o,clockRate:i,channels:r,parameters:ot(a),rtcpFeedback:rt(n)}})),headerExtensions:e.headerExtensions.map((e=>{var{kind:e,uri:t,preferredId:o,preferredEncrypt:i,direction:r}=e;return{kind:et(e),uri:nt(t),preferredId:o,preferredEncrypt:i,direction:dt(r)}})).filter((e=>void 0!==e.kind&&void 0!==e.uri&&void 0!==e.direction))}}function ut(e){var{usernameFragment:e,password:t,iceLite:o}=e;return{usernameFragment:e,password:t,iceLite:o}}function mt(e){return e.map((e=>{var{foundation:e,priority:t,address:o,protocol:i,port:r,type:a}=e,i=function(e){return e===y.Udp?"udp":"tcp"}(i);return{foundation:e,priority:t,address:o,protocol:i,port:r,type:pt(a),tcpType:"tcp"===i?"passive":void 0}}))}function pt(e){return e===b.Host?"host":e===b.Srflx?"srflx":e===b.Prflx?"prflx":"relay"}function ht(e){var{role:e,fingerprints:t}=e;return{role:gt(e),fingerprints:t.map((e=>function(e){var{algorithm:e,value:t}=e;return{algorithm:e,value:t}}(e)))}}function vt(e){var{role:e,fingerprints:t}=e;return{role:It(e),fingerprints:t.map((e=>function(e){var{algorithm:e,value:t}=e;return{algorithm:e,value:t}}(e)))}}function gt(e){return e===T.Client?"client":e===T.Server?"server":"auto"}function It(e){return"client"===e?T.Client:"server"===e?T.Server:T.Auto}function ft(e){var{id:e,iceParameters:t,iceCandidates:o,dtlsParameters:i,sctpParameters:r}=e;return{id:e,iceParameters:ut(t),iceCandidates:mt(o),dtlsParameters:ht(i),sctpParameters:Et(r)}}function Tt(e){var{mid:e,codecs:t,headerExtensions:o,encodings:i,rtcp:r}=e;return{mid:e,codecs:t.map((e=>function(e){var{mimeType:e,payloadType:t,clockRate:o,channels:i,parameters:r,rtcpFeedback:a}=e;return{mimeType:Qe(e),payloadType:t,clockRate:o,channels:i,parameters:ot(r),rtcpFeedback:rt(a)}}(e))),headerExtensions:o.map((e=>({uri:nt(e.uri),id:e.id,encrypt:e.encrypt}))).filter((e=>void 0!==e.uri)),encodings:i.map((e=>function(e){var{ssrc:e,rid:t,codecPayloadType:o,rtx:i,dtx:r,scalabilityMode:a,maxBitrate:n}=e;return{ssrc:e,rid:t,codecPayloadType:o,rtx:i,dtx:r,scalabilityMode:a,maxBitrate:n}}(e))),rtcp:bt(r)}}function yt(e){var{mid:e,codecs:t,headerExtensions:o,encodings:i,rtcp:r}=e;return{mid:e,codecs:t.map((e=>function(e){var{mimeType:e,payloadType:t,clockRate:o,channels:i,parameters:r,rtcpFeedback:a}=e;return{mimeType:Ye(e),payloadType:t,clockRate:o,channels:i,parameters:it(r),rtcpFeedback:at(a)}}(e))),headerExtensions:o.map((e=>function(e){var{uri:e,id:t,encrypt:o}=e;return{uri:st(e),id:t,encrypt:!0===o}}(e))),encodings:i.map((e=>function(e){var{ssrc:e,rid:t,codecPayloadType:o,rtx:i,dtx:r,scalabilityMode:a,maxBitrate:n}=e;return{ssrc:e,rid:t,codecPayloadType:o,rtx:i,dtx:r,scalabilityMode:a,maxBitrate:n}}(e))),rtcp:kt(r)}}function bt(e){var t;if(e)return({cname:e,reducedSize:t}=e),{cname:e,reducedSize:t}}function kt(e){var t;if(e)return({cname:e,reducedSize:t}=e),{cname:e,reducedSize:!0===t}}function Et(e){var t,o,i;if(e)return({port:e,os:t,mis:o,maxMessageSize:i}=e),{port:e,OS:t,MIS:o,maxMessageSize:i}}function Ct(e){var{streamId:e,ordered:t,maxPacketLifeTime:o,maxRetransmits:i}=e;return{streamId:e,ordered:t,maxPacketLifeTime:o,maxRetransmits:i}}class Rt{constructor(){this.map=new Map}on(e,t){let o=this.map.get(e);o||this.map.set(e,o=new Set),o.add(t)}emit(e,t,o){var i=this.map.get(e);i?i.forEach((e=>e(t))):(console.log(e+" Not Found"),o&&o())}off(e,t){var o;e?t?(o=this.map.get(e))&&o.delete(t):this.map.delete(e):this.map.clear()}once(e,t){const o=i=>{t(i),this.off(e,o)};this.on(e,o)}}class St{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):(this.consumerList.forEach((t=>{t.kind===e.kind&&this.consumerList.delete(t.producerId)})),void this.consumerList.set(e.producerId,e))}async genConsumer(e,t){if(!e)return{consumer:void 0,producerId:""};var{consumerId:e,producerId:o,kind:i,rtpParameters:r}=e,i=(e={id:e,producerId:o,kind:et(i),rtpParameters:Tt(r)},await(null==t?void 0:t.consume(e)));this.updateConsumerForConsumer(o,i)}updateConsumerForConsumer(e,t){var o=null==(o=this.consumerList)?void 0:o.get(e);o&&(o.consumer=t,null!=(t=this.consumerList))&&t.set(e,o)}}async function Pt(e){var t=await navigator.mediaDevices.enumerateDevices();return e?t.filter((t=>t.kind==e&&""!==t.deviceId)):t}async function Mt(e){let t=new MediaStream;try{t=await navigator.mediaDevices.getUserMedia(e)}catch(i){var{video:e,audio:o}=e;if(e&&!o)throw i;if(!e&&o)throw i;if(!e||!o)throw i;try{console.log("摄像头+麦克风获取失败,尝试降级为只获取音频流"),t=await navigator.mediaDevices.getUserMedia({audio:!0,video:!1})}catch(e){try{console.log("摄像头+麦克风获取失败,获取音频视频失败,尝试指获取视频流"),t=await navigator.mediaDevices.getUserMedia({audio:!1,video:!0})}catch(e){console.log("摄像头+麦克风获取失败,获取音频视频失败,尝试指获取视频流也失败")}}}return t}function wt(e){return e.getTracks()}function Nt(e){return new Promise((t=>{e.emit("getGlobalVideoDevice",{callback:e=>{t(e)}})}))}function At(e){return new Promise((t=>{e.emit("getGlobalAudioDevice",{callback:e=>{t(e)}})}))}function Ot(e){return Mt({audio:{deviceId:e},video:!1})}function Dt(e){return Mt({audio:!1,video:{deviceId:e}})}async function xt(e={video:!0,audio:!0}){return navigator.mediaDevices.getDisplayMedia(e)}function Bt({text:e="暂无摄像头画面"}){const t=document.createElement("canvas"),o=(t.width=320,t.height=240,t.getContext("2d"));if(o){o.fillStyle="black",o.fillRect(0,0,t.width,t.height),o.fillStyle="white",o.font="16px Arial",o.textAlign="center",o.fillText(e,t.width/2,t.height/2);var i=t.captureStream(25);const r=()=>{o.fillStyle="black",o.fillRect(0,0,t.width,t.height),o.fillStyle="white",o.fillText(e,t.width/2,t.height/2),requestAnimationFrame(r)};return r(),i}}const Vt=e=>(e.setAttribute("playsinline","true"),e.setAttribute("x5-video-player-fullscreen","true"),e.setAttribute("x5-playsinline","true"),e.setAttribute("webkit-playsinline","true"),e);class _t{constructor(e){this.webcamRunning=!0,this.lastWebcamTime=-1,this.videoDom=e.videoDom,this.canvasDom=e.canvasDom,this.modelAssetPath=e.modelAssetPath,this.wasmFileset=e.wasmFileset,this.bgImg=e.bgImg,this.canvasCtx=this.canvasDom.getContext("2d",{willReadFrequently:!0})}async createImageSegmenter(){var e;return""!==this.wasmFileset&&(e=await s.forVisionTasks(this.wasmFileset),""!==this.modelAssetPath)&&void(this.imageSegmenter=await d.createFromOptions(e,{baseOptions:{modelAssetPath:this.modelAssetPath,delegate:"GPU"},runningMode:"VIDEO",outputCategoryMask:!0,outputConfidenceMasks:!1}))}async predictWebcam(){var e;this.videoDom.currentTime===this.lastWebcamTime?this.webcamRunning&&window.requestAnimationFrame((()=>{this.predictWebcam()})):(this.lastWebcamTime=this.videoDom.currentTime,this.canvasCtx.drawImage(this.videoDom,0,0,this.videoDom.videoWidth,this.videoDom.videoHeight),void 0!==this.imageSegmenter&&(e=performance.now(),this.imageSegmenter.segmentForVideo(this.videoDom,e,(e=>{this.callbackForVideo(e)}))))}async callbackForVideo(e){this.customImgData||(this.customImgData=await this.createCustomImgData());var t=this.canvasCtx.getImageData(0,0,this.videoDom.videoWidth,this.videoDom.videoHeight).data;if(e.categoryMask){var o=e.categoryMask.getAsFloat32Array();let i=0;for(let e=0;e<o.length;++e){if(1===o[e]){if(!this.customImgData)return;t[i]=this.customImgData[i],t[i+1]=this.customImgData[i+1],t[i+2]=this.customImgData[i+2],t[i+3]=this.customImgData[i+3]}i+=4}e=new Uint8ClampedArray(t.buffer),e=new ImageData(e,this.videoDom.videoWidth,this.videoDom.videoHeight),this.canvasCtx.putImageData(e,0,0),this.webcamRunning&&window.requestAnimationFrame((()=>{this.predictWebcam()}))}else console.log("result.categoryMask is null")}createCustomImgData(){return new Promise(((e,t)=>{if(""===this.bgImg)return console.error("bgImg is null"),!1;const o=new Image;o.onerror=e=>{t("加载失败"+e)},o.onload=()=>{var i=document.createElement("canvas"),r=i.getContext("2d");i.width=this.videoDom.videoWidth,i.height=this.videoDom.videoHeight,r?(r.drawImage(o,0,0,i.width,i.height),r=r.getImageData(0,0,i.width,i.height).data,e(r)):t()},o.src=this.bgImg}))}stopRenderer(){this.webcamRunning=!1}}class Lt{constructor(e){this.producerVideoSequence=0,this.producerAudioSequence=0,this.consumerVideoSequence=new Map,this.consumerAudioSequence=new Map,this.room=e}getRoom(){}getProducerVideoSequence(){return this.producerVideoSequence}setProducerVideoSequence(e){"number"==typeof e?this.producerVideoSequence=e:++this.producerVideoSequence}getProducerAudioSequence(){return this.producerAudioSequence}setProducerAudioSequence(e){"number"==typeof e?this.producerAudioSequence=e:++this.producerAudioSequence}getConsumerVideoSequence(e){return this.consumerVideoSequence.get(e)||0}setConsumerVideoSequence(e,t){"number"!=typeof t&&(t=(this.consumerVideoSequence.get(e)||0)+1),this.consumerVideoSequence.set(e,t)}getConsumerAudioSequence(e){return this.consumerAudioSequence.get(e)||0}setConsumerAudioSequence(e,t){"number"!=typeof t&&(t=(this.consumerAudioSequence.get(e)||0)+1),this.consumerAudioSequence.set(e,t)}getProduceInfo(){return this.room.producerMap}getProduceTrack(e){var t,o=0===e?"audio":1===e?"video":"";for([,t]of this.getProduceInfo())if(t.track&&t.kind===o)return t.track}producerAudioResume(){return new Promise(((e,t)=>{var o=this.room.roomType;o&&[E.SipPhoneCall,E.BeSipPhoneCall].includes(o)?""!==this.room.sipAudioProducerId?(this.setProducerAudioSequence(),He(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,producerId:this.room.sipAudioProducerId,sequence:this.getProducerAudioSequence()}).then((t=>{e(t)}))):t({code:R.ProducerAudioResumeFailed,msg:S.ProducerAudioResumeFailed}):(o===E.Broadcast&&""!==this.room.sipAudioProducerId&&(this.setProducerAudioSequence(),He(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,producerId:this.room.sipAudioProducerId,sequence:this.getProducerAudioSequence()}).then((e=>{}))),""!==this.room.audioProducerId?(this.setProducerAudioSequence(),He(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,producerId:this.room.audioProducerId,sequence:this.getProducerAudioSequence()}).then((t=>{var o;this.room.roomType===E.Channel&&((o=this.getChannelRoomConsumer())?(o.producerPaused=!1,o.speakerId=this.room.clientId):this.room.setChannelRoomIAmTalking(!0)),e(t)})).catch((e=>{t(e)}))):t({code:R.ProducerAudioResumeFailed,msg:S.ProducerAudioResumeFailed}))}))}producerAudioPause(){return new Promise(((e,t)=>{var o=this.room.roomType;o&&[E.SipPhoneCall,E.BeSipPhoneCall].includes(o)?""!==this.room.sipAudioProducerId?(this.setProducerAudioSequence(),Xe(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,producerId:this.room.sipAudioProducerId,sequence:this.getProducerAudioSequence()}).then((t=>{e(t)}))):t({code:R.ProducerAudioResumeFailed,msg:S.ProducerAudioResumeFailed}):(o===E.Broadcast&&""!==this.room.sipAudioProducerId&&(this.setProducerAudioSequence(),Xe(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,producerId:this.room.sipAudioProducerId,sequence:this.getProducerAudioSequence()}).then((e=>{}))),""!==this.room.audioProducerId&&(this.setProducerAudioSequence(),Xe(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,producerId:this.room.audioProducerId,sequence:this.getProducerAudioSequence()}).then((t=>{var o=this.getChannelRoomConsumer();o?(o.producerPaused=!0,o.speakerId=""):this.room.setChannelRoomIAmTalking(!1),e(t)}))))}))}producerVideoResume(){return new Promise(((e,t)=>{""!==this.room.videoProducerId?(this.setProducerVideoSequence(),He(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,producerId:this.room.videoProducerId,sequence:this.getProducerVideoSequence()}).then((t=>{e(t)})).catch((e=>{t(e)}))):t({code:R.ProducerVideoResumeFailed,msg:S.ProducerVideoResumeFailed})}))}producerVideoPause(){return new Promise(((e,t)=>{""!==this.room.videoProducerId&&(this.setProducerVideoSequence(),Xe(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,producerId:this.room.videoProducerId,sequence:this.getProducerVideoSequence()}).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({})}))}))}consumerVideoPauseByClientId(e){var t=this.getConsumerByClientId(e,v.Video);t&&(this.handlerConsumerPausedStatus(t,!0),this.setConsumerVideoSequence(e),Ze(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,consumerId:t.consumerId,sequence:this.getConsumerVideoSequence(e)}))}consumerAudioPauseByClientId(e){var t=this.getConsumerByClientId(e,v.Audio);t&&(this.handlerConsumerPausedStatus(t,!0),this.setConsumerAudioSequence(e),Ze(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,consumerId:t.consumerId,sequence:this.getConsumerAudioSequence(e)}))}consumerVideoResumeByClientId(e){var t=this.getConsumerByClientId(e,v.Video);t&&(this.handlerConsumerPausedStatus(t,!1),this.setConsumerVideoSequence(e),ze(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,consumerId:t.consumerId,sequence:this.getConsumerVideoSequence(e)}))}consumerAudioResumeByClientId(e){var t=this.getConsumerByClientId(e,v.Audio);t&&(this.handlerConsumerPausedStatus(t,!1),this.setConsumerAudioSequence(e),ze(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,consumerId:t.consumerId,sequence:this.getConsumerAudioSequence(e)}))}handlerConsumerPausedStatus(e,t){e.producerPaused=t}getConsumerByClientId(e,t){return!!e&&!!(e=this.room.clientList.get(e))&&Array.from(e.consumerList.values()).find((e=>e.kind===t))}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 o=this.room.producerMap.get(e);return o?-1===t.kind.indexOf(o.kind)?(console.log("produce的类型与设备类型不匹配"),!1):void("videoinput"===t.kind?wt(await Dt(t.deviceId)).forEach((e=>{null!=o&&o.replaceTrack({track:e})})):"audioinput"===t.kind&&wt(await Ot(t.deviceId)).forEach((e=>{null!=o&&o.replaceTrack({track:e})}))):(console.log("未找到produce"),!1)}async replaceProducerByTrack(e,t){if(!(e=this.room.producerMap.get(e)))return console.log("未找到produce"),!1;console.log("track",t),await(null==e?void 0:e.replaceTrack({track:t}))}setVideoRtpEncodingParameters(e){var t;this.room.videoProducerId?(t=this.room.producerMap.get(this.room.videoProducerId))?null!=t&&t.setRtpEncodingParameters(e):console.log("未找到videoProducer %s",this.room.videoProducerId):console.log("videoProducerId 为空")}async startProduceDisplayMedia(){var e=(await xt()).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)),o=e.filter((e=>"audio"==e.kind));1<t.length&&console.log("特殊情况:displayMediaVideoTrack 长度大于1"),1<o.length&&console.log("特殊情况:displayMediaAudioTrack 长度大于1"),this.room.producerMap.forEach((e=>{"video"===e.kind?e.replaceTrack({track:t[0]}):"audio"===e.kind&&e.replaceTrack({track:o[0]})})),this.room.cleanLocalPlayElement(),this.room.handlerLocalPlayElementBox([t[0],o[0]])}switchToDefaultStream(){let e=null,t=null;this.room.producerMap.forEach((i=>{"video"===i.kind?this.room.eventEmit.emit("getGlobalVideoDevice",{callback:async t=>{t?(this.replaceProducerByProduceId(i.id,t),t=wt(await Dt(t.deviceId)),e=t[0]):(1<(t=wt(await Mt({video:!0,audio:!1}))).length&&console.log("switchToDefaultStream track > 1 的情况,需要注意",t),this.replaceProducerByTrack(i.id,t[0]),e=t[0],o())}}):"audio"===i.kind&&this.room.eventEmit.emit("getGlobalAudioDevice",{callback:async e=>{e?(this.replaceProducerByProduceId(i.id,e),e=wt(await Dt(e.deviceId)),t=e[0]):(1<(e=wt(await Mt({video:!1,audio:!0}))).length&&console.log("switchToDefaultStream track > 1 的情况,需要注意",e),this.replaceProducerByTrack(i.id,e[0]),t=e[0],o())}})})),this.room.cleanLocalPlayElement();const o=()=>{t&&e&&this.room.handlerLocalPlayElementBox([t,e])}}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[o,i]of this.room.playElements)o.includes(e)&&(t=i);return t||null}getElementIdByDeviceId(e){return(e=this.getElementByDeviceId(e))?e.id:null}getElementListById(e){var t,o,i=[];for([t,o]of this.room.playElements)t.split("_").includes(e)&&i.push(o);return i}getLocalPlayElement(){let e=null;return(e=this.room.localPlayElementBox&&this.room.localPlayVideoElement?this.room.localPlayVideoElement:e)||null}getLocalPlayElementId(e){var t=this.getLocalPlayElement();return t?t.id:null}getChannelRoomConsumer(){var e;return this.room.roomType===E.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;return this.room.roomType===E.Channel?(t=this.getChannelRoomConsumer())?(e=t.speakerId,t=t.producerPaused,e&&!t?{clientId:e}:{clientId:""}):this.room.channelRoomIAmTalking?{clientId:this.room.clientId}:{clientId:""}:null}recorderRoomAppendStreams(e){e=e.map((e=>{if(e&&e.captureStream)return e.captureStream()})).filter(Boolean),this.room.videoMixer.appendStreams(e)}async changeCameraFacingMode(e="environment"){this.room.producerMap.forEach((e=>{null!=(e=e.track)&&e.stop()}));const t=wt(await Mt({video:{facingMode:e,...this.room.localUserMediaOption.localUserMediaStreamVideoConstraints},audio:!0}));this.room.producerMap.forEach((e=>{"video"===e.kind?t.forEach((t=>{"video"===t.kind&&this.replaceProducerByTrack(e.id,t)})):"audio"===e.kind&&t.forEach((t=>{"audio"===t.kind&&this.replaceProducerByTrack(e.id,t)})),this.room.cleanLocalPlayElement(),this.room.handlerLocalPlayElementBox(t)}))}async ptzControl(e,t){this.room.clientId&&this.room.monitorDeviceId&&function(e,t,o){var{ptzControlType:o,deviceId:i,value:r=4}=o,n=a().replace(/-/g,"");e.emit("send",{topic:`client/${t}/mediaapp/${n}/ptzcontrol`,messageType:"PtzControl",message:{deviceId:i,cmdType:M[o],value:r},options:{noResponse:!0}})}(this.room.eventEmit,this.room.clientId,{clientId:this.room.clientId,deviceId:this.room.monitorDeviceId,roomId:this.room.roomId,ptzControlType:e,value:t})}async handlerVirtualBackground(){if(this.room.virtualBackground)return console.log("当前已开启背景虚化,无需重复开启"),!1;var e={video:{...this.room.localUserMediaOption.localUserMediaStreamVideoConstraints}},t=function(e){e=e.room,e=""+C.VirtualBackgroundTmpVideo+e.roomId;var t=document.createElement("video");return t.id=e,t.muted=!1,t.controls=!1,t.style.display="none",document.body.appendChild(t),t}({room:this.room});if(t&&(t.srcObject=await navigator.mediaDevices.getUserMedia(e),await t.play(),e=function(e){var t=document.createElement("canvas"),{videoWidth:e,videoHeight:o,room:i}=e,i=""+C.VirtualBackgroundTmpCanvas+i.roomId;return t.id=i,t.width=e,t.height=o,t.style.display="none",document.body.appendChild(t),t}({room:this.room,videoWidth:t.videoWidth,videoHeight:t.videoHeight}),e)){var o=e.getContext("2d");if(o&&null!=(o=null==(o=this.room)?void 0:o.virtualBackgroundInfo)&&o.modelAssetPath&&null!=(o=null==(o=this.room)?void 0:o.virtualBackgroundInfo)&&o.wasmFileset){if(o=new _t({canvasDom:e,videoDom:t,modelAssetPath:this.room.virtualBackgroundInfo.modelAssetPath,wasmFileset:this.room.virtualBackgroundInfo.wasmFileset,bgImg:this.room.virtualBackgroundInfo.bgImg}),await o.createImageSegmenter(),o.predictWebcam(),t=e.captureStream()){const o=new MediaStream;(e=t.getTracks()).forEach((e=>{o.addTrack(e)})),this.replaceProducerByTrack(this.room.videoProducerId,o.getTracks()[0]),this.room.cleanLocalPlayElement(),this.room.handlerLocalPlayElementBox(e)}this.room.setVirtualBackground(o)}}}async closeVirtualBackground(){this.room.virtualBackground&&(this.room.virtualBackground.stopRenderer(),this.room.setVirtualBackground(null)),await this.changeCameraFacingMode(),this.room.cleanVirtualBackgroundTmpElement()}getConsumerByConsumerId(e,t){return e.find((e=>e.consumerId===t))}getConsumerListByClient(e){return(e=this.room.clientList.get(e))?e.consumerList:[]}filterConsumerByKind(e,t){return Array.from(e.values()).find((e=>e.kind===t))}getRoomClientList(){const e=[];return this.room.clientList.forEach((t=>{var o=this.filterConsumerByKind(Array.from(t.consumerList.values()),v.Video),i=this.filterConsumerByKind(Array.from(t.consumerList.values()),v.Audio);e.push({clientId:t.clientId,videoConsumer:o,audioConsumer:i,isPushingVideo:!(null!=o&&o.producerPaused),isPushingAudio:!(null!=i&&i.producerPaused)})})),e}setProduceOption(e){void 0!==e&&this.room.setProduceOption(e)}jt1078StreamSwitch(e){return new Promise(((t,o)=>{this.room.roomId&&this.room.monitorDeviceId?function(e,t,o){var{roomId:o,deviceId:i,streamType:r,callback:a}=o;e.emit("send",{topic:`client/${t}/mediaapp/${o}/JT1078StreamSwitch`,messageType:"JT1078StreamSwitchRequest",message:{roomId:o,clientId:i,streamType:r},callback:a})}(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,deviceId:this.room.monitorDeviceId,streamType:e,callback:()=>{t({room:this.room})}}):o()}))}jt1078SourcesPlaybackControl(e){return new Promise(((t,o)=>{var{playbackMode:i,playbackSpeed:r,playbackTime:a}=e;this.room.roomId&&this.room.monitorDeviceId?function(e,t,o){var{roomId:o,deviceId:i,channelNo:r,playbackMode:a,playbackSpeed:n,playbackTime:s,callback:d}=o;e.emit("send",{topic:`client/${t}/mediaapp/${o}/JT1078SourcesPlaybackControl`,messageType:"JT1078FileSourcesPlaybackControl",message:{roomId:o,clientId:i,channelNo:r,playbackMode:a,playbackSpeed:n,playbackTime:s},callback:d})}(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,deviceId:this.room.monitorDeviceId,channelNo:this.room.channelNo,playbackMode:i||0,playbackSpeed:r||0,playbackTime:a||"1970-01-01 00:00:00",callback:()=>{t({room:this.room})}}):o()}))}setMixerMeetingCompositorLayout(e){return new Promise(((t,o)=>{var{mode:i,deviceId:r}=e;this.room.roomId&&i?function(e,t,o){var{roomId:o,deviceId:i,mode:r,callback:a}=o;e.emit("send",{topic:`client/${t}/mediaapp/${o}/mixerMeetingCompositorLayout`,messageType:"MixerMeetingCompositorLayoutRequest",message:{roomId:o,clientId:i,mode:r},responseMessageType:"Empty",callback:a})}(this.room.eventEmit,this.room.clientId,{roomId:this.room.roomId,mode:i,deviceId:r,callback:()=>{t({room:this.room})}}):o()}))}}const Jt={LANDSCAPE_4X:{width:1080,height:1920},LANDSCAPE_3X:{width:720,height:1280},LANDSCAPE_2X:{width:480,height:640},LANDSCAPE_1X:{height:240,width:320},PORTRAIT_4X:{width:1920,height:1080},PORTRAIT_3X:{width:720,height:1280},PORTRAIT_2X:{width:480,height:640},PORTRAIT_1X:{height:320,width:240}},Ut="onMediaBeCall",Ft="onAudioCallTimeout",qt="onAudioCallNoAnswer",Wt="onNewClient",Gt="roomPassiveLeave";function jt(){let e={};onmessage=function(e){switch(e.data.method){case"decodeBuffer":var{roomId:i,buffer:r,monitorDeviceId:a,streamId:n}=e.data.params;o(i,r,a,n);break;case"initWorker":i=e.data.params.wasmJsFileUrl,t(i)}};const t=async t=>new Promise((async(o,i)=>{"undefined"==typeof __vite__injectQuery&&(globalThis.__vite__injectQuery=(e,t)=>e);var r=(await new Function(`return import('${t}')`)()).default;const a=(t,o,i,r,a)=>{o=new Uint8Array(e.HEAPU8.buffer,o,i),i=new Uint8Array(o),self.postMessage({method:"jsCallBack",params:{streamId:t,videoWidth:r,videoHeight:a,yuvData:i.buffer}},{transfer:[i.buffer]})};e=await r({env:{},print:(...e)=>{console.log(e)},onRuntimeInitialized:function(){var t=this.addFunction(a,"viiiii");this._setJsFunction(t),this._init_decoder(),o(e)}})})),o=(t,o,i,r)=>{var a,n;e._malloc&&(a=new Uint8Array(o),n=e._malloc(o.byteLength),e.HEAPU8.set(a,n),e._decode_buffer(r,n,o.byteLength))}}function $t(){let e=null,t=null,o=null,i=null,r=null,a=null;function n(e,t,o){return(t=e.createShader(t))?(e.shaderSource(t,o),e.compileShader(t),e.getShaderParameter(t,e.COMPILE_STATUS)?t:(console.error("An error occurred compiling the shaders: "+e.getShaderInfoLog(t)),e.deleteShader(t),null)):null}function s(e){var t=e.createTexture();return t?(e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),t):null}onmessage=function(d){switch(d.data.method){case"render":var{yuvData:c,width:l,height:u}=d.data.params,c=new Uint8Array(c);e&&t&&o&&i&&r&&(v=(h=l*u)>>2,g=c.subarray(0,h),I=c.subarray(h,h+v),c=c.subarray(h+v,h+2*v),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,o),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,l,u,0,e.LUMINANCE,e.UNSIGNED_BYTE,g),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,i),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,l>>1,u>>1,0,e.LUMINANCE,e.UNSIGNED_BYTE,I),e.activeTexture(e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,r),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,l>>1,u>>1,0,e.LUMINANCE,e.UNSIGNED_BYTE,c),e.useProgram(t),e.uniform1i(e.getUniformLocation(t,"u_yTexture"),0),e.uniform1i(e.getUniformLocation(t,"u_uTexture"),1),e.uniform1i(e.getUniformLocation(t,"u_vTexture"),2),e.viewport(0,0,l,u),e.drawArrays(e.TRIANGLES,0,6));break;case"initWorker":h=d.data.params.offscreenCanvas,(e=(v=h).getContext("webgl"))&&(t=function(e,t,o){if(t=n(e,e.VERTEX_SHADER,t),o=n(e,e.FRAGMENT_SHADER,o),t&&o){var i=e.createProgram();if(i){if(e.attachShader(i,t),e.attachShader(i,o),e.linkProgram(i),e.getProgramParameter(i,e.LINK_STATUS))return i;console.error("Unable to initialize the shader program: "+e.getProgramInfoLog(i))}}return null}(e,"\n attribute vec2 a_position;\n attribute vec2 a_texCoord;\n varying vec2 v_texCoord;\n void main() {\n gl_Position = vec4(a_position, 0, 1);\n v_texCoord = a_texCoord;\n }\n ","\n precision mediump float;\n varying vec2 v_texCoord;\n uniform sampler2D u_yTexture;\n uniform sampler2D u_uTexture;\n uniform sampler2D u_vTexture;\n void main() {\n float y = texture2D(u_yTexture, v_texCoord).r;\n float u = texture2D(u_uTexture, v_texCoord).r - 0.5;\n float v = texture2D(u_vTexture, v_texCoord).r - 0.5;\n \n float r = y + 1.402 * v;\n float g = y - 0.344136 * u - 0.714136 * v;\n float b = y + 1.772 * u;\n \n gl_FragColor = vec4(r, g, b, 1.0);\n }\n "))&&(o=s(e),i=s(e),r=s(e),v=new Float32Array([-1,-1,1,-1,-1,1,-1,1,1,-1,1,1]),g=new Float32Array([0,1,1,1,0,0,0,0,1,1,1,0]),c=t,l=(I=e).createBuffer(),I.bindBuffer(I.ARRAY_BUFFER,l),I.bufferData(I.ARRAY_BUFFER,v,I.STATIC_DRAW),v=I.createBuffer(),I.bindBuffer(I.ARRAY_BUFFER,v),I.bufferData(I.ARRAY_BUFFER,g,I.STATIC_DRAW),g=I.getAttribLocation(c,"a_position"),I.enableVertexAttribArray(g),I.bindBuffer(I.ARRAY_BUFFER,l),I.vertexAttribPointer(g,2,I.FLOAT,!1,0,0),l=I.getAttribLocation(c,"a_texCoord"),I.enableVertexAttribArray(l),I.bindBuffer(I.ARRAY_BUFFER,v),I.vertexAttribPointer(l,2,I.FLOAT,!1,0,0)),a=h;break;case"resizeCanvas":var{width:u,height:m}=d.data.params;p=u,e&&a&&(a.width=p,a.height=m,e.viewport(0,0,p,m),e.bindFramebuffer(e.FRAMEBUFFER,null),e.clear(e.COLOR_BUFFER_BIT),t)&&o&&i&&r&&e.drawArrays(e.TRIANGLES,0,6)}var p,h,v,g,I}}const Ht="h265room:TESTWasm",Zt="h265room:createWasm",zt="h265room:getWasmModule";class Xt extends Rt{constructor({eventEmit:e,wasmJsFileUrl:t}){super(),this.eventEmit=new Rt,this.roomInfoMap=new Map,this.ptrList=[],this.eventEmit=e,this.wasmJsFileUrl=t,this.registerRoomEvents()}registerRoomEvents(){this.eventEmit.on(Ht,(e=>{console.log("H265WASM_EVENTS.TEST_WASM"),this.initWasmModule()})),this.eventEmit.on(Zt,(async({callback:e})=>{console.log("H265WASM_EVENTS.CREATE_WASM"),this.module=await this.initWasmModule(),e(this)})),this.eventEmit.on(zt,(async({callback:e})=>{console.log("H265WASM_EVENTS.GET_WASM_MODULE"),this.module=await this.getWasmModule(),e(this)}))}getWasmModule(){return new Promise((async(e,t)=>{this.module||(this.module=await this.initWasmModule()),e(this.module)}))}async jsCallBack(e,t,o,i,r,a){if(!document.hidden){let t=null;this.roomInfoMap.forEach(((o,i)=>{o.streamId===e&&(t=i)}));var n=t?this.roomInfoMap.get(t):null;if(n){if(n.renderWorker.postMessage({method:"render",params:{yuvData:a.buffer,width:i,height:r}},{transfer:[a.buffer]}),n.renderWorker.postMessage({method:"resizeCanvas",params:{width:i,height:r}}),a=n.canvas,t&&n.canvas&&!n.isInitRender){i=await this._getRoom(this.eventEmit,t);const e=Array.from(i.playElements.values())[0];a.captureStream().getTracks().forEach((t=>{let o=e.srcObject;o||(o=new MediaStream,e.srcObject=o),o.addTrack(t)})),n.isInitRender=!0}}else console.log("roomInfo not found")}}async initWasmModule(){}decodeBuffer(e,t,o){var i=null==(i=this.roomInfoMap.get(e))?void 0:i.decodeWorker,r=null==(r=this.roomInfoMap.get(e))?void 0:r.streamId;i.postMessage({method:"decodeBuffer",params:{roomId:e,buffer:t,monitorDeviceId:o,streamId:r}})}async initRoomInfo(e){var t=this.getRandomInt(1,500);let o=jt.toString();o=o.substring(o.indexOf("{")+1,o.lastIndexOf("}"));var i=new Blob([o],{type:"application/javascript"});i=URL.createObjectURL(i),i=new Worker(i,{type:"module"});let r=$t.toString();r=r.substring(r.indexOf("{")+1,r.lastIndexOf("}"));var a=new Blob([r],{type:"application/javascript"}),n=(a=URL.createObjectURL(a),a=new Worker(a,{type:"module"}),function(e){var t,{streamId:e,room:t}=e;return e=""+C.H265Canvas+e+t.roomId,(t=document.createElement("canvas")).id=e,t}({room:e,streamId:t})),s=(n.width=1920,n.height=1080,n.transferControlToOffscreen());a.postMessage({method:"initWorker",params:{offscreenCanvas:s,width:1920,height:1080}},{transfer:[s]}),i.postMessage({method:"initWorker",params:{wasmJsFileUrl:this.wasmJsFileUrl}}),i.onmessage=e=>{var t,o,i,r,a;"jsCallBack"===e.data.method&&(({streamId:e,ptr:t,len:o,videoWidth:i,videoHeight:r,yuvData:a}=e.data.params),a=new Uint8Array(a),this.jsCallBack(e,t,o,i,r,a))},e.roomId&&this.roomInfoMap.set(e.roomId,{streamId:t,decodeWorker:i,renderWorker:a,room:e,canvas:n,isInitRender:!1})}jsCallBack265(e,t,o,i,r,a){}free(e,t){e.decodeWorker.postMessage({method:"free",params:{ptr:t}})}terminateWorker(e){var t=null==(t=this.roomInfoMap.get(e))?void 0:t.decodeWorker;e=null==(e=this.roomInfoMap.get(e))?void 0:e.renderWorker;null!=t&&t.terminate(),null!=e&&e.terminate()}getRandomInt(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(Math.random()*(t-e+1))+e}_getRoom(e,t){return new Promise(((o,i)=>{e.emit("getRoom",{roomId:t,callback:({room:e})=>{e?o(e):i("房间不存在")}})}))}genJpgFromYuvData(e,t,o){var i=document.createElement("canvas"),r=t,a=o,n=(t=(i.width=r,i.height=a,i.getContext("2d"))).createImageData(r,a);let s=0;var d=o=r*a,c=o+o/4;for(let t=0;t<a;t++)for(let o=0;o<r;o++){var l=Math.floor(o/2),u=(l=Math.floor(t/2)*Math.floor(r/2)+l,e[s++]),m=u-.344136*((p=e[d+l])-128)-.714136*((l=e[c+l])-128),p=u+1.772*(p-128),h=4*(t*r+o);n.data[h]=Math.max(0,Math.min(255,u+1.402*(l-128))),n.data[1+h]=Math.max(0,Math.min(255,m)),n.data[2+h]=Math.max(0,Math.min(255,p)),n.data[3+h]=255}o=new Date+".jpg",t.putImageData(n,0,0),t=i.toDataURL("image/jpeg",.85);const v=document.createElement("a");v.href=t,v.download=o,document.body.appendChild(v),v.click(),setTimeout((()=>{document.body.removeChild(v)}),100)}}!function(e){e[e.INITIAL=0]="INITIAL",e[e.DECODED_NORMAL=1]="DECODED_NORMAL",e[e.SIGNAL_JITTER=2]="SIGNAL_JITTER",e[e.DECODED_LAG=3]="DECODED_LAG",e[e.DECODED_INTERRUPT=4]="DECODED_INTERRUPT",e[e.DECODED_ABNORMAL=5]="DECODED_ABNORMAL"}(N=N||{}),function(e){e.CONNECTED="CONNECTED",e.CONNECTION_TIMEOUT="CONNECTION_TIMEOUT",e.SIGNAL_JITTER="SIGNAL_JITTER",e.DECODED_LAG="DECODED_LAG",e.DECODED_INTERRUPT="DECODED_INTERRUPT",e.DECODED_ABNORMAL="DECODED_ABNORMAL",e.DECODED_RESUME="DECODED_RESUME",e.STATISTICS_INFO="STATISTICS_INFO"}(A=A||{}),function(e){e[e.RUNNING=0]="RUNNING",e[e.PAUSE=1]="PAUSE",e[e.DESTROY=2]="DESTROY"}(O=O||{});class Kt extends Rt{constructor(e){if(super(),this._statInterval=2e3,this._connectionTimeout=1e4,this._status=O.RUNNING,this._statInfo={timestamp:0,status:N.INITIAL,decodedFrames:0,droppedFrames:0},!e.element)throw new Error("VideoStatusMonitor.element: can not be empty.");this.setMediaElement(e.element).setStatInterval(e.statInterval).setClientId(e.clientId).setDeviceId(e.deviceId).setConnectionTimeout(e.timeout).startTimer()}startTimer(){this._statTimer&&clearTimeout(this._statTimer),this.isDestroy||(this._statTimer=setTimeout((()=>{this.updateStatisticsInfo(),this.startTimer()}),this._statInterval))}resume(){if(this.isDestroy)throw new Error("The VideoStatusProps has been destroy");this.setStatInfo({timestamp:0,status:N.INITIAL,decodedFrames:0,droppedFrames:0}),this.startTimer(),this.setMonitorStatus(O.RUNNING)}pause(){this._statTimer&&clearTimeout(this._statTimer),this.isDestroy||this.setMonitorStatus(O.PAUSE)}setMediaElement(e){return this._el=e,this}setStatInterval(e){return this._statInterval=e||2e3,this}setConnectionTimeout(e){return this._connectionTimeout=e||1e4,this}get statInfo(){return this._statInfo}setStatInfo(e){Object.assign(this._statInfo,{timestamp:e.timestamp,status:e.status,decodedFrames:e.decodedFrames,droppedFrames:e.droppedFrames})}get clientId(){return this._clientId}setClientId(e){return this._clientId=e,this}get deviceId(){return this._deviceId}setDeviceId(e){return this._deviceId=e,this}get status(){return this._status}get isDestroy(){return this._status===O.DESTROY}setMonitorStatus(e){this._status=e}updateStatisticsInfo(){var e=null==(e=this._el)?void 0:e.getVideoPlaybackQuality();if(!e)return;var t=Date.now();let{timestamp:o,status:i=N.DECODED_NORMAL}=this._statInfo;var r=t-(o=o||t);i===N.INITIAL?e.totalVideoFrames?(i=N.DECODED_NORMAL,this.emit(A.CONNECTED,null),o=t):r>=this._connectionTimeout&&(i=N.DECODED_ABNORMAL,this.emit(A.CONNECTION_TIMEOUT,null),this.pause()):this._statInfo.decodedFrames===e.totalVideoFrames?12e4<=r?i!==N.DECODED_ABNORMAL&&(i=N.DECODED_ABNORMAL,this.emit(A.DECODED_ABNORMAL,null),this.pause()):3e4<=r?i!==N.DECODED_INTERRUPT&&(i=N.DECODED_INTERRUPT,this.emit(A.DECODED_INTERRUPT,null)):4e3<=r?i!==N.DECODED_LAG&&(i=N.DECODED_LAG,this.emit(A.DECODED_LAG,null)):i!==N.SIGNAL_JITTER&&(o=t,i=N.SIGNAL_JITTER):(i!==N.DECODED_NORMAL&&(i=N.DECODED_NORMAL,this.emit(A.DECODED_RESUME,null)),o=t),this.setStatInfo({timestamp:o,status:i,decodedFrames:e.totalVideoFrames,droppedFrames:e.droppedVideoFrames})}destroy(){this.pause(),this.setMonitorStatus(O.DESTROY)}}const Yt=new Ge("Room");class Qt{constructor({eventEmit:e}){this.eventEmit=new Rt,this.roomEvent=new Rt,this.audioProducerId="",this.sipAudioProducerId="",this.videoProducerId="",this.clientList=new Map,this.produceTag="",this.producerMap=new Map,this.broadcastClientIds=[],this.playElements=new Map,this.playStatusMonitor=new Map,this.defaultEnableAudio=!0,this.defaultEnableVideo=!0,this.afterJoinPullVideo=!0,this.afterJoinPullAudio=!0,this.channelRoomIAmTalking=!1,this.roomTimeout=1e4,this.roomTimeoutId=0,this.roomStatus=w.Init,this.roomCompositorLayoutInit=!1,this.forceTcp=!1,this.channelNo="",this.mediaType=0,this.playbackMode=0,this.playbackSpeed=0,this.startTime="",this.endTime="",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.localUserMediaOption={localUserMediaStreamVideoConstraints:Jt.LANDSCAPE_1X},this.roomMethods=new Lt(this),this.setRoomStatus(w.Init),Yt.debug("初始化 Room 对象",this)}startRoomTimeout(e){console.log("开启房间超时计时器, 超时时间 %s ms",this.roomTimeout),this.roomTimeoutId=window.setTimeout((()=>{this.roomStatus!==w.Joined&&(this.setRoomStatus(w.Timeout),this.destroyRoom(e,{messageContent:{code:R.RoomTimeout,msg:S.RoomTimeout}}))}),this.roomTimeout)}async initRoom(){return this}registerMessageEvents(){}setRoomStatus(e){this.roomStatus=e}setRoomTimeout(e=1e4){return this.roomTimeout=e,this}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}setSipPhoneCallGatewayId(e){return this.sipPhoneCallGatewayId=e,this}setDefaultEnableAudio(e=!0){return this.defaultEnableAudio=e,this}setDefaultEnableVideo(e=!0){return this.defaultEnableVideo=e,this}setAfterJoinPullVideo(e=!0){return this.afterJoinPullVideo=e,this}setAfterJoinPullAudio(e=!0){return this.afterJoinPullAudio=e,this}setLocalPlayElementBox(e){return this.localPlayElementBox=e,this}setVirtualBackgroundInfo({modelAssetPath:e,wasmFileset:t,bgImg:o}){this.virtualBackgroundInfo={modelAssetPath:e,wasmFileset:t,bgImg:o}}setOnEvent(e){for(const t in e)e.hasOwnProperty(t)&&this.roomEvent.on(t,e[t]);return this}setProduceOption(e){return void 0!==e&&(this.produceOption=e),this}setVirtualBackground(e){this.virtualBackground=e}setSipBroadcastRoom(e){this.sipBroadcastRoom=e}setProduceCodec(e){this.produceCodec=e}setForceTcp(e=!1){this.forceTcp=e}_isIOS(){var e=navigator.userAgent,t=navigator.platform;e=/iPhone|iPad|iPod/i.test(e),t="MacIntel"===t&&1<navigator.maxTouchPoints;return e||t}_handlerVideoConstraints(e){var t=window.matchMedia("(orientation: portrait)").matches;return{width:t?e.height:e.width,height:t?e.width:e.height}}setLocalUserMediaOption(e){return void 0!==e&&e.localUserMediaStreamVideoConstraints&&(this.localUserMediaOption.localUserMediaStreamVideoConstraints=e.localUserMediaStreamVideoConstraints),this._isIOS()&&(this.localUserMediaOption.localUserMediaStreamVideoConstraints=this._handlerVideoConstraints(this.localUserMediaOption.localUserMediaStreamVideoConstraints)),this}setRoomMediaStream(e){this.roomMediaStream=e}setVideoMixer(e){this.videoMixer=e}setMutedAudioBufferSourceNodeSource(e){this.mutedAudioBufferSourceNodeSourceNodeSource=e}setChannelRoomIAmTalking(e){this.channelRoomIAmTalking=e}setChannelNo(e){return this.channelNo=e,this}setMediaType(e){return this.mediaType=e,this}setPlaybackMode(e){return this.playbackMode=e,this}setPlaybackSpeed(e){return this.playbackSpeed=e,this}setStartTime(e){return this.startTime=e||"",this}setEndTime(e){return this.endTime=e||"",this}publishChannel(){!function(e,t,o){var{roomId:o,callback:i}=o;e.emit("send",{topic:`client/${t}/mediaapp/${o}/channel`,messageType:"StringValue",message:{value:o},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)=>{this.startRoomTimeout(t),this.setRoomStatus(w.Joining),function(e,t,o){var{deviceId:o,roomId:i,callback:r}=o,n=a().replace(/-/g,"");e.emit("send",{topic:`client/${t}/mediaapp/${n}/monitor`,messageType:"MonitorRequest",message:{clientId:o,roomId:i},responseMessageType:"SimpleClientToken",callback:r})}(this.eventEmit,this.clientId,{deviceId:this.monitorDeviceId,roomId:this.roomId,callback:o=>{if(o.messageContent.code)t(o);else{const i=o.topic.split("/")[1];this.setToken(o.messageContent.token),this.setRoomId(i),this.setRoomType(E.Monitor),this.joinMediaRoom().then((()=>{e(i)})).catch(t)}}})}))}publishSipVideo(){return new Promise(((e,t)=>{this.sipVideoDeviceId&&this.roomId?function(e,t,o){var{deviceId:o,roomId:i,callback:r}=o;e.emit("send",{topic:`client/${t}/mediaapp/${i}/sipVideo`,messageType:"SipVideoRequest",message:{clientId:o,roomId:i},responseMessageType:"SimpleClientToken",callback:r})}(this.eventEmit,this.clientId,{deviceId:this.sipVideoDeviceId,roomId:this.roomId,callback:o=>{var i;o.messageContent.code?t(o):(i=o.topic.split("/")[1],this.setToken(o.messageContent.token),this.setRoomId(i),this.setRoomType(E.SipVideo),this.joinMediaRoom(),e(i))}}):t(new Error("必须有设备ID和房间ID"))}))}publishVideoMeeting(){return new Promise(((e,t)=>{this.roomId?function(e,t,o){var{roomId:o,callback:i}=o;e.emit("send",{topic:`client/${t}/mediaapp/${o}/videoMeeting`,messageType:"StringValue",message:{value:o},responseMessageType:"SimpleClientToken",callback:i})}(this.eventEmit,this.clientId,{roomId:this.roomId,callback:o=>{var i;o.messageContent.code?t(o):(i=o.topic.split("/")[1],this.setToken(o.messageContent.token),this.setRoomId(i),this.setRoomType(E.VideoMeeting),this.joinMediaRoom(),e(i))}}):t(new Error("必须有设备ID和房间ID"))}))}publishMonitorListen(){return new Promise(((e,t)=>{!function(e,t,o){var{deviceId:o,callback:i}=o,r=a().replace(/-/g,"");e.emit("send",{topic:`client/${t}/mediaapp/${r}/monitorListen`,messageType:"StringValue",message:{value:o},responseMessageType:"SimpleClientToken",callback:i})}(this.eventEmit,this.clientId,{deviceId:this.monitorListenDeviceId,callback:t=>{var o=t.topic.split("/")[1];this.setToken(t.messageContent.token),this.setRoomId(o),this.setRoomType(E.MonitorListen),this.joinMediaRoom(),e(o)}})}))}publishBroadcast(){return new Promise(((e,t)=>{!function(e,t,o){var{clientIds:o,callback:i}=o,r=a().replace(/-/g,"");e.emit("send",{topic:`client/${t}/mediaapp/${r}/broadcast`,messageType:"BroadcastRequest",message:{clientIds:o},responseMessageType:"SimpleClientToken",callback:i})}(this.eventEmit,this.clientId,{clientIds:this.broadcastClientIds,callback:t=>{var o=t.topic.split("/")[1];this.setToken(t.messageContent.token),this.setRoomId(o),this.setRoomType(E.Broadcast),this.joinMediaRoom(),e(o)}})}))}publishMediaCall(){return new Promise(((e,t)=>{let o=-1;7===this.roomType||8===this.roomType?o=0:9!==this.roomType&&10!==this.roomType||(o=1),function(e,t,o){var{deviceId:o,callback:i,kind:r}=o,n=a().replace(/-/g,"");e.emit("send",{topic:`client/${t}/mediaapp/${n}/`+je[r],messageType:"StringValue",message:{value:o},responseMessageType:"SimpleClientToken",callback:i})}(this.eventEmit,this.clientId,{kind:o,deviceId:this.mediaBeCallDeviceId,callback:o=>{2e3===o.messageContent.code&&t({code:R.DeviceNotResponse,msg:S.DeviceNotResponse});var i=o.topic.split("/")[1];this.setToken(o.messageContent.token),this.setRoomId(i),e(i)}})}))}publishRecordRoom(){return new Promise(((e,t)=>{this.roomId&&function(e,t,o){var{roomId:o,callback:i}=o;e.emit("send",{topic:`client/${t}/mediaapp/${o}/recordRoom`,messageType:"StringValue",message:{value:o},responseMessageType:"SimpleClientToken",callback:i})}(this.eventEmit,this.clientId,{roomId:this.roomId,callback:t=>{this.setToken(t.messageContent.token),this.joinMediaRoom(),e(this.roomId)}})}))}publishFlvMonitor(e){return new Promise(((t,o)=>{var i;c.isSupported()?(this.setRoomStatus(w.Joining),i=function(e){var{playElementBox:e,room:t}=e,t=""+C.FlvMonitor+t.monitorDeviceId+"_"+t.clientId;let o=document.querySelector("#"+t);return o||((o=document.createElement("video")).id=t,o.muted=!1,o.style.width="100%",Vt(o),o.onloadedmetadata=()=>{null!=o&&o.play().then((()=>{}))},null!=(t=document.querySelector(e))&&t.append(o)),o}({room:this,playElementBox:this.playElementBox||""}),this.playElements.set(i.id,i),this.flvPlayer=c.createPlayer({type:"flv",url:e},{isLive:!0,statisticsInfoReportInterval:864e5}),this.flvPlayer.on(c.Events.ERROR,((e,t,o)=>{let i,r="未知错误";switch(e){case c.ErrorTypes.NETWORK_ERROR:console.warn("网络错误: ",o),i=R.NetworkError,r=S.NetworkError;break;case c.ErrorTypes.MEDIA_ERROR:console.warn("媒体错误: ",t),i=R.MediaEncodingFormatError,r=S.MediaEncodingFormatError;break;default:console.warn("未知错误: ",o)}this.roomEvent.emit("onFlvMonitorError",{room:this,code:i,message:r}),this.leaveRoom()})),this.flvPlayer.attachMediaElement(i),this.flvPlayer.load(),this.setVideoStatusMonitor({element:i,clientId:this.clientId,deviceId:this.monitorDeviceId}),t(this.roomId)):o({messageContent:{message:"浏览器版本过低,不支持打开监控"}})}))}publishSipPhoneCall(){return new Promise(((e,t)=>{this.mediaBeCallDeviceId?(this.startMediaCallNoAnswerTimeout(),function(e,t,o){var{deviceId:i,gatewayId:r,callback:n}=o;let s,d=o.roomId;s=r?{clientId:r,targetId:i}:{clientId:i},d=d||a().replace(/-/g,""),e.emit("send",{topic:`client/${t}/mediaapp/${d}/sipPhoneCallOut`,messageType:"SipPhoneCallOutRequest",message:s,responseMessageType:"SimpleClientToken",callback:n})}(this.eventEmit,this.clientId,{gatewayId:this.sipPhoneCallGatewayId,deviceId:this.mediaBeCallDeviceId,roomId:this.roomId,callback:o=>{this.clearMediaCallNoAnswerTimeout();var{messageContent:i,topic:r}=o;i.code?t(o):(o=r.split("/")[1],this.setToken(i.token),this.setRoomId(o),this.setRoomType(E.SipPhoneCall),this.joinMediaRoom(),e(o))}})):t(new Error("必须有设备ID"))}))}publishJT1078SourcesPlayback(){return new Promise(((e,t)=>{this.startRoomTimeout(t),this.setRoomStatus(w.Joining),function(e,t,o){var{deviceId:o,channelNo:i,mediaType:r,playbackMode:n,playbackSpeed:s,startTime:d,endTime:c,callback:l}=o,u=a().replace(/-/g,"");e.emit("send",{topic:`client/${t}/mediaapp/${u}/JT1078SourcesPlayback`,messageType:"JT1078FileSourcesPlaybackRequest",message:{clientId:o,channelNo:i,mediaType:r,playbackMode:n,playbackSpeed:s,startTime:d,endTime:c},responseMessageType:"SimpleClientToken",callback:l})}(this.eventEmit,this.clientId,{deviceId:this.monitorDeviceId,channelNo:this.channelNo,mediaType:this.mediaType,playbackMode:this.playbackMode,playbackSpeed:this.playbackSpeed,startTime:this.startTime,endTime:this.endTime,callback:o=>{if(o.messageContent.code)t(o);else{const i=o.topic.split("/")[1];this.setToken(o.messageContent.token),this.setRoomId(i),this.joinMediaRoom().then((()=>{e(i)})).catch(t)}}})}))}publishMixerMeeting(){return new Promise(((e,t)=>{this.roomId?function(e,t,o){var{roomId:o,callback:i}=o;e.emit("send",{topic:`client/${t}/mediaapp/${o}/mixerMeeting`,messageType:"StringValue",message:{value:o},responseMessageType:"SimpleClientToken",callback:i})}(this.eventEmit,this.clientId,{roomId:this.roomId,callback:o=>{var i;o.messageContent.code?t(o):(i=o.topic.split("/")[1],this.setToken(o.messageContent.token),this.setRoomId(i),this.setRoomType(E.MixerMeeting),this.joinMediaRoom(),e(i))}}):t(new Error("必须有设备ID和房间ID"))}))}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(),this.roomEvent.emit("onAudioCallRinging",{event:"ringing"})}),5e3)}stopMediaCallRinging(){clearInterval(this.mediaCallRingingInterval)}mediaCallWaiting(){this.mediaBeCallDeviceId&&this.roomId&&function(e,t,o){var{clientId:o,event:i,roomId:r,kind:a}=o;t=`client/${t}/mediaapp/${r}/${je[a]}Event`,e.emit("send",{topic:t,messageType:"AudioCallEvent",message:{clientId:o,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,o){var{clientId:o,event:i,roomId:r,kind:a}=o;t=`client/${t}/mediaapp/${r}/${je[a]}Event`,e.emit("send",{topic:t,messageType:"AudioCallEvent",message:{clientId:o,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(Ft,{roomId:this.roomId})}),15e3)}clearMediaCallRingingTimeout(){clearTimeout(this.mediaCallRingingTimeout)}startMediaCallWaitingTimeout(){this.mediaCallWaitingTimeout&&this.clearMediaCallWaitingTimeout(),this.mediaCallWaitingTimeout=window.setTimeout((()=>{this.clearMediaCallWaitingTimeout(),this.eventEmit.emit(Ft,{roomId:this.roomId})}),15e3)}clearMediaCallWaitingTimeout(){clearTimeout(this.mediaCallWaitingTimeout)}startMediaCallNoAnswerTimeout(){this.mediaCallNoAnswerTimeout&&this.clearMediaCallNoAnswerTimeout(),this.mediaCallNoAnswerTimeout=window.setTimeout((()=>{this.roomEvent.emit("onAudioCallNoAnswer",{event:"answer"}),this.eventEmit.emit(qt,{event:"answer",roomId:this.roomId}),this.mediaCallDeviceId&&![E.SipPhoneCall,E.BeSipPhoneCall].includes(this.roomType)&&(function(e,t,o){var{clientId:o,event:i,roomId:r,kind:a}=o;t=`client/${t}/mediaapp/${r}/${je[a]}Event`,e.emit("send",{topic:t,messageType:"AudioCallEvent",message:{clientId:o,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(){if(this.mediaCallDeviceId){if(this.roomType===E.BeSipPhoneCall)return new Promise(((e,t)=>{if(!this.roomId)return t();!function(e,t,o){var{roomId:o,callback:i}=o;e.emit("send",{topic:`client/${t}/mediaapp/${o}/sipPhoneCall`,messageType:"SipPhoneCallRequest",message:{roomId:o},responseMessageType:"SimpleClientToken",callback:i})}(this.eventEmit,this.clientId,{roomId:this.roomId,callback:o=>{this.eventEmit.emit("beSipPhoneCallRommCloseTopic",this.roomId);var{messageContent:i,topic:r}=o;i.code?t(o):(o=r.split("/")[1],this.setToken(i.token),this.setRoomId(o),this.setRoomType(E.BeSipPhoneCall),this.joinMediaRoom(),e(o))}})}));(function(e,t,o){var{clientId:o,event:i,roomId:r,kind:a}=o;t=`client/${t}/mediaapp/${r}/${je[a]}Event`,e.emit("send",{topic:t,messageType:"AudioCallEvent",message:{clientId:o,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()}}mediaCallBusy(){this.mediaBeCallDeviceId&&(this.clearMediaCallNoAnswerTimeout(),this.clearMediaCallWaitingTimeout(),this.stopMediaCallRinging(),this.stopMediaCallWaiting(),setTimeout((()=>{this.mediaBeCallDeviceId&&function(e,t,o){var{clientId:o,event:i,roomId:r,kind:a}=o;t=`client/${t}/mediaapp/${r}/${je[a]}Event`,e.emit("send",{topic:t,messageType:"AudioCallEvent",message:{clientId:o,event:i},options:{noResponse:!0}})}(this.eventEmit,this.clientId,{clientId:this.mediaBeCallDeviceId,roomId:this.roomId,event:"busy",kind:this._getRoomKind()})}),10))}mediaCallHangup(){7!==this.roomType&&9!==this.roomType&&this.roomType!==E.SipPhoneCall||!this.mediaBeCallDeviceId||$e(this.eventEmit,this.clientId,{clientId:this.mediaBeCallDeviceId,roomId:this.roomId,event:"hangup",kind:this._getRoomKind()}),8!==this.roomType&&10!==this.roomType&&this.roomType!==E.BeSipPhoneCall||!this.mediaCallDeviceId||$e(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(){return new Promise(((e,t)=>{this.roomId||Yt.debug("joinMediaRoom - RoomId is Null"),this.token||Yt.debug("joinMediaRoom - Token is Null"),this.roomStatus===w.Timeout?console.log("房间已超时,忽略 joinMediaRoom 流程 afterJoin"):function(e,t,o){var{token:o,forceTcp:i,roomId:r,callback:a}=o;e.emit("send",{topic:`client/${t}/media/${r}/join`,messageType:"JoinRequest",message:{token:o,forceTcp:i},responseMessageType:"JoinResponse",callback:a})}(this.eventEmit,this.clientId,{token:this.token,forceTcp:this.forceTcp,roomId:this.roomId,callback:async({messageContent:t})=>{this.roomStatus===w.Timeout?console.log("房间已超时,忽略 joinMediaRoom 流程"):(this.consumerTransportOptions=t.consumerTransportOptions,this.producerTransportOptions=t.producerTransportOptions,this.routerRtpCapabilities=t.routerRtpCapabilities,this.keepalive(),await this.createDevice(),await this.handlerRoomTransport(),e(!0))}})}))}isJoinMediaRoom(){return!!this.device}async handlerRoomTransport(){this.setRoomStatus(w.Joined),this.roomType===E.Channel?(await this.createConsumerTransport(),await this.createProducerTransport({audio:!0,video:!1}),await this.startConsuming()):this.roomType===E.Monitor?(await this.createConsumerTransport(),await this.startConsuming()):this.roomType===E.BeMonitor?(await this.createProducerTransport({audio:!0,video:!0}),await this.startConsuming()):this.roomType===E.Broadcast?await this.createProducerTransport({audio:!0,video:!1}):this.roomType===E.BeBroadcast||this.roomType===E.MonitorListen?(await this.createConsumerTransport(),await this.startConsuming()):this.roomType===E.BeMonitorListen?await this.createProducerTransport({audio:!0,video:!1}):this.roomType===E.AudioCall||this.roomType===E.BeAudioCall||this.roomType===E.VideoCall||this.roomType===E.BeVideoCall?(await this.createConsumerTransport(),await this.createProducerTransport({audio:!0,video:9===this.roomType||10===this.roomType}),await this.startConsuming()):this.roomType===E.SipVideo?(await this.createConsumerTransport(),await this.createProducerTransport({audio:!0,video:!0}),await this.startConsuming()):this.roomType===E.Recorder?await this.createProducerTransport({audio:!0,video:!0}):this.roomType===E.VideoMeeting||this.roomType===E.SipPhoneCall||this.roomType===E.BeSipPhoneCall?(await this.createConsumerTransport(),await this.createProducerTransport({audio:!0,video:this.localUserMediaOption.localUserMediaStreamVideoConstraints}),await this.startConsuming()):this.roomType===E.JT1078SourcesPlayback?(await this.createConsumerTransport(),await this.startConsuming()):this.roomType===E.MixerMeeting?(await this.createConsumerTransport(),await this.createProducerTransport({audio:!0,video:this.localUserMediaOption.localUserMediaStreamVideoConstraints}),await this.startConsuming()):Yt.debug("无roomType")}keepalive(){this.keepaliveInterval&&clearInterval(this.keepaliveInterval),this.keepaliveInterval=window.setInterval((()=>{(function(e,t,o){o=o.roomId,e.emit("send",{topic:`client/${t}/media/${o}/keepalive`,messageType:"Empty",message:{},responseMessageType:"Empty",callback:()=>{console.log("心跳发送")}})})(this.eventEmit,this.clientId,{roomId:this.roomId}),function(e,t,o){o=o.roomId,e.emit("send",{topic:`client/${t}/mediaapp/${o}/keepalive`,messageType:"Empty",message:{},options:{noResponse:!0}}),console.log("业务侧心跳保持")}(this.eventEmit,this.clientId,{roomId:this.roomId})}),1e4)}async startConsuming(){this.rtpCapabilities&&function(e,t,o){var{codecs:i,headerExtensions:r,roomId:a,callback:n}=o;console.log("startConsuming args",o),o=`client/${t}/media/${a}/startConsuming`,e.emit("send",{topic:o,messageType:"RtpCapabilitiesFinalized",message:{codecs:i,headerExtensions:r},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,console.log("routerRtpCapabilities",this.routerRtpCapabilities),await this.device.load({routerRtpCapabilities:lt(this.routerRtpCapabilities)}),console.log("router rtpCapabilities: %o",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:o,clockRate:i,channels:r,parameters:a,rtcpFeedback:n}=e;return{mimeType:Ye(e),kind:tt(t),preferredPayloadType:o,clockRate:i,channels:r,parameters:it(a),rtcpFeedback:at(n)}})))||[],headerExtensions:(null==(t=e.headerExtensions)?void 0:t.map((e=>{var{kind:e,uri:t,preferredId:o,preferredEncrypt:i,direction:r}=e;return{kind:tt(e),uri:st(t),preferredId:o,preferredEncrypt:i,direction:ct(r)}})))||[]}}(this.device.rtpCapabilities),console.log("device rtpCapabilities: %o",this.rtpCapabilities)}async createConsumerTransport(){var e;this.consumerTransportOptions&&(this.consumerTransport=null==(e=this.device)?void 0:e.createRecvTransport(ft(this.consumerTransportOptions)),null!=(e=this.consumerTransport))&&e.on("connect",(async({dtlsParameters:e},t)=>{e=vt(e),function(e,t,o){const{roomId:i,dtlsParametersProto:r,consumerTransportCallback:a}=o;e.emit("send",{topic:`client/${t}/media/${i}/connectConsumerTransport`,messageType:"DtlsParameters",message:r,responseMessageType:"Empty",callback:()=>{a()}})}(this.eventEmit,this.clientId,{roomId:this.roomId,dtlsParametersProto:e,consumerTransportCallback:t})}))}handleCreateDataConsumerTransport(e){}async createDataConsumerTransport(e){const t=await this.getH265WasmModule();t.initRoomInfo(this),(await this.consumerTransport.consumeData(e)).on("message",(async e=>{t.decodeBuffer(this.roomId,e,this.monitorDeviceId)}))}async createProducerTransport(e){if(this.producerTransportOptions){this.producerTransport=null==(t=this.device)?void 0:t.createSendTransport(ft(this.producerTransportOptions)),null!=(t=this.producerTransport)&&t.on("connect",(({dtlsParameters:e},t)=>{e=vt(e),function(e,t,o){const{roomId:i,dtlsParametersProto:r,producerTransportCallback:a}=o;e.emit("send",{topic:`client/${t}/media/${i}/connectProducerTransport`,messageType:"DtlsParameters",message:r,responseMessageType:"Empty",callback:e=>{a()}})}(this.eventEmit,this.clientId,{roomId:this.roomId,dtlsParametersProto:e,producerTransportCallback:t})})).on("produce",(({kind:e,rtpParameters:t},o)=>{let i=!1,r=this.produceTag;if("audio"==e)i=!this.defaultEnableAudio;else{if("video"!=e)return void Yt.error("异常情况,请排查");i=!this.defaultEnableVideo}if(this.roomType===E.SipVideo&&("audio"===e?r="sp_audio":"video"===e&&(r="sp_video")),this.roomType===E.SipPhoneCall||this.roomType===E.BeSipPhoneCall)if("audio"===e)r="sp_audio";else if("video"===e)return void(r="sp_video");if(this.roomType===E.Broadcast){var a=t.codecs[0].mimeType;switch(a){case"audio/PCMA":r="gb_broadcast";break;case"audio/PCMU":r="sp_audio";break;default:console.log("其他音频类型",a)}}this.roomType===E.MixerMeeting&&"video"===e&&(i=!1),function(e,t,o){const{roomId:i,produceCallback:r,callback:a,kind:n,tag:s,rtpParameters:d,paused:c}=o;o=`client/${t}/media/${i}/produce`,console.log("生产时候,是否先暂停:",c),e.emit("send",{topic:o,messageType:"ProduceRequest",message:{tag:s,kind:n,rtpParameters:d,paused:c},responseMessageType:"StringValue",callback:e=>{a&&a({kind:n,producerId:e.messageContent.value}),r({id:e.messageContent.value})}})}(this.eventEmit,this.clientId,{roomId:this.roomId,tag:r,kind:tt(e),rtpParameters:yt(t),paused:i,callback:({kind:e,producerId:o})=>{switch(e){case v.Audio:var r=t.codecs[0].mimeType;switch(r){case"audio/PCMA":case"audio/opus":this.audioProducerId=o;break;case"audio/PCMU":this.sipAudioProducerId=o;break;default:console.log("其他音频类型",r)}break;case v.Video:this.videoProducerId=o}Yt.debug("kind: %o, productId: %o",e,o),this.roomType!==E.Broadcast||i||this.roomMethods.producerAudioResume(),this.roomEvent.emit("onProducerSuccess",{room:this,code:4317,data:{roomId:this.roomId,kind:e}})},produceCallback:o})}));var t=await Nt(this.eventEmit),o=await At(this.eventEmit);let i=new MediaStream;if(e.video&&t&&wt(await Dt(t.deviceId)).forEach((e=>{i.addTrack(e)})),e.audio&&o&&wt(await Ot(o.deviceId)).forEach((e=>{i.addTrack(e)})),this.roomMediaStream)i=this.roomMediaStream;else if(0===i.getTracks().length)try{i=await Mt(e)}catch(e){Yt.debug("getUserMedia(produceType)"),this.eventEmit.emit("hyRtcOnError",{code:4350})}1===(t=wt(i)).length&&"audio"===t[0].kind&&(Yt.debug("构造虚拟视频流"),e=null==(o=Bt({text:"暂无摄像头画面"}))?void 0:o.getVideoTracks()[0])&&t.push(e),await this.handlerProduce(t),this.localPlayElementBox&&this.handlerLocalPlayElementBox(t),this.roomEvent.emit("onProducerCreated",{room:this,code:4309,data:{roomId:this.roomId}})}}handlerLocalPlayElementBox(e){var t;const o=new MediaStream;e.forEach((e=>{e&&o.addTrack(e)})),document.querySelector(""+this.localPlayElementBox)&&this.localPlayElementBox&&((e=document.createElement("video")).id="localPlayElementBox_"+this.roomId,e.muted=!0,e.controls=!1,e.srcObject=o,e.volume=0,e.playsInline=!0,e.autoplay,null!=(t=document.querySelector(this.localPlayElementBox))&&t.append(e),e.play(),this.localPlayVideoElement=e)}async handlerProduce(e){const t=[],o=[];e.forEach((e=>{var i,r;[E.AudioCall,E.BeAudioCall].includes(this.roomType)&&null!=e&&e.canvas||(i={track:e,...this.produceOption,codec:this.produceCodec},console.log("推理参数 produceOptions",i),(r=null==(r=this.producerTransport)?void 0:r.produce(i))&&t.push(r),this.roomType===E.Broadcast&&(r=null==(i=this.producerTransport)?void 0:i.produce({track:e,codec:{kind:"audio",mimeType:"audio/PCMU",preferredPayloadType:8,clockRate:8e3,channels:1}}))&&o.push(r))})),Promise.allSettled(t).then((e=>{e.forEach((e=>{if("fulfilled"===e.status){const t=e.value;this.producerMap.set(t.id,t),this.roomType!==E.MixerMeeting||"video"!==t.kind||this.defaultEnableVideo||(e=null==(e=Bt({text:"暂无摄像头画面"}))?void 0:e.getVideoTracks()[0])&&this.roomMethods.replaceProducerByTrack(this.videoProducerId,e),t.on("trackended",(()=>{this.handlerTracksEnd(t)}))}})),r()})),Promise.allSettled(o).then((e=>{e.forEach((e=>{"fulfilled"===e.status&&(e=e.value,this.producerMap.set(e.id,e))})),r()}));let i=0;const r=()=>{++i<2||this.roomEvent.emit("onProducerTrackCreated",{room:this,code:R.ProducerTrackCreated,data:{roomId:this.roomId}})}}async createNewClient(e){let t=this.getClient(e.clientId),o=(t?this.roomEvent.emit(Wt,{room:this,code:4302,data:{roomId:this.roomId,clientId:t.clientId}}):(t=new St(e),Yt.debug("创建新客户端 client %o ",t),this.roomEvent.emit(Wt,{room:this,code:4301,data:{roomId:this.roomId,clientId:t.clientId}})),this.addClient(t),!0);switch(e.kind){case v.Video:o=!this.afterJoinPullVideo;break;case v.Audio:o=!this.afterJoinPullAudio}var i;if(t.pushConsumerList({consumerId:e.consumerId,producerId:e.producerId,kind:e.kind,producerPaused:o||e.producerPaused,speakerId:e.speakerId,rtpParameters:e.rtpParameters}),await t.genConsumer(e,this.consumerTransport),this.roomType===E.Monitor)null!=this.monitorDeviceId&&(t=(i=Array.from(this.clientList.entries()))[0][1])&&this.playElementBox&&(i=function(e){var{client:e,playElementBox:t,room:o}=e,o=""+C.Monitor+o.monitorDeviceId+"_"+e.clientId;const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let r=document.querySelector("#"+o);return r?r.srcObject=i:((r=document.createElement("video")).id=o,r.muted=!1,r.style.width="100%",Vt(r),r.onloadedmetadata=()=>{null!=r&&r.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(r),r.srcObject=i,r}return null}({room:this,client:t,playElementBox:this.playElementBox}))&&(this.playElements.set(i.id,i),e.kind===v.Video)&&this.setVideoStatusMonitor({element:i,clientId:t.clientId,deviceId:this.monitorDeviceId});else if(this.roomType===E.Channel){const t=this.clientList.get("HY_TALK_MIX");t&&this.playElementBox&&(e=function(e){var{client:e,playElementBox:t,room:o}=e,o=""+C.Channel+o.roomId;if(e){const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let r=document.querySelector("#"+o);return r?r.srcObject=i:((r=document.createElement("video")).id=o,r.muted=!1,r.controls=!1,Vt(r),r.onloadedmetadata=()=>{null!=r&&r.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(r),r.srcObject=i,r}}return null}({room:this,client:t,playElementBox:this.playElementBox}))&&this.playElements.set(e.id,e)}else if(this.roomType===E.BeBroadcast)this.clientList.forEach((e=>{this.playElementBox&&function(e){var{client:e,playElementBox:t}=e;const o=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&o.addTrack(e.consumer.track)})),e=""+C.Broadcast+e.clientId,t&&o){let i=document.querySelector("#"+e);return i?i.srcObject=o:((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=o,i}}({room:this,client:e,playElementBox:this.playElementBox})}));else if(this.roomType===E.MonitorListen){if(null!=this.monitorListenDeviceId&&this.playElementBox){const e=this.clientList.get(this.monitorListenDeviceId);e&&function(e){var{client:e,playElementBox:t}=e,o=""+C.MonitorListen+e.clientId;const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let r=document.querySelector("#"+o);return r?r.srcObject=i:((r=document.createElement("audio")).id=o,r.muted=!1,r.controls=!1,r.onloadedmetadata=()=>{null!=r&&r.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(r),r.srcObject=i,r}}({room:this,client:e,playElementBox:this.playElementBox})}}else if(this.roomType===E.AudioCall||this.roomType===E.VideoCall){if(null!=this.mediaBeCallDeviceId){const e=this.clientList.get(this.mediaBeCallDeviceId);e&&this.playElementBox&&(i=function(e){var{client:e,playElementBox:t,room:o}=e,o=""+C[7===o.roomType?"AudioCall":"VideoCall"]+o.mediaBeCallDeviceId;const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let r=document.querySelector("#"+o);return r?r.srcObject=i:((r=document.createElement("video")).id=o,r.muted=!1,r.controls=!1,Vt(r),r.onloadedmetadata=()=>{null!=r&&r.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(r),r.srcObject=i,r}return null}({room:this,client:e,playElementBox:this.playElementBox}))&&this.playElements.set(i.id,i)}}else if(this.roomType===E.BeAudioCall||this.roomType===E.BeVideoCall){if(null!=this.mediaCallDeviceId){const t=this.clientList.get(this.mediaCallDeviceId);t&&this.playElementBox&&(e=function(e){var{client:e,playElementBox:t,room:o}=e,o=""+C[8===o.roomType?"BeAudioCall":"BeVideoCall"]+o.mediaCallDeviceId;const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let r=document.querySelector("#"+o);return r?r.srcObject=i:((r=document.createElement("video")).id=o,r.muted=!1,r.controls=!1,Vt(r),r.onloadedmetadata=()=>{null!=r&&r.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(r),r.srcObject=i,r}return null}({room:this,client:t,playElementBox:this.playElementBox}))&&this.playElements.set(e.id,e)}}else if(this.roomType===E.SipVideo){if(null!=this.sipVideoDeviceId){const e=this.clientList.get(this.sipVideoDeviceId);e&&this.playElementBox&&(i=function(e){var{client:e,playElementBox:t,room:o}=e,o=""+C.SipVideo+o.sipVideoDeviceId;const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let r=document.querySelector("#"+o);return r?r.srcObject=i:((r=document.createElement("video")).id=o,r.muted=!1,r.controls=!1,r.style.width="100%",Vt(r),r.onloadedmetadata=()=>{null!=r&&r.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(r),r.srcObject=i,r}return null}({room:this,client:e,playElementBox:this.playElementBox}))&&this.playElements.set(i.id,i)}}else if(this.roomType===E.VideoMeeting)t&&this.playElementBox&&(e=function(e){const{client:t,playElementBox:o,room:i}=e;e=""+C.VideoMeeting+t.clientId;const r=new MediaStream;var a=Bt({text:"暂无对方画面"});if(a&&r.addTrack(null==a?void 0:a.getTracks()[0]),t.consumerList.forEach((e=>{e.consumer&&r.addTrack(e.consumer.track)})),o&&r){let n=document.querySelector("#"+e);return n?n.srcObject=r:((n=document.createElement("video")).id=e,n.muted=!1,n.controls=!1,n.style.width="100%",n.playsInline=!0,n.autoplay=!0,Vt(n),n.onloadedmetadata=()=>{t.clientId&&i.removeVirtualMediaTrackByClientId(t.clientId),null!=n&&n.play().then((()=>{}))}),null!=(a=document.querySelector(o))&&a.append(n),n.srcObject=r,n}return null}({room:this,client:t,playElementBox:this.playElementBox}))&&this.playElements.set(e.id,e);else if(this.roomType===E.SipPhoneCall||this.roomType===E.BeSipPhoneCall){if(null!=this.mediaBeCallDeviceId){const e=this.clientList.get(this.mediaBeCallDeviceId);e&&this.playElementBox&&(i=function(e){var{client:e,playElementBox:t,room:o}=e,o=""+C.BeSipPhoneCall+o.mediaBeCallDeviceId;const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let r=document.querySelector("#"+o);return r?r.srcObject=i:((r=document.createElement("video")).id=o,r.muted=!1,r.controls=!1,Vt(r),r.onloadedmetadata=()=>{null!=r&&r.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(r),r.srcObject=i,r}return null}({room:this,client:e,playElementBox:this.playElementBox}))&&this.playElements.set(i.id,i)}}else this.roomType===E.JT1078SourcesPlayback?null!=this.monitorDeviceId&&(t=(e=Array.from(this.clientList.entries()))[0][1])&&this.playElementBox&&(i=function(e){var{client:e,playElementBox:t,room:o}=e,o=""+C.JT1078SourcesPlayback+o.monitorDeviceId;const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let r=document.querySelector("#"+o);return r?r.srcObject=i:((r=document.createElement("video")).id=o,r.muted=!1,r.style.width="100%",Vt(r),r.onloadedmetadata=()=>{null!=r&&r.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(r),r.srcObject=i,r}return null}({room:this,client:t,playElementBox:this.playElementBox}))&&this.playElements.set(i.id,i):this.roomType===E.MixerMeeting?t&&this.playElementBox&&(e=function(e){var{client:e,playElementBox:t}=e,o=""+C.MixerMeeting+e.clientId;const i=new MediaStream;if(e.consumerList.forEach((e=>{e.consumer&&i.addTrack(e.consumer.track)})),t&&i){let r=document.querySelector("#"+o);return r?r.srcObject=i:((r=document.createElement("video")).id=o,r.muted=!1,r.controls=!1,r.style.width="100%",r.playsInline=!0,r.autoplay=!0,Vt(r),r.onloadedmetadata=()=>{null!=r&&r.play().then((()=>{}))}),null!=(e=document.querySelector(t))&&e.append(r),r.srcObject=i,r}return null}({room:this,client:t,playElementBox:this.playElementBox}))&&this.playElements.set(e.id,e):Yt.error("createNewClient 中没有处理 roomType",this.roomType)}async createVirtualNewClient(e){let t=this.getClient(e.clientId),o=(t?this.roomEvent.emit(Wt,{room:this,code:4302,data:{roomId:this.roomId,clientId:t.clientId}}):(t=new St(e),Yt.debug("创建新客户端 client %o ",t),this.roomEvent.emit(Wt,{room:this,code:4301,data:{roomId:this.roomId,clientId:t.clientId}})),this.addClient(t),!0);switch(e.kind){case v.Video:o=!this.afterJoinPullVideo;break;case v.Audio:o=!this.afterJoinPullAudio}t.pushConsumerList({consumerId:e.consumerId,producerId:e.producerId,kind:e.kind,producerPaused:o||e.producerPaused,speakerId:e.speakerId,rtpParameters:e.rtpParameters})}cleanPlayElement(){switch(this.roomType){case E.Channel:this.cleanChannelElement();break;case E.Monitor:this.cleanMonitorElement();break;case E.BeMonitor:case E.Broadcast:break;case E.VideoCall:this.cleanMediaCallElement();break;case E.BeVideoCall:this.cleanMediaBeCallElement();break;case E.AudioCall:this.cleanMediaCallElement();break;case E.BeAudioCall:this.cleanMediaBeCallElement();break;case E.BeBroadcast:this.cleanVBeBroadcastElement();break;case E.MonitorListen:this.cleanMonitorListenElement();break;case E.SipVideo:this.cleanSipVideoElement();break;case E.BeMonitorListen:case E.Recorder:break;case E.VideoMeeting:this.cleanVideoMeetingElement();break;case E.SipPhoneCall:case E.BeSipPhoneCall:this.cleanSipPhoneBeCallElement();break;case E.JT1078SourcesPlayback:this.cleanJT1078SourcesPlayback();case E.MixerMeeting:this.cleanMixerMeetingElement();break;default:Yt.error("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=""+C.Monitor+this.monitorDeviceId,t=document.querySelector(`[id^="${t}"]`))&&(this.cleanVideoStatusMonitor(t),null!=(e=null==t?void 0:t.parentElement))&&e.removeChild(t)}cleanSipVideoElement(){var e,t;this.playElementBox&&null!=this.sipVideoDeviceId&&(t=""+C.SipVideo+this.sipVideoDeviceId,t=document.querySelector("#"+t))&&null!=(e=null==t?void 0:t.parentElement)&&e.removeChild(t)}cleanVideoMeetingElement(){this.playElementBox&&null!=this.roomId&&this.clientList.forEach((e=>{e.clientId&&this.cleanVideoMeetingElementByClientId(e.clientId)}))}cleanVideoMeetingElementByClientId(e){var t;this.playElementBox&&null!=this.roomId&&(e=""+C.VideoMeeting+e,e=document.querySelector("#"+e))&&null!=(t=null==e?void 0:e.parentElement)&&t.removeChild(e)}cleanChannelElement(){var e,t;this.playElementBox&&null!=this.roomId&&(t=""+C.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=""+C[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=""+C[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=""+C.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=""+C.MonitorListen+this.monitorListenDeviceId,t=document.querySelector("#"+t))&&null!=(e=null==t?void 0:t.parentElement)&&e.removeChild(t)}cleanVirtualBackgroundTmpElement(){var e,t,o;this.playElementBox&&null!=this.roomId&&(t=""+C.VirtualBackgroundTmpVideo+this.roomId,o=""+C.VirtualBackgroundTmpCanvas+this.roomId,t=document.querySelector("#"+t),o=document.querySelector("#"+o),t&&null!=(e=null==t?void 0:t.parentElement)&&e.removeChild(t),o)&&null!=(e=null==o?void 0:o.parentElement)&&e.removeChild(o)}cleanFlvMonitorElement(){var e,t;this.flvPlayer&&(t=this.playElements.get(null==(t=this.flvPlayer._mediaElement)?void 0:t.id),this.flvPlayer.unload(),this.flvPlayer.destroy(),t&&(this.playElements.delete(t.id),t.parentElement)&&null!=(e=t.parentElement)&&e.removeChild(t),this.flvPlayer=void 0)}cleanSipPhoneBeCallElement(){var e,t;this.playElementBox&&null!=this.mediaBeCallDeviceId&&(t=""+C.BeSipPhoneCall+this.mediaBeCallDeviceId,t=document.querySelector("#"+t))&&null!=(e=null==t?void 0:t.parentElement)&&e.removeChild(t)}cleanJT1078SourcesPlayback(){var e,t;this.playElementBox&&null!=this.monitorDeviceId&&(t=""+C.JT1078SourcesPlayback+this.monitorDeviceId,t=document.querySelector("#"+t))&&null!=(e=null==t?void 0:t.parentElement)&&e.removeChild(t)}cleanMixerMeetingElement(){this.playElementBox&&null!=this.roomId&&this.clientList.forEach((e=>{var t;e.clientId&&(e=""+C.MixerMeeting+e.clientId,e=document.querySelector("#"+e))&&null!=(t=null==e?void 0:e.parentElement)&&t.removeChild(e)}))}passiveLeaved(){this.destroyRoom(),this.eventEmit.emit(Gt,{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)}async terminateH265Worker(){this.getH265WasmModule().then((e=>{e&&e.terminateWorker(this.roomId)})).catch((()=>{Yt.error("未找到 H265 的 wasm 模块")}))}getRoomId(){return this.roomId}leaveRoom(){this.roomType===E.FlvMonitor?(this.cleanAllVideoStatusMonitor(),this.cleanFlvMonitorElement(),this.deleteRoom()):(function(e,t,o){const{roomId:i,callback:r}=o;o=`client/${t}/media/${i}/leave`,e.emit("send",{topic:o,messageType:"Empty",responseMessageType:"Empty",callback:()=>{console.log("room leave success"),e.emit("roomLeaveSuccess",{roomId:i}),r&&r(i)}})}(this.eventEmit,this.clientId,{roomId:this.roomId,callback:()=>{}}),this.destroyRoom())}deleteRoom(){this.eventEmit.emit("deleteRoom",{roomId:this.roomId})}clearKeepAlive(){Yt.debug("清除心跳定时器",this.keepaliveInterval),clearInterval(this.keepaliveInterval)}producerClose(){0<this.producerMap.size&&this.producerMap.forEach((e=>{e.close(),Yt.debug("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()}setVideoStatusMonitor(e){var t=e.element;if(t){this.cleanVideoStatusMonitor(t);const o=new Kt(e);o.on(A.CONNECTED,(()=>{this.roomEvent.emit("onConsumerVideoConnected",{code:R.ConsumerVideoConnected,room:this,message:S.ConsumerVideoConnected,data:{roomId:this.roomId,clientId:o.clientId}})})),o.on(A.CONNECTION_TIMEOUT,(()=>{this.roomEvent.emit("onConsumerVideoConnectionTimeout",{code:R.ConsumerVideoConnectionTimeout,room:this,message:S.ConsumerVideoConnectionTimeout,data:{roomId:this.roomId,clientId:o.clientId}})})),o.on(A.DECODED_LAG,(()=>{this.roomEvent.emit("onConsumerVideoLag",{code:R.ConsumerVideoLag,room:this,message:S.ConsumerVideoLag,data:{roomId:this.roomId,clientId:o.clientId}})})),o.on(A.DECODED_RESUME,(()=>{this.roomEvent.emit("onConsumerVideoResume",{code:R.ConsumerVideoResume,room:this,message:S.ConsumerVideoResume,data:{roomId:this.roomId,clientId:o.clientId}})})),o.on(A.DECODED_INTERRUPT,(()=>{this.roomEvent.emit("onConsumerVideoInterpupt",{code:R.ConsumerVideoInterpupt,room:this,message:S.ConsumerVideoInterpupt,data:{roomId:this.roomId,clientId:o.clientId}})})),o.on(A.DECODED_ABNORMAL,(()=>{this.roomEvent.emit("onConsumerVideoAbnormal",{code:R.ConsumerVideoAbnormal,room:this,message:S.ConsumerVideoAbnormal,data:{roomId:this.roomId,clientId:o.clientId}})})),this.playStatusMonitor.set(t.id,o)}}cleanVideoStatusMonitor(e){this.playStatusMonitor.has(e.id)&&(this.playStatusMonitor.get(e.id).destroy(),this.playStatusMonitor.delete(e.id))}cleanAllVideoStatusMonitor(){this.playStatusMonitor.forEach((e=>{e&&e.destroy()}))}async destroyRoom(e,t){Yt.debug("销毁房间 destroyRoom %s",this.roomId),this.eventEmit.emit("unSubscribeMediaAppRoomEventTopic",this.roomId),clearTimeout(this.roomTimeoutId),this.clearKeepAlive(),await this.terminateH265Worker(),this.closeTransport(),this.producerClose(),this.clearMutedAudioBufferSourceNodeSource(),this.cleanPlayElement(),this.cleanAllVideoStatusMonitor(),this.removeAllClient(),this.deleteRoom(),e&&e(t),this.roomEvent.emit("onRoomDestroy",{code:R.RoomDestroy,data:{roomId:this.roomId||null}})}_getRoomKind(){let e=-1;return 7===this.roomType||8===this.roomType||this.roomType===E.SipPhoneCall||this.roomType===E.BeSipPhoneCall?e=0:9!==this.roomType&&10!==this.roomType||(e=1),e}onClientLeft(e){switch(this.roomType){case E.Broadcast:this.broadcastClientIds=this.broadcastClientIds.filter((t=>t!=e.clientId));break;case E.MixerMeeting:this.removeClient(e.clientId)}this.roomEvent.emit("onClientLeft",{code:"4306",data:{clientId:e.clientId}})}getH265WasmModule(){return new Promise((async(e,t)=>{this.eventEmit.emit(zt,{callback:t=>{e(t)}},(()=>{t()}))}))}removeVirtualMediaTrackByClientId(e){if(this.roomType===E.VideoMeeting&&(e=""+C.VideoMeeting+e,e=this.playElements.get(e))){const t=e.srcObject;t.getVideoTracks().forEach((e=>{e.canvas&&t.removeTrack(e)}))}}handlerTracksEnd(e){this.roomType===E.Recorder?this.leaveRoom():console.log("未处理 handlerTracksEnd 房间类型:",this.roomType)}}const eo={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={code:0,message:""};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(8!==n)break;a.code=o.uint32();continue;case 2:if(18===n){a.message=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({code:uo(e.code)?globalThis.Number(e.code):0,message:uo(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=>eo.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={code:0,message:""};return o.code=null!=(t=e.code)?t:0,o.message=null!=(t=e.message)?t:"",o}};const to={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={clientId:"",roomId:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.clientId=o.string();continue;case 2:if(18===n){a.roomId=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({clientId:uo(e.clientId)?globalThis.String(e.clientId):"",roomId:uo(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=>to.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={clientId:"",roomId:void 0};return o.clientId=null!=(t=e.clientId)?t:"",o.roomId=null!=(t=e.roomId)?t:void 0,o}};const oo={encode(e,t=i.Writer.create()){for(const o of e.clientIds)t.uint32(10).string(o);return t},decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={clientIds:[]};o.pos<r;){var n=o.uint32();if(n>>>3!=1||10!==n){if(4==(7&n)||0===n)break;o.skipType(7&n)}else a.clientIds.push(o.string())}return a},fromJSON:e=>({clientIds:globalThis.Array.isArray(null==e?void 0:e.clientIds)?e.clientIds.map((e=>globalThis.String(e))):[]}),toJSON(e){var t,o={};return null!=(t=e.clientIds)&&t.length&&(o.clientIds=e.clientIds),o},create:e=>oo.fromPartial(null!=e?e:{}),fromPartial(e){var t={clientIds:[]};return t.clientIds=(null==(e=e.clientIds)?void 0:e.map((e=>e)))||[],t}};const io={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={clientId:"",event:""};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.clientId=o.string();continue;case 2:if(18===n){a.event=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({clientId:uo(e.clientId)?globalThis.String(e.clientId):"",event:uo(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=>io.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={clientId:"",event:""};return o.clientId=null!=(t=e.clientId)?t:"",o.event=null!=(t=e.event)?t:"",o}};const ro={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={roomId:"",clientId:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.roomId=o.string();continue;case 2:if(18===n){a.clientId=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({roomId:uo(e.roomId)?globalThis.String(e.roomId):"",clientId:uo(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=>ro.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={roomId:"",clientId:void 0};return o.roomId=null!=(t=e.roomId)?t:"",o.clientId=null!=(t=e.clientId)?t:void 0,o}};const ao={encode(e,t=i.Writer.create()){""!==e.token&&t.uint32(10).string(e.token);for(const o of e.produceTags)t.uint32(18).string(o);for(const o of e.consumeTags)t.uint32(26).string(o);return""!==e.extfield1&&t.uint32(34).string(e.extfield1),t},decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={token:"",produceTags:[],consumeTags:[],extfield1:""};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.token=o.string();continue;case 2:if(18!==n)break;a.produceTags.push(o.string());continue;case 3:if(26!==n)break;a.consumeTags.push(o.string());continue;case 4:if(34===n){a.extfield1=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({token:uo(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:uo(e.extfield1)?globalThis.String(e.extfield1):""}),toJSON(e){var t,o={};return""!==e.token&&(o.token=e.token),null!=(t=e.produceTags)&&t.length&&(o.produceTags=e.produceTags),null!=(t=e.consumeTags)&&t.length&&(o.consumeTags=e.consumeTags),""!==e.extfield1&&(o.extfield1=e.extfield1),o},create:e=>ao.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={token:"",produceTags:[],consumeTags:[],extfield1:""};return o.token=null!=(t=e.token)?t:"",o.produceTags=(null==(t=e.produceTags)?void 0:t.map((e=>e)))||[],o.consumeTags=(null==(t=e.consumeTags)?void 0:t.map((e=>e)))||[],o.extfield1=null!=(t=e.extfield1)?t:"",o}};const no={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 o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={event:"",clientId:""};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.event=o.string();continue;case 2:if(18===n){a.clientId=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({event:uo(e.event)?globalThis.String(e.event):"",clientId:uo(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=>no.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={event:"",clientId:""};return o.event=null!=(t=e.event)?t:"",o.clientId=null!=(t=e.clientId)?t:"",o}};const so={encode:(e,t=i.Writer.create())=>(""!==e.clientId&&t.uint32(10).string(e.clientId),void 0!==e.targetId&&t.uint32(18).string(e.targetId),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={clientId:"",targetId:void 0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.clientId=o.string();continue;case 2:if(18===n){a.targetId=o.string();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({clientId:uo(e.clientId)?globalThis.String(e.clientId):"",targetId:uo(e.targetId)?globalThis.String(e.targetId):void 0}),toJSON(e){var t={};return""!==e.clientId&&(t.clientId=e.clientId),void 0!==e.targetId&&(t.targetId=e.targetId),t},create:e=>so.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={clientId:"",targetId:void 0};return o.clientId=null!=(t=e.clientId)?t:"",o.targetId=null!=(t=e.targetId)?t:void 0,o}};const co={encode:(e,t=i.Writer.create())=>(""!==e.roomId&&t.uint32(10).string(e.roomId),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={roomId:""};o.pos<r;){var n=o.uint32();if(n>>>3!=1||10!==n){if(4==(7&n)||0===n)break;o.skipType(7&n)}else a.roomId=o.string()}return a},fromJSON:e=>({roomId:uo(e.roomId)?globalThis.String(e.roomId):""}),toJSON(e){var t={};return""!==e.roomId&&(t.roomId=e.roomId),t},create:e=>co.fromPartial(null!=e?e:{}),fromPartial(e){var t={roomId:""};return t.roomId=null!=(e=e.roomId)?e:"",t}};const lo={encode:(e,t=i.Writer.create())=>(""!==e.deviceId&&t.uint32(10).string(e.deviceId),""!==e.cmdType&&t.uint32(18).string(e.cmdType),0!==e.value&&t.uint32(24).uint32(e.value),t),decode(e,t){for(var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t,a={deviceId:"",cmdType:"",value:0};o.pos<r;){var n=o.uint32();switch(n>>>3){case 1:if(10!==n)break;a.deviceId=o.string();continue;case 2:if(18!==n)break;a.cmdType=o.string();continue;case 3:if(24===n){a.value=o.uint32();continue}}if(4==(7&n)||0===n)break;o.skipType(7&n)}return a},fromJSON:e=>({deviceId:uo(e.deviceId)?globalThis.String(e.deviceId):"",cmdType:uo(e.cmdType)?globalThis.String(e.cmdType):"",value:uo(e.value)?globalThis.Number(e.value):0}),toJSON(e){var t={};return""!==e.deviceId&&(t.deviceId=e.deviceId),""!==e.cmdType&&(t.cmdType=e.cmdType),0!==e.value&&(t.value=Math.round(e.value)),t},create:e=>lo.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={deviceId:"",cmdType:"",value:0};return o.deviceId=null!=(t=e.deviceId)?t:"",o.cmdType=null!=(t=e.cmdType)?t:"",o.value=null!=(t=e.value)?t:0,o}};function uo(e){return null!=e}const mo=new Ge("Message:mediaapp"),po=(e,t)=>{var{curTopicMethod:o,packet:i,message:r,topic:t}=t,a=t.split("/")[1],n=t.split("/")[3];switch(o){case"monitor":ho(e,ao.decode(r),a,n),bo(e,i,a,n);break;case"broadcast":vo(e,ao.decode(r),a,n),ko(e,i,a,n);break;case"monitorListen":go(e,ao.decode(r),a,n),Eo(e,i,a,n);break;case"audioCall":Io(e,ao.decode(r),a,n,8),Co(e,i,a,n);break;case"videoCall":Io(e,ao.decode(r),a,n,10),Co(e,i,a,n);break;case"audioCallEvent":case"videoCallEvent":fo(e,io.decode(r),a);break;case"roomEvent":To(e,no.decode(r),a);break;case"sipBye":yo(e,r,a);break;case"err":console.log("handlerMediaAppServerOnMessage -ERR",eo.decode(r)),Ro(e,eo.decode(r),a);break;default:console.log("handlerMediaAppServerOnMessage 未知类型",o)}},ho=(e,t,o,i)=>{const{token:r,produceTags:a}=t;e.emit("getRoom",{roomId:o,callback:({room:t})=>{if(!t){const t=new Qt({eventEmit:e});t.setRoomId(o).setClientId(i).setToken(r).setRoomType(E.BeMonitor).setProduceTag(a.toString()).joinMediaRoom(),e.emit("addRoom",t),e.emit("onMonitor",{room:t})}}})},vo=(e,t,o,i)=>{const{token:r,produceTags:a}=t;e.emit("getRoom",{roomId:o,callback:({room:t})=>{if(!t){const t=new Qt({eventEmit:e});t.setRoomId(o).setClientId(i).setToken(r).setPlayElementBox("body").setProduceTag(a.toString()).setRoomType(E.BeBroadcast).joinMediaRoom(),e.emit("addRoom",t),e.emit("onBroadcast",{room:t})}}})},go=(e,t,o,i)=>{const{token:r,produceTags:a}=t;e.emit("getRoom",{roomId:o,callback:({room:t})=>{if(!t){const t=new Qt({eventEmit:e});t.setRoomId(o).setClientId(i).setToken(r).setProduceTag(a.toString()).setRoomType(E.BeMonitorListen).joinMediaRoom(),e.emit("addRoom",t),e.emit("onMonitorListen",{room:t})}}})},Io=(e,t,o,i,r)=>{const{token:a,produceTags:n,extfield1:s}=t;e.emit("getRoom",{roomId:o,callback:({room:t})=>{if(!t){const t=new Qt({eventEmit:e});t.setRoomId(o).setClientId(i).setToken(a).setProduceTag(n.toString()).setPlayElementBox("#preview-box").setRoomType(r).setMediaCallDeviceId(i).setMediaBeCallDeviceId(s),e.emit("addRoom",t),e.emit(Ut,{room:t}),t.mediaCallRinging(),t.startAudioCallRinging(),t.startMediaCallNoAnswerTimeout()}}})},fo=(e,t,o,i)=>{const{clientId:r,event:a}=t;mo.debug("mediaCallEvent : %s",a),e.emit("getRoom",{roomId:o,callback:({room:e})=>{if(e)switch(a){case"waiting":e.setMediaCallDeviceId(r),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"busy":e.roomEvent.emit("onAudioCallEventBusy",{event:"busy"}),e.isJoinMediaRoom()?e.leaveRoom():e.deleteRoom(),e.clearMediaCallWaitingTimeout(),e.clearMediaCallNoAnswerTimeout(),e.stopMediaCallWaiting(),e.stopMediaCallRinging();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",a)}}})},To=(e,t,o,i)=>{const r=t.event;mo.debug("roomEvent : %s roomId:%o ",r,o),e.emit("getRoom",{roomId:o,callback:({room:e})=>{switch(r){case"clientJoined":e&&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)}}})},yo=(e,t,o,i)=>{e.emit("beSipPhoneCallRommCloseTopic",o),e.emit("getRoom",{roomId:o,callback:({room:e})=>{e&&(e.roomEvent.emit("onAudioCallEventHangup",{event:"hangup"}),e.isJoinMediaRoom()?e.leaveRoom():e.deleteRoom())}})},bo=(e,t,o,i)=>{t=t.properties.correlationData,e.emit("reply",{topic:`client/${i}/mediaapp/${o}/ok`,messageType:"BoolValue",message:{value:!0},correlationData:t})},ko=(e,t,o,i)=>{t=t.properties.correlationData,e.emit("reply",{topic:`client/${i}/mediaapp/${o}/ok`,messageType:"Empty",correlationData:t})},Eo=(e,t,o,i)=>{t=t.properties.correlationData,e.emit("reply",{topic:`client/${i}/mediaapp/${o}/ok`,messageType:"Empty",correlationData:t})},Co=(e,t,o,i)=>{t=t.properties.correlationData,e.emit("reply",{topic:`client/${i}/mediaapp/${o}/ok`,messageType:"Empty",correlationData:t})},Ro=(e,t,o,i)=>{switch(t.code){case 2e3:e.emit("getRoom",{roomId:o,callback:({room:e})=>{e?(e.roomEvent.emit("joinRoomEvent",{code:R.DeviceNotResponse,msg:S.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"}(D=D||{}),function(e){e[e.Audio=0]="Audio",e[e.Video=1]="Video",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(x=x||{}),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"}(B=B||{}),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"}(V=V||{}),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"}(_=_||{}),function(e){e[e.Auto=0]="Auto",e[e.Client=1]="Client",e[e.Server=2]="Server",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(L=L||{}),function(e){e[e.Tcp=0]="Tcp",e[e.Udp=1]="Udp",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(J=J||{}),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"}(U=U||{});const So={encode:(e,t=o.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 o.Reader?e:o.Reader.create(e),r=void 0===t?i.len:i.pos+t,a={clientId:"",consumerId:""};i.pos<r;){var n=i.uint32();switch(n>>>3){case 1:if(10!==n)break;a.clientId=i.string();continue;case 2:if(18===n){a.consumerId=i.string();continue}}if(4==(7&n)||0===n)break;i.skipType(7&n)}return a},fromJSON:e=>({clientId:Po(e.clientId)?globalThis.String(e.clientId):"",consumerId:Po(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=>So.fromPartial(null!=e?e:{}),fromPartial(e){var t,o={clientId:"",consumerId:""};return o.clientId=null!=(t=e.clientId)?t:"",o.consumerId=null!=(t=e.consumerId)?t:"",o}};function Po(e){return null!=e}const Mo=(e,t)=>new Promise(((o,i)=>{e.emit("getRoom",{roomId:t,callback:({room:e})=>{e?o(e):i("房间不存在")}})})),wo=async(e,t,o)=>{await(await Mo(e,o)).createNewClient(t)},No=async(e,t,o)=>{e=await Mo(e,o);let i="",r=(null!=(a=null==t?void 0:t.rtpParameters)&&a.codecs&&(a=null==(a=null==t?void 0:t.rtpParameters)?void 0:a.codecs[0].mimeType,i=P[a]),"");null!=(a=t.clientId)&&a.includes("_")&&(r=(a=t.clientId.split("_"))[a.length-1]);var a=e.roomMethods.getRoomClientList().find((e=>e.clientId===t.clientId));e.roomEvent.emit("onConsumerCreated",{room:e,code:4300,data:{roomId:o,clientId:t.clientId,kind:t.kind,mimeTypeValue:i,deviceId:r,consumerState:a}})},Ao=async(e,t,o)=>{let i=!0;var r=await Mo(e,t);switch(o){case v.Video:console.log("业务侧传入,加入后是否需要消费:",r.afterJoinPullVideo),i=r.afterJoinPullVideo;break;case v.Audio:console.log("业务侧传入,加入后是否需要消费:",r.afterJoinPullAudio),i=r.afterJoinPullAudio}return i},Oo=(e,t)=>{let o=null;if(e.clientList.forEach(((e,i)=>{e.consumerList.forEach((e=>{e.consumerId===t.consumerId&&(o=e)}))})),o)return o},Do=async(e,t,o)=>{e=await Mo(e,o);let i=t.clientId;if(e.roomType===E.Channel){const o=e.roomMethods.getChannelRoomConsumer();(null==t?void 0:t.speakerId)===o.speakerId&&(o.producerPaused=!0,o.speakerId=""),null!=t&&t.speakerId&&(i=null==t?void 0:t.speakerId)}var r=Oo(e,t).kind,a=e.roomMethods.getConsumerListByClient(i);let n=e.roomMethods.filterConsumerByKind(Array.from(a.values()),r);n&&(n.producerPaused=!0),e.roomEvent.emit("onConsumerPaused",{room:e,code:4304,data:{roomId:o,clientId:i,consumerId:t.consumerId,speaker:null==t?void 0:t.speakerId,kind:r}})},xo=async(e,t,o)=>{e=await Mo(e,o);let i=t.clientId;if(e.roomType===E.Channel){""!==(null==(r=e.roomMethods.whoIsSpeaking())?void 0:r.clientId)&&(null==r?void 0:r.clientId)!==(null==t?void 0:t.speakerId)&&e.roomEvent.emit("onCutOffSpeaking",{room:e,code:4308,data:{roomId:o,clientId:null==t?void 0:t.speakerId,beCutOffClientId:null==r?void 0:r.clientId,consumerId:t.consumerId,speaker:null==t?void 0:t.speakerId}});const a=e.roomMethods.getChannelRoomConsumer();a.producerPaused=!1,a.speakerId=null==t?void 0:t.speakerId,null!=t&&t.speakerId&&(i=null==t?void 0:t.speakerId)}var r=Oo(e,t).kind,a=e.roomMethods.getConsumerListByClient(i);let n=e.roomMethods.filterConsumerByKind(Array.from(a.values()),r);n&&(n.producerPaused=!1),e.roomEvent.emit("onConsumerResume",{room:e,code:4303,data:{roomId:o,clientId:i,consumerId:t.consumerId,speaker:null==t?void 0:t.speakerId,kind:r}})},Bo=(e,t,o,i)=>{o=o.split("/")[3];var r=null==(r=null==(r=t.properties)?void 0:r.userProperties)?void 0:r.redirect;t=t.properties.correlationData;e.emit("reply",{topic:`client/${o}/redirect/${r}/ok`,messageType:"BoolValue",message:{value:i},correlationData:t})},Vo=(e,t,o,i)=>{o=o.split("/")[3],t=t.properties.correlationData,e.emit("reply",{topic:`client/${o}/media/${i}/ok`,messageType:"Empty",correlationData:t})},_o=async(e,t,o)=>{o=await Mo(e,o),e.emit("onConsumerResume",{room:o})},Lo=async(e,t)=>{t=await Mo(e,t),e.emit("onConsumerPaused",{room:t})},Jo=(e,t,o,i)=>{o=o.split("/")[3],t=t.properties.correlationData,e.emit("reply",{topic:`client/${o}/media/${i}/ok`,messageType:"Empty",correlationData:t})},Uo=async(e,t,o)=>{var i,r=await Mo(e,o),{kind:a,sequence:n,sources:s}=t;for(let e=0;e<s.length;e++){const{clientId:t,state:d}=s[e];t!==r.clientId&&((i=0===a?r.roomMethods.getConsumerAudioSequence(t):r.roomMethods.getConsumerVideoSequence(t))<n||0===i)&&([0,1].includes(d)?(r.getClient(t)||r.roomEvent.emit("onClientJoined",{code:4305,room:r,data:{clientId:t}}),r.createVirtualNewClient({clientId:t,kind:a,producerPaused:0===d,producerId:`producer_${t}_`+a,consumerId:`consumer_${t}_`+a,rtpParameters:void 0}),i=r.roomMethods.getRoomClientList(),r.roomEvent.emit("onConsumerCreated",{room:r,code:4300,data:{roomId:o,clientId:t,kind:a,consumerState:i.find((e=>e.clientId===t))}})):4!==d&&(i=r.roomMethods.getConsumerListByClient(t),i=r.roomMethods.filterConsumerByKind(Array.from(i.values()),a))&&(i.producerPaused=[0,2].includes(d)),0===a?r.roomMethods.setConsumerAudioSequence(t,n):1===a&&r.roomMethods.setConsumerVideoSequence(t,n),i={room:r,data:{roomId:o,clientId:t,kind:a}},2===d&&r.roomEvent.emit("onConsumerPaused",{...i,code:4304}),3===d&&r.roomEvent.emit("onConsumerResume",{...i,code:4303}),4===d)&&r.onClientLeft({clientId:t,event:""})}},Fo=(e,t,o,i)=>{o=o.split("/")[3],t=t.properties.correlationData,e.emit("reply",{topic:`client/${o}/media/${i}/ok`,messageType:"Empty",correlationData:t})},qo=async(e,t,o)=>{const i=await Mo(e,o);var{width:e,height:o,clients:t}=t;!i||i.roomCompositorLayoutInit||i.defaultEnableVideo||setTimeout((async()=>{i.roomMethods.producerVideoPause();const e=await Mt({video:!0,audio:!1});var t=null==e?void 0:e.getVideoTracks()[0];if(t){i.roomMethods.replaceProducerByTrack(i.videoProducerId,t);var o=i.localPlayVideoElement;if(null!=o&&o.captureStream){const e=o.captureStream();e.getVideoTracks().forEach((t=>e.removeTrack(t))),e.addTrack(t)}}}),100),i.roomCompositorLayoutInit=!0,i.roomEvent.emit("onCompositorLayoutChanged",{code:R.CompositorLayoutChanged,width:e,height:o,clients:t||[]})},Wo=async(e,t)=>{null!=(e=await Mo(e,t))&&e.passiveLeaved()},Go=async(e,t,o,i)=>{(e=await Mo(e,t)).roomType===E.VideoMeeting?e.cleanVideoMeetingElementByClientId(o):e.roomType===E.Monitor&&e.leaveRoom()},jo=(e,t,o,i)=>{o=o.split("/")[3],t=t.properties.correlationData,e.emit("reply",{topic:`client/${o}/media/${i}/ok`,messageType:"Empty",correlationData:t})},$o=(e,t,o,i)=>{o=o.split("/")[3],t=t.properties.correlationData,e.emit("reply",{topic:`client/${o}/media/${i}/ok`,messageType:"Empty",correlationData:t})},Ho=(e,t,o,i)=>{o=o.split("/")[3],t=t.properties.correlationData,e.emit("reply",{topic:`client/${o}/media/${i}/ok`,messageType:"Empty",correlationData:t})},Zo=(e,t)=>{var{packet:t,message:o,topic:i}=t,r=JSON.parse((new TextDecoder).decode(o)||""),a=i.split("/")[2];"sipPhoneCallIn"===r.method?zo(e,r.data,a,E.BeSipPhoneCall):e.emit("onBusinessNotification",{messageContent:r,topic:i,message:o,packet:t})},zo=(e,t,o,i)=>{const{gateWayDeviceId:r,callInNumber:a,roomId:n}=t;e.emit("getRoom",{roomId:n,callback:({room:s})=>{if(!s){const s=new Qt({eventEmit:e});s.setRoomId(n).setClientId(o).setPlayElementBox("#sip-preview-box").setRoomType(i).setMediaCallDeviceId(o).setMediaBeCallDeviceId(a).setSipPhoneCallGatewayId(r),e.emit("addRoom",s),e.emit(Ut,{...t,room:s})}}})},Xo=new Ge("Message"),Ko=async function(e,t,o,i,r){var a=((l=r.dup)&&console.log("重复消息"),Yo(o));let n=!1,s="";n="business"===a||(s=Qo(o),!1);var d=ei(o);let c=oi(r).index;if("err"===s){var l=Te.decode(i);if("media"===a){const o=t.get(c);await(async(e,t)=>{var{messageContent:o,roomId:i,messageObj:r}=t;if(1415===(t=(console.log("Recv Error - media: %o",t),o).code)){if(!i)return console.log("roomId 解析失败 %s",i),!1;t=await Mo(e,i),e.emit("channelOnSpeakerAccessFailed",{room:t}),t.roomEvent.emit("onSpeakerAccessFailed",{room:t,code:4307,data:{roomId:i}}),r.callback({messageContent:o,code:4202})}})(e,{messageContent:l,roomId:d,topicMethod:s,topicModule:a,messageObj:o})}else if("mediaapp"===a){await(async(e,t)=>{console.log("Recv Error - mediaapp: %o",t)})(0,{messageContent:l,roomId:d,topicMethod:s,topicModule:a});const n=t.get(c);n?(m=n.callback)&&m({messageContent:l,topic:o,message:i,packet:r}):po(e,{curTopicMethod:s,packet:r,message:i,topic:o})}return t.delete(c),!1}n&&(m=(new TextDecoder).decode(i),l=JSON.parse(m),c=parseInt(l.id));const u=t.get(c);if(n)u?(m=u.callback,l=(new TextDecoder).decode(i),m({messageContent:JSON.parse(l),topic:o,message:i,packet:r}),t.delete(c)):Zo(e,{curTopicMethod:s,packet:r,message:i,topic:o});else if(u){var{callback:m,responseMessageType:l}=u;l=ti(l,i);Xo.debug("MQ Recv <- topicMethod:%o message:%o",s,l),t.delete(c),m&&m({messageContent:l,topic:o,message:i,packet:r})}else switch(Xo.debug("MQ Server <- curTopicModule:%s, topicMethod:%o",a,s),a){case"media":await(async(e,t)=>{var{packet:o,message:i,topicMethod:r,roomId:a,topic:n}=t,s=await Mo(e,a);switch(r){case"consumerCreated":var d=ke.decode(i),c=await Ao(e,a,d.kind);await wo(e,d,a),await No(e,d,a),Bo(e,o,n,c);break;case"consumerResumed":d=Ee.decode(i),await _o(e,d,a),s.removeVirtualMediaTrackByClientId(d.clientId),Vo(e,o,n,a),await xo(e,d,a);break;case"consumerPaused":c=Ee.decode(i),console.log("consumerPaused - messageContent",c),await Lo(e,a),Vo(e,o,n,a),await Do(e,c,a);break;case"consumerSources":d=Re.decode(i),Jo(e,o,n,a),await Uo(e,d,a);break;case"compositorLayoutChanged":c=Se.decode(i),Fo(e,o,n,a),await qo(e,c,a);break;case"passiveLeaved":await Wo(e,a);break;case"consumerClosed":console.log("consumerClosed - messageContent",So.decode(i)),d=So.decode(i).clientId,Go(e,a,d),jo(e,o,n,a);break;case"dataConsumerCreated":c=we.decode(i);var{dataProducerId:d,dataConsumerId:l,sctpStreamParameters:u,label:m,protocol:p}=(console.log("data consumer created, %o",c),Bo(e,o,n,!0),c),l={id:l,dataProducerId:d,sctpStreamParameters:Ct(u),label:m,protocol:p};s.createDataConsumerTransport(l),s.roomEvent.emit("onConsumerCreated",{room:s,code:4300,data:{roomId:a,clientId:c.clientId,kind:v.Video,mimeTypeValue:P.H265WASM}});break;case"producerBlocked":$o(e,o,n,a),s.roomEvent.emit("onProducerBlocked",{room:s,code:4310});break;case"producerUnblocked":Ho(e,o,n,a),s.roomEvent.emit("onProducerUnblocked",{room:s,code:4311});break;default:console.log("handlerMediaServerOnMessage 未知类型",r)}})(e,{roomId:d,topicMethod:s,topicModule:a,packet:r,topic:o,message:i});break;case"mediaapp":po(e,{curTopicMethod:s,packet:r,message:i,topic:o});break;case"business":Zo(e,{curTopicMethod:s,packet:r,message:i,topic:o});break;default:console.log("handlerOnMessage 未知错误")}},Yo=e=>e.split("/")[0]||(console.log("Topic解析错误:",e),""),Qo=e=>e.split("/")[4]||(console.log("method解析错误:",e),""),ei=e=>e.split("/")[1]||(console.log("RoomId解析错误:",e),""),ti=(e,t)=>{let o;switch(e){case"StringValue":o=m.decode(t);break;case"StateChangeRequest":o=Ue.decode(t);break;case"JoinResponse":o=ye.decode(t);break;case"SimpleClientToken":o=ao.decode(t);break;case"JT1078FileSources":o=xe.decode(t);break;case"Empty":break;default:console.log("handlerMessage 未知类型")}return o},oi=({properties:e})=>{var t=new TextDecoder;e=null==e?void 0:e.correlationData;return{index:parseInt(t.decode(e)),correlationData:e}};const ii={encode:(e,t=i.Writer.create())=>t,decode(e,t){var o=e instanceof i.Reader?e:i.Reader.create(e),r=void 0===t?o.len:o.pos+t;for(e={};o.pos<r;){var a=o.uint32();if(4==(7&a)||0===a)break;o.skipType(7&a)}return e},fromJSON:e=>({}),toJSON:e=>({}),create:e=>ii.fromPartial(null!=e?e:{}),fromPartial:e=>({})};let ri=(()=>{const e=self,t=new Map,o=(e.addEventListener("message",(e=>{var i;"createInterval"===e.data.method?(i=o(e.data.time,e.data.data),t.set(i,e.data)):console.error("未知methods")})),(t,{name:o})=>setInterval((()=>{e.postMessage({name:o})}),t))}).toString();ri=ri.substring(ri.indexOf("{")+1,ri.lastIndexOf("}"));const ai=new Blob([ri],{type:"application/javascript"}),ni=URL.createObjectURL(ai),si=new Ge("Message");let di=100,ci=new Map;class li{constructor({eventEmit:e}){this.eventEmit=new Rt,this.handlerOnConnect=()=>{this.eventEmit.emit("hyRtcInitSuccess",this)},this.handlerOnMessage=async(e,t,o)=>{await Ko(this.eventEmit,ci,e,t,o),console.log("correlationDataMap",ci)},this.handlerOnClose=()=>{this.eventEmit.emit("hyRtcOnClose",{}),console.log("hyRtcOnClose")},this.handlerOnError=e=>{this.eventEmit.emit("hyRtcOnError",{error:e})},this.handlerOnDisconnect=e=>{this.eventEmit.emit("hyRtcOnDisconnect",{packet:e}),console.log("hyRtcOnDisconnect")},this.reReconnect=async()=>new Promise(((e,t)=>{this.authInfo&&this.connectUrl&&(console.log("reReconnecting: "+this.connectUrl),this.connect({authInfo:this.authInfo},this.connectUrl).then((()=>{e(!0)})).catch((e=>{t(e)})))})),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)})),this.eventEmit.on(Ut,(({room:e})=>{e.roomType===E.BeSipPhoneCall&&this.subscribeSIPRoomCloseTopic(e.roomId)})),this.eventEmit.on("beSipPhoneCallRommCloseTopic",(e=>{this.unsubscribeSIPRoomCloseTopic(e)}))}async connect({authInfo:t},o){this.authInfo=t,this.connectUrl=o;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("connect",this.handlerOnConnect),this.mqttClient.on("message",this.handlerOnMessage),this.mqttClient.on("close",this.handlerOnClose),this.mqttClient.on("error",this.handlerOnError),this.mqttClient.on("disconnect",this.handlerOnDisconnect)}catch{}return new Promise(((e,t)=>{let o=1;const i=setInterval((()=>{3<=++o&&(clearInterval(i),t({msg:"连接失败"})),e(this.mqttClient)}),0)}))}close({force:e=!1}){return new Promise((t=>{var o=this.getMqttClient();null!=o&&o.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({appData:e}){var t=this.getClientId();await this.subscribe("business/user/"+t),si.debug("开启业务心跳"),this.businessSendHeartbeat({appData:e}),this.sendWorker({appData:e})}businessSendHeartbeat({appData:e}){var t=this.getClientId();this.businessSend({topic:"user/"+t,method:"heartbeat",notification:!0,data:e})}sendWorker({appData:e}){var t=new Worker(ni);t.onmessage=t=>{this.businessSendHeartbeat({appData:e})},t.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,o)=>{var i;null!=(i=this.mqttClient)&&i.subscribe(e,(function(e){e?o(e):t(!0)}))}))}unsubscribe(e){return new Promise(((t,o)=>{var i;null!=(i=this.mqttClient)&&i.unsubscribe(e,(function(i){i?o(i):(si.debug("取消订阅主题 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 m.encode(t).finish();case"JoinRequest":return Ne.encode(t).finish();case"RtpCapabilitiesFinalized":return ee.encode(t).finish();case"BoolValue":return u.encode(t).finish();case"Empty":return ii.encode(t).finish();case"ProduceRequest":return Ae.encode(t).finish();case"DtlsParameters":return re.encode(t).finish();case"BroadcastRequest":return oo.encode(t).finish();case"AudioCallEvent":return io.encode(t).finish();case"MonitorRequest":return to.encode(t).finish();case"SipVideoRequest":return ro.encode(t).finish();case"SipPhoneCallRequest":return co.encode(t).finish();case"SipPhoneCallOutRequest":return so.encode(t).finish();case"JT1078FileSourcesPlaybackRequest":return _e.encode(t).finish();case"JT1078StreamSwitchRequest":return console.log("///jt1078StreamSwitch///",t),Oe.encode(t).finish();case"JT1078FileSourcesPlaybackControl":return console.log("///JT1078FileSourcesPlaybackControl///",t),Le.encode(t).finish();case"JT1078FileSourcesQueryRequest":return De.encode(t).finish();case"JT1078FileSourcesUploadRequest":return Je.encode(t).finish();case"StateChangeRequest":return Ue.encode(t).finish();case"MixerMeetingCompositorLayoutRequest":return Me.encode(t).finish();case"PtzControl":return lo.encode(t).finish();default:return si.error("未知回复体,请检查handlerMessageByte方法",e),""}}async joinRoom(e){var t=this.getClientId(),o=new Qt({eventEmit:this.eventEmit});return o.setRoomId(e.roomId).setClientId(t).setProduceTag("hy_talk").setPlayElementBox(e.playElementBox).setRoomType(E.Channel).publishChannel(),o.setForceTcp(null==(t=e.options)?void 0:t.forceTcp),o.setOnEvent(e.onEvent),o}async joinMonitor(e){return new Promise((async(t,o)=>{var i=this.getClientId();const r=new Qt({eventEmit:this.eventEmit});r.setOnEvent(e.onEvent),r.setMonitorDeviceId(e.deviceId).setClientId(i).setPlayElementBox(e.playElementBox).setProduceTag("control").setRoomTimeout(e.timeout).setForceTcp(null==(i=e.options)?void 0:i.forceTcp),e.roomId&&r.setRoomId(e.roomId),r.publishMonitor().then((()=>{t(r)})).catch((e=>{o(e)}))}))}async joinBroadcast(e){var t=this.getClientId(),o=new Qt({eventEmit:this.eventEmit});return o.setOnEvent(e.onEvent).setBroadcastClientIds(e.clientIds).setClientId(t).setProduceTag("gb_broadcast").setDefaultEnableAudio(null==(t=e.options)?void 0:t.defaultEnableAudio),o.setForceTcp(null==(t=e.options)?void 0:t.forceTcp),await o.publishBroadcast(),o}async joinMonitorListen(e){var t=this.getClientId(),o=new Qt({eventEmit:this.eventEmit});return o.setMonitorListenDeviceId(e.deviceId).setPlayElementBox(e.playElementBox).setClientId(t).setProduceTag("control"),o.setForceTcp(null==(t=e.options)?void 0:t.forceTcp),await o.publishMonitorListen(),o}async joinAudioCall(e){var t=this.getClientId(),o=e.deviceId,i=new Qt({eventEmit:this.eventEmit});return i.setProduceTag("control").setMediaBeCallDeviceId(o).setPlayElementBox(e.playElementBox).setClientId(t).setRoomType(E.AudioCall).setDefaultEnableAudio(null==(o=e.options)?void 0:o.defaultEnableAudio),i.setForceTcp(null==(t=e.options)?void 0:t.forceTcp),await i.publishMediaCall(),i.mediaCallWaiting(),i.startMediaCallWaiting(),i.startMediaCallRingingTimeout(),i}async joinVideoCall(e){var t=this.getClientId(),o=e.deviceId,i=new Qt({eventEmit:this.eventEmit});return i.setProduceTag("control").setMediaBeCallDeviceId(o).setPlayElementBox(e.playElementBox).setClientId(t).setRoomType(E.VideoCall).setDefaultEnableAudio(null==(o=e.options)?void 0:o.defaultEnableAudio).setDefaultEnableVideo(null==(t=e.options)?void 0:t.defaultEnableVideo).setLocalPlayElementBox(e.localPlayElementBox),i.setForceTcp(null==(o=e.options)?void 0:o.forceTcp),await i.publishMediaCall(),i.mediaCallWaiting(),i.startMediaCallWaiting(),i.startMediaCallRingingTimeout(),i}async joinSipVideo(e){return new Promise((async(t,o)=>{var i=this.getClientId();const r=new Qt({eventEmit:this.eventEmit});r.setOnEvent(e.onEvent),r.setClientId(i).setPlayElementBox(e.playElementBox).setSipVideoDeviceId(e.deviceId).setRoomId(e.roomId).setRoomType(E.SipVideo).setLocalPlayElementBox(e.localPlayElementBox),r.setForceTcp(null==(i=e.options)?void 0:i.forceTcp),r.publishSipVideo().then((()=>{t(r)})).catch((e=>{o(e)}))}))}async joinVideoMeeting(e){return new Promise((async(t,o)=>{var i=this.getClientId();const r=new Qt({eventEmit:this.eventEmit});r.setOnEvent(e.onEvent),r.setClientId(i).setProduceTag("control").setPlayElementBox(e.playElementBox).setRoomId(e.roomId).setRoomType(E.VideoMeeting).setLocalPlayElementBox(e.localPlayElementBox).setProduceOption(e.produceOption).setLocalUserMediaOption(e.localUserMediaOption).setAfterJoinPullVideo(null==(i=e.options)?void 0:i.afterJoinPullVideo).setAfterJoinPullAudio(null==(i=e.options)?void 0:i.afterJoinPullAudio).setDefaultEnableAudio(null==(i=e.options)?void 0:i.defaultEnableAudio).setDefaultEnableVideo(null==(i=e.options)?void 0:i.defaultEnableVideo),r.setForceTcp(null==(i=e.options)?void 0:i.forceTcp),r.publishVideoMeeting().then((()=>{t(r)})).catch((e=>{o(e)}))}))}async joinRecordRoom(e){return new Promise((async(t,o)=>{var i=this.getClientId(),r=new Qt({eventEmit:this.eventEmit});r.setOnEvent(e.onEvent),r.setClientId(i).setRoomType(E.Recorder).setRoomId(e.roomId).setProduceTag("control").setProduceOption(e.produceOption),r.setForceTcp(null==(i=e.options)?void 0:i.forceTcp),r.publishRecordRoom(),t(r)}))}async joinFlvMonitor(e){return new Promise((async(t,o)=>{var i=this.getClientId();const r=new Qt({eventEmit:this.eventEmit});r.setOnEvent(e.onEvent),r.setMonitorDeviceId(e.deviceId).setClientId(i).setRoomType(E.FlvMonitor).setPlayElementBox(e.playElementBox).setRoomTimeout(e.timeout).setRoomId(e.roomId||a().replace(/-/g,"")),r.publishFlvMonitor(e.url).then((()=>{t(r)})).catch((e=>{o(e)}))}))}async joinSipPhoneCall(e){return new Promise((async(t,o)=>{var i=this.getClientId();const r=new Qt({eventEmit:this.eventEmit});r.setOnEvent(e.onEvent),r.setClientId(i).setMediaCallDeviceId(i||"").setMediaBeCallDeviceId(e.deviceId||"").setSipPhoneCallGatewayId(e.gatewayId).setRoomId(e.roomId).setRoomType(E.SipPhoneCall).setPlayElementBox(e.playElementBox).setLocalPlayElementBox(e.localPlayElementBox),r.setForceTcp(null==(i=e.options)?void 0:i.forceTcp),r.publishSipPhoneCall().then((()=>{t(r)})).catch((e=>{o(e)}))}))}subscribeSIPRoomCloseTopic(e){e&&this.subscribe(`mediaapp/${e}/client/+/sipBye`)}unsubscribeSIPRoomCloseTopic(e){e&&this.unsubscribe(`mediaapp/${e}/client/+/sipBye`)}async joinJT1078SourcesPlayback(e){return new Promise((async(t,o)=>{var i=this.getClientId();const r=new Qt({eventEmit:this.eventEmit});r.setOnEvent(e.onEvent),r.setMonitorDeviceId(e.deviceId).setClientId(i).setChannelNo(e.channelNo).setPlayElementBox(e.playElementBox).setRoomType(E.JT1078SourcesPlayback).setMediaType(e.mediaType).setPlaybackMode(e.playbackMode).setPlaybackSpeed(e.playbackSpeed).setStartTime(e.startTime).setEndTime(e.endTime).setRoomTimeout(e.timeout).setProduceTag("control").setForceTcp(null==(i=e.options)?void 0:i.forceTcp),e.roomId&&r.setRoomId(e.roomId),r.publishJT1078SourcesPlayback().then((()=>{t(r)})).catch((e=>{o(e)}))}))}async getJT1078FileSourcesGroup(e){return new Promise((async t=>{var o=this.getClientId();!function(e,t,o){var{deviceId:o,mediaType:i,callback:r}=o,n=a().replace(/-/g,"");e.emit("send",{topic:`client/${t}/mediaapp/${n}/JT1078fileSourcesGroup`,messageType:"JT1078FileSourcesQueryRequest",message:{clientId:o,mediaType:i},responseMessageType:"JT1078FileSources",callback:r})}(this.eventEmit,o,{...e,callback:e=>{e=(e||{}).messageContent,t(e)}})}))}jt1078FileSourcesUpload(e){return new Promise(((t,o)=>{var i=this.getClientId();!function(e,t,o){var{deviceId:o,channelNo:i,mediaType:r,startTime:n,endTime:s,callback:d}=o,c=a().replace(/-/g,"");e.emit("send",{topic:`client/${t}/mediaapp/${c}/JT1078SourcesUpload`,messageType:"JT1078FileSourcesUploadRequest",message:{clientId:o,channelNo:i,mediaType:r,startTime:n,endTime:s},callback:d})}(this.eventEmit,i,{...e,callback:e=>{e=(e||{}).messageContent,t(e)}})}))}async joinMixerMeeting(e){return new Promise((async(t,o)=>{var i=this.getClientId();const r=new Qt({eventEmit:this.eventEmit});r.setOnEvent(e.onEvent),r.setClientId(i).setProduceTag("control").setRoomId(e.roomId).setRoomType(E.MixerMeeting).setPlayElementBox(e.playElementBox).setLocalPlayElementBox(e.localPlayElementBox).setProduceOption(e.produceOption).setLocalUserMediaOption(e.localUserMediaOption).setAfterJoinPullVideo(null==(i=e.options)?void 0:i.afterJoinPullVideo).setAfterJoinPullAudio(null==(i=e.options)?void 0:i.afterJoinPullAudio).setDefaultEnableVideo(null==(i=e.options)?void 0:i.defaultEnableVideo).setDefaultEnableAudio(null==(i=e.options)?void 0:i.defaultEnableAudio),r.setForceTcp(null==(i=e.options)?void 0:i.forceTcp),r.publishMixerMeeting().then((()=>{t(r)})).catch((e=>{o(e)}))}))}send(e){var{topic:e,messageType:t,message:o,callback:i,responseMessageType:r,options:a}=e,n=this.getMqttClient(),{correlationData:s,index:d}=this.nextCorrelationData(),s={properties:{correlationData:s},qos:1},c=(null!=a&&a.noResponse&&null!=(c=s.properties)&&delete c.correlationData,e.indexOf("undefined"),this.handlerMessageByte(t,o)),t=(si.debug("MQ Send -> opts:%o topic:%o message:%o",s,e,o),null!=n&&n.publish(e,c,s),{index:d,topic:e,payload:c,opts:s,callback:i,responseMessageType:r});null!=a&&a.noResponse||this.correlationDataMapAdd(t)}reply(e){var{topic:e,messageType:t,message:o,correlationData:i}=e,r=this.getMqttClient(),i={properties:{correlationData:i}},t=(e.indexOf("undefined"),si.debug("MQ Reply -> opts:%o topic:%o message:%o",i,e,o),this.handlerMessageByte(t,o));null!=r&&r.publish(e,t,i)}businessSend(e){return new Promise(((t,o)=>{var i=this.nextCorrelationData().index,r=(null!=(r=(e.id=i,si.debug("业务信令 BusinessSend ->",e),this.getMqttClient()))&&r.publish(e.topic,JSON.stringify(e)),{index:i,topic:e.topic,payload:e.data,callback:({messageContent:e,topic:i,message:r,packet:a})=>{(e.ok?t:o)({messageContent:e,topic:i,message:r,packet:a})},responseMessageType:"business"});e.notification||this.correlationDataMapAdd(r)}))}getClientId(){var e;return null==(e=this.mqttClient)?void 0:e.options.clientId}getMqttClient(){return this.mqttClient}nextCorrelationData(){var e=di++;return{correlationData:(new TextEncoder).encode(e.toString()),index:e}}correlationDataMapAdd(e){ci.set(e.index,e)}getMqttClientStatus(){var e;return null==(e=this.getMqttClient())?void 0:e.connected}}class ui extends Rt{constructor({eventEmit:e}){super(),this.eventEmit=new Rt,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((o=>{o.roomType===e&&t.push(o)})),t}getDeviceIdByRoomType(e){let t=[];return this.getRoomsByRoomType(e).forEach((o=>{o.clientList.forEach((e=>{e.clientId&&t.push({clientId:e.clientId})})),e==E.Broadcast&&(t=o.broadcastClientIds.map((e=>({clientId:e}))))})),t}}class mi extends Rt{constructor({eventEmit:e}){super(),this.eventEmit=new Rt,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)}))}}const pi=new Ge("HyRtcCore");class hi extends Rt{constructor(){super(),this.eventEmit=new Rt,this.registerMessageEvents(),this.eventEmit.emit("hyRtcConstructor",{})}registerMessageEvents(){}init(e){return new Promise(((t,o)=>{var i,r;this.getMqttClientStatus()?this.eventEmit.emit("hyRtcInitSuccess",this):(this.HyRtcCoreOptions=e,({authInfo:i,connectUrl:r}=this.HyRtcCoreOptions),this.NewRoomManager(),this.NewGlobalDeviceManager(),this.NewH265WasmManager(e),this.Message=this.NewMessage(),this.Message.connect({authInfo:i},r).then((()=>{var e;null!=(e=this.Message)&&e.subscribeMediaTopic(),null!=(e=this.Message)&&e.subscribeMediaAppTopic(),t({})})).catch((e=>(o(e),this.eventEmit.emit("hyRtcInitError",e),!1))))}))}reConnect(){var e;null!=(e=this.Message)&&e.reReconnect().then((()=>{var e;null!=(e=this.Message)&&e.subscribeMediaTopic(),null!=(e=this.Message)&&e.subscribeMediaAppTopic()})).catch((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 li({eventEmit:this.eventEmit})}NewRoomManager(){this.RoomManager=new ui({eventEmit:this.eventEmit})}NewGlobalDeviceManager(){this.GlobalDeviceManager=new mi({eventEmit:this.eventEmit})}NewH265WasmManager(e){var t;if(null!=(t=e.h265Info)&&t.enable){if(pi.debug("启用h265软解"),!e.h265Info.wasmJsFileUrl)return!1;this.H265WasmManager=new Xt({eventEmit:this.eventEmit,wasmJsFileUrl:e.h265Info.wasmJsFileUrl})}}async joinChannel(e){return new Promise(((t,o)=>{this.eventEmit.emit("getRoom",{roomId:e.roomId,callback:async({room:i})=>{var r;if(i)o({code:R.RoomIsExist,message:S.RoomIsExist});else{const i=await(null==(r=this.Message)?void 0:r.joinRoom(e));console.log("加入群组成功",i),null!=i&&i.roomId&&null!=(r=this.Message)&&r.subscribeMediaAppRoomEventTopic(i.roomId),this.eventEmit.emit("addRoom",i),i?t({room:i}):o({code:R.JoinRoomFailed,message:S.JoinRoomFailed})}}})}))}async joinMonitor(e){return new Promise((async(t,o)=>{var i=this.getAllRooms();const r=[];null!=i&&i.forEach((function(e,t,o){null!=e.monitorDeviceId&&r.push(e.monitorDeviceId)})),-1===r.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})):o({error:new Error("加入房间失败")})})).catch((({messageContent:e})=>{switch(e.code){case 2001:o({code:R.PsStreamFailedPrecondition,message:S.PsStreamFailedPrecondition});break;case 2003:o({code:R.DeviceNotExist,message:S.DeviceNotExist});break;case R.RoomTimeout:o({code:R.RoomTimeout,message:S.RoomTimeout});break;default:o({code:-1,message:"mediaapp未知异常"})}})):o({error:new Error("设备已存在直播房间中.")})}))}async joinBroadcast(e){return new Promise((async(t,o)=>{var i,r=await(null==(r=this.Message)?void 0:r.joinBroadcast(e));this.eventEmit.emit("addRoom",r),r&&(null!=r&&r.roomId&&null!=(i=this.Message)&&i.subscribeMediaAppRoomEventTopic(r.roomId),t({room:r}))}))}async joinMonitorListen(e){return new Promise((async(t,o)=>{var i,r=await(null==(r=this.Message)?void 0:r.joinMonitorListen(e));this.eventEmit.emit("addRoom",r),r&&(null!=r&&r.roomId&&null!=(i=this.Message)&&i.subscribeMediaAppRoomEventTopic(r.roomId),t({room:r}))}))}async joinAudioCall(e){return new Promise((async(t,o)=>{var i;await(null==(i=this.Message)?void 0:i.joinAudioCall(e).then((i=>{var r;this.eventEmit.emit("addRoom",i),i?(null!=i&&i.roomId&&null!=(r=this.Message)&&r.subscribeMediaAppRoomEventTopic(i.roomId),i.setOnEvent(e.onEvent),t({room:i})):o({error:new Error("加入房间失败")})})).catch((({code:e,msg:t})=>{o({code:e,msg:t})})))}))}async joinVideoCall(e){return new Promise((async(t,o)=>{var i;null!=(i=this.Message)&&i.joinVideoCall(e).then((i=>{var r;this.eventEmit.emit("addRoom",i),i?(null!=i&&i.roomId&&null!=(r=this.Message)&&r.subscribeMediaAppRoomEventTopic(i.roomId),i.setOnEvent(e.onEvent),e.virtualBackgroundInfo.enable&&i.setVirtualBackgroundInfo(e.virtualBackgroundInfo),t({room:i})):o({error:new Error("加入房间失败")})})).catch((({code:e,msg:t})=>{o({code:e,msg:t})}))}))}async joinSipVideo(e){return new Promise((async(t,o)=>{var i,r=await(null==(r=this.Message)?void 0:r.joinSipVideo(e));this.eventEmit.emit("addRoom",r),r?(null!=r&&r.roomId&&null!=(i=this.Message)&&i.subscribeMediaAppRoomEventTopic(r.roomId),r.setOnEvent(e.onEvent),t({room:r})):t({error:new Error("加入房间失败")})}))}async joinVideoMeeting(e){return new Promise((async(t,o)=>{var i,r=await(null==(r=this.Message)?void 0:r.joinVideoMeeting(e));this.eventEmit.emit("addRoom",r),r?(null!=r&&r.roomId&&null!=(i=this.Message)&&i.subscribeMediaAppRoomEventTopic(r.roomId),r.setOnEvent(e.onEvent),null!=(i=null==e?void 0:e.virtualBackgroundInfo)&&i.enable&&r.setVirtualBackgroundInfo(e.virtualBackgroundInfo),t({room:r})):t({error:new Error("加入房间失败")})}))}async joinRecordRoom({args:e}){return new Promise((async(t,o)=>{var i=e.recorderRoom;console.log("recorderRoom.playElements",i.playElements),this.checkRecorderElementReady({recorderRoom:i}).then((async({videoList:o})=>{let i,r=new MediaStream;var{muteAudioStream:a,mutedAudioBufferSourceNodeSource:n}=this.createMuteAudio();(o=(o&&(i=this.mergeVideoElement(a,o),r=i.getMixedStream()),await(null==(a=this.Message)?void 0:a.joinRecordRoom(e))))&&(o.setRoomMediaStream(r),o.setVideoMixer(i),o.setMutedAudioBufferSourceNodeSource(n),this.eventEmit.emit("addRoom",o)),t({room:o})})).catch((()=>{o(!1)}))}))}async joinRecorderSelfRoom({args:e}){return new Promise((async(t,o)=>{var{roomId:i,streamList:r}=e;if(i){console.log("streamList",r);let o=new MediaStream;var i,{muteAudioStream:i,mutedAudioBufferSourceNodeSource:a}=this.createMuteAudio(),r=(r.forEach((e=>{e.getTracks().forEach((e=>{o.addTrack(e)}))})),o.getTracks().find((e=>"audio"===e.kind)));(i=(r||o.addTrack(i.getTracks()[0]),console.log("mediaStream",o.getTracks()),await(null==(r=this.Message)?void 0:r.joinRecordRoom(e))))&&(i.setRoomMediaStream(o),i.setMutedAudioBufferSourceNodeSource(a),this.eventEmit.emit("addRoom",i),t({room:i}))}else o({error:new Error("加入房间失败")})}))}async joinFlvMonitor(e){return new Promise((async(t,o)=>{var i;null!=(i=this.Message)&&i.joinFlvMonitor(e).then((e=>{t({room:e})})).catch((({messageContent:e})=>{o(e)}))}))}async joinSipPhoneCall(e){return new Promise((async(t,o)=>{var i,r=await(null==(r=this.Message)?void 0:r.joinSipPhoneCall(e));this.eventEmit.emit("addRoom",r),r?(null!=r&&r.roomId&&null!=(i=this.Message)&&i.subscribeMediaAppRoomEventTopic(r.roomId),r.setOnEvent(e.onEvent),t({room:r})):t({error:new Error("加入房间失败")})}))}async joinJT1078SourcesPlayback(e){return new Promise((async(t,o)=>{var i=this.getAllRooms();const r=[];null!=i&&i.forEach((function(e,t,o){null!=e.monitorDeviceId&&r.push(e.monitorDeviceId)})),-1===r.indexOf(e.deviceId)?null!=(i=this.Message)&&i.joinJT1078SourcesPlayback(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})):o({error:new Error("加入房间失败")})})).catch((e=>{switch(console.log("errparams",e),(e=e.messageContent).code){case 2001:o({code:R.PsStreamFailedPrecondition,message:S.PsStreamFailedPrecondition});break;case 2003:o({code:R.DeviceNotExist,message:S.DeviceNotExist});break;case R.RoomTimeout:o({code:R.RoomTimeout,message:S.RoomTimeout});break;default:o({code:-1,message:"mediaapp未知异常"})}})):o({error:new Error("设备已存在直播房间中.")})}))}async joinMixerMeeting(e){return new Promise((async(t,o)=>{var i,r=await(null==(r=this.Message)?void 0:r.joinMixerMeeting(e));this.eventEmit.emit("addRoom",r),r?(null!=r&&r.roomId&&null!=(i=this.Message)&&i.subscribeMediaAppRoomEventTopic(r.roomId),r.setOnEvent(e.onEvent),t({room:r})):t({error:new Error("加入房间失败")})}))}mergeVideoElement(e,t){return t=t.map((e=>{if(e&&e.captureStream)return e.captureStream()})).filter(Boolean),t.push(e),(e=new l(t)).width=1280,e.height=720,e.frameInterval=1,e.startDrawingFrames(),e}createMuteAudio(){var e=new window.AudioContext,t=((o=e.createBuffer(1,e.sampleRate,e.sampleRate)).getChannelData(0).fill(.3),e.createBufferSource()),o=(t.buffer=o,t.loop=!0,t.connect(e.destination),e.createMediaStreamDestination());t.connect(o),o=o.stream;return t.start(),{muteAudioStream:o,mutedAudioBufferSourceNodeSource:t,mutedAudioContext:e}}getUserAudioMedia(){return Mt({audio:!0,video:!1})}getUserVideoMedia(){return Mt({audio:!1,video:!0})}getUserVideoMediaByDeviceId(e){return Dt(e)}getUserAudioMediaByDeviceId(e){return Ot(e)}enumerateDevices(){return Pt()}enumerateAudioDevices(){return Pt("audioinput")}enumerateVideoDevices(){return Pt("videoinput")}getAllRooms(){var e;return null==(e=this.RoomManager)?void 0:e.getAllRooms()}getAllH265Manager(){return this.H265WasmManager}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 Nt(this.eventEmit)}setGlobalAudioDevice(e){!function(e,t){t?e.emit("setGlobalAudioDevice",{device:t}):console.log("device 不能为空")}(this.eventEmit,e)}getGlobalAudioDevice(){return At(this.eventEmit)}getDisplayMediaStream(e={video:!0,audio:!0}){return xt(e)}handlerMediaStream(e){return function(e){e=e.getTracks();const t=[],o=[];return e.forEach((e=>{switch(e.kind){case"video":t.push(e);break;case"audio":o.push(e)}})),{videoStream:new MediaStream(t),audioStream:new MediaStream(o)}}(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 o={videoSupport:!1,audioSupport:!1,webRtcSupport:!0};try{var i=await navigator.mediaDevices.getUserMedia({video:!0,audio:!1});i&&(o.videoSupport=!0,i.getTracks().forEach((e=>{e.stop()})))}catch(e){o.videoSupport=!1}try{var r=await navigator.mediaDevices.getUserMedia({video:!1,audio:!0});r&&(o.audioSupport=!0,r.getTracks().forEach((e=>{e.stop()})))}catch(e){o.audioSupport=!1}e(o)}))}checkRecorderElementReady({recorderRoom:e}){return new Promise(((t,o)=>{let i=0;const r=[],a=()=>{r.forEach((e=>{clearTimeout(e)}))},n=()=>{const s=[];e.playElements.forEach((e=>{s.push(e.id)})),e.localPlayVideoElement&&s.push(e.localPlayVideoElement.id);var d=s.map((e=>document.querySelector("#"+e))),c=d.map((e=>{var t;if(e&&e.captureStream)return t=(e=e.captureStream()).getTracks(),console.log("captureStream .",t),e.active&&1<t.length})).filter(Boolean),l=()=>(console.log("recorderRoom.playElements.size",e.playElements.size),0<e.playElements.size);(c=(console.log("videoList",d),console.log("streamList",c),console.log("roomTypeCheck()",l()),e.localPlayVideoElement&&e.producerMap.size,c.length===d.length&&l()))?(a(),t({videoList:d})):i<10?(i++,console.warn(`尝试检查当前录制画面,正在重试...(第${i}次)`),l=setTimeout(n,1e3),r.push(l)):(a(),o(!1))};n()}))}}export{hi as HyRtcCore,R as JoinRoomEventCode,li as Message,Jt as ProduceMediaStreamVideoConstraints,M as PtzType,Qt as Room,C as RoomPlayElementName,E as RoomType};
@@ -201,6 +201,9 @@ export interface onAudioCallEventHangupEvent {
201
201
  event: string;
202
202
  };
203
203
  }
204
+ export interface onAudioCallNoAnswer {
205
+ event: string;
206
+ }
204
207
  export interface onProducerBlockedEvent {
205
208
  room: Room;
206
209
  code: number;
@@ -265,6 +268,7 @@ export type EventMap = {
265
268
  'onAudioCallEventNoAnswerEvent': onAudioCallEventNoAnswerEvent;
266
269
  'onAudioCallEventAnswerEvent': onAudioCallEventAnswerEvent;
267
270
  'onAudioCallEventHangupEvent': onAudioCallEventHangupEvent;
271
+ 'onAudioCallNoAnswer': onAudioCallNoAnswer;
268
272
  'onProducerBlockedEvent': onProducerBlockedEvent;
269
273
  'onProducerUnblockedEvent': onProducerUnblockedEvent;
270
274
  'onFlvMonitorConnect': onFlvMonitorConnect;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hy-rtc-core-v3",
3
- "version": "3.9.0",
3
+ "version": "3.9.2",
4
4
  "description": "hy-rtc-core V3",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",