hy-rtc-core-v3 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.js +1 -0
- package/dist/index.js +1 -0
- package/package.json +55 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"mqtt";import r from"long";import*as t from"protobufjs/minimal";import a from"protobufjs/minimal";import{v4 as n}from"uuid";import{Device as i}from"mediasoup-client";const o={encode:(e,r=a.Writer.create())=>(!1!==e.value&&r.uint32(8).bool(e.value),r),decode(e,r){for(var t=e instanceof a.Reader?e:a.Reader.create(e),n=void 0===r?t.len:t.pos+r,i={value:!1};t.pos<n;){var o=t.uint32();if(o>>>3!=1||8!==o){if(4==(7&o)||0===o)break;t.skipType(7&o)}else i.value=t.bool()}return i},fromJSON:e=>({value:!!c(e.value)&&globalThis.Boolean(e.value)}),toJSON(e){var r={};return!1!==e.value&&(r.value=e.value),r},create:e=>o.fromPartial(null!=e?e:{}),fromPartial(e){var r={value:!1};return r.value=null!=(e=e.value)&&e,r}};const s={encode:(e,r=a.Writer.create())=>(""!==e.value&&r.uint32(10).string(e.value),r),decode(e,r){for(var t=e instanceof a.Reader?e:a.Reader.create(e),n=void 0===r?t.len:t.pos+r,i={value:""};t.pos<n;){var o=t.uint32();if(o>>>3!=1||10!==o){if(4==(7&o)||0===o)break;t.skipType(7&o)}else i.value=t.string()}return i},fromJSON:e=>({value:c(e.value)?globalThis.String(e.value):""}),toJSON(e){var r={};return""!==e.value&&(r.value=e.value),r},create:e=>s.fromPartial(null!=e?e:{}),fromPartial(e){var r={value:""};return r.value=null!=(e=e.value)?e:"",r}};function c(e){return null!=e}var d,u,l,p,m,f,v,h,g,k,y,T,b,I,R,P,E,C;function O(e){switch(e){case 0:case"Opus":return d.Opus;case 1:case"MultiChannelOpus":return d.MultiChannelOpus;case 2:case"Pcmu":return d.Pcmu;case 3:case"Pcma":return d.Pcma;case 4:case"Isac":return d.Isac;case 5:case"G722":return d.G722;case 6:case"Ilbc":return d.Ilbc;case 7:case"Silk":return d.Silk;case 8:case"Cn":return d.Cn;case 9:case"TelephoneEvent":return d.TelephoneEvent;case 10:case"ARtx":return d.ARtx;case 11:case"ARed":return d.ARed;case 100:case"Vp8":return d.Vp8;case 101:case"Vp9":return d.Vp9;case 102:case"H264":return d.H264;case 103:case"H264Svc":return d.H264Svc;case 104:case"H265":return d.H265;case 105:case"VRtx":return d.VRtx;case 106:case"VRed":return d.VRed;case 107:case"Ulpfec":return d.Ulpfec;default:return d.UNRECOGNIZED}}function S(e){switch(e){case d.Opus:return"Opus";case d.MultiChannelOpus:return"MultiChannelOpus";case d.Pcmu:return"Pcmu";case d.Pcma:return"Pcma";case d.Isac:return"Isac";case d.G722:return"G722";case d.Ilbc:return"Ilbc";case d.Silk:return"Silk";case d.Cn:return"Cn";case d.TelephoneEvent:return"TelephoneEvent";case d.ARtx:return"ARtx";case d.ARed:return"ARed";case d.Vp8:return"Vp8";case d.Vp9:return"Vp9";case d.H264:return"H264";case d.H264Svc:return"H264Svc";case d.H265:return"H265";case d.VRtx:return"VRtx";case d.VRed:return"VRed";case d.Ulpfec:return"Ulpfec";default:return d.UNRECOGNIZED,"UNRECOGNIZED"}}function N(e){switch(e){case 0:case"Audio":return u.Audio;case 1:case"Video":return u.Video;default:return u.UNRECOGNIZED}}function x(e){switch(e){case u.Audio:return"Audio";case u.Video:return"Video";default:return u.UNRECOGNIZED,"UNRECOGNIZED"}}function M(e){switch(e){case 0:case"Nack":return l.Nack;case 1:case"NackPli":return l.NackPli;case 2:case"CcmFir":return l.CcmFir;case 3:case"GoogRemb":return l.GoogRemb;case 4:case"TransportCc":return l.TransportCc;default:return l.UNRECOGNIZED}}function w(e){switch(e){case l.Nack:return"Nack";case l.NackPli:return"NackPli";case l.CcmFir:return"CcmFir";case l.GoogRemb:return"GoogRemb";case l.TransportCc:return"TransportCc";default:return l.UNRECOGNIZED,"UNRECOGNIZED"}}function A(e){switch(e){case 0:case"Mid":return p.Mid;case 1:case"RtpStreamId":return p.RtpStreamId;case 2:case"RepairRtpStreamId":return p.RepairRtpStreamId;case 3:case"FrameMarkingDraft07":return p.FrameMarkingDraft07;case 4:case"FrameMarking":return p.FrameMarking;case 5:case"AudioLevel":return p.AudioLevel;case 6:case"VideoOrientation":return p.VideoOrientation;case 7:case"TimeOffset":return p.TimeOffset;case 8:case"TransportWideCcDraft01":return p.TransportWideCcDraft01;case 9:case"AbsSendTime":return p.AbsSendTime;case 10:case"AbsCaptureTime":return p.AbsCaptureTime;default:return p.UNRECOGNIZED}}function D(e){switch(e){case p.Mid:return"Mid";case p.RtpStreamId:return"RtpStreamId";case p.RepairRtpStreamId:return"RepairRtpStreamId";case p.FrameMarkingDraft07:return"FrameMarkingDraft07";case p.FrameMarking:return"FrameMarking";case p.AudioLevel:return"AudioLevel";case p.VideoOrientation:return"VideoOrientation";case p.TimeOffset:return"TimeOffset";case p.TransportWideCcDraft01:return"TransportWideCcDraft01";case p.AbsSendTime:return"AbsSendTime";case p.AbsCaptureTime:return"AbsCaptureTime";default:return p.UNRECOGNIZED,"UNRECOGNIZED"}}function V(e){switch(e){case 0:case"SendRecv":return m.SendRecv;case 1:case"SendOnly":return m.SendOnly;case 2:case"RecvOnly":return m.RecvOnly;case 3:case"Inactive":return m.Inactive;default:return m.UNRECOGNIZED}}function J(e){switch(e){case 0:case"Auto":return f.Auto;case 1:case"Client":return f.Client;case 2:case"Server":return f.Server;default:return f.UNRECOGNIZED}}function F(e){switch(e){case 0:case"Tcp":return v.Tcp;case 1:case"Udp":return v.Udp;default:return v.UNRECOGNIZED}}function U(e){switch(e){case 0:case"Host":return h.Host;case 1:case"Srflx":return h.Srflx;case 2:case"Prflx":return h.Prflx;case 3:case"Relay":return h.Relay;default:return h.UNRECOGNIZED}}a.util.Long!==r&&(a.util.Long=r,a.configure()),(C=d=d||{})[C.Opus=0]="Opus",C[C.MultiChannelOpus=1]="MultiChannelOpus",C[C.Pcmu=2]="Pcmu",C[C.Pcma=3]="Pcma",C[C.Isac=4]="Isac",C[C.G722=5]="G722",C[C.Ilbc=6]="Ilbc",C[C.Silk=7]="Silk",C[C.Cn=8]="Cn",C[C.TelephoneEvent=9]="TelephoneEvent",C[C.ARtx=10]="ARtx",C[C.ARed=11]="ARed",C[C.Vp8=100]="Vp8",C[C.Vp9=101]="Vp9",C[C.H264=102]="H264",C[C.H264Svc=103]="H264Svc",C[C.H265=104]="H265",C[C.VRtx=105]="VRtx",C[C.VRed=106]="VRed",C[C.Ulpfec=107]="Ulpfec",C[C.UNRECOGNIZED=-1]="UNRECOGNIZED",function(e){e[e.Audio=0]="Audio",e[e.Video=1]="Video",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(u=u||{}),function(e){e[e.Nack=0]="Nack",e[e.NackPli=1]="NackPli",e[e.CcmFir=2]="CcmFir",e[e.GoogRemb=3]="GoogRemb",e[e.TransportCc=4]="TransportCc",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(l=l||{}),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"}(p=p||{}),function(e){e[e.SendRecv=0]="SendRecv",e[e.SendOnly=1]="SendOnly",e[e.RecvOnly=2]="RecvOnly",e[e.Inactive=3]="Inactive",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(m=m||{}),function(e){e[e.Auto=0]="Auto",e[e.Client=1]="Client",e[e.Server=2]="Server",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(f=f||{}),function(e){e[e.Tcp=0]="Tcp",e[e.Udp=1]="Udp",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(v=v||{}),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"}(h=h||{});const G={encode(e,r=a.Writer.create()){for(const t of e.codecs)L.encode(t,r.uint32(10).fork()).ldelim();for(const t of e.headerExtensions)Z.encode(t,r.uint32(18).fork()).ldelim();return r},decode(e,r){for(var t=e instanceof a.Reader?e:a.Reader.create(e),n=void 0===r?t.len:t.pos+r,i={codecs:[],headerExtensions:[]};t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:if(10!==o)break;i.codecs.push(L.decode(t,t.uint32()));continue;case 2:if(18===o){i.headerExtensions.push(Z.decode(t,t.uint32()));continue}}if(4==(7&o)||0===o)break;t.skipType(7&o)}return i},fromJSON:e=>({codecs:globalThis.Array.isArray(null==e?void 0:e.codecs)?e.codecs.map((e=>L.fromJSON(e))):[],headerExtensions:globalThis.Array.isArray(null==e?void 0:e.headerExtensions)?e.headerExtensions.map((e=>Z.fromJSON(e))):[]}),toJSON(e){var r,t={};return null!=(r=e.codecs)&&r.length&&(t.codecs=e.codecs.map((e=>L.toJSON(e)))),null!=(r=e.headerExtensions)&&r.length&&(t.headerExtensions=e.headerExtensions.map((e=>Z.toJSON(e)))),t},create:e=>G.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={codecs:[],headerExtensions:[]};return t.codecs=(null==(r=e.codecs)?void 0:r.map((e=>L.fromPartial(e))))||[],t.headerExtensions=(null==(r=e.headerExtensions)?void 0:r.map((e=>Z.fromPartial(e))))||[],t}};const L={encode(e,r=a.Writer.create()){0!==e.mimeType&&r.uint32(8).int32(e.mimeType),0!==e.kind&&r.uint32(16).int32(e.kind),0!==e.preferredPayloadType&&r.uint32(24).uint32(e.preferredPayloadType),0!==e.clockRate&&r.uint32(32).uint32(e.clockRate),void 0!==e.channels&&r.uint32(40).uint32(e.channels);for(const t of e.parameters)H.encode(t,r.uint32(50).fork()).ldelim();r.uint32(58).fork();for(const t of e.rtcpFeedback)r.int32(t);return r.ldelim(),r},decode(e,r){for(var t=e instanceof a.Reader?e:a.Reader.create(e),n=void 0===r?t.len:t.pos+r,i={mimeType:0,kind:0,preferredPayloadType:0,clockRate:0,channels:void 0,parameters:[],rtcpFeedback:[]};t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:if(8!==o)break;i.mimeType=t.int32();continue;case 2:if(16!==o)break;i.kind=t.int32();continue;case 3:if(24!==o)break;i.preferredPayloadType=t.uint32();continue;case 4:if(32!==o)break;i.clockRate=t.uint32();continue;case 5:if(40!==o)break;i.channels=t.uint32();continue;case 6:if(50!==o)break;i.parameters.push(H.decode(t,t.uint32()));continue;case 7:if(56===o){i.rtcpFeedback.push(t.int32());continue}if(58===o){for(var s=t.uint32()+t.pos;t.pos<s;)i.rtcpFeedback.push(t.int32());continue}}if(4==(7&o)||0===o)break;t.skipType(7&o)}return i},fromJSON:e=>({mimeType:Y(e.mimeType)?O(e.mimeType):0,kind:Y(e.kind)?N(e.kind):0,preferredPayloadType:Y(e.preferredPayloadType)?globalThis.Number(e.preferredPayloadType):0,clockRate:Y(e.clockRate)?globalThis.Number(e.clockRate):0,channels:Y(e.channels)?globalThis.Number(e.channels):void 0,parameters:globalThis.Array.isArray(null==e?void 0:e.parameters)?e.parameters.map((e=>H.fromJSON(e))):[],rtcpFeedback:globalThis.Array.isArray(null==e?void 0:e.rtcpFeedback)?e.rtcpFeedback.map((e=>M(e))):[]}),toJSON(e){var r,t={};return 0!==e.mimeType&&(t.mimeType=S(e.mimeType)),0!==e.kind&&(t.kind=x(e.kind)),0!==e.preferredPayloadType&&(t.preferredPayloadType=Math.round(e.preferredPayloadType)),0!==e.clockRate&&(t.clockRate=Math.round(e.clockRate)),void 0!==e.channels&&(t.channels=Math.round(e.channels)),null!=(r=e.parameters)&&r.length&&(t.parameters=e.parameters.map((e=>H.toJSON(e)))),null!=(r=e.rtcpFeedback)&&r.length&&(t.rtcpFeedback=e.rtcpFeedback.map((e=>w(e)))),t},create:e=>L.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={mimeType:0,kind:0,preferredPayloadType:0,clockRate:0,channels:void 0,parameters:[],rtcpFeedback:[]};return t.mimeType=null!=(r=e.mimeType)?r:0,t.kind=null!=(r=e.kind)?r:0,t.preferredPayloadType=null!=(r=e.preferredPayloadType)?r:0,t.clockRate=null!=(r=e.clockRate)?r:0,t.channels=null!=(r=e.channels)?r:void 0,t.parameters=(null==(r=e.parameters)?void 0:r.map((e=>H.fromPartial(e))))||[],t.rtcpFeedback=(null==(r=e.rtcpFeedback)?void 0:r.map((e=>e)))||[],t}};const Z={encode:(e,r=a.Writer.create())=>(0!==e.kind&&r.uint32(8).int32(e.kind),0!==e.uri&&r.uint32(16).int32(e.uri),0!==e.preferredId&&r.uint32(24).uint32(e.preferredId),!1!==e.preferredEncrypt&&r.uint32(32).bool(e.preferredEncrypt),0!==e.direction&&r.uint32(40).int32(e.direction),r),decode(e,r){for(var t=e instanceof a.Reader?e:a.Reader.create(e),n=void 0===r?t.len:t.pos+r,i={kind:0,uri:0,preferredId:0,preferredEncrypt:!1,direction:0};t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:if(8!==o)break;i.kind=t.int32();continue;case 2:if(16!==o)break;i.uri=t.int32();continue;case 3:if(24!==o)break;i.preferredId=t.uint32();continue;case 4:if(32!==o)break;i.preferredEncrypt=t.bool();continue;case 5:if(40===o){i.direction=t.int32();continue}}if(4==(7&o)||0===o)break;t.skipType(7&o)}return i},fromJSON:e=>({kind:Y(e.kind)?N(e.kind):0,uri:Y(e.uri)?A(e.uri):0,preferredId:Y(e.preferredId)?globalThis.Number(e.preferredId):0,preferredEncrypt:!!Y(e.preferredEncrypt)&&globalThis.Boolean(e.preferredEncrypt),direction:Y(e.direction)?V(e.direction):0}),toJSON(e){var r={};return 0!==e.kind&&(r.kind=x(e.kind)),0!==e.uri&&(r.uri=D(e.uri)),0!==e.preferredId&&(r.preferredId=Math.round(e.preferredId)),!1!==e.preferredEncrypt&&(r.preferredEncrypt=e.preferredEncrypt),0!==e.direction&&(r.direction=function(e){switch(e){case m.SendRecv:return"SendRecv";case m.SendOnly:return"SendOnly";case m.RecvOnly:return"RecvOnly";case m.Inactive:return"Inactive";default:return m.UNRECOGNIZED,"UNRECOGNIZED"}}(e.direction)),r},create:e=>Z.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={kind:0,uri:0,preferredId:0,preferredEncrypt:!1,direction:0};return t.kind=null!=(r=e.kind)?r:0,t.uri=null!=(r=e.uri)?r:0,t.preferredId=null!=(r=e.preferredId)?r:0,t.preferredEncrypt=null!=(r=e.preferredEncrypt)&&r,t.direction=null!=(r=e.direction)?r:0,t}};const H={encode:(e,r=a.Writer.create())=>(""!==e.name&&r.uint32(10).string(e.name),void 0!==e.strValue&&r.uint32(18).string(e.strValue),void 0!==e.numValue&&r.uint32(24).uint32(e.numValue),r),decode(e,r){for(var t=e instanceof a.Reader?e:a.Reader.create(e),n=void 0===r?t.len:t.pos+r,i={name:"",strValue:void 0,numValue:void 0};t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:if(10!==o)break;i.name=t.string();continue;case 2:if(18!==o)break;i.strValue=t.string();continue;case 3:if(24===o){i.numValue=t.uint32();continue}}if(4==(7&o)||0===o)break;t.skipType(7&o)}return i},fromJSON:e=>({name:Y(e.name)?globalThis.String(e.name):"",strValue:Y(e.strValue)?globalThis.String(e.strValue):void 0,numValue:Y(e.numValue)?globalThis.Number(e.numValue):void 0}),toJSON(e){var r={};return""!==e.name&&(r.name=e.name),void 0!==e.strValue&&(r.strValue=e.strValue),void 0!==e.numValue&&(r.numValue=Math.round(e.numValue)),r},create:e=>H.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={name:"",strValue:void 0,numValue:void 0};return t.name=null!=(r=e.name)?r:"",t.strValue=null!=(r=e.strValue)?r:void 0,t.numValue=null!=(r=e.numValue)?r:void 0,t}};const B={encode(e,r=a.Writer.create()){0!==e.role&&r.uint32(8).int32(e.role);for(const t of e.fingerprints)W.encode(t,r.uint32(18).fork()).ldelim();return r},decode(e,r){for(var t=e instanceof a.Reader?e:a.Reader.create(e),n=void 0===r?t.len:t.pos+r,i={role:0,fingerprints:[]};t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:if(8!==o)break;i.role=t.int32();continue;case 2:if(18===o){i.fingerprints.push(W.decode(t,t.uint32()));continue}}if(4==(7&o)||0===o)break;t.skipType(7&o)}return i},fromJSON:e=>({role:Y(e.role)?J(e.role):0,fingerprints:globalThis.Array.isArray(null==e?void 0:e.fingerprints)?e.fingerprints.map((e=>W.fromJSON(e))):[]}),toJSON(e){var r,t={};return 0!==e.role&&(t.role=function(e){switch(e){case f.Auto:return"Auto";case f.Client:return"Client";case f.Server:return"Server";default:return f.UNRECOGNIZED,"UNRECOGNIZED"}}(e.role)),null!=(r=e.fingerprints)&&r.length&&(t.fingerprints=e.fingerprints.map((e=>W.toJSON(e)))),t},create:e=>B.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={role:0,fingerprints:[]};return t.role=null!=(r=e.role)?r:0,t.fingerprints=(null==(r=e.fingerprints)?void 0:r.map((e=>W.fromPartial(e))))||[],t}};const W={encode:(e,r=a.Writer.create())=>(""!==e.algorithm&&r.uint32(10).string(e.algorithm),""!==e.value&&r.uint32(18).string(e.value),r),decode(e,r){for(var t=e instanceof a.Reader?e:a.Reader.create(e),n=void 0===r?t.len:t.pos+r,i={algorithm:"",value:""};t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:if(10!==o)break;i.algorithm=t.string();continue;case 2:if(18===o){i.value=t.string();continue}}if(4==(7&o)||0===o)break;t.skipType(7&o)}return i},fromJSON:e=>({algorithm:Y(e.algorithm)?globalThis.String(e.algorithm):"",value:Y(e.value)?globalThis.String(e.value):""}),toJSON(e){var r={};return""!==e.algorithm&&(r.algorithm=e.algorithm),""!==e.value&&(r.value=e.value),r},create:e=>W.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={algorithm:"",value:""};return t.algorithm=null!=(r=e.algorithm)?r:"",t.value=null!=(r=e.value)?r:"",t}};const q={encode:(e,r=a.Writer.create())=>(""!==e.foundation&&r.uint32(10).string(e.foundation),0!==e.priority&&r.uint32(16).uint32(e.priority),""!==e.address&&r.uint32(26).string(e.address),0!==e.protocol&&r.uint32(32).int32(e.protocol),0!==e.port&&r.uint32(40).uint32(e.port),0!==e.type&&r.uint32(48).int32(e.type),r),decode(e,r){for(var t=e instanceof a.Reader?e:a.Reader.create(e),n=void 0===r?t.len:t.pos+r,i={foundation:"",priority:0,address:"",protocol:0,port:0,type:0};t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:if(10!==o)break;i.foundation=t.string();continue;case 2:if(16!==o)break;i.priority=t.uint32();continue;case 3:if(26!==o)break;i.address=t.string();continue;case 4:if(32!==o)break;i.protocol=t.int32();continue;case 5:if(40!==o)break;i.port=t.uint32();continue;case 6:if(48===o){i.type=t.int32();continue}}if(4==(7&o)||0===o)break;t.skipType(7&o)}return i},fromJSON:e=>({foundation:Y(e.foundation)?globalThis.String(e.foundation):"",priority:Y(e.priority)?globalThis.Number(e.priority):0,address:Y(e.address)?globalThis.String(e.address):"",protocol:Y(e.protocol)?F(e.protocol):0,port:Y(e.port)?globalThis.Number(e.port):0,type:Y(e.type)?U(e.type):0}),toJSON(e){var r={};return""!==e.foundation&&(r.foundation=e.foundation),0!==e.priority&&(r.priority=Math.round(e.priority)),""!==e.address&&(r.address=e.address),0!==e.protocol&&(r.protocol=function(e){switch(e){case v.Tcp:return"Tcp";case v.Udp:return"Udp";default:return v.UNRECOGNIZED,"UNRECOGNIZED"}}(e.protocol)),0!==e.port&&(r.port=Math.round(e.port)),0!==e.type&&(r.type=function(e){switch(e){case h.Host:return"Host";case h.Srflx:return"Srflx";case h.Prflx:return"Prflx";case h.Relay:return"Relay";default:return h.UNRECOGNIZED,"UNRECOGNIZED"}}(e.type)),r},create:e=>q.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={foundation:"",priority:0,address:"",protocol:0,port:0,type:0};return t.foundation=null!=(r=e.foundation)?r:"",t.priority=null!=(r=e.priority)?r:0,t.address=null!=(r=e.address)?r:"",t.protocol=null!=(r=e.protocol)?r:0,t.port=null!=(r=e.port)?r:0,t.type=null!=(r=e.type)?r:0,t}};const $={encode:(e,r=a.Writer.create())=>(""!==e.usernameFragment&&r.uint32(10).string(e.usernameFragment),""!==e.password&&r.uint32(18).string(e.password),void 0!==e.iceLite&&r.uint32(24).bool(e.iceLite),r),decode(e,r){for(var t=e instanceof a.Reader?e:a.Reader.create(e),n=void 0===r?t.len:t.pos+r,i={usernameFragment:"",password:"",iceLite:void 0};t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:if(10!==o)break;i.usernameFragment=t.string();continue;case 2:if(18!==o)break;i.password=t.string();continue;case 3:if(24===o){i.iceLite=t.bool();continue}}if(4==(7&o)||0===o)break;t.skipType(7&o)}return i},fromJSON:e=>({usernameFragment:Y(e.usernameFragment)?globalThis.String(e.usernameFragment):"",password:Y(e.password)?globalThis.String(e.password):"",iceLite:Y(e.iceLite)?globalThis.Boolean(e.iceLite):void 0}),toJSON(e){var r={};return""!==e.usernameFragment&&(r.usernameFragment=e.usernameFragment),""!==e.password&&(r.password=e.password),void 0!==e.iceLite&&(r.iceLite=e.iceLite),r},create:e=>$.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={usernameFragment:"",password:"",iceLite:void 0};return t.usernameFragment=null!=(r=e.usernameFragment)?r:"",t.password=null!=(r=e.password)?r:"",t.iceLite=null!=(r=e.iceLite)?r:void 0,t}};const z={encode(e,r=a.Writer.create()){void 0!==e.mid&&r.uint32(10).string(e.mid);for(const t of e.codecs)j.encode(t,r.uint32(18).fork()).ldelim();for(const t of e.headerExtensions)K.encode(t,r.uint32(26).fork()).ldelim();for(const t of e.encodings)_.encode(t,r.uint32(34).fork()).ldelim();return void 0!==e.rtcp&&X.encode(e.rtcp,r.uint32(42).fork()).ldelim(),r},decode(e,r){for(var t=e instanceof a.Reader?e:a.Reader.create(e),n=void 0===r?t.len:t.pos+r,i={mid:void 0,codecs:[],headerExtensions:[],encodings:[],rtcp:void 0};t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:if(10!==o)break;i.mid=t.string();continue;case 2:if(18!==o)break;i.codecs.push(j.decode(t,t.uint32()));continue;case 3:if(26!==o)break;i.headerExtensions.push(K.decode(t,t.uint32()));continue;case 4:if(34!==o)break;i.encodings.push(_.decode(t,t.uint32()));continue;case 5:if(42===o){i.rtcp=X.decode(t,t.uint32());continue}}if(4==(7&o)||0===o)break;t.skipType(7&o)}return i},fromJSON:e=>({mid:Y(e.mid)?globalThis.String(e.mid):void 0,codecs:globalThis.Array.isArray(null==e?void 0:e.codecs)?e.codecs.map((e=>j.fromJSON(e))):[],headerExtensions:globalThis.Array.isArray(null==e?void 0:e.headerExtensions)?e.headerExtensions.map((e=>K.fromJSON(e))):[],encodings:globalThis.Array.isArray(null==e?void 0:e.encodings)?e.encodings.map((e=>_.fromJSON(e))):[],rtcp:Y(e.rtcp)?X.fromJSON(e.rtcp):void 0}),toJSON(e){var r,t={};return void 0!==e.mid&&(t.mid=e.mid),null!=(r=e.codecs)&&r.length&&(t.codecs=e.codecs.map((e=>j.toJSON(e)))),null!=(r=e.headerExtensions)&&r.length&&(t.headerExtensions=e.headerExtensions.map((e=>K.toJSON(e)))),null!=(r=e.encodings)&&r.length&&(t.encodings=e.encodings.map((e=>_.toJSON(e)))),void 0!==e.rtcp&&(t.rtcp=X.toJSON(e.rtcp)),t},create:e=>z.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={mid:void 0,codecs:[],headerExtensions:[],encodings:[],rtcp:void 0};return t.mid=null!=(r=e.mid)?r:void 0,t.codecs=(null==(r=e.codecs)?void 0:r.map((e=>j.fromPartial(e))))||[],t.headerExtensions=(null==(r=e.headerExtensions)?void 0:r.map((e=>K.fromPartial(e))))||[],t.encodings=(null==(r=e.encodings)?void 0:r.map((e=>_.fromPartial(e))))||[],t.rtcp=void 0!==e.rtcp&&null!==e.rtcp?X.fromPartial(e.rtcp):void 0,t}};const j={encode(e,r=a.Writer.create()){0!==e.mimeType&&r.uint32(8).int32(e.mimeType),0!==e.payloadType&&r.uint32(16).uint32(e.payloadType),0!==e.clockRate&&r.uint32(24).uint32(e.clockRate),void 0!==e.channels&&r.uint32(32).uint32(e.channels);for(const t of e.parameters)H.encode(t,r.uint32(42).fork()).ldelim();r.uint32(50).fork();for(const t of e.rtcpFeedback)r.int32(t);return r.ldelim(),r},decode(e,r){for(var t=e instanceof a.Reader?e:a.Reader.create(e),n=void 0===r?t.len:t.pos+r,i={mimeType:0,payloadType:0,clockRate:0,channels:void 0,parameters:[],rtcpFeedback:[]};t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:if(8!==o)break;i.mimeType=t.int32();continue;case 2:if(16!==o)break;i.payloadType=t.uint32();continue;case 3:if(24!==o)break;i.clockRate=t.uint32();continue;case 4:if(32!==o)break;i.channels=t.uint32();continue;case 5:if(42!==o)break;i.parameters.push(H.decode(t,t.uint32()));continue;case 6:if(48===o){i.rtcpFeedback.push(t.int32());continue}if(50===o){for(var s=t.uint32()+t.pos;t.pos<s;)i.rtcpFeedback.push(t.int32());continue}}if(4==(7&o)||0===o)break;t.skipType(7&o)}return i},fromJSON:e=>({mimeType:Y(e.mimeType)?O(e.mimeType):0,payloadType:Y(e.payloadType)?globalThis.Number(e.payloadType):0,clockRate:Y(e.clockRate)?globalThis.Number(e.clockRate):0,channels:Y(e.channels)?globalThis.Number(e.channels):void 0,parameters:globalThis.Array.isArray(null==e?void 0:e.parameters)?e.parameters.map((e=>H.fromJSON(e))):[],rtcpFeedback:globalThis.Array.isArray(null==e?void 0:e.rtcpFeedback)?e.rtcpFeedback.map((e=>M(e))):[]}),toJSON(e){var r,t={};return 0!==e.mimeType&&(t.mimeType=S(e.mimeType)),0!==e.payloadType&&(t.payloadType=Math.round(e.payloadType)),0!==e.clockRate&&(t.clockRate=Math.round(e.clockRate)),void 0!==e.channels&&(t.channels=Math.round(e.channels)),null!=(r=e.parameters)&&r.length&&(t.parameters=e.parameters.map((e=>H.toJSON(e)))),null!=(r=e.rtcpFeedback)&&r.length&&(t.rtcpFeedback=e.rtcpFeedback.map((e=>w(e)))),t},create:e=>j.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={mimeType:0,payloadType:0,clockRate:0,channels:void 0,parameters:[],rtcpFeedback:[]};return t.mimeType=null!=(r=e.mimeType)?r:0,t.payloadType=null!=(r=e.payloadType)?r:0,t.clockRate=null!=(r=e.clockRate)?r:0,t.channels=null!=(r=e.channels)?r:void 0,t.parameters=(null==(r=e.parameters)?void 0:r.map((e=>H.fromPartial(e))))||[],t.rtcpFeedback=(null==(r=e.rtcpFeedback)?void 0:r.map((e=>e)))||[],t}};const K={encode:(e,r=a.Writer.create())=>(0!==e.uri&&r.uint32(8).int32(e.uri),0!==e.id&&r.uint32(16).uint32(e.id),!1!==e.encrypt&&r.uint32(24).bool(e.encrypt),r),decode(e,r){for(var t=e instanceof a.Reader?e:a.Reader.create(e),n=void 0===r?t.len:t.pos+r,i={uri:0,id:0,encrypt:!1};t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:if(8!==o)break;i.uri=t.int32();continue;case 2:if(16!==o)break;i.id=t.uint32();continue;case 3:if(24===o){i.encrypt=t.bool();continue}}if(4==(7&o)||0===o)break;t.skipType(7&o)}return i},fromJSON:e=>({uri:Y(e.uri)?A(e.uri):0,id:Y(e.id)?globalThis.Number(e.id):0,encrypt:!!Y(e.encrypt)&&globalThis.Boolean(e.encrypt)}),toJSON(e){var r={};return 0!==e.uri&&(r.uri=D(e.uri)),0!==e.id&&(r.id=Math.round(e.id)),!1!==e.encrypt&&(r.encrypt=e.encrypt),r},create:e=>K.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={uri:0,id:0,encrypt:!1};return t.uri=null!=(r=e.uri)?r:0,t.id=null!=(r=e.id)?r:0,t.encrypt=null!=(r=e.encrypt)&&r,t}};const _={encode:(e,r=a.Writer.create())=>(void 0!==e.ssrc&&r.uint32(8).uint32(e.ssrc),void 0!==e.rid&&r.uint32(18).string(e.rid),void 0!==e.codecPayloadType&&r.uint32(24).uint32(e.codecPayloadType),void 0!==e.rtx&&Q.encode(e.rtx,r.uint32(34).fork()).ldelim(),void 0!==e.dtx&&r.uint32(40).bool(e.dtx),void 0!==e.scalabilityMode&&r.uint32(50).string(e.scalabilityMode),void 0!==e.maxBitrate&&r.uint32(56).uint32(e.maxBitrate),r),decode(e,r){for(var t=e instanceof a.Reader?e:a.Reader.create(e),n=void 0===r?t.len:t.pos+r,i={ssrc:void 0,rid:void 0,codecPayloadType:void 0,rtx:void 0,dtx:void 0,scalabilityMode:void 0,maxBitrate:void 0};t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:if(8!==o)break;i.ssrc=t.uint32();continue;case 2:if(18!==o)break;i.rid=t.string();continue;case 3:if(24!==o)break;i.codecPayloadType=t.uint32();continue;case 4:if(34!==o)break;i.rtx=Q.decode(t,t.uint32());continue;case 5:if(40!==o)break;i.dtx=t.bool();continue;case 6:if(50!==o)break;i.scalabilityMode=t.string();continue;case 7:if(56===o){i.maxBitrate=t.uint32();continue}}if(4==(7&o)||0===o)break;t.skipType(7&o)}return i},fromJSON:e=>({ssrc:Y(e.ssrc)?globalThis.Number(e.ssrc):void 0,rid:Y(e.rid)?globalThis.String(e.rid):void 0,codecPayloadType:Y(e.codecPayloadType)?globalThis.Number(e.codecPayloadType):void 0,rtx:Y(e.rtx)?Q.fromJSON(e.rtx):void 0,dtx:Y(e.dtx)?globalThis.Boolean(e.dtx):void 0,scalabilityMode:Y(e.scalabilityMode)?globalThis.String(e.scalabilityMode):void 0,maxBitrate:Y(e.maxBitrate)?globalThis.Number(e.maxBitrate):void 0}),toJSON(e){var r={};return void 0!==e.ssrc&&(r.ssrc=Math.round(e.ssrc)),void 0!==e.rid&&(r.rid=e.rid),void 0!==e.codecPayloadType&&(r.codecPayloadType=Math.round(e.codecPayloadType)),void 0!==e.rtx&&(r.rtx=Q.toJSON(e.rtx)),void 0!==e.dtx&&(r.dtx=e.dtx),void 0!==e.scalabilityMode&&(r.scalabilityMode=e.scalabilityMode),void 0!==e.maxBitrate&&(r.maxBitrate=Math.round(e.maxBitrate)),r},create:e=>_.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={ssrc:void 0,rid:void 0,codecPayloadType:void 0,rtx:void 0,dtx:void 0,scalabilityMode:void 0,maxBitrate:void 0};return t.ssrc=null!=(r=e.ssrc)?r:void 0,t.rid=null!=(r=e.rid)?r:void 0,t.codecPayloadType=null!=(r=e.codecPayloadType)?r:void 0,t.rtx=void 0!==e.rtx&&null!==e.rtx?Q.fromPartial(e.rtx):void 0,t.dtx=null!=(r=e.dtx)?r:void 0,t.scalabilityMode=null!=(r=e.scalabilityMode)?r:void 0,t.maxBitrate=null!=(r=e.maxBitrate)?r:void 0,t}};const Q={encode:(e,r=a.Writer.create())=>(0!==e.ssrc&&r.uint32(8).uint32(e.ssrc),r),decode(e,r){for(var t=e instanceof a.Reader?e:a.Reader.create(e),n=void 0===r?t.len:t.pos+r,i={ssrc:0};t.pos<n;){var o=t.uint32();if(o>>>3!=1||8!==o){if(4==(7&o)||0===o)break;t.skipType(7&o)}else i.ssrc=t.uint32()}return i},fromJSON:e=>({ssrc:Y(e.ssrc)?globalThis.Number(e.ssrc):0}),toJSON(e){var r={};return 0!==e.ssrc&&(r.ssrc=Math.round(e.ssrc)),r},create:e=>Q.fromPartial(null!=e?e:{}),fromPartial(e){var r={ssrc:0};return r.ssrc=null!=(e=e.ssrc)?e:0,r}};const X={encode:(e,r=a.Writer.create())=>(void 0!==e.cname&&r.uint32(10).string(e.cname),!1!==e.reducedSize&&r.uint32(16).bool(e.reducedSize),r),decode(e,r){for(var t=e instanceof a.Reader?e:a.Reader.create(e),n=void 0===r?t.len:t.pos+r,i={cname:void 0,reducedSize:!1};t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:if(10!==o)break;i.cname=t.string();continue;case 2:if(16===o){i.reducedSize=t.bool();continue}}if(4==(7&o)||0===o)break;t.skipType(7&o)}return i},fromJSON:e=>({cname:Y(e.cname)?globalThis.String(e.cname):void 0,reducedSize:!!Y(e.reducedSize)&&globalThis.Boolean(e.reducedSize)}),toJSON(e){var r={};return void 0!==e.cname&&(r.cname=e.cname),!1!==e.reducedSize&&(r.reducedSize=e.reducedSize),r},create:e=>X.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={cname:void 0,reducedSize:!1};return t.cname=null!=(r=e.cname)?r:void 0,t.reducedSize=null!=(r=e.reducedSize)&&r,t}};function Y(e){return null!=e}const ee={encode:(e,r=a.Writer.create())=>(0!==e.code&&r.uint32(8).uint32(e.code),""!==e.message&&r.uint32(18).string(e.message),r),decode(e,r){for(var t=e instanceof a.Reader?e:a.Reader.create(e),n=void 0===r?t.len:t.pos+r,i={code:0,message:""};t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:if(8!==o)break;i.code=t.uint32();continue;case 2:if(18===o){i.message=t.string();continue}}if(4==(7&o)||0===o)break;t.skipType(7&o)}return i},fromJSON:e=>({code:ce(e.code)?globalThis.Number(e.code):0,message:ce(e.message)?globalThis.String(e.message):""}),toJSON(e){var r={};return 0!==e.code&&(r.code=Math.round(e.code)),""!==e.message&&(r.message=e.message),r},create:e=>ee.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={code:0,message:""};return t.code=null!=(r=e.code)?r:0,t.message=null!=(r=e.message)?r:"",t}};const re={encode:(e,r=a.Writer.create())=>(void 0!==e.consumerTransportOptions&&te.encode(e.consumerTransportOptions,r.uint32(10).fork()).ldelim(),void 0!==e.producerTransportOptions&&te.encode(e.producerTransportOptions,r.uint32(18).fork()).ldelim(),void 0!==e.routerRtpCapabilities&&G.encode(e.routerRtpCapabilities,r.uint32(26).fork()).ldelim(),r),decode(e,r){for(var t=e instanceof a.Reader?e:a.Reader.create(e),n=void 0===r?t.len:t.pos+r,i={consumerTransportOptions:void 0,producerTransportOptions:void 0,routerRtpCapabilities:void 0};t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:if(10!==o)break;i.consumerTransportOptions=te.decode(t,t.uint32());continue;case 2:if(18!==o)break;i.producerTransportOptions=te.decode(t,t.uint32());continue;case 3:if(26===o){i.routerRtpCapabilities=G.decode(t,t.uint32());continue}}if(4==(7&o)||0===o)break;t.skipType(7&o)}return i},fromJSON:e=>({consumerTransportOptions:ce(e.consumerTransportOptions)?te.fromJSON(e.consumerTransportOptions):void 0,producerTransportOptions:ce(e.producerTransportOptions)?te.fromJSON(e.producerTransportOptions):void 0,routerRtpCapabilities:ce(e.routerRtpCapabilities)?G.fromJSON(e.routerRtpCapabilities):void 0}),toJSON(e){var r={};return void 0!==e.consumerTransportOptions&&(r.consumerTransportOptions=te.toJSON(e.consumerTransportOptions)),void 0!==e.producerTransportOptions&&(r.producerTransportOptions=te.toJSON(e.producerTransportOptions)),void 0!==e.routerRtpCapabilities&&(r.routerRtpCapabilities=G.toJSON(e.routerRtpCapabilities)),r},create:e=>re.fromPartial(null!=e?e:{}),fromPartial(e){var r={consumerTransportOptions:void 0,producerTransportOptions:void 0,routerRtpCapabilities:void 0};return r.consumerTransportOptions=void 0!==e.consumerTransportOptions&&null!==e.consumerTransportOptions?te.fromPartial(e.consumerTransportOptions):void 0,r.producerTransportOptions=void 0!==e.producerTransportOptions&&null!==e.producerTransportOptions?te.fromPartial(e.producerTransportOptions):void 0,r.routerRtpCapabilities=void 0!==e.routerRtpCapabilities&&null!==e.routerRtpCapabilities?G.fromPartial(e.routerRtpCapabilities):void 0,r}};const te={encode(e,r=a.Writer.create()){""!==e.id&&r.uint32(10).string(e.id),void 0!==e.dtlsParameters&&B.encode(e.dtlsParameters,r.uint32(18).fork()).ldelim();for(const t of e.iceCandidates)q.encode(t,r.uint32(26).fork()).ldelim();return void 0!==e.iceParameters&&$.encode(e.iceParameters,r.uint32(34).fork()).ldelim(),r},decode(e,r){for(var t=e instanceof a.Reader?e:a.Reader.create(e),n=void 0===r?t.len:t.pos+r,i={id:"",dtlsParameters:void 0,iceCandidates:[],iceParameters:void 0};t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:if(10!==o)break;i.id=t.string();continue;case 2:if(18!==o)break;i.dtlsParameters=B.decode(t,t.uint32());continue;case 3:if(26!==o)break;i.iceCandidates.push(q.decode(t,t.uint32()));continue;case 4:if(34===o){i.iceParameters=$.decode(t,t.uint32());continue}}if(4==(7&o)||0===o)break;t.skipType(7&o)}return i},fromJSON:e=>({id:ce(e.id)?globalThis.String(e.id):"",dtlsParameters:ce(e.dtlsParameters)?B.fromJSON(e.dtlsParameters):void 0,iceCandidates:globalThis.Array.isArray(null==e?void 0:e.iceCandidates)?e.iceCandidates.map((e=>q.fromJSON(e))):[],iceParameters:ce(e.iceParameters)?$.fromJSON(e.iceParameters):void 0}),toJSON(e){var r,t={};return""!==e.id&&(t.id=e.id),void 0!==e.dtlsParameters&&(t.dtlsParameters=B.toJSON(e.dtlsParameters)),null!=(r=e.iceCandidates)&&r.length&&(t.iceCandidates=e.iceCandidates.map((e=>q.toJSON(e)))),void 0!==e.iceParameters&&(t.iceParameters=$.toJSON(e.iceParameters)),t},create:e=>te.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={id:"",dtlsParameters:void 0,iceCandidates:[],iceParameters:void 0};return t.id=null!=(r=e.id)?r:"",t.dtlsParameters=void 0!==e.dtlsParameters&&null!==e.dtlsParameters?B.fromPartial(e.dtlsParameters):void 0,t.iceCandidates=(null==(r=e.iceCandidates)?void 0:r.map((e=>q.fromPartial(e))))||[],t.iceParameters=void 0!==e.iceParameters&&null!==e.iceParameters?$.fromPartial(e.iceParameters):void 0,t}};const ae={encode:(e,r=a.Writer.create())=>(""!==e.clientId&&r.uint32(10).string(e.clientId),""!==e.producerId&&r.uint32(18).string(e.producerId),""!==e.consumerId&&r.uint32(26).string(e.consumerId),0!==e.kind&&r.uint32(32).int32(e.kind),void 0!==e.rtpParameters&&z.encode(e.rtpParameters,r.uint32(42).fork()).ldelim(),!1!==e.producerPaused&&r.uint32(48).bool(e.producerPaused),void 0!==e.speaker&&ie.encode(e.speaker,r.uint32(58).fork()).ldelim(),r),decode(e,r){for(var t=e instanceof a.Reader?e:a.Reader.create(e),n=void 0===r?t.len:t.pos+r,i={clientId:"",producerId:"",consumerId:"",kind:0,rtpParameters:void 0,producerPaused:!1,speaker:void 0};t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:if(10!==o)break;i.clientId=t.string();continue;case 2:if(18!==o)break;i.producerId=t.string();continue;case 3:if(26!==o)break;i.consumerId=t.string();continue;case 4:if(32!==o)break;i.kind=t.int32();continue;case 5:if(42!==o)break;i.rtpParameters=z.decode(t,t.uint32());continue;case 6:if(48!==o)break;i.producerPaused=t.bool();continue;case 7:if(58===o){i.speaker=ie.decode(t,t.uint32());continue}}if(4==(7&o)||0===o)break;t.skipType(7&o)}return i},fromJSON:e=>({clientId:ce(e.clientId)?globalThis.String(e.clientId):"",producerId:ce(e.producerId)?globalThis.String(e.producerId):"",consumerId:ce(e.consumerId)?globalThis.String(e.consumerId):"",kind:ce(e.kind)?N(e.kind):0,rtpParameters:ce(e.rtpParameters)?z.fromJSON(e.rtpParameters):void 0,producerPaused:!!ce(e.producerPaused)&&globalThis.Boolean(e.producerPaused),speaker:ce(e.speaker)?ie.fromJSON(e.speaker):void 0}),toJSON(e){var r={};return""!==e.clientId&&(r.clientId=e.clientId),""!==e.producerId&&(r.producerId=e.producerId),""!==e.consumerId&&(r.consumerId=e.consumerId),0!==e.kind&&(r.kind=x(e.kind)),void 0!==e.rtpParameters&&(r.rtpParameters=z.toJSON(e.rtpParameters)),!1!==e.producerPaused&&(r.producerPaused=e.producerPaused),void 0!==e.speaker&&(r.speaker=ie.toJSON(e.speaker)),r},create:e=>ae.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={clientId:"",producerId:"",consumerId:"",kind:0,rtpParameters:void 0,producerPaused:!1,speaker:void 0};return t.clientId=null!=(r=e.clientId)?r:"",t.producerId=null!=(r=e.producerId)?r:"",t.consumerId=null!=(r=e.consumerId)?r:"",t.kind=null!=(r=e.kind)?r:0,t.rtpParameters=void 0!==e.rtpParameters&&null!==e.rtpParameters?z.fromPartial(e.rtpParameters):void 0,t.producerPaused=null!=(r=e.producerPaused)&&r,t.speaker=void 0!==e.speaker&&null!==e.speaker?ie.fromPartial(e.speaker):void 0,t}};const ne={encode:(e,r=a.Writer.create())=>(""!==e.clientId&&r.uint32(10).string(e.clientId),""!==e.consumerId&&r.uint32(18).string(e.consumerId),void 0!==e.speaker&&ie.encode(e.speaker,r.uint32(26).fork()).ldelim(),r),decode(e,r){for(var t=e instanceof a.Reader?e:a.Reader.create(e),n=void 0===r?t.len:t.pos+r,i={clientId:"",consumerId:"",speaker:void 0};t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:if(10!==o)break;i.clientId=t.string();continue;case 2:if(18!==o)break;i.consumerId=t.string();continue;case 3:if(26===o){i.speaker=ie.decode(t,t.uint32());continue}}if(4==(7&o)||0===o)break;t.skipType(7&o)}return i},fromJSON:e=>({clientId:ce(e.clientId)?globalThis.String(e.clientId):"",consumerId:ce(e.consumerId)?globalThis.String(e.consumerId):"",speaker:ce(e.speaker)?ie.fromJSON(e.speaker):void 0}),toJSON(e){var r={};return""!==e.clientId&&(r.clientId=e.clientId),""!==e.consumerId&&(r.consumerId=e.consumerId),void 0!==e.speaker&&(r.speaker=ie.toJSON(e.speaker)),r},create:e=>ne.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={clientId:"",consumerId:"",speaker:void 0};return t.clientId=null!=(r=e.clientId)?r:"",t.consumerId=null!=(r=e.consumerId)?r:"",t.speaker=void 0!==e.speaker&&null!==e.speaker?ie.fromPartial(e.speaker):void 0,t}};const ie={encode:(e,r=a.Writer.create())=>(0!==e.seq&&r.uint32(8).uint32(e.seq),""!==e.clientId&&r.uint32(18).string(e.clientId),r),decode(e,r){for(var t=e instanceof a.Reader?e:a.Reader.create(e),n=void 0===r?t.len:t.pos+r,i={seq:0,clientId:""};t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:if(8!==o)break;i.seq=t.uint32();continue;case 2:if(18===o){i.clientId=t.string();continue}}if(4==(7&o)||0===o)break;t.skipType(7&o)}return i},fromJSON:e=>({seq:ce(e.seq)?globalThis.Number(e.seq):0,clientId:ce(e.clientId)?globalThis.String(e.clientId):""}),toJSON(e){var r={};return 0!==e.seq&&(r.seq=Math.round(e.seq)),""!==e.clientId&&(r.clientId=e.clientId),r},create:e=>ie.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={seq:0,clientId:""};return t.seq=null!=(r=e.seq)?r:0,t.clientId=null!=(r=e.clientId)?r:"",t}};const oe={encode:(e,r=a.Writer.create())=>(""!==e.token&&r.uint32(10).string(e.token),!1!==e.forceTcp&&r.uint32(16).bool(e.forceTcp),r),decode(e,r){for(var t=e instanceof a.Reader?e:a.Reader.create(e),n=void 0===r?t.len:t.pos+r,i={token:"",forceTcp:!1};t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:if(10!==o)break;i.token=t.string();continue;case 2:if(16===o){i.forceTcp=t.bool();continue}}if(4==(7&o)||0===o)break;t.skipType(7&o)}return i},fromJSON:e=>({token:ce(e.token)?globalThis.String(e.token):"",forceTcp:!!ce(e.forceTcp)&&globalThis.Boolean(e.forceTcp)}),toJSON(e){var r={};return""!==e.token&&(r.token=e.token),!1!==e.forceTcp&&(r.forceTcp=e.forceTcp),r},create:e=>oe.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={token:"",forceTcp:!1};return t.token=null!=(r=e.token)?r:"",t.forceTcp=null!=(r=e.forceTcp)&&r,t}};const se={encode:(e,r=a.Writer.create())=>(""!==e.tag&&r.uint32(10).string(e.tag),0!==e.kind&&r.uint32(16).int32(e.kind),void 0!==e.rtpParameters&&z.encode(e.rtpParameters,r.uint32(26).fork()).ldelim(),r),decode(e,r){for(var t=e instanceof a.Reader?e:a.Reader.create(e),n=void 0===r?t.len:t.pos+r,i={tag:"",kind:0,rtpParameters:void 0};t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:if(10!==o)break;i.tag=t.string();continue;case 2:if(16!==o)break;i.kind=t.int32();continue;case 3:if(26===o){i.rtpParameters=z.decode(t,t.uint32());continue}}if(4==(7&o)||0===o)break;t.skipType(7&o)}return i},fromJSON:e=>({tag:ce(e.tag)?globalThis.String(e.tag):"",kind:ce(e.kind)?N(e.kind):0,rtpParameters:ce(e.rtpParameters)?z.fromJSON(e.rtpParameters):void 0}),toJSON(e){var r={};return""!==e.tag&&(r.tag=e.tag),0!==e.kind&&(r.kind=x(e.kind)),void 0!==e.rtpParameters&&(r.rtpParameters=z.toJSON(e.rtpParameters)),r},create:e=>se.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={tag:"",kind:0,rtpParameters:void 0};return t.tag=null!=(r=e.tag)?r:"",t.kind=null!=(r=e.kind)?r:0,t.rtpParameters=void 0!==e.rtpParameters&&null!==e.rtpParameters?z.fromPartial(e.rtpParameters):void 0,t}};function ce(e){return null!=e}function de(e){switch(e){case d.Opus:return"audio/opus";case d.MultiChannelOpus:return"audio/multiopus";case d.Pcmu:return"audio/PCMU";case d.Pcma:return"audio/PCMA";case d.Isac:return"audio/ISAC";case d.G722:return"audio/G722";case d.Ilbc:return"audio/iLBC";case d.Silk:return"audio/SILK";case d.Cn:return"audio/CN";case d.TelephoneEvent:return"audio/telephone-event";case d.ARtx:return"audio/rtx";case d.ARed:return"audio/red";case d.Vp8:return"video/VP8";case d.Vp9:return"video/VP9";case d.H264:return"video/H264";case d.H264Svc:return"video/H264-SVC";case d.H265:return"video/H265";case d.VRtx:return"video/rtx";case d.VRed:return"video/red";case d.Ulpfec:return"video/ulpfec";default:return}}function ue(e){switch(e){case"audio/opus":return d.Opus;case"audio/multiopus":return d.MultiChannelOpus;case"audio/PCMU":return d.Pcmu;case"audio/PCMA":return d.Pcma;case"audio/ISAC":return d.Isac;case"audio/G722":return d.G722;case"audio/iLBC":return d.Ilbc;case"audio/SILK":return d.Silk;case"audio/CN":return d.Cn;case"audio/telephone-event":return d.TelephoneEvent;case"audio/rtx":return d.ARtx;case"audio/red":return d.ARed;case"video/VP8":return d.Vp8;case"video/VP9":return d.Vp9;case"video/H264":return d.H264;case"video/H264-SVC":return d.H264Svc;case"video/H265":return d.H265;case"video/rtx":return d.VRtx;case"video/red":return d.VRed;case"video/ulpfec":return d.Ulpfec;default:return d.UNRECOGNIZED}}function le(e){switch(e){case d.Opus:return"audio/opus";case d.MultiChannelOpus:return"audio/multiopus";case d.Pcmu:return"audio/PCMU";case d.Pcma:return"audio/PCMA";case d.Isac:return"audio/ISAC";case d.G722:return"audio/G722";case d.Ilbc:return"audio/iLBC";case d.Silk:return"audio/SILK";case d.Cn:return"audio/CN";case d.TelephoneEvent:return"audio/telephone-event";case d.ARtx:case d.ARed:return"audio/red";case d.Vp8:return"video/VP8";case d.Vp9:return"video/VP9";case d.H264:return"video/H264";case d.H264Svc:return"video/H264-SVC";case d.H265:return"video/H265";case d.VRtx:return"video/rtx";case d.VRed:return"video/red";case d.Ulpfec:return"video/ulpfec";default:return}}function pe(e){switch(e){case u.Audio:return"audio";case u.Video:return"video";default:return}}function me(e){switch(e){case"audio":return u.Audio;case"video":return u.Video;default:return u.UNRECOGNIZED}}function fe(e){var r={};for(const t of e)r[t.name]=t.strValue||t.numValue;return r}function ve(e){var r,t=[];for(const a in e)e.hasOwnProperty(a)&&(r=e[a],t.push({name:a,strValue:"string"==typeof r?r:void 0,numValue:"number"==typeof r?r:void 0}));return t}function he(e){return e.map((e=>{switch(e){case l.Nack:return{type:"nack",parameter:""};case l.NackPli:return{type:"nack",parameter:"pli"};case l.CcmFir:return{type:"ccm",parameter:"fir"};case l.GoogRemb:return{type:"goog-remb",parameter:""};case l.TransportCc:return{type:"transport-cc",parameter:""};default:return}})).filter((e=>null!=e))}function ge(e){return e?e.map((e=>{switch(e.type){case"nack":return"pli"===e.parameter?l.NackPli:l.Nack;case"ccm":return l.CcmFir;case"goog-remb":return l.GoogRemb;case"transport-cc":return l.TransportCc;default:return}})).filter((e=>null!=e)):[]}function ke(e){switch(e){case p.Mid:return"urn:ietf:params:rtp-hdrext:sdes:mid";case p.RtpStreamId:return"urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id";case p.RepairRtpStreamId:return"urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id";case p.FrameMarkingDraft07:return"http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07";case p.FrameMarking:return"urn:ietf:params:rtp-hdrext:framemarking";case p.AudioLevel:return"urn:ietf:params:rtp-hdrext:ssrc-audio-level";case p.VideoOrientation:return"urn:3gpp:video-orientation";case p.TimeOffset:return"urn:ietf:params:rtp-hdrext:toffset";case p.TransportWideCcDraft01:return"http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01";case p.AbsSendTime:return"http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time";case p.AbsCaptureTime:return"http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time";default:return}}function ye(e){switch(e){case"urn:ietf:params:rtp-hdrext:sdes:mid":return p.Mid;case"urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id":return p.RtpStreamId;case"urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id":return p.RepairRtpStreamId;case"http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07":return p.FrameMarkingDraft07;case"urn:ietf:params:rtp-hdrext:framemarking":return p.FrameMarking;case"urn:ietf:params:rtp-hdrext:ssrc-audio-level":return p.AudioLevel;case"urn:3gpp:video-orientation":return p.VideoOrientation;case"urn:ietf:params:rtp-hdrext:toffset":return p.TimeOffset;case"http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01":return p.TransportWideCcDraft01;case"http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time":return p.AbsSendTime;case"http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time":return p.AbsCaptureTime;default:return p.UNRECOGNIZED}}function Te(e){switch(e){case m.SendRecv:return"sendrecv";case m.SendOnly:return"sendonly";case m.RecvOnly:return"recvonly";case m.Inactive:return"inactive";default:return}}function be(e){switch(e){case"sendrecv":return m.SendRecv;case"sendonly":return m.SendOnly;case"recvonly":return m.RecvOnly;case"inactive":return m.Inactive;default:return m.UNRECOGNIZED}}function Ie(e){return void 0===e?{codecs:[],headerExtensions:[]}:{codecs:e.codecs.map((e=>{var{mimeType:e,kind:r,preferredPayloadType:t,clockRate:a,channels:n,parameters:i,rtcpFeedback:o}=e;return{mimeType:de(e),kind:pe(r),preferredPayloadType:t,clockRate:a,channels:n,parameters:fe(i),rtcpFeedback:he(o)}})),headerExtensions:e.headerExtensions.map((e=>{var{kind:e,uri:r,preferredId:t,preferredEncrypt:a,direction:n}=e;return{kind:pe(e),uri:ke(r),preferredId:t,preferredEncrypt:a,direction:Te(n)}}))}}function Re(e){var{usernameFragment:e,password:r,iceLite:t}=e;return{usernameFragment:e,password:r,iceLite:t}}function Pe(e){return e.map((e=>{var{foundation:e,priority:r,address:t,protocol:a,port:n,type:i}=e,a=function(e){return e===v.Udp?"udp":"tcp"}(a);return{foundation:e,priority:r,address:t,protocol:a,port:n,type:Ee(i),tcpType:"tcp"===a?"passive":void 0}}))}function Ee(e){return e===h.Host?"host":e===h.Srflx?"srflx":e===h.Prflx?"prflx":"relay"}function Ce(e){var{role:e,fingerprints:r}=e;return{role:Se(e),fingerprints:r.map((e=>function(e){var{algorithm:e,value:r}=e;return{algorithm:e,value:r}}(e)))}}function Oe(e){var{role:e,fingerprints:r}=e;return{role:Ne(e),fingerprints:r.map((e=>function(e){var{algorithm:e,value:r}=e;return{algorithm:e,value:r}}(e)))}}function Se(e){return e===f.Client?"client":e===f.Server?"server":"auto"}function Ne(e){return"client"===e?f.Client:"server"===e?f.Server:f.Auto}function xe(e){var{id:e,iceParameters:r,iceCandidates:t,dtlsParameters:a}=e;return{id:e,iceParameters:Re(r),iceCandidates:Pe(t),dtlsParameters:Ce(a)}}function Me(e){var{mid:e,codecs:r,headerExtensions:t,encodings:a,rtcp:n}=e;return{mid:e,codecs:r.map((e=>function(e){var{mimeType:e,payloadType:r,clockRate:t,channels:a,parameters:n,rtcpFeedback:i}=e;return{mimeType:le(e),payloadType:r,clockRate:t,channels:a,parameters:fe(n),rtcpFeedback:he(i)}}(e))),headerExtensions:t.map((e=>function(e){var{uri:e,id:r,encrypt:t}=e;return{uri:ke(e),id:r,encrypt:t}}(e))),encodings:a.map((e=>function(e){var{ssrc:e,rid:r,codecPayloadType:t,rtx:a,dtx:n,scalabilityMode:i,maxBitrate:o}=e;return{ssrc:e,rid:r,codecPayloadType:t,rtx:a,dtx:n,scalabilityMode:i,maxBitrate:o}}(e))),rtcp:Ae(n)}}function we(e){var{mid:e,codecs:r,headerExtensions:t,encodings:a,rtcp:n}=e;return{mid:e,codecs:r.map((e=>function(e){var{mimeType:e,payloadType:r,clockRate:t,channels:a,parameters:n,rtcpFeedback:i}=e;return{mimeType:ue(e),payloadType:r,clockRate:t,channels:a,parameters:ve(n),rtcpFeedback:ge(i)}}(e))),headerExtensions:t.map((e=>function(e){var{uri:e,id:r,encrypt:t}=e;return{uri:ye(e),id:r,encrypt:!0===t}}(e))),encodings:a.map((e=>function(e){var{ssrc:e,rid:r,codecPayloadType:t,rtx:a,dtx:n,scalabilityMode:i,maxBitrate:o}=e;return{ssrc:e,rid:r,codecPayloadType:t,rtx:a,dtx:n,scalabilityMode:i,maxBitrate:o}}(e))),rtcp:De(n)}}function Ae(e){var r;if(e)return({cname:e,reducedSize:r}=e),{cname:e,reducedSize:r}}function De(e){var r;if(e)return({cname:e,reducedSize:r}=e),{cname:e,reducedSize:!0===r}}class Ve{constructor(){this.map=new Map}on(e,r){let t=this.map.get(e);t||this.map.set(e,t=new Set),t.add(r)}emit(e,r){(e=this.map.get(e))&&e.forEach((e=>e(r)))}off(e,r){var t;e?r?(t=this.map.get(e))&&t.delete(r):this.map.delete(e):this.map.clear()}once(e,r){const t=a=>{r(a),this.off(e,t)};this.on(e,t)}}class Je{constructor(e){this.consumerList=new Map,e=e.clientId,this.clientId=e}pushConsumerList(e){return!this.consumerList||this.consumerList.get(e.producerId)?(console.log("pushConsumerList - 异常情况"),!1):void this.consumerList.set(e.producerId,e)}async genConsumer(e,r){if(!e)return{consumer:void 0,producerId:""};var{consumerId:e,producerId:t,kind:a,rtpParameters:n}=e,a=(e={id:e,producerId:t,kind:pe(a),rtpParameters:Me(n)},await(null==r?void 0:r.consume(e)));this.updateConsumerForConsumer(t,a)}updateConsumerForConsumer(e,r){var t=null==(t=this.consumerList)?void 0:t.get(e);t&&(t.consumer=r,null!=(r=this.consumerList))&&r.set(e,t)}updateConsumerForStream(e,r){var t=null==(t=this.consumerList)?void 0:t.get(e);t&&(t.mediaStream=r,null!=(r=this.consumerList))&&r.set(e,t)}updateConsumerForElement(e,r){var t=null==(t=this.consumerList)?void 0:t.get(e);t&&(t.mediaElement=r,null!=(r=this.consumerList))&&r.set(e,t)}mediaStreamAddTrack(e,r){var t=new MediaStream;t.addTrack(e.track),t&&r&&(r.srcObject=t),this.updateConsumerForStream(e.producerId,t)}genAudioElement(e){var r;const t=document.createElement("audio");return t.muted=!1,t.controls=!0,t.onloadedmetadata=()=>{null!=t&&t.play().then((e=>{}))},null!=(r=document.getElementById("preview-box"))&&r.append(t),this.updateConsumerForElement(e,t),t}genVideoElement(e){var r;const t=document.createElement("video");return t.muted=!1,t.controls=!0,t.onloadedmetadata=()=>{null!=t&&t.play().then((e=>{}))},null!=(r=document.getElementById("preview-box"))&&r.append(t),this.updateConsumerForElement(e,t),t}}!function(e){e[e.Channel=0]="Channel",e[e.Monitor=1]="Monitor",e[e.BeMonitor=2]="BeMonitor"}(g=g||{});class Fe{constructor({eventEmit:e}){this.eventEmit=new Ve,this.audioProducerId="",this.videoProducerId="",this.clientList=new Map,this.produceTag="",this.producerMap=new Map,this.eventEmit=e}async initRoom(){return this}registerMessageEvents(){}setRoomId(e){return this.roomId=e,this}setClientId(e){return this.clientId=e,this}setPlayElementBox(e){return this.playElementBox=e,this}setToken(e){return this.token=e,this}setProduceTag(e){return this.produceTag=e,this}setRoomType(e){return this.roomType=e,this}setMonitorDeviceId(e){return this.monitorDeviceId=e,this}publishChannel(){!function(e,r,t){var{roomId:t,callback:a}=t;e.emit("send",{topic:`client/${r}/mediaapp/${t}/channel`,messageType:"StringValue",message:{value:t},responseMessageType:"StringValue",callback:a})}(this.eventEmit,this.clientId,{roomId:this.roomId,callback:e=>{this.token=e.messageContent.value,this.joinMediaRoom()}})}publishMonitor(){return new Promise(((e,r)=>{!function(e,r,t){var{deviceId:t,callback:a}=t,i=n().replace(/-/g,"");e.emit("send",{topic:`client/${r}/mediaapp/${i}/monitor`,messageType:"StringValue",message:{value:t},responseMessageType:"StringValue",callback:a})}(this.eventEmit,this.clientId,{deviceId:this.monitorDeviceId,callback:r=>{var t=r.topic.split("/")[1];this.setToken(r.messageContent.value),this.setRoomId(t),this.setRoomType(g.Monitor),this.joinMediaRoom(),e(t)}})}))}joinMediaRoom(){this.roomId||console.log("roomId is Null"),function(e,r,t){var{token:t,forceTcp:a,roomId:n,callback:i}=t;e.emit("send",{topic:`client/${r}/media/${n}/join`,messageType:"JoinRequest",message:{token:t,forceTcp:a},responseMessageType:"JoinResponse",callback:i})}(this.eventEmit,this.clientId,{token:this.token,forceTcp:!1,roomId:this.roomId,callback:async({messageContent:e})=>{this.consumerTransportOptions=e.consumerTransportOptions,this.producerTransportOptions=e.producerTransportOptions,this.routerRtpCapabilities=e.routerRtpCapabilities,this.keepalive(),await this.createDevice(),await this.handlerRoomTransport()}})}async handlerRoomTransport(){0===this.roomType?(await this.createConsumerTransport(),await this.createProducerTransport(),await this.startConsuming()):1===this.roomType?(await this.createConsumerTransport(),await this.startConsuming()):2===this.roomType?(await this.createProducerTransport(),await this.startConsuming()):console.log("无roomType")}keepalive(){this.keepaliveInterval&&clearInterval(this.keepaliveInterval),this.keepaliveInterval=setInterval((()=>{!function(e,r,t){t=t.roomId,e.emit("send",{topic:`client/${r}/media/${t}/keepalive`,messageType:"Empty",message:{},responseMessageType:"Empty",callback:()=>{console.log("心跳发送")}})}(this.eventEmit,this.clientId,{roomId:this.roomId})}),1e4)}async startConsuming(){this.rtpCapabilities&&function(e,r,t){var{codecs:t,headerExtensions:a,roomId:n,callback:i}=t;e.emit("send",{topic:`client/${r}/media/${n}/startConsuming`,messageType:"RtpCapabilitiesFinalized",message:{codecs:t,headerExtensions:a},responseMessageType:"Empty",callback:i})}(this.eventEmit,this.clientId,{codecs:this.rtpCapabilities.codecs,headerExtensions:this.rtpCapabilities.headerExtensions,roomId:this.roomId,callback:()=>{}})}async createDevice(){this.device=new i,await this.device.load({routerRtpCapabilities:Ie(this.routerRtpCapabilities)}),console.log("this.device.rtpCapabilities",this.device.rtpCapabilities),this.rtpCapabilities=function(e){var r;return{codecs:(null==(r=e.codecs)?void 0:r.map((e=>{var{mimeType:e,kind:r,preferredPayloadType:t,clockRate:a,channels:n,parameters:i,rtcpFeedback:o}=e;return{mimeType:ue(e),kind:me(r),preferredPayloadType:t,clockRate:a,channels:n,parameters:ve(i),rtcpFeedback:ge(o)}})))||[],headerExtensions:(null==(r=e.headerExtensions)?void 0:r.map((e=>{var{kind:e,uri:r,preferredId:t,preferredEncrypt:a,direction:n}=e;return{kind:me(e),uri:ye(r),preferredId:t,preferredEncrypt:a,direction:be(n)}})))||[]}}(this.device.rtpCapabilities)}async createConsumerTransport(){var e;this.consumerTransportOptions&&(this.consumerTransport=null==(e=this.device)?void 0:e.createRecvTransport(xe(this.consumerTransportOptions)),null!=(e=this.consumerTransport))&&e.on("connect",(async({dtlsParameters:e},r)=>{e=Oe(e),function(e,r,t){const{roomId:a,dtlsParametersProto:n,consumerTransportCallback:i}=t;e.emit("send",{topic:`client/${r}/media/${a}/connectConsumerTransport`,messageType:"DtlsParameters",message:n,responseMessageType:"Empty",callback:()=>{i()}})}(this.eventEmit,this.clientId,{roomId:this.roomId,dtlsParametersProto:e,consumerTransportCallback:r})}))}async createProducerTransport(){var e;this.producerTransportOptions&&(this.producerTransport=null==(e=this.device)?void 0:e.createSendTransport(xe(this.producerTransportOptions)),null!=(e=this.producerTransport)&&e.on("connect",(({dtlsParameters:e},r)=>{e=Oe(e),function(e,r,t){const{roomId:a,dtlsParametersProto:n,producerTransportCallback:i}=t;e.emit("send",{topic:`client/${r}/media/${a}/connectProducerTransport`,messageType:"DtlsParameters",message:n,responseMessageType:"Empty",callback:e=>{console.log("connectProducerTransport success",e),i()}})}(this.eventEmit,this.clientId,{roomId:this.roomId,dtlsParametersProto:e,producerTransportCallback:r})})).on("produce",(({kind:e,rtpParameters:r},t)=>{!function(e,r,t){const{roomId:a,produceCallback:n,callback:i,kind:o,tag:s,rtpParameters:c}=t;e.emit("send",{topic:`client/${r}/media/${a}/produce`,messageType:"ProduceRequest",message:{tag:s,kind:o,rtpParameters:c},responseMessageType:"StringValue",callback:e=>{i&&i({kind:o,producerId:e.messageContent.value}),n({id:e.messageContent.value})}})}(this.eventEmit,this.clientId,{roomId:this.roomId,tag:this.produceTag,kind:me(e),rtpParameters:we(r),callback:({kind:e,producerId:r})=>{switch(e){case u.Audio:this.audioProducerId=r;break;case u.Video:this.videoProducerId=r}console.log("kind: %o, productId: %o",e,r)},produceCallback:t})})),e=await this.getLocalAudioMedia(),e=this.getAudioMediaTrack(e),await this.handlerProduce(e))}async handlerProduce(e){e.forEach((e=>{var r;null!=(r=this.producerTransport)&&r.produce({track:e}).then((e=>{this.producerMap.set(e.id,e)})).catch((e=>{}))}))}async getLocalAudioMedia(){return navigator.mediaDevices.getUserMedia({audio:!0,video:!0})}getAudioMediaTrack(e){return e.getTracks()}producerResume(){""!==this.audioProducerId&&function(e,r,t){var{roomId:t,producerId:a}=t;e.emit("send",{topic:`client/${r}/media/${t}/producerResume`,messageType:"StringValue",message:{value:a},responseMessageType:"Empty",callback:()=>{console.log("consumerResume success")}})}(this.eventEmit,this.clientId,{roomId:this.roomId,producerId:this.audioProducerId})}producerPause(){""!==this.audioProducerId&&function(e,r,t){var{roomId:t,producerId:a}=t;e.emit("send",{topic:`client/${r}/media/${t}/producerPause`,messageType:"StringValue",message:{value:a},responseMessageType:"Empty",callback:()=>{console.log("consumerResume success")}})}(this.eventEmit,this.clientId,{roomId:this.roomId,producerId:this.audioProducerId})}async createNewClient(e){let r=this.getClient(e.clientId);if(r||(r=new Je(e),console.log("创建新客户端 client %o ",r)),this.addClient(r),r.pushConsumerList({producerId:e.producerId,kind:e.kind,producerPaused:e.producerPaused,speaker:e.speaker,rtpParameters:e.rtpParameters}),await r.genConsumer(e,this.consumerTransport),1===this.roomType&&null!=this.monitorDeviceId){const r=this.clientList.get(this.monitorDeviceId);e="hy-rtc-"+this.monitorDeviceId;if(r){const t=new MediaStream;if(r.consumerList.forEach((e=>{e.consumer&&t.addTrack(e.consumer.track)})),this.playElementBox&&t){let r=document.querySelector("#"+e);r?r.srcObject=t:((r=document.createElement("video")).id=e,r.muted=!1,r.onloadedmetadata=()=>{null!=r&&r.play().then((()=>{}))}),null!=(e=document.querySelector(this.playElementBox))&&e.append(r),r.srcObject=t}}}}playMonitorElement(){}cleanMonitorElement(){var e,r;this.playElementBox&&null!=this.monitorDeviceId&&(r="hy-rtc-"+this.monitorDeviceId,r=document.querySelector("#"+r))&&null!=(e=null==r?void 0:r.parentElement)&&e.removeChild(r)}passiveLeaved(){this.destroyRoom()}addClient(e){this.clientList&&null!=e.clientId&&this.clientList.set(e.clientId,e)}removeClient(e){this.clientList&&null!=e&&this.clientList.delete(e)}removeAllClient(){this.clientList=new Map}getClient(e){if(this.clientList&&null!=e)return this.clientList.get(e)}getRoomId(){return this.roomId}leaveRoom(){!function(e,r,t){const{roomId:a,callback:n}=t;t=`client/${r}/media/${a}/leave`,e.emit("send",{topic:t,messageType:"Empty",responseMessageType:"Empty",callback:()=>{console.log("room leave success"),e.emit("roomLeaveSuccess",{roomId:a}),n&&n(a)}})}(this.eventEmit,this.clientId,{roomId:this.roomId,callback:()=>{this.clearKeepAlive(),this.producerClose(),this.removeAllClient(),this.cleanMonitorElement(),this.deleteRoom()}})}deleteRoom(){this.eventEmit.emit("deleteRoom",{roomId:this.roomId})}clearKeepAlive(){clearInterval(this.keepaliveInterval)}producerClose(){0<this.producerMap.size&&this.producerMap.forEach((e=>{e.close(),console.log("producerId: %o is close",e.id)}))}destroyRoom(){console.log("destroyRoom %d",this.roomId),this.clearKeepAlive(),this.producerClose(),this.removeAllClient(),this.cleanMonitorElement(),this.deleteRoom()}}const Ue={encode(e,r=a.Writer.create()){""!==e.token&&r.uint32(10).string(e.token);for(const t of e.produceTags)r.uint32(18).string(t);for(const t of e.consumeTags)r.uint32(26).string(t);return r},decode(e,r){for(var t=e instanceof a.Reader?e:a.Reader.create(e),n=void 0===r?t.len:t.pos+r,i={token:"",produceTags:[],consumeTags:[]};t.pos<n;){var o=t.uint32();switch(o>>>3){case 1:if(10!==o)break;i.token=t.string();continue;case 2:if(18!==o)break;i.produceTags.push(t.string());continue;case 3:if(26===o){i.consumeTags.push(t.string());continue}}if(4==(7&o)||0===o)break;t.skipType(7&o)}return i},fromJSON:e=>({token:Ge(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))):[]}),toJSON(e){var r,t={};return""!==e.token&&(t.token=e.token),null!=(r=e.produceTags)&&r.length&&(t.produceTags=e.produceTags),null!=(r=e.consumeTags)&&r.length&&(t.consumeTags=e.consumeTags),t},create:e=>Ue.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={token:"",produceTags:[],consumeTags:[]};return t.token=null!=(r=e.token)?r:"",t.produceTags=(null==(r=e.produceTags)?void 0:r.map((e=>e)))||[],t.consumeTags=(null==(r=e.consumeTags)?void 0:r.map((e=>e)))||[],t}};function Ge(e){return null!=e}const Le=(e,r,t,a)=>{const{token:n,produceTags:i}=r;e.emit("getRoom",{roomId:t,callback:({room:r})=>{if(!r){const r=new Fe({eventEmit:e});r.setRoomId(t).setClientId(a).setToken(n).setRoomType(g.BeMonitor).setProduceTag(i.toString()).joinMediaRoom(),e.emit("addRoom",r),e.emit("onMonitor",r),console.log("111")}}})},Ze=(e,r,t,a)=>{r=r.properties.correlationData,e.emit("reply",{topic:`client/${a}/mediaapp/${t}/ok`,messageType:"BoolValue",message:{value:!0},correlationData:r})};!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"}(k=k||{}),function(e){e[e.Audio=0]="Audio",e[e.Video=1]="Video",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(y=y||{}),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"}(T=T||{}),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"}(b=b||{}),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"}(I=I||{}),function(e){e[e.Auto=0]="Auto",e[e.Client=1]="Client",e[e.Server=2]="Server",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(R=R||{}),function(e){e[e.Tcp=0]="Tcp",e[e.Udp=1]="Udp",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(P=P||{}),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"}(E=E||{});const He={encode:(e,r=t.Writer.create())=>(""!==e.clientId&&r.uint32(10).string(e.clientId),""!==e.consumerId&&r.uint32(18).string(e.consumerId),r),decode(e,r){for(var a=e instanceof t.Reader?e:t.Reader.create(e),n=void 0===r?a.len:a.pos+r,i={clientId:"",consumerId:""};a.pos<n;){var o=a.uint32();switch(o>>>3){case 1:if(10!==o)break;i.clientId=a.string();continue;case 2:if(18===o){i.consumerId=a.string();continue}}if(4==(7&o)||0===o)break;a.skipType(7&o)}return i},fromJSON:e=>({clientId:Be(e.clientId)?globalThis.String(e.clientId):"",consumerId:Be(e.consumerId)?globalThis.String(e.consumerId):""}),toJSON(e){var r={};return""!==e.clientId&&(r.clientId=e.clientId),""!==e.consumerId&&(r.consumerId=e.consumerId),r},create:e=>He.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={clientId:"",consumerId:""};return t.clientId=null!=(r=e.clientId)?r:"",t.consumerId=null!=(r=e.consumerId)?r:"",t}};function Be(e){return null!=e}const We=(e,r,t)=>{e.emit("getRoom",{roomId:t,callback:({room:e})=>{e.createNewClient(r)}})},qe=(e,r,t)=>{t=t.split("/")[3];var a=null==(a=null==(a=r.properties)?void 0:a.userProperties)?void 0:a.redirect;r=r.properties.correlationData;e.emit("reply",{topic:`client/${t}/media/${a}/ok`,messageType:"BoolValue",message:{value:!0},correlationData:r})},$e=(e,r)=>{e.emit("getRoom",{roomId:r,callback:({room:e})=>{e.passiveLeaved()}})},ze=(e,r,t,a)=>{t=t.split("/")[3],r=r.properties.correlationData,e.emit("reply",{topic:`client/${t}/media/${a}/ok`,messageType:"Empty",correlationData:r})},je=function(e,r,t,a,n){var i,o=((o=n.dup)&&console.log("重复消息"),Ke(t)),s=_e(t),c=Xe(n).index;if(i=("err"===s&&console.log("ErrorDetails",ee.decode(a)),r.get(c))){var{callback:i,responseMessageType:d}=i,d=Qe(d,a);console.log("messageContent",d),r.delete(c),i&&i({messageContent:d,topic:t,message:a,packet:n})}else switch(o){case"media":((e,r)=>{var{curTopicMethod:t,packet:a,message:n,topic:i}=r,o=i.split("/")[1];switch(t){case"consumerCreated":var s=ae.decode(n);We(e,s,o),qe(e,a,i);break;case"consumerResumed":console.log("consumerResumed - messageContent",ne.decode(n));break;case"consumerPaused":console.log("consumerPaused - messageContent",ne.decode(n));break;case"passiveLeaved":console.log("roomId - passiveLeaved",o),$e(e,o);break;case"consumerClosed":console.log("consumerClosed - messageContent",He.decode(n)),ze(e,a,i,o);break;default:console.log("handlerMediaServerOnMessage 未知类型",t)}})(e,{curTopicMethod:s,packet:n,message:a,topic:t});break;case"mediaapp":((e,r)=>{var{curTopicMethod:r,packet:t,message:a,topic:n}=r,i=n.split("/")[1],n=n.split("/")[3];"monitor"===r?(Le(e,Ue.decode(a),i,n),Ze(e,t,i,n)):console.log("handlerMediaAppServerOnMessage 未知类型",r)})(e,{curTopicMethod:s,packet:n,message:a,topic:t});break;default:console.log("handlerOnMessage 未知错误")}},Ke=e=>e.split("/")[0]||(console.log("Topic解析错误:",e),""),_e=e=>e.split("/")[4]||(console.log("method解析错误:",e),""),Qe=(e,r)=>{let t;switch(e){case"StringValue":t=s.decode(r);break;case"JoinResponse":t=re.decode(r)}return t},Xe=({properties:e})=>{var r=new TextDecoder;e=null==e?void 0:e.correlationData;return{index:parseInt(r.decode(e)),correlationData:e}};const Ye={encode:(e,r=a.Writer.create())=>r,decode(e,r){var t=e instanceof a.Reader?e:a.Reader.create(e),n=void 0===r?t.len:t.pos+r;for(e={};t.pos<n;){var i=t.uint32();if(4==(7&i)||0===i)break;t.skipType(7&i)}return e},fromJSON:e=>({}),toJSON:e=>({}),create:e=>Ye.fromPartial(null!=e?e:{}),fromPartial:e=>({})};let er=100,rr=new Map;class tr{constructor({eventEmit:e}){this.eventEmit=new Ve,this.handlerOnMessage=(e,r,t)=>{je(this.eventEmit,rr,e,r,t)},this.eventEmit=e,this.registerMessageEvents()}registerMessageEvents(){this.eventEmit.on("send",(e=>{this.send(e)})),this.eventEmit.on("reply",(e=>{this.reply(e)}))}async connect({authInfo:r},t){this.authInfo=r,this.connectUrl=t;let a={clean:!0,connectTimeout:1e3,reconnectPeriod:0,clientId:this.authInfo.clientId,username:this.authInfo.clientId,password:this.authInfo.password,protocol:this.authInfo.protocol,protocolVersion:5};const n=()=>{if(null!=this.connectUrl)try{this.mqttClient=e.connect(this.connectUrl,a),this.mqttClient.on("message",this.handlerOnMessage)}catch{}};return n(),new Promise(((e,r)=>{let t=1;const a=setInterval((()=>{var i;3<=++t&&(clearInterval(a),r({msg:"连接失败"})),null!=(i=this.mqttClient)&&i.connected?e(this.mqttClient):n()}),2e3)}))}subscribeMediaTopic(){var e=this.getClientId();this.subscribe(`media/+/client/${e}/+`)}subscribeMediaAppTopic(){var e=this.getClientId();this.subscribe(`mediaapp/+/client/${e}/+`)}subscribe(e){var r;null!=(r=this.mqttClient)&&r.subscribe(e)}handlerMessageByte(e,r){switch(e){case"StringValue":return s.encode(r).finish();case"JoinRequest":return oe.encode(r).finish();case"RtpCapabilitiesFinalized":return G.encode(r).finish();case"BoolValue":return o.encode(r).finish();case"Empty":return Ye.encode(r).finish();case"ProduceRequest":return se.encode(r).finish();case"DtlsParameters":return B.encode(r).finish();default:return console.log("未知回复体,请检查handlerMessageByte方法",e),""}}async joinRoom(e){var r=this.getClientId(),t=new Fe({eventEmit:this.eventEmit});return t.setRoomId(e.roomId).setClientId(r).setProduceTag("hy_talk").setRoomType(g.Channel).publishChannel(),t}async joinMonitor(e){var r=this.getClientId(),t=new Fe({eventEmit:this.eventEmit});return t.setMonitorDeviceId(e.deviceId).setClientId(r).setPlayElementBox(e.playElementBox),await t.publishMonitor(),t}send(e){var{topic:e,messageType:r,message:t,callback:a,responseMessageType:n}=e,i=this.getMqttClient(),{correlationData:o,index:s}=this.nextCorrelationData(),o={properties:{correlationData:o}},r=this.handlerMessageByte(r,t),t=(null!=i&&i.publish(e,r,o),{index:s,topic:e,payload:r,opts:o,callback:a,responseMessageType:n});this.correlationDataMapAdd(t)}reply(e){var{topic:e,messageType:r,message:t,correlationData:a}=e,n=this.getMqttClient(),a={properties:{correlationData:a}},r=this.handlerMessageByte(r,t);null!=n&&n.publish(e,r,a)}getClientId(){var e;return null==(e=this.mqttClient)?void 0:e.options.clientId}getMqttClient(){return this.mqttClient}nextCorrelationData(){var e=er++;return{correlationData:(new TextEncoder).encode(e.toString()),index:e}}correlationDataMapAdd(e){rr.set(e.index,e)}}class ar extends Ve{constructor({eventEmit:e}){super(),this.eventEmit=new Ve,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")}))}addRoom(e){var r=e.roomId;return!!r&&(this.roomList.get(r)?(console.log("房间ID已存在: %o",r),!1):void this.roomList.set(r,e))}deleteRoom(e){return!!(e=e.roomId)&&(this.roomList.get(e)?(this.roomList.delete(e),console.log("已删除房间ID: %o",e),!1):void console.log("房间ID不存在: %o",e))}getRoom({roomId:e,callback:r}){r((e=this.roomList.get(e))?{room:e}:{room:null})}getAllRooms(){return this.roomList}}class nr extends Ve{constructor(){super(),this.eventEmit=new Ve,this.registerMessageEvents(),this.eventEmit.emit("hyRtcConstructor",{})}registerMessageEvents(){}init(e){return new Promise(((r,t)=>{this.HyRtcCoreOptions=e;var{authInfo:a,connectUrl:n}=this.HyRtcCoreOptions;this.NewRoomManager(),this.Message=this.NewMessage(),this.Message.connect({authInfo:a},n).then((()=>{var e;null!=(e=this.Message)&&e.subscribeMediaTopic(),null!=(e=this.Message)&&e.subscribeMediaAppTopic(),this.eventEmit.emit("hyRtcInitSuccess",{})})).catch((e=>(t(e),this.eventEmit.emit("hyRtcInitError",e),!1)))}))}NewMessage(){return new tr({eventEmit:this.eventEmit})}NewRoomManager(){this.RoomManager=new ar({eventEmit:this.eventEmit})}async joinChannel(e){return new Promise(((r,t)=>{this.eventEmit.emit("getRoom",{roomId:e.roomId,callback:async r=>{var t;if(!r){const r=await(null==(t=this.Message)?void 0:t.joinRoom(e));return this.eventEmit.emit("addRoom",r),r||new Error("加入房间失败")}}})}))}async joinMonitor(e){return new Promise((async(r,t)=>{var a=this.getAllRooms();const n=[];null!=a&&a.forEach((function(e,r,t){null!=e.monitorDeviceId&&n.push(e.monitorDeviceId)})),-1===n.indexOf(e.deviceId)?(a=await(null==(a=this.Message)?void 0:a.joinMonitor(e)),this.eventEmit.emit("addRoom",a),a?r(a):t(new Error("加入房间失败"))):t(new Error("设备已存在直播房间中"))}))}getAllRooms(){var e;return null==(e=this.RoomManager)?void 0:e.getAllRooms()}}export{nr as HyRtcCore};
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("mqtt"),r=require("long"),t=require("protobufjs/minimal"),a=require("uuid"),n=require("mediasoup-client");var i,o,s,c,d,u,l,p,m,f,v,h,g,k,y,T,b,I,R,P=(I=t,R=Object.create(null),I&&Object.keys(I).forEach((function(e){var r;"default"!==e&&(r=Object.getOwnPropertyDescriptor(I,e),Object.defineProperty(R,e,r.get?r:{enumerable:!0,get:function(){return I[e]}}))})),R.default=I,Object.freeze(R));const E={encode:(e,r=t.Writer.create())=>(!1!==e.value&&r.uint32(8).bool(e.value),r),decode(e,r){for(var a=e instanceof t.Reader?e:t.Reader.create(e),n=void 0===r?a.len:a.pos+r,i={value:!1};a.pos<n;){var o=a.uint32();if(o>>>3!=1||8!==o){if(4==(7&o)||0===o)break;a.skipType(7&o)}else i.value=a.bool()}return i},fromJSON:e=>({value:!!O(e.value)&&globalThis.Boolean(e.value)}),toJSON(e){var r={};return!1!==e.value&&(r.value=e.value),r},create:e=>E.fromPartial(null!=e?e:{}),fromPartial(e){var r={value:!1};return r.value=null!=(e=e.value)&&e,r}};const C={encode:(e,r=t.Writer.create())=>(""!==e.value&&r.uint32(10).string(e.value),r),decode(e,r){for(var a=e instanceof t.Reader?e:t.Reader.create(e),n=void 0===r?a.len:a.pos+r,i={value:""};a.pos<n;){var o=a.uint32();if(o>>>3!=1||10!==o){if(4==(7&o)||0===o)break;a.skipType(7&o)}else i.value=a.string()}return i},fromJSON:e=>({value:O(e.value)?globalThis.String(e.value):""}),toJSON(e){var r={};return""!==e.value&&(r.value=e.value),r},create:e=>C.fromPartial(null!=e?e:{}),fromPartial(e){var r={value:""};return r.value=null!=(e=e.value)?e:"",r}};function O(e){return null!=e}function S(e){switch(e){case 0:case"Opus":return i.Opus;case 1:case"MultiChannelOpus":return i.MultiChannelOpus;case 2:case"Pcmu":return i.Pcmu;case 3:case"Pcma":return i.Pcma;case 4:case"Isac":return i.Isac;case 5:case"G722":return i.G722;case 6:case"Ilbc":return i.Ilbc;case 7:case"Silk":return i.Silk;case 8:case"Cn":return i.Cn;case 9:case"TelephoneEvent":return i.TelephoneEvent;case 10:case"ARtx":return i.ARtx;case 11:case"ARed":return i.ARed;case 100:case"Vp8":return i.Vp8;case 101:case"Vp9":return i.Vp9;case 102:case"H264":return i.H264;case 103:case"H264Svc":return i.H264Svc;case 104:case"H265":return i.H265;case 105:case"VRtx":return i.VRtx;case 106:case"VRed":return i.VRed;case 107:case"Ulpfec":return i.Ulpfec;default:return i.UNRECOGNIZED}}function N(e){switch(e){case i.Opus:return"Opus";case i.MultiChannelOpus:return"MultiChannelOpus";case i.Pcmu:return"Pcmu";case i.Pcma:return"Pcma";case i.Isac:return"Isac";case i.G722:return"G722";case i.Ilbc:return"Ilbc";case i.Silk:return"Silk";case i.Cn:return"Cn";case i.TelephoneEvent:return"TelephoneEvent";case i.ARtx:return"ARtx";case i.ARed:return"ARed";case i.Vp8:return"Vp8";case i.Vp9:return"Vp9";case i.H264:return"H264";case i.H264Svc:return"H264Svc";case i.H265:return"H265";case i.VRtx:return"VRtx";case i.VRed:return"VRed";case i.Ulpfec:return"Ulpfec";default:return i.UNRECOGNIZED,"UNRECOGNIZED"}}function x(e){switch(e){case 0:case"Audio":return o.Audio;case 1:case"Video":return o.Video;default:return o.UNRECOGNIZED}}function M(e){switch(e){case o.Audio:return"Audio";case o.Video:return"Video";default:return o.UNRECOGNIZED,"UNRECOGNIZED"}}function w(e){switch(e){case 0:case"Nack":return s.Nack;case 1:case"NackPli":return s.NackPli;case 2:case"CcmFir":return s.CcmFir;case 3:case"GoogRemb":return s.GoogRemb;case 4:case"TransportCc":return s.TransportCc;default:return s.UNRECOGNIZED}}function A(e){switch(e){case s.Nack:return"Nack";case s.NackPli:return"NackPli";case s.CcmFir:return"CcmFir";case s.GoogRemb:return"GoogRemb";case s.TransportCc:return"TransportCc";default:return s.UNRECOGNIZED,"UNRECOGNIZED"}}function D(e){switch(e){case 0:case"Mid":return c.Mid;case 1:case"RtpStreamId":return c.RtpStreamId;case 2:case"RepairRtpStreamId":return c.RepairRtpStreamId;case 3:case"FrameMarkingDraft07":return c.FrameMarkingDraft07;case 4:case"FrameMarking":return c.FrameMarking;case 5:case"AudioLevel":return c.AudioLevel;case 6:case"VideoOrientation":return c.VideoOrientation;case 7:case"TimeOffset":return c.TimeOffset;case 8:case"TransportWideCcDraft01":return c.TransportWideCcDraft01;case 9:case"AbsSendTime":return c.AbsSendTime;case 10:case"AbsCaptureTime":return c.AbsCaptureTime;default:return c.UNRECOGNIZED}}function V(e){switch(e){case c.Mid:return"Mid";case c.RtpStreamId:return"RtpStreamId";case c.RepairRtpStreamId:return"RepairRtpStreamId";case c.FrameMarkingDraft07:return"FrameMarkingDraft07";case c.FrameMarking:return"FrameMarking";case c.AudioLevel:return"AudioLevel";case c.VideoOrientation:return"VideoOrientation";case c.TimeOffset:return"TimeOffset";case c.TransportWideCcDraft01:return"TransportWideCcDraft01";case c.AbsSendTime:return"AbsSendTime";case c.AbsCaptureTime:return"AbsCaptureTime";default:return c.UNRECOGNIZED,"UNRECOGNIZED"}}function J(e){switch(e){case 0:case"SendRecv":return d.SendRecv;case 1:case"SendOnly":return d.SendOnly;case 2:case"RecvOnly":return d.RecvOnly;case 3:case"Inactive":return d.Inactive;default:return d.UNRECOGNIZED}}function F(e){switch(e){case 0:case"Auto":return u.Auto;case 1:case"Client":return u.Client;case 2:case"Server":return u.Server;default:return u.UNRECOGNIZED}}function U(e){switch(e){case 0:case"Tcp":return l.Tcp;case 1:case"Udp":return l.Udp;default:return l.UNRECOGNIZED}}function G(e){switch(e){case 0:case"Host":return p.Host;case 1:case"Srflx":return p.Srflx;case 2:case"Prflx":return p.Prflx;case 3:case"Relay":return p.Relay;default:return p.UNRECOGNIZED}}var L;t.util.Long!==r&&(t.util.Long=r,t.configure()),(L=i=i||{})[L.Opus=0]="Opus",L[L.MultiChannelOpus=1]="MultiChannelOpus",L[L.Pcmu=2]="Pcmu",L[L.Pcma=3]="Pcma",L[L.Isac=4]="Isac",L[L.G722=5]="G722",L[L.Ilbc=6]="Ilbc",L[L.Silk=7]="Silk",L[L.Cn=8]="Cn",L[L.TelephoneEvent=9]="TelephoneEvent",L[L.ARtx=10]="ARtx",L[L.ARed=11]="ARed",L[L.Vp8=100]="Vp8",L[L.Vp9=101]="Vp9",L[L.H264=102]="H264",L[L.H264Svc=103]="H264Svc",L[L.H265=104]="H265",L[L.VRtx=105]="VRtx",L[L.VRed=106]="VRed",L[L.Ulpfec=107]="Ulpfec",L[L.UNRECOGNIZED=-1]="UNRECOGNIZED",function(e){e[e.Audio=0]="Audio",e[e.Video=1]="Video",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(o=o||{}),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"}(s=s||{}),function(e){e[e.Mid=0]="Mid",e[e.RtpStreamId=1]="RtpStreamId",e[e.RepairRtpStreamId=2]="RepairRtpStreamId",e[e.FrameMarkingDraft07=3]="FrameMarkingDraft07",e[e.FrameMarking=4]="FrameMarking",e[e.AudioLevel=5]="AudioLevel",e[e.VideoOrientation=6]="VideoOrientation",e[e.TimeOffset=7]="TimeOffset",e[e.TransportWideCcDraft01=8]="TransportWideCcDraft01",e[e.AbsSendTime=9]="AbsSendTime",e[e.AbsCaptureTime=10]="AbsCaptureTime",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(c=c||{}),function(e){e[e.SendRecv=0]="SendRecv",e[e.SendOnly=1]="SendOnly",e[e.RecvOnly=2]="RecvOnly",e[e.Inactive=3]="Inactive",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(d=d||{}),function(e){e[e.Auto=0]="Auto",e[e.Client=1]="Client",e[e.Server=2]="Server",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(u=u||{}),function(e){e[e.Tcp=0]="Tcp",e[e.Udp=1]="Udp",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(l=l||{}),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"}(p=p||{});const Z={encode(e,r=t.Writer.create()){for(const t of e.codecs)H.encode(t,r.uint32(10).fork()).ldelim();for(const t of e.headerExtensions)B.encode(t,r.uint32(18).fork()).ldelim();return r},decode(e,r){for(var a=e instanceof t.Reader?e:t.Reader.create(e),n=void 0===r?a.len:a.pos+r,i={codecs:[],headerExtensions:[]};a.pos<n;){var o=a.uint32();switch(o>>>3){case 1:if(10!==o)break;i.codecs.push(H.decode(a,a.uint32()));continue;case 2:if(18===o){i.headerExtensions.push(B.decode(a,a.uint32()));continue}}if(4==(7&o)||0===o)break;a.skipType(7&o)}return i},fromJSON:e=>({codecs:globalThis.Array.isArray(null==e?void 0:e.codecs)?e.codecs.map((e=>H.fromJSON(e))):[],headerExtensions:globalThis.Array.isArray(null==e?void 0:e.headerExtensions)?e.headerExtensions.map((e=>B.fromJSON(e))):[]}),toJSON(e){var r,t={};return null!=(r=e.codecs)&&r.length&&(t.codecs=e.codecs.map((e=>H.toJSON(e)))),null!=(r=e.headerExtensions)&&r.length&&(t.headerExtensions=e.headerExtensions.map((e=>B.toJSON(e)))),t},create:e=>Z.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={codecs:[],headerExtensions:[]};return t.codecs=(null==(r=e.codecs)?void 0:r.map((e=>H.fromPartial(e))))||[],t.headerExtensions=(null==(r=e.headerExtensions)?void 0:r.map((e=>B.fromPartial(e))))||[],t}};const H={encode(e,r=t.Writer.create()){0!==e.mimeType&&r.uint32(8).int32(e.mimeType),0!==e.kind&&r.uint32(16).int32(e.kind),0!==e.preferredPayloadType&&r.uint32(24).uint32(e.preferredPayloadType),0!==e.clockRate&&r.uint32(32).uint32(e.clockRate),void 0!==e.channels&&r.uint32(40).uint32(e.channels);for(const t of e.parameters)W.encode(t,r.uint32(50).fork()).ldelim();r.uint32(58).fork();for(const t of e.rtcpFeedback)r.int32(t);return r.ldelim(),r},decode(e,r){for(var a=e instanceof t.Reader?e:t.Reader.create(e),n=void 0===r?a.len:a.pos+r,i={mimeType:0,kind:0,preferredPayloadType:0,clockRate:0,channels:void 0,parameters:[],rtcpFeedback:[]};a.pos<n;){var o=a.uint32();switch(o>>>3){case 1:if(8!==o)break;i.mimeType=a.int32();continue;case 2:if(16!==o)break;i.kind=a.int32();continue;case 3:if(24!==o)break;i.preferredPayloadType=a.uint32();continue;case 4:if(32!==o)break;i.clockRate=a.uint32();continue;case 5:if(40!==o)break;i.channels=a.uint32();continue;case 6:if(50!==o)break;i.parameters.push(W.decode(a,a.uint32()));continue;case 7:if(56===o){i.rtcpFeedback.push(a.int32());continue}if(58===o){for(var s=a.uint32()+a.pos;a.pos<s;)i.rtcpFeedback.push(a.int32());continue}}if(4==(7&o)||0===o)break;a.skipType(7&o)}return i},fromJSON:e=>({mimeType:re(e.mimeType)?S(e.mimeType):0,kind:re(e.kind)?x(e.kind):0,preferredPayloadType:re(e.preferredPayloadType)?globalThis.Number(e.preferredPayloadType):0,clockRate:re(e.clockRate)?globalThis.Number(e.clockRate):0,channels:re(e.channels)?globalThis.Number(e.channels):void 0,parameters:globalThis.Array.isArray(null==e?void 0:e.parameters)?e.parameters.map((e=>W.fromJSON(e))):[],rtcpFeedback:globalThis.Array.isArray(null==e?void 0:e.rtcpFeedback)?e.rtcpFeedback.map((e=>w(e))):[]}),toJSON(e){var r,t={};return 0!==e.mimeType&&(t.mimeType=N(e.mimeType)),0!==e.kind&&(t.kind=M(e.kind)),0!==e.preferredPayloadType&&(t.preferredPayloadType=Math.round(e.preferredPayloadType)),0!==e.clockRate&&(t.clockRate=Math.round(e.clockRate)),void 0!==e.channels&&(t.channels=Math.round(e.channels)),null!=(r=e.parameters)&&r.length&&(t.parameters=e.parameters.map((e=>W.toJSON(e)))),null!=(r=e.rtcpFeedback)&&r.length&&(t.rtcpFeedback=e.rtcpFeedback.map((e=>A(e)))),t},create:e=>H.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={mimeType:0,kind:0,preferredPayloadType:0,clockRate:0,channels:void 0,parameters:[],rtcpFeedback:[]};return t.mimeType=null!=(r=e.mimeType)?r:0,t.kind=null!=(r=e.kind)?r:0,t.preferredPayloadType=null!=(r=e.preferredPayloadType)?r:0,t.clockRate=null!=(r=e.clockRate)?r:0,t.channels=null!=(r=e.channels)?r:void 0,t.parameters=(null==(r=e.parameters)?void 0:r.map((e=>W.fromPartial(e))))||[],t.rtcpFeedback=(null==(r=e.rtcpFeedback)?void 0:r.map((e=>e)))||[],t}};const B={encode:(e,r=t.Writer.create())=>(0!==e.kind&&r.uint32(8).int32(e.kind),0!==e.uri&&r.uint32(16).int32(e.uri),0!==e.preferredId&&r.uint32(24).uint32(e.preferredId),!1!==e.preferredEncrypt&&r.uint32(32).bool(e.preferredEncrypt),0!==e.direction&&r.uint32(40).int32(e.direction),r),decode(e,r){for(var a=e instanceof t.Reader?e:t.Reader.create(e),n=void 0===r?a.len:a.pos+r,i={kind:0,uri:0,preferredId:0,preferredEncrypt:!1,direction:0};a.pos<n;){var o=a.uint32();switch(o>>>3){case 1:if(8!==o)break;i.kind=a.int32();continue;case 2:if(16!==o)break;i.uri=a.int32();continue;case 3:if(24!==o)break;i.preferredId=a.uint32();continue;case 4:if(32!==o)break;i.preferredEncrypt=a.bool();continue;case 5:if(40===o){i.direction=a.int32();continue}}if(4==(7&o)||0===o)break;a.skipType(7&o)}return i},fromJSON:e=>({kind:re(e.kind)?x(e.kind):0,uri:re(e.uri)?D(e.uri):0,preferredId:re(e.preferredId)?globalThis.Number(e.preferredId):0,preferredEncrypt:!!re(e.preferredEncrypt)&&globalThis.Boolean(e.preferredEncrypt),direction:re(e.direction)?J(e.direction):0}),toJSON(e){var r={};return 0!==e.kind&&(r.kind=M(e.kind)),0!==e.uri&&(r.uri=V(e.uri)),0!==e.preferredId&&(r.preferredId=Math.round(e.preferredId)),!1!==e.preferredEncrypt&&(r.preferredEncrypt=e.preferredEncrypt),0!==e.direction&&(r.direction=function(e){switch(e){case d.SendRecv:return"SendRecv";case d.SendOnly:return"SendOnly";case d.RecvOnly:return"RecvOnly";case d.Inactive:return"Inactive";default:return d.UNRECOGNIZED,"UNRECOGNIZED"}}(e.direction)),r},create:e=>B.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={kind:0,uri:0,preferredId:0,preferredEncrypt:!1,direction:0};return t.kind=null!=(r=e.kind)?r:0,t.uri=null!=(r=e.uri)?r:0,t.preferredId=null!=(r=e.preferredId)?r:0,t.preferredEncrypt=null!=(r=e.preferredEncrypt)&&r,t.direction=null!=(r=e.direction)?r:0,t}};const W={encode:(e,r=t.Writer.create())=>(""!==e.name&&r.uint32(10).string(e.name),void 0!==e.strValue&&r.uint32(18).string(e.strValue),void 0!==e.numValue&&r.uint32(24).uint32(e.numValue),r),decode(e,r){for(var a=e instanceof t.Reader?e:t.Reader.create(e),n=void 0===r?a.len:a.pos+r,i={name:"",strValue:void 0,numValue:void 0};a.pos<n;){var o=a.uint32();switch(o>>>3){case 1:if(10!==o)break;i.name=a.string();continue;case 2:if(18!==o)break;i.strValue=a.string();continue;case 3:if(24===o){i.numValue=a.uint32();continue}}if(4==(7&o)||0===o)break;a.skipType(7&o)}return i},fromJSON:e=>({name:re(e.name)?globalThis.String(e.name):"",strValue:re(e.strValue)?globalThis.String(e.strValue):void 0,numValue:re(e.numValue)?globalThis.Number(e.numValue):void 0}),toJSON(e){var r={};return""!==e.name&&(r.name=e.name),void 0!==e.strValue&&(r.strValue=e.strValue),void 0!==e.numValue&&(r.numValue=Math.round(e.numValue)),r},create:e=>W.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={name:"",strValue:void 0,numValue:void 0};return t.name=null!=(r=e.name)?r:"",t.strValue=null!=(r=e.strValue)?r:void 0,t.numValue=null!=(r=e.numValue)?r:void 0,t}};const q={encode(e,r=t.Writer.create()){0!==e.role&&r.uint32(8).int32(e.role);for(const t of e.fingerprints)$.encode(t,r.uint32(18).fork()).ldelim();return r},decode(e,r){for(var a=e instanceof t.Reader?e:t.Reader.create(e),n=void 0===r?a.len:a.pos+r,i={role:0,fingerprints:[]};a.pos<n;){var o=a.uint32();switch(o>>>3){case 1:if(8!==o)break;i.role=a.int32();continue;case 2:if(18===o){i.fingerprints.push($.decode(a,a.uint32()));continue}}if(4==(7&o)||0===o)break;a.skipType(7&o)}return i},fromJSON:e=>({role:re(e.role)?F(e.role):0,fingerprints:globalThis.Array.isArray(null==e?void 0:e.fingerprints)?e.fingerprints.map((e=>$.fromJSON(e))):[]}),toJSON(e){var r,t={};return 0!==e.role&&(t.role=function(e){switch(e){case u.Auto:return"Auto";case u.Client:return"Client";case u.Server:return"Server";default:return u.UNRECOGNIZED,"UNRECOGNIZED"}}(e.role)),null!=(r=e.fingerprints)&&r.length&&(t.fingerprints=e.fingerprints.map((e=>$.toJSON(e)))),t},create:e=>q.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={role:0,fingerprints:[]};return t.role=null!=(r=e.role)?r:0,t.fingerprints=(null==(r=e.fingerprints)?void 0:r.map((e=>$.fromPartial(e))))||[],t}};const $={encode:(e,r=t.Writer.create())=>(""!==e.algorithm&&r.uint32(10).string(e.algorithm),""!==e.value&&r.uint32(18).string(e.value),r),decode(e,r){for(var a=e instanceof t.Reader?e:t.Reader.create(e),n=void 0===r?a.len:a.pos+r,i={algorithm:"",value:""};a.pos<n;){var o=a.uint32();switch(o>>>3){case 1:if(10!==o)break;i.algorithm=a.string();continue;case 2:if(18===o){i.value=a.string();continue}}if(4==(7&o)||0===o)break;a.skipType(7&o)}return i},fromJSON:e=>({algorithm:re(e.algorithm)?globalThis.String(e.algorithm):"",value:re(e.value)?globalThis.String(e.value):""}),toJSON(e){var r={};return""!==e.algorithm&&(r.algorithm=e.algorithm),""!==e.value&&(r.value=e.value),r},create:e=>$.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={algorithm:"",value:""};return t.algorithm=null!=(r=e.algorithm)?r:"",t.value=null!=(r=e.value)?r:"",t}};const z={encode:(e,r=t.Writer.create())=>(""!==e.foundation&&r.uint32(10).string(e.foundation),0!==e.priority&&r.uint32(16).uint32(e.priority),""!==e.address&&r.uint32(26).string(e.address),0!==e.protocol&&r.uint32(32).int32(e.protocol),0!==e.port&&r.uint32(40).uint32(e.port),0!==e.type&&r.uint32(48).int32(e.type),r),decode(e,r){for(var a=e instanceof t.Reader?e:t.Reader.create(e),n=void 0===r?a.len:a.pos+r,i={foundation:"",priority:0,address:"",protocol:0,port:0,type:0};a.pos<n;){var o=a.uint32();switch(o>>>3){case 1:if(10!==o)break;i.foundation=a.string();continue;case 2:if(16!==o)break;i.priority=a.uint32();continue;case 3:if(26!==o)break;i.address=a.string();continue;case 4:if(32!==o)break;i.protocol=a.int32();continue;case 5:if(40!==o)break;i.port=a.uint32();continue;case 6:if(48===o){i.type=a.int32();continue}}if(4==(7&o)||0===o)break;a.skipType(7&o)}return i},fromJSON:e=>({foundation:re(e.foundation)?globalThis.String(e.foundation):"",priority:re(e.priority)?globalThis.Number(e.priority):0,address:re(e.address)?globalThis.String(e.address):"",protocol:re(e.protocol)?U(e.protocol):0,port:re(e.port)?globalThis.Number(e.port):0,type:re(e.type)?G(e.type):0}),toJSON(e){var r={};return""!==e.foundation&&(r.foundation=e.foundation),0!==e.priority&&(r.priority=Math.round(e.priority)),""!==e.address&&(r.address=e.address),0!==e.protocol&&(r.protocol=function(e){switch(e){case l.Tcp:return"Tcp";case l.Udp:return"Udp";default:return l.UNRECOGNIZED,"UNRECOGNIZED"}}(e.protocol)),0!==e.port&&(r.port=Math.round(e.port)),0!==e.type&&(r.type=function(e){switch(e){case p.Host:return"Host";case p.Srflx:return"Srflx";case p.Prflx:return"Prflx";case p.Relay:return"Relay";default:return p.UNRECOGNIZED,"UNRECOGNIZED"}}(e.type)),r},create:e=>z.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={foundation:"",priority:0,address:"",protocol:0,port:0,type:0};return t.foundation=null!=(r=e.foundation)?r:"",t.priority=null!=(r=e.priority)?r:0,t.address=null!=(r=e.address)?r:"",t.protocol=null!=(r=e.protocol)?r:0,t.port=null!=(r=e.port)?r:0,t.type=null!=(r=e.type)?r:0,t}};const j={encode:(e,r=t.Writer.create())=>(""!==e.usernameFragment&&r.uint32(10).string(e.usernameFragment),""!==e.password&&r.uint32(18).string(e.password),void 0!==e.iceLite&&r.uint32(24).bool(e.iceLite),r),decode(e,r){for(var a=e instanceof t.Reader?e:t.Reader.create(e),n=void 0===r?a.len:a.pos+r,i={usernameFragment:"",password:"",iceLite:void 0};a.pos<n;){var o=a.uint32();switch(o>>>3){case 1:if(10!==o)break;i.usernameFragment=a.string();continue;case 2:if(18!==o)break;i.password=a.string();continue;case 3:if(24===o){i.iceLite=a.bool();continue}}if(4==(7&o)||0===o)break;a.skipType(7&o)}return i},fromJSON:e=>({usernameFragment:re(e.usernameFragment)?globalThis.String(e.usernameFragment):"",password:re(e.password)?globalThis.String(e.password):"",iceLite:re(e.iceLite)?globalThis.Boolean(e.iceLite):void 0}),toJSON(e){var r={};return""!==e.usernameFragment&&(r.usernameFragment=e.usernameFragment),""!==e.password&&(r.password=e.password),void 0!==e.iceLite&&(r.iceLite=e.iceLite),r},create:e=>j.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={usernameFragment:"",password:"",iceLite:void 0};return t.usernameFragment=null!=(r=e.usernameFragment)?r:"",t.password=null!=(r=e.password)?r:"",t.iceLite=null!=(r=e.iceLite)?r:void 0,t}};const K={encode(e,r=t.Writer.create()){void 0!==e.mid&&r.uint32(10).string(e.mid);for(const t of e.codecs)_.encode(t,r.uint32(18).fork()).ldelim();for(const t of e.headerExtensions)Q.encode(t,r.uint32(26).fork()).ldelim();for(const t of e.encodings)X.encode(t,r.uint32(34).fork()).ldelim();return void 0!==e.rtcp&&ee.encode(e.rtcp,r.uint32(42).fork()).ldelim(),r},decode(e,r){for(var a=e instanceof t.Reader?e:t.Reader.create(e),n=void 0===r?a.len:a.pos+r,i={mid:void 0,codecs:[],headerExtensions:[],encodings:[],rtcp:void 0};a.pos<n;){var o=a.uint32();switch(o>>>3){case 1:if(10!==o)break;i.mid=a.string();continue;case 2:if(18!==o)break;i.codecs.push(_.decode(a,a.uint32()));continue;case 3:if(26!==o)break;i.headerExtensions.push(Q.decode(a,a.uint32()));continue;case 4:if(34!==o)break;i.encodings.push(X.decode(a,a.uint32()));continue;case 5:if(42===o){i.rtcp=ee.decode(a,a.uint32());continue}}if(4==(7&o)||0===o)break;a.skipType(7&o)}return i},fromJSON:e=>({mid:re(e.mid)?globalThis.String(e.mid):void 0,codecs:globalThis.Array.isArray(null==e?void 0:e.codecs)?e.codecs.map((e=>_.fromJSON(e))):[],headerExtensions:globalThis.Array.isArray(null==e?void 0:e.headerExtensions)?e.headerExtensions.map((e=>Q.fromJSON(e))):[],encodings:globalThis.Array.isArray(null==e?void 0:e.encodings)?e.encodings.map((e=>X.fromJSON(e))):[],rtcp:re(e.rtcp)?ee.fromJSON(e.rtcp):void 0}),toJSON(e){var r,t={};return void 0!==e.mid&&(t.mid=e.mid),null!=(r=e.codecs)&&r.length&&(t.codecs=e.codecs.map((e=>_.toJSON(e)))),null!=(r=e.headerExtensions)&&r.length&&(t.headerExtensions=e.headerExtensions.map((e=>Q.toJSON(e)))),null!=(r=e.encodings)&&r.length&&(t.encodings=e.encodings.map((e=>X.toJSON(e)))),void 0!==e.rtcp&&(t.rtcp=ee.toJSON(e.rtcp)),t},create:e=>K.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={mid:void 0,codecs:[],headerExtensions:[],encodings:[],rtcp:void 0};return t.mid=null!=(r=e.mid)?r:void 0,t.codecs=(null==(r=e.codecs)?void 0:r.map((e=>_.fromPartial(e))))||[],t.headerExtensions=(null==(r=e.headerExtensions)?void 0:r.map((e=>Q.fromPartial(e))))||[],t.encodings=(null==(r=e.encodings)?void 0:r.map((e=>X.fromPartial(e))))||[],t.rtcp=void 0!==e.rtcp&&null!==e.rtcp?ee.fromPartial(e.rtcp):void 0,t}};const _={encode(e,r=t.Writer.create()){0!==e.mimeType&&r.uint32(8).int32(e.mimeType),0!==e.payloadType&&r.uint32(16).uint32(e.payloadType),0!==e.clockRate&&r.uint32(24).uint32(e.clockRate),void 0!==e.channels&&r.uint32(32).uint32(e.channels);for(const t of e.parameters)W.encode(t,r.uint32(42).fork()).ldelim();r.uint32(50).fork();for(const t of e.rtcpFeedback)r.int32(t);return r.ldelim(),r},decode(e,r){for(var a=e instanceof t.Reader?e:t.Reader.create(e),n=void 0===r?a.len:a.pos+r,i={mimeType:0,payloadType:0,clockRate:0,channels:void 0,parameters:[],rtcpFeedback:[]};a.pos<n;){var o=a.uint32();switch(o>>>3){case 1:if(8!==o)break;i.mimeType=a.int32();continue;case 2:if(16!==o)break;i.payloadType=a.uint32();continue;case 3:if(24!==o)break;i.clockRate=a.uint32();continue;case 4:if(32!==o)break;i.channels=a.uint32();continue;case 5:if(42!==o)break;i.parameters.push(W.decode(a,a.uint32()));continue;case 6:if(48===o){i.rtcpFeedback.push(a.int32());continue}if(50===o){for(var s=a.uint32()+a.pos;a.pos<s;)i.rtcpFeedback.push(a.int32());continue}}if(4==(7&o)||0===o)break;a.skipType(7&o)}return i},fromJSON:e=>({mimeType:re(e.mimeType)?S(e.mimeType):0,payloadType:re(e.payloadType)?globalThis.Number(e.payloadType):0,clockRate:re(e.clockRate)?globalThis.Number(e.clockRate):0,channels:re(e.channels)?globalThis.Number(e.channels):void 0,parameters:globalThis.Array.isArray(null==e?void 0:e.parameters)?e.parameters.map((e=>W.fromJSON(e))):[],rtcpFeedback:globalThis.Array.isArray(null==e?void 0:e.rtcpFeedback)?e.rtcpFeedback.map((e=>w(e))):[]}),toJSON(e){var r,t={};return 0!==e.mimeType&&(t.mimeType=N(e.mimeType)),0!==e.payloadType&&(t.payloadType=Math.round(e.payloadType)),0!==e.clockRate&&(t.clockRate=Math.round(e.clockRate)),void 0!==e.channels&&(t.channels=Math.round(e.channels)),null!=(r=e.parameters)&&r.length&&(t.parameters=e.parameters.map((e=>W.toJSON(e)))),null!=(r=e.rtcpFeedback)&&r.length&&(t.rtcpFeedback=e.rtcpFeedback.map((e=>A(e)))),t},create:e=>_.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={mimeType:0,payloadType:0,clockRate:0,channels:void 0,parameters:[],rtcpFeedback:[]};return t.mimeType=null!=(r=e.mimeType)?r:0,t.payloadType=null!=(r=e.payloadType)?r:0,t.clockRate=null!=(r=e.clockRate)?r:0,t.channels=null!=(r=e.channels)?r:void 0,t.parameters=(null==(r=e.parameters)?void 0:r.map((e=>W.fromPartial(e))))||[],t.rtcpFeedback=(null==(r=e.rtcpFeedback)?void 0:r.map((e=>e)))||[],t}};const Q={encode:(e,r=t.Writer.create())=>(0!==e.uri&&r.uint32(8).int32(e.uri),0!==e.id&&r.uint32(16).uint32(e.id),!1!==e.encrypt&&r.uint32(24).bool(e.encrypt),r),decode(e,r){for(var a=e instanceof t.Reader?e:t.Reader.create(e),n=void 0===r?a.len:a.pos+r,i={uri:0,id:0,encrypt:!1};a.pos<n;){var o=a.uint32();switch(o>>>3){case 1:if(8!==o)break;i.uri=a.int32();continue;case 2:if(16!==o)break;i.id=a.uint32();continue;case 3:if(24===o){i.encrypt=a.bool();continue}}if(4==(7&o)||0===o)break;a.skipType(7&o)}return i},fromJSON:e=>({uri:re(e.uri)?D(e.uri):0,id:re(e.id)?globalThis.Number(e.id):0,encrypt:!!re(e.encrypt)&&globalThis.Boolean(e.encrypt)}),toJSON(e){var r={};return 0!==e.uri&&(r.uri=V(e.uri)),0!==e.id&&(r.id=Math.round(e.id)),!1!==e.encrypt&&(r.encrypt=e.encrypt),r},create:e=>Q.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={uri:0,id:0,encrypt:!1};return t.uri=null!=(r=e.uri)?r:0,t.id=null!=(r=e.id)?r:0,t.encrypt=null!=(r=e.encrypt)&&r,t}};const X={encode:(e,r=t.Writer.create())=>(void 0!==e.ssrc&&r.uint32(8).uint32(e.ssrc),void 0!==e.rid&&r.uint32(18).string(e.rid),void 0!==e.codecPayloadType&&r.uint32(24).uint32(e.codecPayloadType),void 0!==e.rtx&&Y.encode(e.rtx,r.uint32(34).fork()).ldelim(),void 0!==e.dtx&&r.uint32(40).bool(e.dtx),void 0!==e.scalabilityMode&&r.uint32(50).string(e.scalabilityMode),void 0!==e.maxBitrate&&r.uint32(56).uint32(e.maxBitrate),r),decode(e,r){for(var a=e instanceof t.Reader?e:t.Reader.create(e),n=void 0===r?a.len:a.pos+r,i={ssrc:void 0,rid:void 0,codecPayloadType:void 0,rtx:void 0,dtx:void 0,scalabilityMode:void 0,maxBitrate:void 0};a.pos<n;){var o=a.uint32();switch(o>>>3){case 1:if(8!==o)break;i.ssrc=a.uint32();continue;case 2:if(18!==o)break;i.rid=a.string();continue;case 3:if(24!==o)break;i.codecPayloadType=a.uint32();continue;case 4:if(34!==o)break;i.rtx=Y.decode(a,a.uint32());continue;case 5:if(40!==o)break;i.dtx=a.bool();continue;case 6:if(50!==o)break;i.scalabilityMode=a.string();continue;case 7:if(56===o){i.maxBitrate=a.uint32();continue}}if(4==(7&o)||0===o)break;a.skipType(7&o)}return i},fromJSON:e=>({ssrc:re(e.ssrc)?globalThis.Number(e.ssrc):void 0,rid:re(e.rid)?globalThis.String(e.rid):void 0,codecPayloadType:re(e.codecPayloadType)?globalThis.Number(e.codecPayloadType):void 0,rtx:re(e.rtx)?Y.fromJSON(e.rtx):void 0,dtx:re(e.dtx)?globalThis.Boolean(e.dtx):void 0,scalabilityMode:re(e.scalabilityMode)?globalThis.String(e.scalabilityMode):void 0,maxBitrate:re(e.maxBitrate)?globalThis.Number(e.maxBitrate):void 0}),toJSON(e){var r={};return void 0!==e.ssrc&&(r.ssrc=Math.round(e.ssrc)),void 0!==e.rid&&(r.rid=e.rid),void 0!==e.codecPayloadType&&(r.codecPayloadType=Math.round(e.codecPayloadType)),void 0!==e.rtx&&(r.rtx=Y.toJSON(e.rtx)),void 0!==e.dtx&&(r.dtx=e.dtx),void 0!==e.scalabilityMode&&(r.scalabilityMode=e.scalabilityMode),void 0!==e.maxBitrate&&(r.maxBitrate=Math.round(e.maxBitrate)),r},create:e=>X.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={ssrc:void 0,rid:void 0,codecPayloadType:void 0,rtx:void 0,dtx:void 0,scalabilityMode:void 0,maxBitrate:void 0};return t.ssrc=null!=(r=e.ssrc)?r:void 0,t.rid=null!=(r=e.rid)?r:void 0,t.codecPayloadType=null!=(r=e.codecPayloadType)?r:void 0,t.rtx=void 0!==e.rtx&&null!==e.rtx?Y.fromPartial(e.rtx):void 0,t.dtx=null!=(r=e.dtx)?r:void 0,t.scalabilityMode=null!=(r=e.scalabilityMode)?r:void 0,t.maxBitrate=null!=(r=e.maxBitrate)?r:void 0,t}};const Y={encode:(e,r=t.Writer.create())=>(0!==e.ssrc&&r.uint32(8).uint32(e.ssrc),r),decode(e,r){for(var a=e instanceof t.Reader?e:t.Reader.create(e),n=void 0===r?a.len:a.pos+r,i={ssrc:0};a.pos<n;){var o=a.uint32();if(o>>>3!=1||8!==o){if(4==(7&o)||0===o)break;a.skipType(7&o)}else i.ssrc=a.uint32()}return i},fromJSON:e=>({ssrc:re(e.ssrc)?globalThis.Number(e.ssrc):0}),toJSON(e){var r={};return 0!==e.ssrc&&(r.ssrc=Math.round(e.ssrc)),r},create:e=>Y.fromPartial(null!=e?e:{}),fromPartial(e){var r={ssrc:0};return r.ssrc=null!=(e=e.ssrc)?e:0,r}};const ee={encode:(e,r=t.Writer.create())=>(void 0!==e.cname&&r.uint32(10).string(e.cname),!1!==e.reducedSize&&r.uint32(16).bool(e.reducedSize),r),decode(e,r){for(var a=e instanceof t.Reader?e:t.Reader.create(e),n=void 0===r?a.len:a.pos+r,i={cname:void 0,reducedSize:!1};a.pos<n;){var o=a.uint32();switch(o>>>3){case 1:if(10!==o)break;i.cname=a.string();continue;case 2:if(16===o){i.reducedSize=a.bool();continue}}if(4==(7&o)||0===o)break;a.skipType(7&o)}return i},fromJSON:e=>({cname:re(e.cname)?globalThis.String(e.cname):void 0,reducedSize:!!re(e.reducedSize)&&globalThis.Boolean(e.reducedSize)}),toJSON(e){var r={};return void 0!==e.cname&&(r.cname=e.cname),!1!==e.reducedSize&&(r.reducedSize=e.reducedSize),r},create:e=>ee.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={cname:void 0,reducedSize:!1};return t.cname=null!=(r=e.cname)?r:void 0,t.reducedSize=null!=(r=e.reducedSize)&&r,t}};function re(e){return null!=e}const te={encode:(e,r=t.Writer.create())=>(0!==e.code&&r.uint32(8).uint32(e.code),""!==e.message&&r.uint32(18).string(e.message),r),decode(e,r){for(var a=e instanceof t.Reader?e:t.Reader.create(e),n=void 0===r?a.len:a.pos+r,i={code:0,message:""};a.pos<n;){var o=a.uint32();switch(o>>>3){case 1:if(8!==o)break;i.code=a.uint32();continue;case 2:if(18===o){i.message=a.string();continue}}if(4==(7&o)||0===o)break;a.skipType(7&o)}return i},fromJSON:e=>({code:ue(e.code)?globalThis.Number(e.code):0,message:ue(e.message)?globalThis.String(e.message):""}),toJSON(e){var r={};return 0!==e.code&&(r.code=Math.round(e.code)),""!==e.message&&(r.message=e.message),r},create:e=>te.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={code:0,message:""};return t.code=null!=(r=e.code)?r:0,t.message=null!=(r=e.message)?r:"",t}};const ae={encode:(e,r=t.Writer.create())=>(void 0!==e.consumerTransportOptions&&ne.encode(e.consumerTransportOptions,r.uint32(10).fork()).ldelim(),void 0!==e.producerTransportOptions&&ne.encode(e.producerTransportOptions,r.uint32(18).fork()).ldelim(),void 0!==e.routerRtpCapabilities&&Z.encode(e.routerRtpCapabilities,r.uint32(26).fork()).ldelim(),r),decode(e,r){for(var a=e instanceof t.Reader?e:t.Reader.create(e),n=void 0===r?a.len:a.pos+r,i={consumerTransportOptions:void 0,producerTransportOptions:void 0,routerRtpCapabilities:void 0};a.pos<n;){var o=a.uint32();switch(o>>>3){case 1:if(10!==o)break;i.consumerTransportOptions=ne.decode(a,a.uint32());continue;case 2:if(18!==o)break;i.producerTransportOptions=ne.decode(a,a.uint32());continue;case 3:if(26===o){i.routerRtpCapabilities=Z.decode(a,a.uint32());continue}}if(4==(7&o)||0===o)break;a.skipType(7&o)}return i},fromJSON:e=>({consumerTransportOptions:ue(e.consumerTransportOptions)?ne.fromJSON(e.consumerTransportOptions):void 0,producerTransportOptions:ue(e.producerTransportOptions)?ne.fromJSON(e.producerTransportOptions):void 0,routerRtpCapabilities:ue(e.routerRtpCapabilities)?Z.fromJSON(e.routerRtpCapabilities):void 0}),toJSON(e){var r={};return void 0!==e.consumerTransportOptions&&(r.consumerTransportOptions=ne.toJSON(e.consumerTransportOptions)),void 0!==e.producerTransportOptions&&(r.producerTransportOptions=ne.toJSON(e.producerTransportOptions)),void 0!==e.routerRtpCapabilities&&(r.routerRtpCapabilities=Z.toJSON(e.routerRtpCapabilities)),r},create:e=>ae.fromPartial(null!=e?e:{}),fromPartial(e){var r={consumerTransportOptions:void 0,producerTransportOptions:void 0,routerRtpCapabilities:void 0};return r.consumerTransportOptions=void 0!==e.consumerTransportOptions&&null!==e.consumerTransportOptions?ne.fromPartial(e.consumerTransportOptions):void 0,r.producerTransportOptions=void 0!==e.producerTransportOptions&&null!==e.producerTransportOptions?ne.fromPartial(e.producerTransportOptions):void 0,r.routerRtpCapabilities=void 0!==e.routerRtpCapabilities&&null!==e.routerRtpCapabilities?Z.fromPartial(e.routerRtpCapabilities):void 0,r}};const ne={encode(e,r=t.Writer.create()){""!==e.id&&r.uint32(10).string(e.id),void 0!==e.dtlsParameters&&q.encode(e.dtlsParameters,r.uint32(18).fork()).ldelim();for(const t of e.iceCandidates)z.encode(t,r.uint32(26).fork()).ldelim();return void 0!==e.iceParameters&&j.encode(e.iceParameters,r.uint32(34).fork()).ldelim(),r},decode(e,r){for(var a=e instanceof t.Reader?e:t.Reader.create(e),n=void 0===r?a.len:a.pos+r,i={id:"",dtlsParameters:void 0,iceCandidates:[],iceParameters:void 0};a.pos<n;){var o=a.uint32();switch(o>>>3){case 1:if(10!==o)break;i.id=a.string();continue;case 2:if(18!==o)break;i.dtlsParameters=q.decode(a,a.uint32());continue;case 3:if(26!==o)break;i.iceCandidates.push(z.decode(a,a.uint32()));continue;case 4:if(34===o){i.iceParameters=j.decode(a,a.uint32());continue}}if(4==(7&o)||0===o)break;a.skipType(7&o)}return i},fromJSON:e=>({id:ue(e.id)?globalThis.String(e.id):"",dtlsParameters:ue(e.dtlsParameters)?q.fromJSON(e.dtlsParameters):void 0,iceCandidates:globalThis.Array.isArray(null==e?void 0:e.iceCandidates)?e.iceCandidates.map((e=>z.fromJSON(e))):[],iceParameters:ue(e.iceParameters)?j.fromJSON(e.iceParameters):void 0}),toJSON(e){var r,t={};return""!==e.id&&(t.id=e.id),void 0!==e.dtlsParameters&&(t.dtlsParameters=q.toJSON(e.dtlsParameters)),null!=(r=e.iceCandidates)&&r.length&&(t.iceCandidates=e.iceCandidates.map((e=>z.toJSON(e)))),void 0!==e.iceParameters&&(t.iceParameters=j.toJSON(e.iceParameters)),t},create:e=>ne.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={id:"",dtlsParameters:void 0,iceCandidates:[],iceParameters:void 0};return t.id=null!=(r=e.id)?r:"",t.dtlsParameters=void 0!==e.dtlsParameters&&null!==e.dtlsParameters?q.fromPartial(e.dtlsParameters):void 0,t.iceCandidates=(null==(r=e.iceCandidates)?void 0:r.map((e=>z.fromPartial(e))))||[],t.iceParameters=void 0!==e.iceParameters&&null!==e.iceParameters?j.fromPartial(e.iceParameters):void 0,t}};const ie={encode:(e,r=t.Writer.create())=>(""!==e.clientId&&r.uint32(10).string(e.clientId),""!==e.producerId&&r.uint32(18).string(e.producerId),""!==e.consumerId&&r.uint32(26).string(e.consumerId),0!==e.kind&&r.uint32(32).int32(e.kind),void 0!==e.rtpParameters&&K.encode(e.rtpParameters,r.uint32(42).fork()).ldelim(),!1!==e.producerPaused&&r.uint32(48).bool(e.producerPaused),void 0!==e.speaker&&se.encode(e.speaker,r.uint32(58).fork()).ldelim(),r),decode(e,r){for(var a=e instanceof t.Reader?e:t.Reader.create(e),n=void 0===r?a.len:a.pos+r,i={clientId:"",producerId:"",consumerId:"",kind:0,rtpParameters:void 0,producerPaused:!1,speaker:void 0};a.pos<n;){var o=a.uint32();switch(o>>>3){case 1:if(10!==o)break;i.clientId=a.string();continue;case 2:if(18!==o)break;i.producerId=a.string();continue;case 3:if(26!==o)break;i.consumerId=a.string();continue;case 4:if(32!==o)break;i.kind=a.int32();continue;case 5:if(42!==o)break;i.rtpParameters=K.decode(a,a.uint32());continue;case 6:if(48!==o)break;i.producerPaused=a.bool();continue;case 7:if(58===o){i.speaker=se.decode(a,a.uint32());continue}}if(4==(7&o)||0===o)break;a.skipType(7&o)}return i},fromJSON:e=>({clientId:ue(e.clientId)?globalThis.String(e.clientId):"",producerId:ue(e.producerId)?globalThis.String(e.producerId):"",consumerId:ue(e.consumerId)?globalThis.String(e.consumerId):"",kind:ue(e.kind)?x(e.kind):0,rtpParameters:ue(e.rtpParameters)?K.fromJSON(e.rtpParameters):void 0,producerPaused:!!ue(e.producerPaused)&&globalThis.Boolean(e.producerPaused),speaker:ue(e.speaker)?se.fromJSON(e.speaker):void 0}),toJSON(e){var r={};return""!==e.clientId&&(r.clientId=e.clientId),""!==e.producerId&&(r.producerId=e.producerId),""!==e.consumerId&&(r.consumerId=e.consumerId),0!==e.kind&&(r.kind=M(e.kind)),void 0!==e.rtpParameters&&(r.rtpParameters=K.toJSON(e.rtpParameters)),!1!==e.producerPaused&&(r.producerPaused=e.producerPaused),void 0!==e.speaker&&(r.speaker=se.toJSON(e.speaker)),r},create:e=>ie.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={clientId:"",producerId:"",consumerId:"",kind:0,rtpParameters:void 0,producerPaused:!1,speaker:void 0};return t.clientId=null!=(r=e.clientId)?r:"",t.producerId=null!=(r=e.producerId)?r:"",t.consumerId=null!=(r=e.consumerId)?r:"",t.kind=null!=(r=e.kind)?r:0,t.rtpParameters=void 0!==e.rtpParameters&&null!==e.rtpParameters?K.fromPartial(e.rtpParameters):void 0,t.producerPaused=null!=(r=e.producerPaused)&&r,t.speaker=void 0!==e.speaker&&null!==e.speaker?se.fromPartial(e.speaker):void 0,t}};const oe={encode:(e,r=t.Writer.create())=>(""!==e.clientId&&r.uint32(10).string(e.clientId),""!==e.consumerId&&r.uint32(18).string(e.consumerId),void 0!==e.speaker&&se.encode(e.speaker,r.uint32(26).fork()).ldelim(),r),decode(e,r){for(var a=e instanceof t.Reader?e:t.Reader.create(e),n=void 0===r?a.len:a.pos+r,i={clientId:"",consumerId:"",speaker:void 0};a.pos<n;){var o=a.uint32();switch(o>>>3){case 1:if(10!==o)break;i.clientId=a.string();continue;case 2:if(18!==o)break;i.consumerId=a.string();continue;case 3:if(26===o){i.speaker=se.decode(a,a.uint32());continue}}if(4==(7&o)||0===o)break;a.skipType(7&o)}return i},fromJSON:e=>({clientId:ue(e.clientId)?globalThis.String(e.clientId):"",consumerId:ue(e.consumerId)?globalThis.String(e.consumerId):"",speaker:ue(e.speaker)?se.fromJSON(e.speaker):void 0}),toJSON(e){var r={};return""!==e.clientId&&(r.clientId=e.clientId),""!==e.consumerId&&(r.consumerId=e.consumerId),void 0!==e.speaker&&(r.speaker=se.toJSON(e.speaker)),r},create:e=>oe.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={clientId:"",consumerId:"",speaker:void 0};return t.clientId=null!=(r=e.clientId)?r:"",t.consumerId=null!=(r=e.consumerId)?r:"",t.speaker=void 0!==e.speaker&&null!==e.speaker?se.fromPartial(e.speaker):void 0,t}};const se={encode:(e,r=t.Writer.create())=>(0!==e.seq&&r.uint32(8).uint32(e.seq),""!==e.clientId&&r.uint32(18).string(e.clientId),r),decode(e,r){for(var a=e instanceof t.Reader?e:t.Reader.create(e),n=void 0===r?a.len:a.pos+r,i={seq:0,clientId:""};a.pos<n;){var o=a.uint32();switch(o>>>3){case 1:if(8!==o)break;i.seq=a.uint32();continue;case 2:if(18===o){i.clientId=a.string();continue}}if(4==(7&o)||0===o)break;a.skipType(7&o)}return i},fromJSON:e=>({seq:ue(e.seq)?globalThis.Number(e.seq):0,clientId:ue(e.clientId)?globalThis.String(e.clientId):""}),toJSON(e){var r={};return 0!==e.seq&&(r.seq=Math.round(e.seq)),""!==e.clientId&&(r.clientId=e.clientId),r},create:e=>se.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={seq:0,clientId:""};return t.seq=null!=(r=e.seq)?r:0,t.clientId=null!=(r=e.clientId)?r:"",t}};const ce={encode:(e,r=t.Writer.create())=>(""!==e.token&&r.uint32(10).string(e.token),!1!==e.forceTcp&&r.uint32(16).bool(e.forceTcp),r),decode(e,r){for(var a=e instanceof t.Reader?e:t.Reader.create(e),n=void 0===r?a.len:a.pos+r,i={token:"",forceTcp:!1};a.pos<n;){var o=a.uint32();switch(o>>>3){case 1:if(10!==o)break;i.token=a.string();continue;case 2:if(16===o){i.forceTcp=a.bool();continue}}if(4==(7&o)||0===o)break;a.skipType(7&o)}return i},fromJSON:e=>({token:ue(e.token)?globalThis.String(e.token):"",forceTcp:!!ue(e.forceTcp)&&globalThis.Boolean(e.forceTcp)}),toJSON(e){var r={};return""!==e.token&&(r.token=e.token),!1!==e.forceTcp&&(r.forceTcp=e.forceTcp),r},create:e=>ce.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={token:"",forceTcp:!1};return t.token=null!=(r=e.token)?r:"",t.forceTcp=null!=(r=e.forceTcp)&&r,t}};const de={encode:(e,r=t.Writer.create())=>(""!==e.tag&&r.uint32(10).string(e.tag),0!==e.kind&&r.uint32(16).int32(e.kind),void 0!==e.rtpParameters&&K.encode(e.rtpParameters,r.uint32(26).fork()).ldelim(),r),decode(e,r){for(var a=e instanceof t.Reader?e:t.Reader.create(e),n=void 0===r?a.len:a.pos+r,i={tag:"",kind:0,rtpParameters:void 0};a.pos<n;){var o=a.uint32();switch(o>>>3){case 1:if(10!==o)break;i.tag=a.string();continue;case 2:if(16!==o)break;i.kind=a.int32();continue;case 3:if(26===o){i.rtpParameters=K.decode(a,a.uint32());continue}}if(4==(7&o)||0===o)break;a.skipType(7&o)}return i},fromJSON:e=>({tag:ue(e.tag)?globalThis.String(e.tag):"",kind:ue(e.kind)?x(e.kind):0,rtpParameters:ue(e.rtpParameters)?K.fromJSON(e.rtpParameters):void 0}),toJSON(e){var r={};return""!==e.tag&&(r.tag=e.tag),0!==e.kind&&(r.kind=M(e.kind)),void 0!==e.rtpParameters&&(r.rtpParameters=K.toJSON(e.rtpParameters)),r},create:e=>de.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={tag:"",kind:0,rtpParameters:void 0};return t.tag=null!=(r=e.tag)?r:"",t.kind=null!=(r=e.kind)?r:0,t.rtpParameters=void 0!==e.rtpParameters&&null!==e.rtpParameters?K.fromPartial(e.rtpParameters):void 0,t}};function ue(e){return null!=e}function le(e){switch(e){case i.Opus:return"audio/opus";case i.MultiChannelOpus:return"audio/multiopus";case i.Pcmu:return"audio/PCMU";case i.Pcma:return"audio/PCMA";case i.Isac:return"audio/ISAC";case i.G722:return"audio/G722";case i.Ilbc:return"audio/iLBC";case i.Silk:return"audio/SILK";case i.Cn:return"audio/CN";case i.TelephoneEvent:return"audio/telephone-event";case i.ARtx:return"audio/rtx";case i.ARed:return"audio/red";case i.Vp8:return"video/VP8";case i.Vp9:return"video/VP9";case i.H264:return"video/H264";case i.H264Svc:return"video/H264-SVC";case i.H265:return"video/H265";case i.VRtx:return"video/rtx";case i.VRed:return"video/red";case i.Ulpfec:return"video/ulpfec";default:return}}function pe(e){switch(e){case"audio/opus":return i.Opus;case"audio/multiopus":return i.MultiChannelOpus;case"audio/PCMU":return i.Pcmu;case"audio/PCMA":return i.Pcma;case"audio/ISAC":return i.Isac;case"audio/G722":return i.G722;case"audio/iLBC":return i.Ilbc;case"audio/SILK":return i.Silk;case"audio/CN":return i.Cn;case"audio/telephone-event":return i.TelephoneEvent;case"audio/rtx":return i.ARtx;case"audio/red":return i.ARed;case"video/VP8":return i.Vp8;case"video/VP9":return i.Vp9;case"video/H264":return i.H264;case"video/H264-SVC":return i.H264Svc;case"video/H265":return i.H265;case"video/rtx":return i.VRtx;case"video/red":return i.VRed;case"video/ulpfec":return i.Ulpfec;default:return i.UNRECOGNIZED}}function me(e){switch(e){case i.Opus:return"audio/opus";case i.MultiChannelOpus:return"audio/multiopus";case i.Pcmu:return"audio/PCMU";case i.Pcma:return"audio/PCMA";case i.Isac:return"audio/ISAC";case i.G722:return"audio/G722";case i.Ilbc:return"audio/iLBC";case i.Silk:return"audio/SILK";case i.Cn:return"audio/CN";case i.TelephoneEvent:return"audio/telephone-event";case i.ARtx:case i.ARed:return"audio/red";case i.Vp8:return"video/VP8";case i.Vp9:return"video/VP9";case i.H264:return"video/H264";case i.H264Svc:return"video/H264-SVC";case i.H265:return"video/H265";case i.VRtx:return"video/rtx";case i.VRed:return"video/red";case i.Ulpfec:return"video/ulpfec";default:return}}function fe(e){switch(e){case o.Audio:return"audio";case o.Video:return"video";default:return}}function ve(e){switch(e){case"audio":return o.Audio;case"video":return o.Video;default:return o.UNRECOGNIZED}}function he(e){var r={};for(const t of e)r[t.name]=t.strValue||t.numValue;return r}function ge(e){var r,t=[];for(const a in e)e.hasOwnProperty(a)&&(r=e[a],t.push({name:a,strValue:"string"==typeof r?r:void 0,numValue:"number"==typeof r?r:void 0}));return t}function ke(e){return e.map((e=>{switch(e){case s.Nack:return{type:"nack",parameter:""};case s.NackPli:return{type:"nack",parameter:"pli"};case s.CcmFir:return{type:"ccm",parameter:"fir"};case s.GoogRemb:return{type:"goog-remb",parameter:""};case s.TransportCc:return{type:"transport-cc",parameter:""};default:return}})).filter((e=>null!=e))}function ye(e){return e?e.map((e=>{switch(e.type){case"nack":return"pli"===e.parameter?s.NackPli:s.Nack;case"ccm":return s.CcmFir;case"goog-remb":return s.GoogRemb;case"transport-cc":return s.TransportCc;default:return}})).filter((e=>null!=e)):[]}function Te(e){switch(e){case c.Mid:return"urn:ietf:params:rtp-hdrext:sdes:mid";case c.RtpStreamId:return"urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id";case c.RepairRtpStreamId:return"urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id";case c.FrameMarkingDraft07:return"http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07";case c.FrameMarking:return"urn:ietf:params:rtp-hdrext:framemarking";case c.AudioLevel:return"urn:ietf:params:rtp-hdrext:ssrc-audio-level";case c.VideoOrientation:return"urn:3gpp:video-orientation";case c.TimeOffset:return"urn:ietf:params:rtp-hdrext:toffset";case c.TransportWideCcDraft01:return"http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01";case c.AbsSendTime:return"http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time";case c.AbsCaptureTime:return"http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time";default:return}}function be(e){switch(e){case"urn:ietf:params:rtp-hdrext:sdes:mid":return c.Mid;case"urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id":return c.RtpStreamId;case"urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id":return c.RepairRtpStreamId;case"http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07":return c.FrameMarkingDraft07;case"urn:ietf:params:rtp-hdrext:framemarking":return c.FrameMarking;case"urn:ietf:params:rtp-hdrext:ssrc-audio-level":return c.AudioLevel;case"urn:3gpp:video-orientation":return c.VideoOrientation;case"urn:ietf:params:rtp-hdrext:toffset":return c.TimeOffset;case"http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01":return c.TransportWideCcDraft01;case"http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time":return c.AbsSendTime;case"http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time":return c.AbsCaptureTime;default:return c.UNRECOGNIZED}}function Ie(e){switch(e){case d.SendRecv:return"sendrecv";case d.SendOnly:return"sendonly";case d.RecvOnly:return"recvonly";case d.Inactive:return"inactive";default:return}}function Re(e){switch(e){case"sendrecv":return d.SendRecv;case"sendonly":return d.SendOnly;case"recvonly":return d.RecvOnly;case"inactive":return d.Inactive;default:return d.UNRECOGNIZED}}function Pe(e){return void 0===e?{codecs:[],headerExtensions:[]}:{codecs:e.codecs.map((e=>{var{mimeType:e,kind:r,preferredPayloadType:t,clockRate:a,channels:n,parameters:i,rtcpFeedback:o}=e;return{mimeType:le(e),kind:fe(r),preferredPayloadType:t,clockRate:a,channels:n,parameters:he(i),rtcpFeedback:ke(o)}})),headerExtensions:e.headerExtensions.map((e=>{var{kind:e,uri:r,preferredId:t,preferredEncrypt:a,direction:n}=e;return{kind:fe(e),uri:Te(r),preferredId:t,preferredEncrypt:a,direction:Ie(n)}}))}}function Ee(e){var{usernameFragment:e,password:r,iceLite:t}=e;return{usernameFragment:e,password:r,iceLite:t}}function Ce(e){return e.map((e=>{var{foundation:e,priority:r,address:t,protocol:a,port:n,type:i}=e,a=function(e){return e===l.Udp?"udp":"tcp"}(a);return{foundation:e,priority:r,address:t,protocol:a,port:n,type:Oe(i),tcpType:"tcp"===a?"passive":void 0}}))}function Oe(e){return e===p.Host?"host":e===p.Srflx?"srflx":e===p.Prflx?"prflx":"relay"}function Se(e){var{role:e,fingerprints:r}=e;return{role:xe(e),fingerprints:r.map((e=>function(e){var{algorithm:e,value:r}=e;return{algorithm:e,value:r}}(e)))}}function Ne(e){var{role:e,fingerprints:r}=e;return{role:Me(e),fingerprints:r.map((e=>function(e){var{algorithm:e,value:r}=e;return{algorithm:e,value:r}}(e)))}}function xe(e){return e===u.Client?"client":e===u.Server?"server":"auto"}function Me(e){return"client"===e?u.Client:"server"===e?u.Server:u.Auto}function we(e){var{id:e,iceParameters:r,iceCandidates:t,dtlsParameters:a}=e;return{id:e,iceParameters:Ee(r),iceCandidates:Ce(t),dtlsParameters:Se(a)}}function Ae(e){var{mid:e,codecs:r,headerExtensions:t,encodings:a,rtcp:n}=e;return{mid:e,codecs:r.map((e=>function(e){var{mimeType:e,payloadType:r,clockRate:t,channels:a,parameters:n,rtcpFeedback:i}=e;return{mimeType:me(e),payloadType:r,clockRate:t,channels:a,parameters:he(n),rtcpFeedback:ke(i)}}(e))),headerExtensions:t.map((e=>function(e){var{uri:e,id:r,encrypt:t}=e;return{uri:Te(e),id:r,encrypt:t}}(e))),encodings:a.map((e=>function(e){var{ssrc:e,rid:r,codecPayloadType:t,rtx:a,dtx:n,scalabilityMode:i,maxBitrate:o}=e;return{ssrc:e,rid:r,codecPayloadType:t,rtx:a,dtx:n,scalabilityMode:i,maxBitrate:o}}(e))),rtcp:Ve(n)}}function De(e){var{mid:e,codecs:r,headerExtensions:t,encodings:a,rtcp:n}=e;return{mid:e,codecs:r.map((e=>function(e){var{mimeType:e,payloadType:r,clockRate:t,channels:a,parameters:n,rtcpFeedback:i}=e;return{mimeType:pe(e),payloadType:r,clockRate:t,channels:a,parameters:ge(n),rtcpFeedback:ye(i)}}(e))),headerExtensions:t.map((e=>function(e){var{uri:e,id:r,encrypt:t}=e;return{uri:be(e),id:r,encrypt:!0===t}}(e))),encodings:a.map((e=>function(e){var{ssrc:e,rid:r,codecPayloadType:t,rtx:a,dtx:n,scalabilityMode:i,maxBitrate:o}=e;return{ssrc:e,rid:r,codecPayloadType:t,rtx:a,dtx:n,scalabilityMode:i,maxBitrate:o}}(e))),rtcp:Je(n)}}function Ve(e){var r;if(e)return({cname:e,reducedSize:r}=e),{cname:e,reducedSize:r}}function Je(e){var r;if(e)return({cname:e,reducedSize:r}=e),{cname:e,reducedSize:!0===r}}class Fe{constructor(){this.map=new Map}on(e,r){let t=this.map.get(e);t||this.map.set(e,t=new Set),t.add(r)}emit(e,r){(e=this.map.get(e))&&e.forEach((e=>e(r)))}off(e,r){var t;e?r?(t=this.map.get(e))&&t.delete(r):this.map.delete(e):this.map.clear()}once(e,r){const t=a=>{r(a),this.off(e,t)};this.on(e,t)}}class Ue{constructor(e){this.consumerList=new Map,e=e.clientId,this.clientId=e}pushConsumerList(e){return!this.consumerList||this.consumerList.get(e.producerId)?(console.log("pushConsumerList - 异常情况"),!1):void this.consumerList.set(e.producerId,e)}async genConsumer(e,r){if(!e)return{consumer:void 0,producerId:""};var{consumerId:e,producerId:t,kind:a,rtpParameters:n}=e,a=(e={id:e,producerId:t,kind:fe(a),rtpParameters:Ae(n)},await(null==r?void 0:r.consume(e)));this.updateConsumerForConsumer(t,a)}updateConsumerForConsumer(e,r){var t=null==(t=this.consumerList)?void 0:t.get(e);t&&(t.consumer=r,null!=(r=this.consumerList))&&r.set(e,t)}updateConsumerForStream(e,r){var t=null==(t=this.consumerList)?void 0:t.get(e);t&&(t.mediaStream=r,null!=(r=this.consumerList))&&r.set(e,t)}updateConsumerForElement(e,r){var t=null==(t=this.consumerList)?void 0:t.get(e);t&&(t.mediaElement=r,null!=(r=this.consumerList))&&r.set(e,t)}mediaStreamAddTrack(e,r){var t=new MediaStream;t.addTrack(e.track),t&&r&&(r.srcObject=t),this.updateConsumerForStream(e.producerId,t)}genAudioElement(e){var r;const t=document.createElement("audio");return t.muted=!1,t.controls=!0,t.onloadedmetadata=()=>{null!=t&&t.play().then((e=>{}))},null!=(r=document.getElementById("preview-box"))&&r.append(t),this.updateConsumerForElement(e,t),t}genVideoElement(e){var r;const t=document.createElement("video");return t.muted=!1,t.controls=!0,t.onloadedmetadata=()=>{null!=t&&t.play().then((e=>{}))},null!=(r=document.getElementById("preview-box"))&&r.append(t),this.updateConsumerForElement(e,t),t}}!function(e){e[e.Channel=0]="Channel",e[e.Monitor=1]="Monitor",e[e.BeMonitor=2]="BeMonitor"}(m=m||{});class Ge{constructor({eventEmit:e}){this.eventEmit=new Fe,this.audioProducerId="",this.videoProducerId="",this.clientList=new Map,this.produceTag="",this.producerMap=new Map,this.eventEmit=e}async initRoom(){return this}registerMessageEvents(){}setRoomId(e){return this.roomId=e,this}setClientId(e){return this.clientId=e,this}setPlayElementBox(e){return this.playElementBox=e,this}setToken(e){return this.token=e,this}setProduceTag(e){return this.produceTag=e,this}setRoomType(e){return this.roomType=e,this}setMonitorDeviceId(e){return this.monitorDeviceId=e,this}publishChannel(){!function(e,r,t){var{roomId:t,callback:a}=t;e.emit("send",{topic:`client/${r}/mediaapp/${t}/channel`,messageType:"StringValue",message:{value:t},responseMessageType:"StringValue",callback:a})}(this.eventEmit,this.clientId,{roomId:this.roomId,callback:e=>{this.token=e.messageContent.value,this.joinMediaRoom()}})}publishMonitor(){return new Promise(((e,r)=>{!function(e,r,t){var{deviceId:t,callback:n}=t,i=a.v4().replace(/-/g,"");e.emit("send",{topic:`client/${r}/mediaapp/${i}/monitor`,messageType:"StringValue",message:{value:t},responseMessageType:"StringValue",callback:n})}(this.eventEmit,this.clientId,{deviceId:this.monitorDeviceId,callback:r=>{var t=r.topic.split("/")[1];this.setToken(r.messageContent.value),this.setRoomId(t),this.setRoomType(m.Monitor),this.joinMediaRoom(),e(t)}})}))}joinMediaRoom(){this.roomId||console.log("roomId is Null"),function(e,r,t){var{token:t,forceTcp:a,roomId:n,callback:i}=t;e.emit("send",{topic:`client/${r}/media/${n}/join`,messageType:"JoinRequest",message:{token:t,forceTcp:a},responseMessageType:"JoinResponse",callback:i})}(this.eventEmit,this.clientId,{token:this.token,forceTcp:!1,roomId:this.roomId,callback:async({messageContent:e})=>{this.consumerTransportOptions=e.consumerTransportOptions,this.producerTransportOptions=e.producerTransportOptions,this.routerRtpCapabilities=e.routerRtpCapabilities,this.keepalive(),await this.createDevice(),await this.handlerRoomTransport()}})}async handlerRoomTransport(){0===this.roomType?(await this.createConsumerTransport(),await this.createProducerTransport(),await this.startConsuming()):1===this.roomType?(await this.createConsumerTransport(),await this.startConsuming()):2===this.roomType?(await this.createProducerTransport(),await this.startConsuming()):console.log("无roomType")}keepalive(){this.keepaliveInterval&&clearInterval(this.keepaliveInterval),this.keepaliveInterval=setInterval((()=>{!function(e,r,t){t=t.roomId,e.emit("send",{topic:`client/${r}/media/${t}/keepalive`,messageType:"Empty",message:{},responseMessageType:"Empty",callback:()=>{console.log("心跳发送")}})}(this.eventEmit,this.clientId,{roomId:this.roomId})}),1e4)}async startConsuming(){this.rtpCapabilities&&function(e,r,t){var{codecs:t,headerExtensions:a,roomId:n,callback:i}=t;e.emit("send",{topic:`client/${r}/media/${n}/startConsuming`,messageType:"RtpCapabilitiesFinalized",message:{codecs:t,headerExtensions:a},responseMessageType:"Empty",callback:i})}(this.eventEmit,this.clientId,{codecs:this.rtpCapabilities.codecs,headerExtensions:this.rtpCapabilities.headerExtensions,roomId:this.roomId,callback:()=>{}})}async createDevice(){this.device=new n.Device,await this.device.load({routerRtpCapabilities:Pe(this.routerRtpCapabilities)}),console.log("this.device.rtpCapabilities",this.device.rtpCapabilities),this.rtpCapabilities=function(e){var r;return{codecs:(null==(r=e.codecs)?void 0:r.map((e=>{var{mimeType:e,kind:r,preferredPayloadType:t,clockRate:a,channels:n,parameters:i,rtcpFeedback:o}=e;return{mimeType:pe(e),kind:ve(r),preferredPayloadType:t,clockRate:a,channels:n,parameters:ge(i),rtcpFeedback:ye(o)}})))||[],headerExtensions:(null==(r=e.headerExtensions)?void 0:r.map((e=>{var{kind:e,uri:r,preferredId:t,preferredEncrypt:a,direction:n}=e;return{kind:ve(e),uri:be(r),preferredId:t,preferredEncrypt:a,direction:Re(n)}})))||[]}}(this.device.rtpCapabilities)}async createConsumerTransport(){var e;this.consumerTransportOptions&&(this.consumerTransport=null==(e=this.device)?void 0:e.createRecvTransport(we(this.consumerTransportOptions)),null!=(e=this.consumerTransport))&&e.on("connect",(async({dtlsParameters:e},r)=>{e=Ne(e),function(e,r,t){const{roomId:a,dtlsParametersProto:n,consumerTransportCallback:i}=t;e.emit("send",{topic:`client/${r}/media/${a}/connectConsumerTransport`,messageType:"DtlsParameters",message:n,responseMessageType:"Empty",callback:()=>{i()}})}(this.eventEmit,this.clientId,{roomId:this.roomId,dtlsParametersProto:e,consumerTransportCallback:r})}))}async createProducerTransport(){var e;this.producerTransportOptions&&(this.producerTransport=null==(e=this.device)?void 0:e.createSendTransport(we(this.producerTransportOptions)),null!=(e=this.producerTransport)&&e.on("connect",(({dtlsParameters:e},r)=>{e=Ne(e),function(e,r,t){const{roomId:a,dtlsParametersProto:n,producerTransportCallback:i}=t;e.emit("send",{topic:`client/${r}/media/${a}/connectProducerTransport`,messageType:"DtlsParameters",message:n,responseMessageType:"Empty",callback:e=>{console.log("connectProducerTransport success",e),i()}})}(this.eventEmit,this.clientId,{roomId:this.roomId,dtlsParametersProto:e,producerTransportCallback:r})})).on("produce",(({kind:e,rtpParameters:r},t)=>{!function(e,r,t){const{roomId:a,produceCallback:n,callback:i,kind:o,tag:s,rtpParameters:c}=t;e.emit("send",{topic:`client/${r}/media/${a}/produce`,messageType:"ProduceRequest",message:{tag:s,kind:o,rtpParameters:c},responseMessageType:"StringValue",callback:e=>{i&&i({kind:o,producerId:e.messageContent.value}),n({id:e.messageContent.value})}})}(this.eventEmit,this.clientId,{roomId:this.roomId,tag:this.produceTag,kind:ve(e),rtpParameters:De(r),callback:({kind:e,producerId:r})=>{switch(e){case o.Audio:this.audioProducerId=r;break;case o.Video:this.videoProducerId=r}console.log("kind: %o, productId: %o",e,r)},produceCallback:t})})),e=await this.getLocalAudioMedia(),e=this.getAudioMediaTrack(e),await this.handlerProduce(e))}async handlerProduce(e){e.forEach((e=>{var r;null!=(r=this.producerTransport)&&r.produce({track:e}).then((e=>{this.producerMap.set(e.id,e)})).catch((e=>{}))}))}async getLocalAudioMedia(){return navigator.mediaDevices.getUserMedia({audio:!0,video:!0})}getAudioMediaTrack(e){return e.getTracks()}producerResume(){""!==this.audioProducerId&&function(e,r,t){var{roomId:t,producerId:a}=t;e.emit("send",{topic:`client/${r}/media/${t}/producerResume`,messageType:"StringValue",message:{value:a},responseMessageType:"Empty",callback:()=>{console.log("consumerResume success")}})}(this.eventEmit,this.clientId,{roomId:this.roomId,producerId:this.audioProducerId})}producerPause(){""!==this.audioProducerId&&function(e,r,t){var{roomId:t,producerId:a}=t;e.emit("send",{topic:`client/${r}/media/${t}/producerPause`,messageType:"StringValue",message:{value:a},responseMessageType:"Empty",callback:()=>{console.log("consumerResume success")}})}(this.eventEmit,this.clientId,{roomId:this.roomId,producerId:this.audioProducerId})}async createNewClient(e){let r=this.getClient(e.clientId);if(r||(r=new Ue(e),console.log("创建新客户端 client %o ",r)),this.addClient(r),r.pushConsumerList({producerId:e.producerId,kind:e.kind,producerPaused:e.producerPaused,speaker:e.speaker,rtpParameters:e.rtpParameters}),await r.genConsumer(e,this.consumerTransport),1===this.roomType&&null!=this.monitorDeviceId){const r=this.clientList.get(this.monitorDeviceId);e="hy-rtc-"+this.monitorDeviceId;if(r){const t=new MediaStream;if(r.consumerList.forEach((e=>{e.consumer&&t.addTrack(e.consumer.track)})),this.playElementBox&&t){let r=document.querySelector("#"+e);r?r.srcObject=t:((r=document.createElement("video")).id=e,r.muted=!1,r.onloadedmetadata=()=>{null!=r&&r.play().then((()=>{}))}),null!=(e=document.querySelector(this.playElementBox))&&e.append(r),r.srcObject=t}}}}playMonitorElement(){}cleanMonitorElement(){var e,r;this.playElementBox&&null!=this.monitorDeviceId&&(r="hy-rtc-"+this.monitorDeviceId,r=document.querySelector("#"+r))&&null!=(e=null==r?void 0:r.parentElement)&&e.removeChild(r)}passiveLeaved(){this.destroyRoom()}addClient(e){this.clientList&&null!=e.clientId&&this.clientList.set(e.clientId,e)}removeClient(e){this.clientList&&null!=e&&this.clientList.delete(e)}removeAllClient(){this.clientList=new Map}getClient(e){if(this.clientList&&null!=e)return this.clientList.get(e)}getRoomId(){return this.roomId}leaveRoom(){!function(e,r,t){const{roomId:a,callback:n}=t;t=`client/${r}/media/${a}/leave`,e.emit("send",{topic:t,messageType:"Empty",responseMessageType:"Empty",callback:()=>{console.log("room leave success"),e.emit("roomLeaveSuccess",{roomId:a}),n&&n(a)}})}(this.eventEmit,this.clientId,{roomId:this.roomId,callback:()=>{this.clearKeepAlive(),this.producerClose(),this.removeAllClient(),this.cleanMonitorElement(),this.deleteRoom()}})}deleteRoom(){this.eventEmit.emit("deleteRoom",{roomId:this.roomId})}clearKeepAlive(){clearInterval(this.keepaliveInterval)}producerClose(){0<this.producerMap.size&&this.producerMap.forEach((e=>{e.close(),console.log("producerId: %o is close",e.id)}))}destroyRoom(){console.log("destroyRoom %d",this.roomId),this.clearKeepAlive(),this.producerClose(),this.removeAllClient(),this.cleanMonitorElement(),this.deleteRoom()}}const Le={encode(e,r=t.Writer.create()){""!==e.token&&r.uint32(10).string(e.token);for(const t of e.produceTags)r.uint32(18).string(t);for(const t of e.consumeTags)r.uint32(26).string(t);return r},decode(e,r){for(var a=e instanceof t.Reader?e:t.Reader.create(e),n=void 0===r?a.len:a.pos+r,i={token:"",produceTags:[],consumeTags:[]};a.pos<n;){var o=a.uint32();switch(o>>>3){case 1:if(10!==o)break;i.token=a.string();continue;case 2:if(18!==o)break;i.produceTags.push(a.string());continue;case 3:if(26===o){i.consumeTags.push(a.string());continue}}if(4==(7&o)||0===o)break;a.skipType(7&o)}return i},fromJSON:e=>({token:Ze(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))):[]}),toJSON(e){var r,t={};return""!==e.token&&(t.token=e.token),null!=(r=e.produceTags)&&r.length&&(t.produceTags=e.produceTags),null!=(r=e.consumeTags)&&r.length&&(t.consumeTags=e.consumeTags),t},create:e=>Le.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={token:"",produceTags:[],consumeTags:[]};return t.token=null!=(r=e.token)?r:"",t.produceTags=(null==(r=e.produceTags)?void 0:r.map((e=>e)))||[],t.consumeTags=(null==(r=e.consumeTags)?void 0:r.map((e=>e)))||[],t}};function Ze(e){return null!=e}const He=(e,r,t,a)=>{const{token:n,produceTags:i}=r;e.emit("getRoom",{roomId:t,callback:({room:r})=>{if(!r){const r=new Ge({eventEmit:e});r.setRoomId(t).setClientId(a).setToken(n).setRoomType(m.BeMonitor).setProduceTag(i.toString()).joinMediaRoom(),e.emit("addRoom",r),e.emit("onMonitor",r),console.log("111")}}})},Be=(e,r,t,a)=>{r=r.properties.correlationData,e.emit("reply",{topic:`client/${a}/mediaapp/${t}/ok`,messageType:"BoolValue",message:{value:!0},correlationData:r})};!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"}(f=f||{}),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"}(h=h||{}),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"}(g=g||{}),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"}(k=k||{}),function(e){e[e.Auto=0]="Auto",e[e.Client=1]="Client",e[e.Server=2]="Server",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(y=y||{}),function(e){e[e.Tcp=0]="Tcp",e[e.Udp=1]="Udp",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(T=T||{}),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 We={encode:(e,r=P.Writer.create())=>(""!==e.clientId&&r.uint32(10).string(e.clientId),""!==e.consumerId&&r.uint32(18).string(e.consumerId),r),decode(e,r){for(var t=e instanceof P.Reader?e:P.Reader.create(e),a=void 0===r?t.len:t.pos+r,n={clientId:"",consumerId:""};t.pos<a;){var i=t.uint32();switch(i>>>3){case 1:if(10!==i)break;n.clientId=t.string();continue;case 2:if(18===i){n.consumerId=t.string();continue}}if(4==(7&i)||0===i)break;t.skipType(7&i)}return n},fromJSON:e=>({clientId:qe(e.clientId)?globalThis.String(e.clientId):"",consumerId:qe(e.consumerId)?globalThis.String(e.consumerId):""}),toJSON(e){var r={};return""!==e.clientId&&(r.clientId=e.clientId),""!==e.consumerId&&(r.consumerId=e.consumerId),r},create:e=>We.fromPartial(null!=e?e:{}),fromPartial(e){var r,t={clientId:"",consumerId:""};return t.clientId=null!=(r=e.clientId)?r:"",t.consumerId=null!=(r=e.consumerId)?r:"",t}};function qe(e){return null!=e}const $e=(e,r,t)=>{e.emit("getRoom",{roomId:t,callback:({room:e})=>{e.createNewClient(r)}})},ze=(e,r,t)=>{t=t.split("/")[3];var a=null==(a=null==(a=r.properties)?void 0:a.userProperties)?void 0:a.redirect;r=r.properties.correlationData;e.emit("reply",{topic:`client/${t}/media/${a}/ok`,messageType:"BoolValue",message:{value:!0},correlationData:r})},je=(e,r)=>{e.emit("getRoom",{roomId:r,callback:({room:e})=>{e.passiveLeaved()}})},Ke=(e,r,t,a)=>{t=t.split("/")[3],r=r.properties.correlationData,e.emit("reply",{topic:`client/${t}/media/${a}/ok`,messageType:"Empty",correlationData:r})},_e=function(e,r,t,a,n){var i,o=((o=n.dup)&&console.log("重复消息"),Qe(t)),s=Xe(t),c=er(n).index;if(i=("err"===s&&console.log("ErrorDetails",te.decode(a)),r.get(c))){var{callback:i,responseMessageType:d}=i,d=Ye(d,a);console.log("messageContent",d),r.delete(c),i&&i({messageContent:d,topic:t,message:a,packet:n})}else switch(o){case"media":((e,r)=>{var{curTopicMethod:t,packet:a,message:n,topic:i}=r,o=i.split("/")[1];switch(t){case"consumerCreated":var s=ie.decode(n);$e(e,s,o),ze(e,a,i);break;case"consumerResumed":console.log("consumerResumed - messageContent",oe.decode(n));break;case"consumerPaused":console.log("consumerPaused - messageContent",oe.decode(n));break;case"passiveLeaved":console.log("roomId - passiveLeaved",o),je(e,o);break;case"consumerClosed":console.log("consumerClosed - messageContent",We.decode(n)),Ke(e,a,i,o);break;default:console.log("handlerMediaServerOnMessage 未知类型",t)}})(e,{curTopicMethod:s,packet:n,message:a,topic:t});break;case"mediaapp":((e,r)=>{var{curTopicMethod:r,packet:t,message:a,topic:n}=r,i=n.split("/")[1],n=n.split("/")[3];"monitor"===r?(He(e,Le.decode(a),i,n),Be(e,t,i,n)):console.log("handlerMediaAppServerOnMessage 未知类型",r)})(e,{curTopicMethod:s,packet:n,message:a,topic:t});break;default:console.log("handlerOnMessage 未知错误")}},Qe=e=>e.split("/")[0]||(console.log("Topic解析错误:",e),""),Xe=e=>e.split("/")[4]||(console.log("method解析错误:",e),""),Ye=(e,r)=>{let t;switch(e){case"StringValue":t=C.decode(r);break;case"JoinResponse":t=ae.decode(r)}return t},er=({properties:e})=>{var r=new TextDecoder;e=null==e?void 0:e.correlationData;return{index:parseInt(r.decode(e)),correlationData:e}};const rr={encode:(e,r=t.Writer.create())=>r,decode(e,r){var a=e instanceof t.Reader?e:t.Reader.create(e),n=void 0===r?a.len:a.pos+r;for(e={};a.pos<n;){var i=a.uint32();if(4==(7&i)||0===i)break;a.skipType(7&i)}return e},fromJSON:e=>({}),toJSON:e=>({}),create:e=>rr.fromPartial(null!=e?e:{}),fromPartial:e=>({})};let tr=100,ar=new Map;class nr{constructor({eventEmit:e}){this.eventEmit=new Fe,this.handlerOnMessage=(e,r,t)=>{_e(this.eventEmit,ar,e,r,t)},this.eventEmit=e,this.registerMessageEvents()}registerMessageEvents(){this.eventEmit.on("send",(e=>{this.send(e)})),this.eventEmit.on("reply",(e=>{this.reply(e)}))}async connect({authInfo:r},t){this.authInfo=r,this.connectUrl=t;let a={clean:!0,connectTimeout:1e3,reconnectPeriod:0,clientId:this.authInfo.clientId,username:this.authInfo.clientId,password:this.authInfo.password,protocol:this.authInfo.protocol,protocolVersion:5};const n=()=>{if(null!=this.connectUrl)try{this.mqttClient=e.connect(this.connectUrl,a),this.mqttClient.on("message",this.handlerOnMessage)}catch{}};return n(),new Promise(((e,r)=>{let t=1;const a=setInterval((()=>{var i;3<=++t&&(clearInterval(a),r({msg:"连接失败"})),null!=(i=this.mqttClient)&&i.connected?e(this.mqttClient):n()}),2e3)}))}subscribeMediaTopic(){var e=this.getClientId();this.subscribe(`media/+/client/${e}/+`)}subscribeMediaAppTopic(){var e=this.getClientId();this.subscribe(`mediaapp/+/client/${e}/+`)}subscribe(e){var r;null!=(r=this.mqttClient)&&r.subscribe(e)}handlerMessageByte(e,r){switch(e){case"StringValue":return C.encode(r).finish();case"JoinRequest":return ce.encode(r).finish();case"RtpCapabilitiesFinalized":return Z.encode(r).finish();case"BoolValue":return E.encode(r).finish();case"Empty":return rr.encode(r).finish();case"ProduceRequest":return de.encode(r).finish();case"DtlsParameters":return q.encode(r).finish();default:return console.log("未知回复体,请检查handlerMessageByte方法",e),""}}async joinRoom(e){var r=this.getClientId(),t=new Ge({eventEmit:this.eventEmit});return t.setRoomId(e.roomId).setClientId(r).setProduceTag("hy_talk").setRoomType(m.Channel).publishChannel(),t}async joinMonitor(e){var r=this.getClientId(),t=new Ge({eventEmit:this.eventEmit});return t.setMonitorDeviceId(e.deviceId).setClientId(r).setPlayElementBox(e.playElementBox),await t.publishMonitor(),t}send(e){var{topic:e,messageType:r,message:t,callback:a,responseMessageType:n}=e,i=this.getMqttClient(),{correlationData:o,index:s}=this.nextCorrelationData(),o={properties:{correlationData:o}},r=this.handlerMessageByte(r,t),t=(null!=i&&i.publish(e,r,o),{index:s,topic:e,payload:r,opts:o,callback:a,responseMessageType:n});this.correlationDataMapAdd(t)}reply(e){var{topic:e,messageType:r,message:t,correlationData:a}=e,n=this.getMqttClient(),a={properties:{correlationData:a}},r=this.handlerMessageByte(r,t);null!=n&&n.publish(e,r,a)}getClientId(){var e;return null==(e=this.mqttClient)?void 0:e.options.clientId}getMqttClient(){return this.mqttClient}nextCorrelationData(){var e=tr++;return{correlationData:(new TextEncoder).encode(e.toString()),index:e}}correlationDataMapAdd(e){ar.set(e.index,e)}}class ir extends Fe{constructor({eventEmit:e}){super(),this.eventEmit=new Fe,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")}))}addRoom(e){var r=e.roomId;return!!r&&(this.roomList.get(r)?(console.log("房间ID已存在: %o",r),!1):void this.roomList.set(r,e))}deleteRoom(e){return!!(e=e.roomId)&&(this.roomList.get(e)?(this.roomList.delete(e),console.log("已删除房间ID: %o",e),!1):void console.log("房间ID不存在: %o",e))}getRoom({roomId:e,callback:r}){r((e=this.roomList.get(e))?{room:e}:{room:null})}getAllRooms(){return this.roomList}}exports.HyRtcCore=class extends Fe{constructor(){super(),this.eventEmit=new Fe,this.registerMessageEvents(),this.eventEmit.emit("hyRtcConstructor",{})}registerMessageEvents(){}init(e){return new Promise(((r,t)=>{this.HyRtcCoreOptions=e;var{authInfo:a,connectUrl:n}=this.HyRtcCoreOptions;this.NewRoomManager(),this.Message=this.NewMessage(),this.Message.connect({authInfo:a},n).then((()=>{var e;null!=(e=this.Message)&&e.subscribeMediaTopic(),null!=(e=this.Message)&&e.subscribeMediaAppTopic(),this.eventEmit.emit("hyRtcInitSuccess",{})})).catch((e=>(t(e),this.eventEmit.emit("hyRtcInitError",e),!1)))}))}NewMessage(){return new nr({eventEmit:this.eventEmit})}NewRoomManager(){this.RoomManager=new ir({eventEmit:this.eventEmit})}async joinChannel(e){return new Promise(((r,t)=>{this.eventEmit.emit("getRoom",{roomId:e.roomId,callback:async r=>{var t;if(!r){const r=await(null==(t=this.Message)?void 0:t.joinRoom(e));return this.eventEmit.emit("addRoom",r),r||new Error("加入房间失败")}}})}))}async joinMonitor(e){return new Promise((async(r,t)=>{var a=this.getAllRooms();const n=[];null!=a&&a.forEach((function(e,r,t){null!=e.monitorDeviceId&&n.push(e.monitorDeviceId)})),-1===n.indexOf(e.deviceId)?(a=await(null==(a=this.Message)?void 0:a.joinMonitor(e)),this.eventEmit.emit("addRoom",a),a?r(a):t(new Error("加入房间失败"))):t(new Error("设备已存在直播房间中"))}))}getAllRooms(){var e;return null==(e=this.RoomManager)?void 0:e.getAllRooms()}};
|
package/package.json
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "hy-rtc-core-v3",
|
|
3
|
+
"version": "3.0.1",
|
|
4
|
+
"description": "hy-rtc-core V3",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.esm.js",
|
|
7
|
+
"directories": {
|
|
8
|
+
"dist": "dist"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist/index.js"
|
|
12
|
+
],
|
|
13
|
+
"scripts": {
|
|
14
|
+
"dev": "rimraf dist && rollup -c rollup.config.js -w",
|
|
15
|
+
"build": "rimraf dist && rollup -c rollup.config.js --environment BUILD:production",
|
|
16
|
+
"gen_proto_ts": "protoc -I=src/proto/proto-file/ --plugin=protoc-gen-ts_proto=.\\node_modules\\.bin\\protoc-gen-ts_proto.cmd --ts_proto_out=./src/proto/proto-ts ./src/proto/proto-file/data_structures/* ./src/proto/proto-file/* --ts_proto_opt=esModuleInterop=true\""
|
|
17
|
+
},
|
|
18
|
+
"repository": {
|
|
19
|
+
"type": "git",
|
|
20
|
+
"url": "https://gitee.com/szhuayu/hy-rtc-core-v3.git"
|
|
21
|
+
},
|
|
22
|
+
"keywords": [
|
|
23
|
+
"hy-rtc-core V3"
|
|
24
|
+
],
|
|
25
|
+
"author": "Lamkin",
|
|
26
|
+
"license": "ISC",
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@babel/core": "^7.24.6",
|
|
29
|
+
"@babel/plugin-proposal-class-properties": "^7.18.6",
|
|
30
|
+
"@babel/preset-env": "^7.24.6",
|
|
31
|
+
"@eslint/js": "^9.3.0",
|
|
32
|
+
"@rollup/plugin-babel": "^6.0.4",
|
|
33
|
+
"@rollup/plugin-commonjs": "^25.0.8",
|
|
34
|
+
"@types/uuid": "^9.0.8",
|
|
35
|
+
"eslint": "^9.3.0",
|
|
36
|
+
"globals": "^15.3.0",
|
|
37
|
+
"long": "^5.2.3",
|
|
38
|
+
"rimraf": "^5.0.7",
|
|
39
|
+
"rollup": "^4.18.0",
|
|
40
|
+
"rollup-plugin-terser": "^7.0.2",
|
|
41
|
+
"rollup-plugin-typescript2": "^0.36.0",
|
|
42
|
+
"rollup-plugin-uglify": "^6.0.4",
|
|
43
|
+
"tslib": "^2.6.2",
|
|
44
|
+
"typescript": "^5.4.5",
|
|
45
|
+
"typescript-eslint": "^7.11.0"
|
|
46
|
+
},
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"mediasoup-client": "^3.7.8",
|
|
49
|
+
"mqtt": "^5.7.0",
|
|
50
|
+
"protobufjs": "^7.3.0",
|
|
51
|
+
"protoc-gen-ts": "^0.8.7",
|
|
52
|
+
"ts-proto": "^1.171.0",
|
|
53
|
+
"uuid": "^10.0.0"
|
|
54
|
+
}
|
|
55
|
+
}
|