@hysc/meeting 10.8.2 → 10.8.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +2 -2
- package/dist/index.mjs +2 -2
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";var pi=Object.create;var Ge=Object.defineProperty,gi=Object.defineProperties,fi=Object.getOwnPropertyDescriptor,Si=Object.getOwnPropertyDescriptors,bi=Object.getOwnPropertyNames,Xt=Object.getOwnPropertySymbols,Ii=Object.getPrototypeOf,Zt=Object.prototype.hasOwnProperty,yi=Object.prototype.propertyIsEnumerable;var Yt=(s,e,t)=>e in s?Ge(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,w=(s,e)=>{for(var t in e||(e={}))Zt.call(e,t)&&Yt(s,t,e[t]);if(Xt)for(var t of Xt(e))yi.call(e,t)&&Yt(s,t,e[t]);return s},Fe=(s,e)=>gi(s,Si(e));var Ei=(s,e)=>{for(var t in e)Ge(s,t,{get:e[t],enumerable:!0})},Kt=(s,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of bi(e))!Zt.call(s,i)&&i!==t&&Ge(s,i,{get:()=>e[i],enumerable:!(r=fi(e,i))||r.enumerable});return s};var Nt=(s,e,t)=>(t=s!=null?pi(Ii(s)):{},Kt(e||!s||!s.__esModule?Ge(t,"default",{value:s,enumerable:!0}):t,s)),Mi=s=>Kt(Ge({},"__esModule",{value:!0}),s);var c=(s,e,t)=>new Promise((r,i)=>{var o=l=>{try{n(t.next(l))}catch(u){i(u)}},a=l=>{try{n(t.throw(l))}catch(u){i(u)}},n=l=>l.done?r(l.value):Promise.resolve(l.value).then(o,a);n((t=t.apply(s,e)).next())});var qi={};Ei(qi,{Logger:()=>nt.Logger,default:()=>Qi});module.exports=Mi(qi);var _=Nt(require("@hysc/core"));var N=class extends Error{constructor(t,r,i,o){super();this.code=t,this.error=i,this.BoomErrorFlag=!0,this.eName=o,this.message=r}static instanceOf(t){return!!(t&&t.BoomErrorFlag)}getCode(){return this.code}};var er=1,Ci=2,tr=3,vi=4;var Bi=function(){},Zi=/BRTC/.test(Bi.toString())?er:tr;function lt(s,e,t,r){let i=[];return t&&i.push(t),r&&i.push(r),`[${new Date().toLocaleTimeString("chinese",{hour12:!1})}] <${s}> [${i.join("|")}] ${e}`}function Ai(s,e,t,r=[]){r.unshift(lt("DEBUG",s,e,t)),console.log(...r)}function d(s,e,t,r=[]){Array.isArray(r)||(r=[r]),r.unshift(lt("INFO",s,e,t)),console.log(...r)}function I(s,e,t,r=[]){Array.isArray(r)||(r=[r]),r.unshift(lt("WARN",s,e,t)),console.log(...r)}function p(s,e,t,r=[]){typeof r=="string"?r=[r]:Array.isArray(r)||(r=[JSON.stringify(r)]),r.unshift(lt("ERROR",s,e,t)),console.log(...r)}var Ki={[er]:Ai,[Ci]:d,[tr]:I,[vi]:p};var qr=require("rxjs");var rr="undefined";var Ri=typeof window!==rr?window:void 0;var es=typeof global!==rr?global:Ri;var ts=Object.freeze({}),rs=Object.freeze([]);var T="c";var dr=require("rxjs");var k="_screen",ut="screen-",dt="xinhao_";var Se="sub-message",be="user-sort-num-change",Ie="bind-element",le="stream-connect-error",F="raise-hand",ye="manual-subscription",Ee="unsubscribe-stream",Me="change-is-guest",Ce="bind-big-element",ce="no-container",ve="model-sort-num-change",Be="add-pull-user",Ae="set-volume",Re="add-audio-play",Q="stream-play",mt="share-file";var ir=Nt(require("mitt"));var U=class U{static getInstance(){return U.emitter||(U.emitter=(0,ir.default)()),U.emitter}};U.emitter=void 0,U.removeEmitter=()=>{var e,t,r,i,o,a,n,l,u,m,h,f,S,b,C;(e=U.emitter)==null||e.off(Se),(t=U.emitter)==null||t.off(be),(r=U.emitter)==null||r.off(le),(i=U.emitter)==null||i.off(F),(o=U.emitter)==null||o.off(Ee),(a=U.emitter)==null||a.off(ye),(n=U.emitter)==null||n.off(Me),(l=U.emitter)==null||l.off(Ie),(u=U.emitter)==null||u.off(Ce),(m=U.emitter)==null||m.off(ce),(h=U.emitter)==null||h.off(ve),(f=U.emitter)==null||f.off(Be),(S=U.emitter)==null||S.off(Ae),(b=U.emitter)==null||b.off(Re),(C=U.emitter)==null||C.off(Q),U.emitter=void 0};var E=U;function sr(s){return wt===2?Ni(s):Pi(s)}function Pi(s){let e=30;return s.isSharing?(s.isMaster?e=0:s.isManager&&s.audioEnable&&s.videoEnable?e=1:s.isManager&&s.audioEnable?e=2:s.isManager&&s.videoEnable?e=3:s.isManager?e=4:s.isCommonUser?s.audioEnable&&s.videoEnable?e=9:s.audioEnable?e=10:s.videoEnable?e=11:e=12:s.audioEnable&&s.videoEnable?e=5:s.audioEnable?e=6:s.videoEnable?e=7:e=8,e):(s.isMaster?e=13:s.isLocal?e=14:s.isManager?s.audioEnable&&s.videoEnable?e=15:s.audioEnable?e=16:s.videoEnable?e=17:e=18:s.raiseHand?e=19:s.isCommonUser?s.isSignal?e=26:s.isCommonUser&&(s.audioEnable&&s.videoEnable?e=27:s.audioEnable?e=28:s.videoEnable?e=29:e=30):s.audioEnable&&s.videoEnable?e=22:s.audioEnable?e=23:s.videoEnable?e=24:e=25,e)}function Ni(s){let e;return s.isToupingma?e=0:s.raiseHand?e=19:s.raiseAudioHands?e=1:s.raiseVideoHands?e=2:s.isLocal?e=3:s.isMaster&&s.audioEnable&&s.videoEnable?e=4:s.isManager&&s.audioEnable&&s.videoEnable?e=5:s.audioEnable&&s.videoEnable?e=6:s.isMaster&&s.audioEnable?e=7:s.isManager&&s.audioEnable?e=8:s.audioEnable?e=9:s.isMaster&&s.videoEnable?e=10:s.isManager&&s.videoEnable?e=11:s.videoEnable?e=12:s.isMaster?e=13:s.isManager?e=14:s.isCommonUser?e=16:s.isSignal?e=17:e=15,e}var or="undefined";var $e="function";var wi=typeof window!==or?window:void 0;var ms=typeof global!==or?global:wi;var hs=Object.freeze({}),ps=Object.freeze([]),Tt="";function xt(s){return typeof s===$e}function Ti(s,e,t){return s.indexOf(e,t!==void 0?t:0)}function nr(s,e){return Ti(s,e)>=0}function lr(s,e){return s!=null&&s.toString?s.toString():e!==void 0?e:Tt}function Ot(s){return xt(s)&&nr(lr(s),"[native code]")}var kt;typeof setImmediate===$e&&Ot(setImmediate)&&(kt=setImmediate);typeof MessageChannel===$e&&Ot(MessageChannel)?kt=function(s){let e=new MessageChannel;e.port1.onmessage=s,e.port2.postMessage(1)}:kt=setTimeout;var cr=5*60*1e3;function Dt(s){let e=new Date(s),t=new Date,r=e.getMonth()+1<10?"0"+(e.getMonth()+1):e.getMonth()+1,i=e.getDate()<10?"0"+e.getDate():e.getDate(),o=e.getHours()<10?"0"+e.getHours():e.getHours(),a=e.getMinutes()<10?"0"+e.getMinutes():e.getMinutes();return t.setHours(0,0,0,0)==e.setHours(0,0,0,0)?o+":"+a:r+"\u6708"+i+"\u65E5 "+o+":"+a}function Qe(s){return s.sort((e,t)=>e.sortNum===19&&t.sortNum===19?e.raiseHandTime-t.raiseHandTime:e.sortNum===t.sortNum?e.nickName.localeCompare(t.nickName):e.sortNum-t.sortNum)}function ur(s){return s.sort((e,t)=>e.sortNum!==t.sortNum?t.sortNum-e.sortNum:e.sortNum===t.sortNum?e.getUser().nickName.localeCompare(t.getUser().nickName):Number(e.getUser().isCommonUser)-Number(t.getUser().isCommonUser))}function qe(s){return!ze(s,"s")}function pt(s){return ze(s,"a")}function _t(s){return ze(s,"v")}function gt(s){return ze(s,"m")}function ft(s){return ze(s,"o")}function ze(s,e){return s.toLowerCase().includes(e)}function te(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|MicroMessenger/i.test(navigator.userAgent)}var ue=class{constructor(e,t=!1){this.audienceEnableSpeaking=!1;this.streamModels=new Map;this.sortNum=100;this.raiseVideoHands=!1;this.raiseAudioHands=!1;this.raiseHand=!1;this.isAudience=!1;this.isCommonUser=!1;this.inBackground=!1;this.isCalling=!1;this.raiseHandTime=0;this.signals=[];var i;this.userId=e.userId,this.userInfo=e.userInfo,this.nickName=e.nickname,this.isMaster=!!e.isMaster,this.isManager=!!e.isManager,this.isToupingma=!!e.isToupingma,this.isLocal=t,this.hasMultiple=!!e.hasMultiple,this.isCreate=!!e.isCreate,this.hasShare=!!e.hasShare,this.avatar=(i=e.userInfo)==null?void 0:i.avatar,this.permission=e.permission,this.raiseAudioHands=!!e.raiseAudioHands,this.raiseVideoHands=!!e.raiseVideoHands,this.raiseHand=!!e.raiseHand,this.isAudience=!!e.isAudience,this.isCommonUser=!!e.isCommonUser,this.inBackground=!!e.inBackground,this.isCalling=!!e.isCalling,this.signals=e.signals,e.permission&&(this.audienceEnableSpeaking=pt(e.permission.permission)),this.raiseHandTime=e.raiseHandTime||0;let r={operation:"none",user:this};this.watcher=new dr.BehaviorSubject(r),this.updateSortNum(!1),this.customInfo=e.customInfo}get isWeb(){return!!(this.userInfo.pos&&(this.userInfo.pos.includes("web")||this.userInfo.pos.includes("pc")))}get isMobile(){return!!(this.userInfo.pos&&this.userInfo.pos.includes("web"))}setup(e,t,r,i){this.isLocal=!0,this.userId=e,this.userInfo=t,r?this.nickName=r:this.nickName=t.nickname,this.avatar=t.avatar,i&&i.signals&&(this.signals=i.signals),this.customInfo=i}getMainStreamModel(){return this.streamModels.get(this.userId)}get nickname(){return this.nickName}getShareStreamModel(){return this.streamModels.get(`${this.userId}${k}`)}get audioEnable(){let e=this.getMainStreamModel();return e?e._audio_enable:!1}get isMixer(){return this.userId.includes("-mixer-")}get videoEnable(){let e=this.getMainStreamModel();return e?e._video_enable:!1}get isSharing(){let e=!1;for(let t of this.streamModels.values())if(t.isShare){e=!0;break}return e}get isSignal(){var e;return!!((e=this.userId)!=null&&e.startsWith(dt))}checkLocalHasMaster(){return this.isMaster||this.isManager}addStream(e,t){this.streamModels.set(e,t),this.watcher.next({operation:"changeShare",user:this})}removeStream(e){this.streamModels.delete(e),e.includes(k)&&(d("\u5220\u9664\u7684\u662F\u5171\u4EAB\u5C4F\u5E55\u7684\u6D41:","","",["streamId =>",e]),setTimeout(()=>{this.watcher.next({operation:"changeShare",user:this})},400))}getID(){return this.userId}getNickName(){return this.nickName}getUserInfo(){return this.userInfo}getStreams(){return this.streamModels}updateUserInfo(e,t={},r){var u,m;let i=(u=t==null?void 0:t.params)==null?void 0:u.customInfo,o=(i==null?void 0:i.updateKeys)||[];this.customInfo=i;let a=!1,n="none";if(d("updateUserInfo =>","updateUser",e.userId,["updateKeys",o.toString(),"permission",(m=e.permission)==null?void 0:m.permission,"isMaster =>",this.isMaster,"isManager =>",this.isManager]),this.nickName!==e.nickname&&(n="changeNickName"),!this.isMaster&&this.isManager&&!e.permission.getManage()&&(n="removeManager",this.isManager=!1),!this.isMaster&&!this.isManager&&e.permission.getManage()&&o.indexOf("changeMaster")==-1&&(n="getManager",this.isManager=!0),e.userinfo.pos)this.userInfo=e.userinfo;else{let h=this.userInfo.pos;this.userInfo=e.userinfo,this.userInfo.pos=h}(o.includes("changeMaster")||o.includes("permission"))&&(e.permission=t.getPermission()),o.includes("raiseHandsAudio")&&(this.raiseAudioHands=i.raiseHandsAudio,n="raiseHandsAudio",E.emitter.emit(F,{status:"raiseHandsAudio",user:this}),a=!0),o.includes("raiseHandsVideo")&&(this.raiseVideoHands=i.raiseHandsVideo,n="raiseHandsVideo",E.emitter.emit(F,{status:"raiseHandsVideo",user:this}),a=!0),o.includes("raiseHand")&&(this.raiseHand=i.raiseHand,this.raiseHandTime=i.raiseHandTime,n="raiseHand",E.emitter.emit(F,{status:"raiseHand",user:this}),a=!0),r.conferenceMode!==1&&this.isAudience&&o.includes("permission")&&((i==null?void 0:i.permission.indexOf("A"))!==-1&&(r.enableAudienceSpeakingWatcher.next(!0),this.audienceEnableSpeaking=!0,n="audienceEnableSpeaking",this.isLocal&&r.bmLiveVM.handleAudienceEnable()),(i==null?void 0:i.permission.indexOf("A"))===-1&&(r.enableAudienceSpeakingWatcher.next(!1),this.audienceEnableSpeaking=!1,n="audienceEnableSpeaking",this.isLocal&&r.bmLiveVM.handleAudienceDisable())),o.includes("inBackground")&&(n="inBackground",this.inBackground=i.inBackground),o.includes("isCalling")&&(n="isCalling",this.isCalling=i.isCalling),this.nickName=e.nickname,this.permission=e.permission;let l=!this.isCommonUser;this.isCommonUser=!e.permission.getSubscribe(),l!==!this.isCommonUser&&(d(`\u8EAB\u4EFD\u6709\u53D1\u751F\u8FC7\u53D8\u5316\uFF0C\u4ECE${l?"\u5609\u5BBE":"\u666E\u901A\u53C2\u4F1A\u8005"} => ${this.isCommonUser?"\u666E\u901A\u53C2\u4F1A\u8005":"\u5609\u5BBE"}`),E.emitter.emit(Me,{user:this,isGuest:!this.isCommonUser,preIsGuest:l})),n&&this.watcher.next({operation:n,user:this}),(!a||a&&!this.isLocal)&&this.updateSortNum(!0)}hasManager(){return this.isManager||this.isMaster}getNicknameSuffix(){let e="";return this.isLocal&&this.isMaster?e="(\u6211\u3001\u4E3B\u6301\u4EBA)":this.isLocal&&this.isManager?e="(\u6211\u3001\u8054\u5E2D\u4E3B\u6301\u4EBA)":this.isLocal?e="(\u6211)":this.isMaster?e="(\u4E3B\u6301\u4EBA)":this.isManager?e="(\u8054\u5E2D\u4E3B\u6301\u4EBA)":this.isSharing&&!this.isToupingma?e="\u7684\u5171\u4EAB\u5C4F\u5E55":this.isSharing&&this.isToupingma&&(e="(\u4EC5\u5171\u4EAB\u5C4F\u5E55)"),e}updateSortNum(e=!0,t=!1){let r=sr(this);this.setSortNum(r,e,t)}setSortNum(e,t,r){this.sortNum===e&&!t||(this.sortNum=e,t&&E.emitter.emit(be,{isCommon:this.isCommonUser,isAudience:this.isAudience,shouldDelay:r}))}};var de=require("rxjs");function q(s){return new Promise(e=>setTimeout(e,s))}var Xe=require("lodash-es");var Pe=["-mixer-","-rtmpmixer-","record#","robot_","stt_"],Ue=500,St="RWPSAVMO,RWPSAVM,RWPSAV,RWPSA",Ye=class s{constructor(e,t,r){this.userList=new Map;this.audiencesList=new Map;this.signalList=new Map;this.commonUserList=new Map;this.userListWatcher=new de.BehaviorSubject(Array.from(this.userList.values()));this.audiencesListWatcher=new de.BehaviorSubject(Array.from(this.audiencesList.values()));this.commonUserListWatcher=new de.BehaviorSubject(Array.from(this.commonUserList.values()));this.signalListWatcher=new de.BehaviorSubject(Array.from(this.signalList.values()));this.masterUserWatcher=new de.BehaviorSubject(null);this.getForceUserWatcher=new de.BehaviorSubject(!1);this.commTimer=200;this.addBCUser=(e,t=!1,r=!1)=>{var a;let i=this.addUser(e);if(this.room.isWorkShop&&!pt(e.permission.permission)){console.log("\u7814\u8BA8\u4F1A, \u89C2\u4F17\u5148\u4E0D\u521B\u5EFA\u7A97\u53E3");return}this.room.bmStreamVm.streamModels.get(e.userId)||this.room.bmStreamVm.createStreamModel(i);{let n=this.room.bmStreamVm.streamModels.get(e.userId);n&&(e.stream.size?e.stream.forEach(l=>c(this,null,function*(){var f,S,b;let{video_enable:u,audio_enable:m,customInfo:h}=l;if(l.screen){i.hasShare=!0,this.room.bmStreamVm.shareBloudStateMap.set(e.userId,{audio:m,video:u,customInfo:h,userId:e.userId,streamId:l.getID(),isScreen:!0});let C={id:n.userId,isScreen:!0,isWeb:n.isWeb};t?yield(f=this.room)==null?void 0:f.processUser(C):(S=this.room)==null||S.addUser2Queue(C)}else if(n&&(n.updateBloudStream({video:u,audio:m,isScreen:l.screen,customInfo:h},this.room.bmStreamVm),t)){let C={id:n.userId,isScreen:!1,isWeb:n.isWeb};(b=this.room)==null||b.processUser(C)}})):(n.bloudStream&&n.updateBloudStream(void 0,this.room.bmStreamVm),(a=this.room)==null||a.bmStreamVm.removeShareStreamModelByUId(e.userId)))}return i&&i.isMaster&&this.masterUserWatcher.next(i),i==null||i.updateSortNum(r),i};this.updateAllSort=()=>{this.updateUserSort(),this.updateCommonUserSort(),this.updateAudienceUserSort(),this.updateSignalUserSort()};this.updateSortByType=e=>{var t,r;(t=this.room)!=null&&t.isSingleColumns||e.isCommon?(r=this.room)!=null&&r.isBig&&e.shouldDelay?this.updateDelayCommonUserSort():this.updateCommonUserSort():(e.isAudience?this.updateAudienceUserSort():this.updateUserSort(),this.updateSignalUserSort())};this.updateUserSort=(0,Xe.debounce)(()=>{let e=this.sortUsers();this.userListWatcher.next(s.filterUsers(e))},200,{maxWait:1e3});this.updateCommonUserSort=(0,Xe.debounce)(()=>{let e=this.sortCommonUsers();this.commonUserListWatcher.next(s.filterUsers(e))},this.commTimer,{maxWait:12*1e3});this.updateDelayCommonUserSort=(0,Xe.debounce)(()=>{let e=this.sortCommonUsers();this.commonUserListWatcher.next(s.filterUsers(e))},120*1e3,{maxWait:120*1e3});this.updateAudienceUserSort=(0,Xe.debounce)(()=>{let e=this.sortAudiences();this.audiencesListWatcher.next(e)},200,{maxWait:1e3});this.updateSignalUserSort=()=>{let e=this.sortSignalUsers();this.signalListWatcher.next(e)};this.transBloudUsers=(e,t="",r=!1,i=0)=>c(this,null,function*(){let o=new Map;yield this.getAllUsers(e,o,t,r).catch(()=>{if(i<3){p("get bloud user error, retry"),i+=1,this.transBloudUsers(e,t,r,i);return}else{p("get current page of bloud users after 10 times final failed","","",[" page ",e," permission ",t]);return}}),yield this.initUserList(o),o.clear();let a=[];for(let n of this.userList.values())(n.raiseVideoHands||n.raiseAudioHands||n.raiseHand)&&a.push(n);for(let n of this.commonUserList.values())(n.raiseVideoHands||n.raiseAudioHands||n.raiseHand)&&a.push(n);for(let n of this.commonUserList.values())(n.raiseVideoHands||n.raiseAudioHands)&&a.push(n);this.room.roomInfo.setRaiseHandsList(a),this.updateAllSort(),this.room.bmStreamVm.updateModelSort()});this.boomCore=e,this.localUser=t,this.room=r,E.emitter||p("init boom emitter error"),E.emitter.on(Me,this.handleUserRoleChange.bind(this)),E.emitter.on(be,this.updateSortByType)}handleUserRoleChange(e){return c(this,null,function*(){var n,l,u;let{user:t,isGuest:r,preIsGuest:i}=e,o=(n=this.room)==null?void 0:n.roomInfo.isBigRoom;if(d("handleUserRoleChange","",t.userId,["isGuest =>",r,"preIsGuest =>",i,"isBigRoom =>",o]),((l=this.room)==null?void 0:l.userListColumns)===1||(i?this.userList.delete(t.userId):this.commonUserList.delete(t.userId),r?this.userList.set(t.userId,t):this.commonUserList.set(t.userId,t)),o)if(r)t.isLocal&&(yield this.initUsers());else{let m=(u=this.room)==null?void 0:u.getLocalParticipant().isCommonUser;if(t.isLocal&&(this.handleUnSubCommonUser(),this.handleCommonUserChange(),this.commonUserList.set(t.userId,t)),m){let h=t.getMainStreamModel();h&&h.unSubscribeStream(),t.isLocal||this.commonUserList.delete(t.userId)}}this.updateAllSort()})}addUser(e){var i;let t=this.getUser(e.userId);if(t)return d("\u8BE5\u7528\u6237\u5DF2\u7ECF\u52A0\u5165\u623F\u95F4",T,e.userId),this.updateUser(t,e),t;let r;return this.boomCore.userId==e.userId?(this.updateUser(this.localUser,e),r=this.localUser):r=this.toBMUser(e),((i=this.room)==null?void 0:i.userListColumns)===1?this.commonUserList.set(r.userId,r):r.isAudience?this.audiencesList.set(r.userId,r):r.isSignal?this.signalList.set(r.userId,r):r.isCommonUser?this.commonUserList.set(r.userId,r):this.userList.set(r.userId,r),r}removeUser(e){let t=this.userList.delete(e);return t||(t=this.signalList.delete(e)),t||(t=this.audiencesList.delete(e)),t||(t=this.commonUserList.delete(e)),t||I("userList\u4E2D\u672A\u627E\u5230\u8BE5\u7528\u6237, \u79FB\u9664\u65E0\u6548",T,e),t}videoEnable(e){let t=this.getUser(e);if(t)return t.videoEnable;throw new N(9001,"\u7528\u6237\u4E0D\u5B58\u5728")}audioEnable(e){let t=this.getUser(e);if(t)return t.audioEnable;throw new N(9001,"\u7528\u6237\u4E0D\u5B58\u5728")}checkIsMaster(e){if(!e)return!1;let t=this.boomCore.getMaster();return t?t===e:!1}checkLocalHasMaster(){return this.localUser.isMaster||this.localUser.isManager}checkUserHasMaster(e){let t=this.userList.get(e);return t?t.permission.getManage():!1}getUser(e){let t;return e!=null&&e.startsWith(dt)?t=this.signalList.get(e):t=this.userList.get(e),t||(t=this.commonUserList.get(e)),t||(t=this.audiencesList.get(e)),t}getAllUsers(e,t,r="",i=!1){return c(this,null,function*(){let o;if(i){let{users:a,total:n}=yield this.boomCore.getUsersList(e,r,Ue);o=a}else{let{users:a,total:n}=yield this.boomCore.getUsers(e,r,Ue);o=a}o.forEach(a=>{t.set(a.userId,a)})})}initUserList(e){return c(this,null,function*(){var r,i;let t=e.get(this.localUser.userId);if(t){let o=this.addUser(t);if(!((r=this.room)!=null&&r.bmStreamVm.getStreamModelByUId(t.userId))){let a=this.getUser(t.userId);a?(i=this.room)==null||i.bmStreamVm.createStreamModel(a):p("there is no local streamModel exits, and create failed!!!")}o!=null&&o.isMaster&&this.masterUserWatcher.next(o)}e.delete(this.localUser.userId),e&&e.size>0&&this.addBcUsersMap(e)})}addBcUsersMap(e,t=!1,r=!1){e.forEach(i=>{this.addBCUser(i,t,r)})}updateMaster(e,t,r){let i=this.getUser(e);i&&(i.isManager&&(i.isManager=!1),i.isMaster=!0,i.updateSortNum());let o=this.getUser(t);return o&&(o.isMaster=!1,r&&(o.isManager=!0),o.updateSortNum()),!i&&!o&&p("\u672A\u627E\u5230\u8BE5\u7528\u6237, updateMaster\u672A\u751F\u6548",T,e,["masterId => ",e,"oldMasterId => ",t]),{master:i,oldMaster:o}}managerChangeToGuest(e){let t=this.getUser(e);return t?t.isManager?(t.permission.setManage(!1),t.permission.setSubscribe(!0),this.boomCore.updateUser(e,{customInfo:{permission:t.permission.get()}}),t.watcher.next({operation:"getGuest",user:t}),this.updateAllSort()):p("\u8BE5\u7528\u6237\u4E0D\u662F\u7BA1\u7406\u5458\uFF0C\u65E0\u6CD5\u8BBE\u7F6E\u4E3A\u5609\u5BBE",T,e):p("\u672A\u627E\u5230\u8BE5\u7528\u6237, managerChangeToGuest\u672A\u751F\u6548",T,e),t}updateManager(e,t,r=!0){let i=this.getUser(e);return i?(i.permission.setManage(t),r?i.permission.setSubscribe(!0):i.permission.setSubscribe(t),this.boomCore.updateUser(e,{customInfo:{permission:i.permission.get()}}),i.watcher.next({operation:t?"getManager":"removeManager",user:i}),this.updateAllSort()):p("userList\u4E2D\u672A\u627E\u5230\u8BE5\u7528\u6237, updateManager\u672A\u751F\u6548",T,e),i}getLocalUser(){return this.localUser}updateUser(e,t){var v,y,H,z,X,Y,Z,K;let r=this.checkIsMaster(t.userId),i=(((v=t.permission)==null?void 0:v.getManage())||gt((y=t.permission)==null?void 0:y.permission))&&!((H=t.permission)!=null&&H.getOwn()||ft((z=t.permission)==null?void 0:z.permission)),o="none",a=e.isMaster;e.isManager!==i&&(i?o="getManager":o="removeManager"),o!=="none"&&setTimeout(()=>{e.watcher.next({operation:o,user:e})},10),a!==r&&(r?o="getMaster":o="removeMaster"),o!=="none"&&setTimeout(()=>{e.watcher.next({operation:o,user:e})},100);let l=e.raiseHand,u=t.customInfo.raiseHand;l!==u&&(!u&&l&&this.room.roomInfo.removeSimpleRaiseHandUser(e.userId),setTimeout(()=>{e.watcher.next({operation:"raiseHand",user:e})},300));let m=e.raiseVideoHands,h=t.customInfo.raiseHandsVideo;m!==h&&(!h&&m&&this.room.roomInfo.removeVideoRaiseHandUser(e.userId),setTimeout(()=>{e.watcher.next({operation:"raiseHandsVideo",user:e})},300));let f=e.raiseAudioHands,S=t.customInfo.raiseHandsAudio;f!==S&&(!S&&f&&this.room.roomInfo.removeRaiseHandUser(e.userId),setTimeout(()=>{e.watcher.next({operation:"raiseHandsAudio",user:e})},300));let b=e.nickname,C=t.nickname;if(b!==C&&setTimeout(()=>{e.watcher.next({operation:"changeNickName",user:e})},300),e.isAudience){let se=e.audienceEnableSpeaking,oe=t.permission.getAudio();se!==oe&&setTimeout(()=>{e.watcher.next({operation:"audienceEnableSpeaking",user:e})},300)}e.userInfo=t.userinfo,e.nickName=t.nickname,e.userId=t.userId,e.permission=t.permission,e.avatar=t.userinfo.avatar,e.isToupingma=t.userinfo.pos.includes("_toupingma"),e.raiseHand=u,e.isMaster=r,e.isCreate=this.boomCore.getCreator()===t.userId,e.isAudience=!t.permission.getVideo(),e.isCommonUser=!t.permission.getSubscribe(),e.isManager=i,e.inBackground=!!((X=t==null?void 0:t.customInfo)!=null&&X.inBackground),e.isCalling=!!((Y=t==null?void 0:t.customInfo)!=null&&Y.isCalling),(Z=t.customInfo)!=null&&Z.signals&&(e.signals=(K=t==null?void 0:t.customInfo)==null?void 0:K.signals),e.isAudience&&(e.audienceEnableSpeaking=t.permission.getAudio()),e.updateSortNum()}updateLocalUserPermission(e){let t=this.getLocalUser();t.isMaster=ft(e),t.isManager=!ft(e)&>(e),t.isCommonUser=qe(e),t.isAudience=!_t(e),t.watcher.next({operation:"none",user:t})}toBMUser(e){var i,o;let t={};t.userInfo=e.userinfo,t.nickname=e.nickname,t.userId=e.userId,t.streamModels=[],t.permission=e.permission,t.stream=e.stream,t.isToupingma=!!(e.userinfo.pos&&e.userinfo.pos.includes("_toupingma")),t.isMaster=this.checkIsMaster(t.userId),t.isCommonUser=!e.permission.getSubscribe()||qe(e.permission.permission),t.isAudience=!_t(e.permission.permission),t.raiseAudioHands=e.customInfo.raiseHandsAudio,t.raiseVideoHands=e.customInfo.raiseHandsVideo,t.raiseHand=e.customInfo.raiseHand,t.raiseHandTime=e.customInfo.raiseHandTime,t.inBackground=e.customInfo.inBackground,t.isCalling=e.customInfo.isCalling,t.customInfo=e.customInfo,t.isCreate=this.boomCore.getCreator()===e.userId,t.signals=e.customInfo.signals;let r=this.boomCore.getLocalParticipant();if(!r)throw new N(1001,"BCUserVM addUser\u65F6\u672A\u627E\u5230\u672C\u5730\u7528\u6237");return r.getID()==t.userId&&(t.isLocal=!0),((i=t.permission)!=null&&i.getManage()||gt((o=t.permission)==null?void 0:o.permission))&&!t.isMaster&&(t.isManager=!0),new ue(t,t.isLocal)}sortUsers(){return Qe(Array.from(this.userList.values()))}sortAudiences(){return Qe(Array.from(this.audiencesList.values()))}sortCommonUsers(){return Qe(Array.from(this.commonUserList.values()))}sortSignalUsers(){return Qe(Array.from(this.signalList.values()))}static filterUsers(e){return e.filter(t=>!s.filterUser(t.userId))}static filterUser(e){return Pe.some(t=>e.includes(t))}initUsers(){return c(this,null,function*(){var l;let e=yield this.getTotalUserNumber();d(`initUsers total users num: ${e}`);let t=Math.ceil(e/Ue),r=0,i=this.localUser.isCommonUser,o=[],a=u=>c(this,null,function*(){u<t&&(yield this.transBloudUsers(u-1))}),n=u=>c(this,null,function*(){for(let m of u)yield m(),yield q(50)});if(i&&((l=this.room)!=null&&l.isBig))this.commonUserList.set(this.localUser.userId,this.localUser),yield this.transBloudUsers(-1,St,!0);else if(this.room.conferenceMode===2)this.room.localIsAudience&&this.audiencesList.set(this.localUser.userId,this.localUser),yield this.transBloudUsers(-1,St,!0);else{for(;r<t;)o.push(a.bind(null,r)),r+=1;n(o)}})}handleUnSubCommonUser(){this.commonUserList.forEach(e=>{let t=e.getMainStreamModel();t!=null&&t.hasPulled&&t.unSubscribeStream()})}handleCommonUserChange(){let e=new Map;this.room.bmStreamVm.streamModels.forEach(t=>{(!t.getUser().isCommonUser||t.isLocal)&&e.set(t.userId,t)}),this.room.bmStreamVm.streamModels=e,this.commonUserList.clear()}getUsers(e,t,r="RWPAV",i="array"){return c(this,null,function*(){let{users:o,total:a}=yield this.boomCore.getUsers(e,r,t);if(i==="map"){let n=new Map;return o.forEach(l=>{if(s.filterUser(l.userId))return;let u=this.toBMUser(l);n.set(u.userId,u),u.isAudience&&this.audiencesList.set(u.userId,u)}),{userList:n,total:a}}else{let n=[];return o.forEach(l=>{if(s.filterUser(l.userId))return;let u=this.toBMUser(l);n.push(u),u.isAudience&&this.audiencesList.set(u.userId,u)}),{userList:n,total:a}}})}getAudiencesList(e,t,r="array"){return c(this,null,function*(){let{users:i,total:o}=yield this.boomCore.getUsers(e,"RWPS",t,r),{users:a,total:n}=yield this.boomCore.getUsers(e,"RWPSA",t,r);if(e===-1&&this.audiencesList.clear(),r==="map"){let l=new Map;return a.forEach(u=>{if(s.filterUser(u.userId))return;let m=this.toBMUser(u);l.set(m.userId,m),this.audiencesList.set(m.userId,m)}),i.forEach(u=>{if(s.filterUser(u.userId))return;let m=this.toBMUser(u);l.set(m.userId,m),this.audiencesList.set(m.userId,m)}),this.updateAudienceUserSort(),{userList:l,total:o}}else{let l=[];return a.forEach(u=>{if(s.filterUser(u.userId))return;let m=this.toBMUser(u);l.push(m),this.audiencesList.set(m.userId,m)}),i.forEach(u=>{if(s.filterUser(u.userId))return;let m=this.toBMUser(u);l.push(m),this.audiencesList.set(m.userId,m)}),this.updateAudienceUserSort(),{userList:l,total:o+n}}})}getUsersList(e,t,r="",i=!1){return c(this,null,function*(){var u,m;let{users:o,total:a,pageIndex:n}=yield this.boomCore.getUsersList(e,r,t,i),l=[];return o.forEach(h=>{if(s.filterUser(h.userId))return;let f=this.toBMUser(h);l.push(f)}),i&&((u=this.room)==null?void 0:u.roomInfo.totalWaitRoomUserWatcher.value)!==a&&((m=this.room)==null||m.roomInfo.totalWaitRoomUserWatcher.next(a)),{userList:l,total:a,pageIndex:n}})}getTotalUserNumber(){return c(this,null,function*(){let e=()=>c(this,null,function*(){let{total:r}=yield this.boomCore.getUsers(0,"",1);return r}),t=r=>{e().then(i=>{r(i)}).catch(i=>{p("getTotalUserNumber error","","",[JSON.stringify(i)]),t(r)})};return new Promise((r,i)=>c(this,null,function*(){t(r)}))})}clearUsers(){this.userList.clear(),this.commonUserList.clear(),this.audiencesList.clear(),this.signalList.clear()}searchUsers(e,t){return c(this,null,function*(){try{let{users:r}=yield this.boomCore.searchUsers(e,t,!1),i=[],o=[],a=[];return r.forEach(n=>{let l=this.userList.get(n.userId);if(l){i.push(l);return}let u=this.commonUserList.get(n.userId);if(u){o.push(u);return}let m=this.audiencesList.get(n.userId);if(m)a.push(m);else{let h=this.toBMUser(n);a.push(h)}}),{userList:i,commonUserList:o,audienceList:a}}catch(r){return Promise.reject(new N(1e3,"boomCore.searchUsers\u53D1\u751F\u9519\u8BEF:"+(r==null?void 0:r.message)))}})}searchWaitRoomUsers(e,t){return c(this,null,function*(){try{let{users:r}=yield this.boomCore.searchUsers(e,t,!0),i=[];return r.forEach(o=>{let a=this.toBMUser(o);i.push(a)}),i}catch(r){return Promise.reject(new N(1e3,"search wait room users error"))}})}};var V=class{constructor(e){this.isMeetingNotice=!1;this.isEmoji=!1;this.userId=e.userId,this.message=e.message,this.role=e.role,this.isLocal=e.isLocal,this.avatar=e.avatar,this.nickName=e.nickName,this.to=e.to,this.isDanger=e.isDanger,this.seq=e.seq,this.failed=e.failed;let t=!1;e.isMeetingNotice&&(t=!0),this.isMeetingNotice=t,e.sendTime?(this.timeStamp=e.sendTime,this.time=Dt(this.timeStamp)):(this.timeStamp=new Date().getTime(),this.time=Dt(this.timeStamp));let r=this.message.match(/^\[(.*?)\]$/);this.isEmoji=r!==null&&r[0].length<=20&&r[0].length>=4}};var Nr=require("lodash-es");function re(s){let e=s.getStreamId();return s.getUserId().toString().endsWith(k)||e.startsWith(ut)||s.getType&&s.getType()==="assist"}var hr=require("lodash-es"),Ne=require("@hysc/utils"),he=require("@hysc/utils");function pr(s){var t,r;let e=s.getLocalStreamModel();if(e&&!(e!=null&&e.stream))s.bloudStream&&(d("brtc \u5DF2\u7ECF\u6CA1\u6709\u6D41\u4E86\uFF0Cbloud \u7684\u6D41\u8981\u53D6\u6D88\u6389"),s.bloudStream.unpublish(),e.updateBloudStream(void 0,s),s.bloudStream=null);else if(e&&e.stream){d("brtc \u6D41\u5DF2\u7ECF\u91CD\u63A8\u4E0A\u53BB\u4E86\uFF0Cbloud\u8981\u91CD\u65B0\u53D1\u63A8\u6D41\u7684\u903B\u8F91");let i=e.stream.getAudioOn(),o=e.stream.getVideoOn();s.publishBloudStream(i,o).then(()=>{var a;d("brtc stream repub success bloud repub success, notify reconnect success"),s.localStreamConnectErrorWatcher.next((0,Ne.BMStreamReconnectSuccess)(i,o)),(a=e.player)==null||a.destroy(),e.player=null,e.isInBig&&e.playInBig()})}if(s.localIsShare){d("brtc has share stream, and bloud need to republish share stream");let i=(t=s.room)==null?void 0:t.boomCore.shareScreenStream;if(i){let o=i.getAudioOn(),a=i.getVideoOn();try{(r=s.room)==null||r.boomCore.createAndPubBloudShareStream(o,a)}catch(n){p("bloud \u5171\u4EAB\u5C4F\u5E55\u6D41\uFF0C\u65AD\u7F51\u91CD\u8FDE\u91CD\u63A8\u6D41\u5931\u8D25")}}}}var pe=(0,hr.debounce)(s=>{if(s.networkState.bloud&&s.networkState.brtc)try{s.streamQueue.restart()}catch(e){p("streamQueue restart error",JSON.stringify(e))}},300);function gr(s,e,t,r){let i=s.stream;if(d("\u672C\u5730\u63A8\u6D41","\u672C\u5730\u63A8\u6D41",i.getUserId()),i){let o=e.getLocalStreamModel();o&&e.updateStreamModel(o,i),r[he.BrtcEvents.STREAM_PUBLISHED].next({published:!0,model:o}),t.conferenceMode===1&&t.getLocalParticipant().isAudience&&e.getStreamModels().forEach(n=>{n.sendMessage2Room()})}else r[he.BrtcEvents.STREAM_PUBLISHED].next({published:!1})}function fr(s,e,t){d("bloud publish stream"),Vt(s,e,!0),t[he.BloudEvents.STREAM_PUBLISHED].next(s)}function Vt(s,e,t=!1){var a,n,l;d("bloud stream update","","",[JSON.stringify(s)]);let r=s.userId,i=s.isScreen,o=e.streamModels.get(r);if(o)if(!i)o.updateBloudStream(s,e,t),o.getUser().updateSortNum();else{e.shareBloudStateMap.set(r,s);let u=(a=e.room)==null?void 0:a.userVM.getUser(r);u&&(u.hasShare=!0);let m={id:r,isWeb:o.isWeb,isScreen:i};(n=e.room)==null||n.addUser2Queue(m)}else{I("bloud stream update, but can not get streamModel","",r);let u=(l=e.room)==null?void 0:l.userVM.getUser(r);if(!u){p("bloud stream update, but can not get user","",r);return}e.createStreamModel(u).updateBloudStream({audio:s.audio,video:s.video,isScreen:s.isScreen},e)}}function Sr(s,e,t,r){d("bloud unpublish stream","","",[JSON.stringify(s)]),Oi(s,e,t),r[he.BloudEvents.STREAM_REMOVED].next(s)}function br(s,e,t){d("bloud stream update","","",[JSON.stringify(s)]);let r=s.streamId,i=s.userId,o=s.params.customInfo,a;r.includes("_screen")?a=e.shareStreamModels.get(i):a=e.streamModels.get(i),a?a.updateBloudCustomInfo(o):p("bloud stream update, but can not get streamModel","",i,["streamId =>",r]),t[he.BloudEvents.UPDATE_STREAM].next(s)}function Oi(s,e,t){var o,a,n,l;let r=s.userId;if(s.isScreen){let u=e.shareStreamModels.get(r),m=(n=e.room)==null?void 0:n.userVM.getUser(r);if(m&&(m.hasShare=!1),u){let h=u.stream;h?(h.destroy(),e.remoteStreamUnpublished(h)):e.removeShareStreamModelByUId(r);let f=t.shareFileWatcher.getValue();f!=null&&f.streamId==r+"_screen"&&t.shareFileWatcher.next(null);let S={id:r,isWeb:u.isWeb,isScreen:!0};(l=e.room)==null||l.streamQueue.removeUser(S)}else I("bloud user unpublish share stream but can not get streamModel","",r)}else{let u=e.streamModels.get(r);if(u){u.updateBloudStream(void 0,e);let m=u.stream;m&&((o=e.room.audioPlayer)==null||o.removeStream(m),e.remoteStreamUnpublished(m),m.destroy());let h={id:r,isWeb:u.isWeb,isScreen:!1};(a=e.room)==null||a.streamQueue.removeUser(h)}else I("bloud user unpublish stream but can not get streamModel","",r)}}function bt(s,e){setTimeout(()=>c(this,null,function*(){d("handle republish share stream");try{let t=s.boomCore.shareScreenStream;if(t){let r=t.getAudioOn(),i=t.getVideoOn();if(yield s.boomCore.shareBrtcClient.publish(t),yield s.boomCore.createAndPubBloudShareStream(r,i),Object.keys(e.localShareCustomStats).length){let o=e.localModel.userId;yield e.updateBloudStreamCustomStats(o,`${o}_screen`,e.localShareCustomStats)}d("handle republish share stream success"),e.localShareError.next((0,Ne.BMShareStreamReconnectSuccess)())}else I("no share stream exist, unpublish share stream, to prevent share stream state error"),e.toggleShareScreen(!1,void 0)}catch(t){p("handle republish share stream failed , now unpublish"),e.localShareError.next((0,Ne.BMShareStreamReconnectFailed)()),yield e.toggleShareScreen(!1,void 0)}}),1e3)}var W=require("@hysc/utils");function Er(s,e,t){let r=s.permission,i=s.total;r&&t.updateLocalUserPermission(r),e.isInWaitRoom=s.joinwait;let o=s.waitroom;e.roomInfo.isOpenWaitRoom.next(o),e.roomInfo.totalUserWatcher.next(i);let a=s.audiooff,n=s.selfopenaudio;(a!==e.roomInfo.audioOff||n!==e.roomInfo.selfopenaudio)&&a!=null&&n!=null&&e.roomInfo.setAudioOff(a,n)}function It(s,e,t,r,i=!0){return c(this,null,function*(){var o;d("room-connected",e.getLocalParticipant().userId,"room-connected",["roomId =>",e.roomInfo.roomID," local permission => ",s.permission]),e.forceId=(o=s.customStats.forceOn)==null?void 0:o.user,Cr(s,e),Er(s,e,t),i&&r[W.BloudEvents.ROOM_CONNECTED].next(s)})}function yt(s){return c(this,null,function*(){if(d("join ready init users"),!s.isInWaitRoom)if(s.forceId&&(yield s.getForceUser(s.forceId)),yield s.userVM.initUsers(),s.localUser.isAudience)s.queryBloudUsers([s.localUser.userId]);else{let{audioEnable:e,videoEnable:t}=s.roomInfo.originJoinRoomParams;if(s.localUser.userId.startsWith("robot_"))return;d(`join ready:audioEnable:${e}, videoEnable:${t}`),!e&&!t&&s.bmStreamVm.onlyBrtcPublish().catch(r=>{d("only-brtc-pub ","publish",s.localUser.userId,[r.message])})}})}function Mr(s,e){d("update-stats "," ","",["options => ",JSON.stringify(s.options)]),s.options&&s.options[0]=="audiooff"||s.options[1]=="selfopenaudio"?e.roomInfo.setAudioOff(s.room.audiooff,s.room.selfopenaudio):s.options&&s.options[0]=="lock"?e.roomInfo.setlock(s.room.lock):s.options&&s.options[0]=="waitroom"&&e.roomInfo.isOpenWaitRoom.next(s.stats.waitroom)}function Cr(s,e){e.roomInfo.msgSeq=s.msgSeq,s.customStats&&e.roomInfo.initCustomStats(s.customStats)}function Ir(s,e,t,r,i){var l;s.updateUser(e,t);let o=t.stream,a=r.streamModels.get(e.userId);if(a||p("bmUserVM\u4E2D\u5B58\u5728\u8BE5\u7528\u6237\uFF0C\u4F46\u662FbmStreamModelVM\u4E2D\u4E0D\u5B58\u5728\u8BE5\u7528\u6237\uFF0C\u4F5B\u4E86"),!o.size){a!=null&&a.bloudStream&&(a.updateBloudStream(void 0,r),i.streamQueue.removeUser({id:e.userId,isScreen:!1}),i.streamQueue.removeUser({id:e.userId,isScreen:!0}));let u=r.shareStreamModels.get(e.userId);if(u&&!u.isLocal){try{(l=u.stream)==null||l.destroy()}catch(m){}r.removeShareStreamModel(u)}}o.get(`${e.userId}_screen`)&&i.addUser2Queue({id:e.userId,isScreen:!0,isWeb:e.isWeb});let n=o.get(e.userId);n&&(a==null||a.updateBloudStream({audio:n.audio_enable,video:n.video_enable,isScreen:!1},r))}function yr(s,e,t,r){s.isSingleColumns?e.commonUserList.forEach(i=>{let o=t.get(i.userId);if(o){t.delete(i.userId),Ir(e,i,o,r,s);return}e.commonUserList.delete(i.userId),r.streamModels.delete(i.userId),r.shareStreamModels.delete(i.userId)}):e.userList.forEach(i=>{let o=t.get(i.userId);if(o){Ir(e,i,o,r,s),i.isCommonUser?e.userList.delete(i.userId):t.delete(i.userId);return}e.userList.delete(i.userId),r.streamModels.delete(i.userId),r.shareStreamModels.delete(i.userId)}),s.userVM.addBcUsersMap(t)}function ki(s,e,t,r){return c(this,null,function*(){let i=e.getLocalParticipant().userId,{users:o}=yield e.boomCore.queryUsers([i]),a=o.get(i);a&&t.updateUser(t.localUser,a);let n=e.getLocalParticipant().isCommonUser;if(e.isBig&&n){let{users:l}=yield e.boomCore.getUsersList(0,St,500);yr(e,t,l,r)}else{let u=(yield e.userVM.getTotalUserNumber())/Ue,m=new Map;for(let h=0;h<u;h++){let{users:f}=yield e.boomCore.getUsers(h-1,"",Ue);f.forEach(S=>{m.set(S.userId,S)})}yr(e,t,m,r)}Cr(s,e),e.userVM.updateAllSort(),e.bmStreamVm.updateModelSort()})}function vr(s,e,t){d("brtc room reconnecting"),e.networkState.brtc=!1,e.streamWSReconnectWatcher.next(!1),t[W.BrtcEvents.BRTC_ROOM_ROCONNECTING].next(s)}function Br(s,e,t){d("brtc room reconnected"),e.networkState.brtc=!0,pe(e),t[W.BrtcEvents.BRTC_ROOM_RECONNECTED].next(s)}function Ar(s,e,t){d("bloud room reconnecting"),e.networkState.bloud=!1,e.bloudWSReconnectWatcher.next(!1),t[W.BloudEvents.RECONNECTING].next(s)}function Et(s,e,t){return c(this,null,function*(){e.hasSyncPermission?(d("bloud room reconnected"),e.bloudWSReconnectWatcher.next(!1),t[W.BloudEvents.MOVE_USER_ROOM].next(null),yield e.syncRoom().then(()=>{e.hasSyncPermission=!0,t[W.BloudEvents.ROOM_CONNECTED].next(s)}).catch(r=>{if(p("sync room error",JSON.stringify(r)),r.code===43){e.hasSyncPermission=!1,t[W.BloudEvents.USER_REJOINED].next(r);return}else e.hasSyncPermission=!1,t[W.BloudEvents.TIMEOUT].next(r)})):t[W.BloudEvents.TIMEOUT].next(s)})}function Rr(s,e,t,r,i){return c(this,null,function*(){d("bloud sync room completed"),Er(s,t,e),yield ki(s,t,e,r),pr(r),t.networkState.bloud=!0,pe(t),t.bloudWSReconnectWatcher.next(!0),i[W.BloudEvents.ROOM_SYNCED].next(s)})}var wr=require("@hysc/utils");var{USER_REJOINED:Di,PARTICIPANT_JOINED:_i,CHANGE_MASTER:Ur,EVICTED:Vi,UPDATE_USER:Hi,PARTICIPANT_LEFT:Ht,CUSTOM_MESSAGE:Wi,MOVE_USER_ROOM:Pr}=wr.BloudEvents;function Tr(s,e,t,r,i,o){var f,S,b,C,v,y,H,z,X,Y,Z,K,se,oe,_e,Ve,He,ae,ne,J,fe,We;let a=(S=(f=s==null?void 0:s.participant)==null?void 0:f.params)==null?void 0:S.info.sync,n=s.mode,l=s.user.userId;d("\u7528\u6237\u5165\u4F1A","\u7528\u6237\u5165\u4F1A",s.user.userId,["sync => ",a,"mode =>",n]);let u=e.room.isBig&&t.streamModels.size>1e3,m=!1;if(a){let P=e.userList.get(s.user.userId);if(P||(P=e.commonUserList.get(s.user.userId)),P){P.inBackground!=!!((C=(b=s.user)==null?void 0:b.customInfo)!=null&&C.inBackground)&&(P.inBackground=!!((y=(v=s.user)==null?void 0:v.customInfo)!=null&&y.inBackground),P.watcher.next({operation:"inBackground",user:P})),P.isCalling!=!!((z=(H=s.user)==null?void 0:H.customInfo)!=null&&z.isCalling)&&(P.isCalling=!!((Y=(X=s.user)==null?void 0:X.customInfo)!=null&&Y.isCalling),P.watcher.next({operation:"isCalling",user:P}));return}}if((Z=e.room)!=null&&Z.isBig&&n===1&&((K=t.room)==null?void 0:K.conferenceMode)===1)if(qe(s.user.permission.permission))e.userList.get(s.user.userId)&&(e.userList.delete(s.user.userId),t.streamModels.delete(s.user.userId),m=!0);else{let ee=e.commonUserList.get(s.user.userId);(se=e.room)!=null&&se.isSingleColumns||ee&&(e.commonUserList.delete(s.user.userId),t.streamModels.delete(s.user.userId),m=!0)}let h=e.addBCUser(s.user);if(h){h.inBackground!=!!((_e=(oe=s.user)==null?void 0:oe.customInfo)!=null&&_e.inBackground)&&(h.inBackground=!!((He=(Ve=s.user)==null?void 0:Ve.customInfo)!=null&&He.inBackground),h.watcher.next({operation:"inBackground",user:h})),h.isCalling!=!!((ne=(ae=s.user)==null?void 0:ae.customInfo)!=null&&ne.isCalling)&&(h.isCalling=!!((fe=(J=s.user)==null?void 0:J.customInfo)!=null&&fe.isCalling),h.watcher.next({operation:"inBackground",user:h}));let P=!1;if(Pe.forEach(ee=>{h!=null&&h.userId.includes(ee)&&(P=!0)}),m?e.updateAllSort():(We=e.room)!=null&&We.isSingleColumns?e.updateCommonUserSort():h?h.isCommonUser?u?e.updateDelayCommonUserSort():e.updateCommonUserSort():h.isAudience?e.updateAudienceUserSort():e.updateUserSort():e.updateAllSort(),t.updateModelSort(),!P){if(s.mode!==1){let ee=new V({isMeetingNotice:!0,userId:h.userId,message:h.nickName+`\u52A0\u5165${r.roomType==2?"\u76F4\u64AD":"\u4F1A\u8BAE"}`});i.addMessage(ee,!0)}o[_i].next({user:h,mode:n,data:s})}}}function xr(s,e,t,r,i,o,a){var l;let n=s.userIds;d("bloud leave users","","",["userIds =>",n]),n.length&&(n.forEach(u=>{let m=Wt(u,e,t,i);m&&Or(m,o,a,r,!0,0)}),(l=e.room)!=null&&l.isSingleColumns?e.updateCommonUserSort():e.updateAllSort(),i.updateModelSort())}function Lr(s,e,t,r,i,o,a){var m;d(`bloud participant left ===>${s.userId}, ${s.mode}`);let n=s.mode===1,l=s.userId,u=t.isBig&&i.streamModels.size>1e3;if(l){let h=Wt(l,e,t,i);if((m=e.room)!=null&&m.isSingleColumns?e.updateCommonUserSort():h?h.isCommonUser?u?e.updateDelayCommonUserSort():e.updateCommonUserSort():h.isAudience?e.updateAudienceUserSort():e.updateUserSort():e.updateAllSort(),i.updateModelSort(),n){r[Ht].next({user:h,mode:s.mode,data:s});return}h&&Or(h,o,a,r,s.mode!==1,s.mode)}else I("participant-left\u89E6\u53D1=======>\u4F46\u662F\u8BE5\u7528\u6237\u4FE1\u606F\u4E0D\u5B58\u5728",T,null,[s.userId]),r[Ht].next({user:s.userId,mode:s.mode,data:s})}function Or(s,e,t,r,i,o){let a=!1;if(Pe.forEach(n=>{s!=null&&s.userId.includes(n)&&(a=!0)}),!a){if(i){let n=new V({isMeetingNotice:!0,userId:s.userId,message:(s==null?void 0:s.nickName)+`\u79BB\u5F00${e.roomType==2?"\u76F4\u64AD":"\u4F1A\u8BAE"}`});t.addMessage(n,!0)}r[Ht].next({user:s,mode:o})}}function Wt(s,e,t,r){let i=e.getUser(s);return e.removeUser(s),t.streamQueue.removeUser({id:s,isScreen:!1}),t.streamQueue.removeUser({id:s,isScreen:!0}),r.removeStreamModelByUId(s),r.removeShareStreamModelByUId(s),t.roomInfo.removeRaiseHandUser(s),t.roomInfo.removeVideoRaiseHandUser(s),t.roomInfo.removeSimpleRaiseHandUser(s),r.shareBloudStateMap.delete(s),i}function kr(s,e,t,r,i){d("changeMaster =>","changeMaster","",["master: => ",s.master,"oldMaster =>",s.oldMaster]);let o=s.master,a=s.oldMaster,n=s.isKeep;if(!o)I("change-master\u89E6\u53D1=======>\u4F46\u662F\u623F\u95F4\u5185\u627E\u4E0D\u5230master",T,null,o),r[Ur].next(null);else{let l=e.updateMaster(o,a,n);l.master&&(l.master.watcher.next({operation:"getMaster",user:l.master}),t.userVM.masterUserWatcher.next(l.master)),l.oldMaster&&(l.oldMaster.watcher.next({operation:"removeMaster",user:l.oldMaster}),n&&l.oldMaster.watcher.next({operation:"getManager",user:l.oldMaster}));let u=i.getStreamModelByUId(a),m=i.getStreamModelByUId(o);u==null||u.updateSortNum(),m==null||m.updateSortNum(),r[Ur].next({master:l.master,oldMaster:l.oldMaster,data:s})}}function Dr(s,e,t,r,i){var l;let o=s.userId,a=e.getUser(o);d("\u8E22\u51FA\u7528\u6237 => ","evict ",a==null?void 0:a.userId,["nickname => ",a==null?void 0:a.nickName]);let n=Wt(o,e,r,t);(l=e.room)!=null&&l.isSingleColumns?e.updateCommonUserSort():n?n.isCommonUser?e.updateCommonUserSort():n.isAudience?e.updateAudienceUserSort():e.updateUserSort():e.updateAllSort(),t.updateModelSort(),i[Vi].next(s)}function _r(s,e,t,r,i){var a;let o=(a=s.user)==null?void 0:a.userId;if(d("\u7528\u6237\u4FE1\u606F\u88AB\u6539\u53D8","",o),o){let n=e.getUser(o),l=r.getStreamModelByUId(o);n?n.updateUserInfo(s.user,s.participant,t):(console.warn("participant-update: bmUser is null"),t.queryBloudUsers([o],!0)),l&&l.updateSortNum(!0),i[Hi].next({bmUser:n,params:s.participant.params})}}var Gt=(0,Nr.debounce)((s,e)=>{s[Di].next(e)},1e3);function Vr(s,e,t,r){return c(this,null,function*(){d("bloud move user room","","",[t]);let i=t.toWait;if(s.isInWaitRoom=i,i){s.handleResetOtherStreamStatus(),e.userList.clear(),e.userListWatcher.next([]),e.commonUserList.clear(),e.commonUserListWatcher.next([]),e.getForceUserWatcher.next(!1),s.bmStreamVm.streamModels.clear(),s.bmStreamVm.clearDetector(),s.bmStreamVm.speakerWatcher.next(null),r[Wi].next(null),s.messageWatcher.next({type:"init",status:!1,isNotCancelRootReport:!1}),s.audioPlayer.destroy();let o=s.bmStreamVm.localModel;o&&s.bmStreamVm.streamModels.set(o.userId,o),s.bmStreamVm.streamModelsWatcher.next([]),s.bmStreamVm.shareStreamModels.clear(),s.bmStreamVm.shareStreamModelsWatcher.next([]),s.roomInfo.raiseHandsWatcher.next([]),s.roomInfo.raiseVideoHandsWatcher.next([]),s.roomInfo.raiseSimpleHandsWatcher.next([]),r[Pr].next(i),Object.values(s.observes).forEach(a=>{a.next(null)})}else{let{audiooff:o,selfopenaudio:a,lock:n}=t.info;n!==s.roomInfo.lock&&s.roomInfo.setlock(n),(o!==s.roomInfo.audioOff||a!==s.roomInfo.selfopenaudio)&&s.roomInfo.setAudioOff(o,a),yield It(t.info,s,e,r,!0),yield yt(s),r[Pr].next(i)}})}var Mt=require("@hysc/utils");function Wr(s,e,t,r){var o,a,n,l,u,m,h,f,S;let i=w({},s);if(i.message){if(i.message=typeof i.message=="string"?JSON.parse(i.message):i.message,d("new-message","","",[" method => ",i.message.method]),i.message.method==="send-talk"){let b=i.user===((o=e.getLocalUser())==null?void 0:o.userId),C=((n=(a=i.message)==null?void 0:a.params)==null?void 0:n.status)||"",v=(m=(u=(l=i.message)==null?void 0:l.params)==null?void 0:u.stream)==null?void 0:m.avatar,y=s.seq,H=new V({userId:i.user,message:C,isLocal:b,avatar:v,to:i.to,seq:y,nickName:(S=(f=(h=i.message)==null?void 0:h.params)==null?void 0:f.stream)==null?void 0:S.nickname,sendTime:new Date().getTime()});t.addMessage(H,!1)}r[Mt.BloudEvents.SEND_MESSAGE].next(i)}}function Gr(s,e,t){var i,o,a,n,l,u,m,h,f,S,b,C,v;let r=w({},s);if(r.message)if(r.message=typeof r.message=="string"?JSON.parse(r.message):r.message,d("custom-message","","",[" method => ",r.message.method]),r.message.method=="video-force-change"){let y=r.message.params.status=="enabled";d(`\u8FDC\u7AEF\u63A7\u5236\u672C\u5730\u6444\u50CF\u5934: ${y}`),e.messageWatcher.next({type:"video-force-change",status:y,fromUserId:r.user})}else if(r.message.method=="audio-force-change"){let y;r.message.params.status=="checkUserAudio"?y=r.message.params.status:y=r.message.params.status=="enabled",d(`\u8FDC\u7AEF\u63A7\u5236\u672C\u5730\u9EA6\u514B\u98CE: ${y}`),e.messageWatcher.next({type:"audio-force-change",status:y,fromUserId:r.user,isNotCancelRootReport:(i=r.message.params)==null?void 0:i.isNotCancelRootReport})}else if(r.message.method==="raise-hands"){let y=r.message.params;Gi(y,e),e.raiseHandleRespWatcher.next(y)}else if(r.message.method==="give-like")(h=e.roomVM)==null||h.giveLikeList.push({userId:r.user,nickName:(n=(a=(o=r.message)==null?void 0:o.params)==null?void 0:a.stream)==null?void 0:n.nickname,time:new Date().getTime(),type:(m=(u=(l=r.message)==null?void 0:l.params)==null?void 0:u.stream)==null?void 0:m.type}),(S=e.roomVM)==null||S.giveLikeListWatcher.next((f=e.roomVM)==null?void 0:f.giveLikeList);else if(r.message.method==="resp-to-check-devices")(b=r.message)!=null&&b.params&&(r.message.params.fromUserId=r.user),t[Mt.BloudEvents.CUSTOM_MESSAGE].next(r);else if(r.message.method==="usercount"){if(r.message.params){let y=(v=(C=r.message)==null?void 0:C.params)==null?void 0:v.total;y?(y=Number(y),y<0&&(I("\u670D\u52A1\u8FD4\u56DE\u7684usercount\u4E3A\u8D1F\u6570,"+y),y=0)):(I("\u670D\u52A1\u672A\u8FD4\u56DEusercount,"+y),y=0),e.roomInfo.totalUserWatcher.next(y)}}else if(r.message.method==="waitusercount"){if(r.message.params){let y=r.message.params.total;e.roomInfo.totalWaitRoomUserWatcher.next(y)}}else t[Mt.BloudEvents.CUSTOM_MESSAGE].next(r)}function Gi(s,e){return c(this,null,function*(){let t=s.raiseInfo;if(s.raiseHandsType===4&&t){let r=e.userVM.getUser(t.userId);if(r||(d("handleRaiseHands:\u7528\u6237\u4E0D\u5B58\u5728,\u5F00\u59CB\u67E5\u8BE2",t.userId),yield e.queryBloudUsers([t.userId],!1,!1),r=e.userVM.audiencesList.get(t.userId)),!r){p("handleRaiseHands:\u7528\u6237\u4E0D\u5B58\u5728",t.userId);return}switch(t.type){case"raiseHandsAudio":r.raiseAudioHands=s.raiseHands;break;case"raiseHandsVideo":r.raiseVideoHands=s.raiseHands;break;case"raiseHand":r.raiseHand=s.raiseHands;break;default:break}E.emitter.emit(F,{status:t.type,user:r})}})}var we=require("@hysc/utils");var Ct=0;var vt=0,Ze=new Set;function Ft(s,e,t,r,i){return c(this,null,function*(){if(p("brtc error","brtc error","",[new Date().toLocaleTimeString(),JSON.stringify(s),s.getCode()]),s.getCode()===4002){e.BRTCConnectFailed=!0,e.networkState.brtc=!1,I("brtc \u4FE1\u4EE4\u901A\u9053\u9519\u8BEF\uFF0C\u9700\u8981\u91CD\u65B0\u8D70\u5165\u4F1A","brtc error",""),e.streamWSReconnectWatcher.next(!1);try{yield t.brtcClient.leave("room_close")}catch(a){p("brtc \u79BB\u4F1A\u5931\u8D25")}setTimeout(()=>c(this,null,function*(){e.handleResetOtherStreamStatus(),yield Fr(t,e,i,s).catch(a=>{d("brtc\u65AD\u7F51\u91CD\u8FDE\u5931\u8D25, \u5904\u7406\u4E00\u4E0B\u9000\u4F1A\u903B\u8F91","","",[JSON.stringify(a)]),i[we.BrtcEvents.ERROR].next(s)})}),1e3)}else i[we.BrtcEvents.ERROR].next(s)})}function Fr(s,e,t,r){return c(this,null,function*(){return new Promise((i,o)=>{setTimeout(()=>{d("brtc\u91CD\u8FDE"),s.brtcClient.join(s.roomId,s.userId,s.brtcSig).then(()=>c(this,null,function*(){d("brtc\u65AD\u7F51\u91CD\u8FDE\u6210\u529F, \u91CD\u65B0\u5904\u7406\u62C9\u6D41\u548C\u63A8\u6D41"),e.networkState.brtc=!0,setTimeout(()=>{e.brtcNetEnableWatcher.next(!0)},2e3),pe(e),e.BRTCConnectFailed=!1,Ct=0,yield e.handleRePushSelf(),e.streamWSReconnectWatcher.next(!0),i(!0)})).catch(a=>{let n=a.getCode();d("\u65AD\u7F51\u91CD\u8FDE\u5165\u4F1A\u5931\u8D25","","",[a,n]),Ct<=10?(Ct+=1,s.brtcClient.isJoinning=!1,setTimeout(()=>{Fr(s,e,t,r)},2*1e3)):(p("brtc\u65AD\u7F51\u91CD\u8FDE\u5931\u8D25\uFF0C\u5904\u7406\u4E00\u4E0B\u9000\u4F1A"),Ct=0,t[we.BrtcEvents.ERROR].next(r),o(!1))})},7*1e3)})})}function jt(s){return c(this,null,function*(){return new Promise((e,t)=>{setTimeout(()=>{d("\u5171\u4EAB\u5C4F\u5E55\u91CD\u8FDE"),s.shareBrtcClient.join(s.roomId,s.userId,s.brtcSig).then(()=>{vt=0,e(!0)}).catch(r=>{let i=r.getCode();if(d("\u5171\u4EAB\u5C4F\u5E55\u65AD\u7F51\u91CD\u8FDE\u5165\u4F1A\u5931\u8D25","","",[r,i]),vt<=3)vt+=1,jt(s);else throw p("\u5171\u4EAB\u5C4F\u5E55\u7528\u6237\u91CD\u8FDE\u5931\u8D25\uFF0C\u5904\u7406\u4E00\u4E0B\u53D6\u6D88\u5171\u4EAB\u5C4F\u5E55"),vt=0,new Error("\u5171\u4EAB\u5C4F\u5E55\u91CD\u8FDE\u5931\u8D25")})},7*1e3)})})}function jr(s,e,t,r,i){return c(this,null,function*(){p("network-error","network-error","local-client",["\u672C\u5730\u94FE\u63A5\u51FA\u73B0\u95EE\u9898","netconnectiong => ",s.netConnecting]),s.netConnecting?yield Et(r,s,i):i[we.BloudEvents.TIMEOUT].next(r)})}var $r=require("@hysc/utils");function Jr(s,e,t){let r=s==null?void 0:s.updateKeys;d("update-custom-stats"," "," ",["updateKeys => ",JSON.stringify(r)]),(r!=null&&r.includes("chatNotice")||r!=null&&r.includes("chatNoticeRich")||r!=null&&r.includes("fileUpdateLook")||r!=null&&r.includes("fileUpdateDown")||r!=null&&r.includes("fileUpdateEdit")||r!=null&&r.includes("fileUpdateModel")||r!=null&&r.includes("screenShareModel")||r!=null&&r.includes("onlyOnePersonShare")||r!=null&&r.includes("chatEnable")||r!=null&&r.includes("giveLikeEnable")||r!=null&&r.includes("cloudRecord")||r!=null&&r.includes("joinAudioEnable")||r!=null&&r.includes("joinVideoEnable")||r!=null&&r.includes("userListEnable")||r!=null&&r.includes("audioEnable")||r!=null&&r.includes("videoEnable")||r!=null&&r.includes("modifyNameEnable")||r!=null&&r.includes("backgroundAIEnable")||r!=null&&r.includes("recordEnable")||r!=null&&r.includes("joinMicrophoneDisable")||r!=null&&r.includes("joinCameraDisable")||r!=null&&r.includes("raiseHandEnable")||r!=null&&r.includes("forceOpenUserMic")||r!=null&&r.includes("forceOpenUserCamera")||r!=null&&r.includes("joinCueVoice"))&&e.roomInfo.updateOperationPermission(s.customStats),(r!=null&&r.includes("chatNotice")||r!=null&&r.includes("chatNoticeRich"))&&e.roomInfo.chatNoticeWatcher.next(s),t[$r.BloudEvents.UPDATE_CUSTOM_STATS].next(s)}var Qr=Nt(require("@hysc/p-queue")),Bt=class{constructor(e,t=!0){this.queue=new Qr.default({concurrency:e,autoStart:t,carryoverConcurrencyCount:!0,timeout:3*1e3,completeAction:r=>{console.log("task complete",r)}}),this.queueArray=[],this.isTaskPending=t}addQueue(e,t,r=0,i=""){this.queue.isPaused&&this.queue.start();let o={};o.taskID=t,o.status="pending",this.queue.add(e,{priority:r,timeout:3*1e3},a=>{if(o.status=a,o.status==="resolve"||o.status==="resolve-paused"||o.status==="resolve-timeout"){let n=this.queueArray.findIndex(l=>o.taskID===l.taskID);n!==-1&&this.queueArray.splice(n,1)}}),this.queueArray.push(o)}clearQueue(){this.queue.clear(),this.queueArray=[],this.queue.onEmpty().then(e=>{}),this.queue.onIdle().then(e=>{console.log("clearQueue\u5168\u90E8\u5B8C\u4E8B")})}startQueue(){this.queue.start()}pauseQueue(){return this.queue.pause(),console.log(`size:${this.size()}`),this.isTaskPending=!1,this.queue.onEmpty().then(e=>{}),this.queue.onIdle().then(e=>{}),this.queueArray}size(){return this.queue.size}pending(){return this.queue.pending}checkTaskStatus(){return this.isTaskPending}setTaskStatus(e){this.isTaskPending=e}onIdle(){return this.queue.onIdle()}onEmpty(){return this.queue.onEmpty()}},j=new Bt(4),A=new Bt(10);var zr=require("@hysc/utils"),g=require("@hysc/utils");function Xr(s,e,t,r,i){d("attachEvents init");let o={};s.on("toggle-screen-share",()=>{p("share stream video track ended, now unpublish share stream"),t.localShareError.next((0,zr.BMShareStreamReconnectFailed)()),t.localShareEndedError.next(!0)}),s.on("client-banned",()=>c(this,null,function*(){yield i.boomCore.leaveShare()})),s.on("share-brtc-error",n=>c(this,null,function*(){if(n.getCode()===4002)try{d("brtc share client disconnected, reconnecting"),yield s.shareBrtcClient.leave("room_close"),jt(s).then(()=>c(this,null,function*(){if(d("brtc share client reconnected, retry repub share stream"),yield q(1e3),s.shareScreenStream){let u=s.shareScreenStream.getAudioOn(),m=s.shareScreenStream.getVideoOn();s.shareBrtcClient.publish(s.shareScreenStream),s.createAndPubBloudShareStream(u,m)}})).catch(()=>{throw new Error("\u5171\u4EAB\u5C4F\u5E55\u91CD\u65B0\u5165\u4F1A\u5931\u8D25")})}catch(u){t.toggleShareScreen(!1,void 0).then(()=>{}).catch(m=>{p("\u5171\u4EAB\u53D1\u751F\u9519\u8BEF\u9000\u4F1A\u5931\u8D25","","",[JSON.stringify(m)])})}}));let a=[];return a=a.concat(Object.values(g.BloudEvents)),a=a.concat(Object.values(g.BrtcEvents)),a=a.concat(Object.values(g.CustomEvents)),a.forEach(n=>{o[n]=new qr.BehaviorSubject(null)}),a.forEach(n=>{switch(n){case g.BrtcEvents.STREAM_PUBLISHED:s.on(g.BrtcEvents.STREAM_PUBLISHED,l=>{A.addQueue(gr.bind(null,l,t,i,o),g.BrtcEvents.STREAM_PUBLISHED)});break;case g.BrtcEvents.BRTC_SYNC_ROOM_COMPLETED:s.on(g.BrtcEvents.BRTC_SYNC_ROOM_COMPLETED,()=>c(this,null,function*(){A.addQueue(i.handleResetOtherStreamStatus.bind(i),g.BrtcEvents.BRTC_SYNC_ROOM_COMPLETED)}));break;case g.CustomEvents.BRTC_SHARE_SYNC_ROOM_COMPLETED:s.on(g.CustomEvents.BRTC_SHARE_SYNC_ROOM_COMPLETED,()=>{d("brtc share client sync completed, retry publish share stream"),A.addQueue(bt.bind(null,i,t),g.CustomEvents.BRTC_SHARE_SYNC_ROOM_COMPLETED)});break;case g.BrtcEvents.BRTC_ROOM_ROCONNECTING:s.on(g.BrtcEvents.BRTC_ROOM_ROCONNECTING,l=>{A.addQueue(vr.bind(null,l,i,o),g.BrtcEvents.BRTC_ROOM_ROCONNECTING)});break;case g.BrtcEvents.BRTC_ROOM_RECONNECTED:s.on(g.BrtcEvents.BRTC_ROOM_RECONNECTED,l=>c(this,null,function*(){A.addQueue(Br.bind(null,l,i,o),g.BrtcEvents.BRTC_ROOM_RECONNECTED)}));break;case g.BrtcEvents.CLIENT_BANNED:s.on(g.BrtcEvents.CLIENT_BANNED,l=>{d("brtc client banned"),Gt(o,l)});break;case g.BrtcEvents.ERROR:s.on(g.BrtcEvents.ERROR,l=>c(this,null,function*(){i.netConnecting?A.addQueue(Ft.bind(null,l,i,s,t,o),g.BrtcEvents.ERROR):Ze.add(Ft.bind(null,l,i,s,t,o))}));break;case g.BloudEvents.SYNC_FAILED:s.on(g.BloudEvents.SYNC_FAILED,l=>{p("bloud sync failed, leave room"),o[g.BloudEvents.TIMEOUT].next(l)});break;case g.BloudEvents.ROOM_CONNECTED:s.on(g.BloudEvents.ROOM_CONNECTED,l=>c(this,null,function*(){return It(l,i,e,o)}));break;case g.CustomEvents.JOIN_READY:s.on(g.CustomEvents.JOIN_READY,()=>yt(i));break;case g.BloudEvents.PARTICIPANT_JOINED:s.on(g.BloudEvents.PARTICIPANT_JOINED,l=>c(this,null,function*(){i.isInWaitRoom||A.addQueue(Tr.bind(null,l,e,t,s,r,o),g.BloudEvents.PARTICIPANT_JOINED)}));break;case g.BloudEvents.PARTICIPANT_LEFT:s.on(g.BloudEvents.PARTICIPANT_LEFT,l=>{i.isInWaitRoom||A.addQueue(Lr.bind(null,l,e,i,o,t,s,r),g.BloudEvents.PARTICIPANT_LEFT)});break;case g.BloudEvents.LEAVE_USERS:s.on(g.BloudEvents.LEAVE_USERS,l=>A.addQueue(xr.bind(null,l,e,i,o,t,s,r),g.BloudEvents.LEAVE_USERS));break;case g.BloudEvents.CHANGE_MASTER:s.on(g.BloudEvents.CHANGE_MASTER,l=>{A.addQueue(kr.bind(null,l,e,i,o,t),g.BloudEvents.CHANGE_MASTER)});break;case g.BloudEvents.SEND_MESSAGE:s.on(g.BloudEvents.SEND_MESSAGE,l=>{A.addQueue(Wr.bind(null,l,e,r,o),g.BloudEvents.SEND_MESSAGE)});break;case g.BloudEvents.CUSTOM_MESSAGE:s.on(g.BloudEvents.CUSTOM_MESSAGE,l=>{A.addQueue(Gr.bind(null,l,i,o),g.BloudEvents.CUSTOM_MESSAGE)});break;case g.BloudEvents.EVICTED:s.on(g.BloudEvents.EVICTED,l=>c(this,null,function*(){A.addQueue(Dr.bind(null,l,e,t,i,o),g.BloudEvents.EVICTED)}));break;case g.BloudEvents.UPDATE_USER:s.on(g.BloudEvents.UPDATE_USER,l=>{A.addQueue(_r.bind(null,l,e,i,t,o),g.BloudEvents.UPDATE_USER)});break;case g.BloudEvents.UPDATE_STATS:s.on(g.BloudEvents.UPDATE_STATS,l=>{A.addQueue(Mr.bind(null,l,i),g.BloudEvents.UPDATE_STATS)});break;case g.BloudEvents.UPDATE_CUSTOM_STATS:s.on(g.BloudEvents.UPDATE_CUSTOM_STATS,l=>{A.addQueue(Jr.bind(null,l,i,o),g.BloudEvents.UPDATE_CUSTOM_STATS)});break;case g.BloudEvents.TIMEOUT:s.on(g.BloudEvents.TIMEOUT,l=>{A.addQueue(jr.bind(null,i,s,t,l,o),g.BloudEvents.TIMEOUT)});break;case g.BloudEvents.USER_REJOINED:s.on(g.BloudEvents.USER_REJOINED,l=>{d("bloud user rejoined"),Gt(o,l)});break;case g.BloudEvents.RECONNECTING:s.on(g.BloudEvents.RECONNECTING,l=>{A.addQueue(Ar.bind(null,l,i,o),g.BloudEvents.RECONNECTING)});break;case g.BloudEvents.RECONNECTED:s.on(g.BloudEvents.RECONNECTED,l=>c(this,null,function*(){A.addQueue(Et.bind(null,l,i,o),g.BloudEvents.RECONNECTED)}));break;case g.BloudEvents.ROOM_SYNCED:s.on(g.BloudEvents.ROOM_SYNCED,l=>c(this,null,function*(){A.addQueue(Rr.bind(null,l,e,i,t,o),g.BloudEvents.ROOM_SYNCED)}));break;case g.BloudEvents.STREAM_PUBLISHED:s.on(g.BloudEvents.STREAM_PUBLISHED,l=>c(this,null,function*(){A.addQueue(fr.bind(null,l,t,o),g.BloudEvents.STREAM_PUBLISHED)}));break;case g.BloudEvents.STREAM_REMOVED:s.on(g.BloudEvents.STREAM_REMOVED,l=>c(this,null,function*(){A.addQueue(Sr.bind(null,l,t,i,o),g.BloudEvents.STREAM_REMOVED)}));break;case g.BloudEvents.UPDATE_STREAM:s.on(g.BloudEvents.UPDATE_STREAM,l=>c(this,null,function*(){A.addQueue(br.bind(null,l,t,o),g.BloudEvents.UPDATE_STREAM)}));break;case g.BloudEvents.STREAM_UPDATE:s.on(g.BloudEvents.STREAM_UPDATE,l=>c(this,null,function*(){A.addQueue(Vt.bind(null,l,t),g.BloudEvents.STREAM_UPDATE)}));break;case g.BloudEvents.MOVE_USER_ROOM:s.on(g.BloudEvents.MOVE_USER_ROOM,l=>c(this,null,function*(){A.addQueue(Vr.bind(null,i,e,l,o),g.BloudEvents.MOVE_USER_ROOM)}));break;default:s.on(n,l=>o[n].next(l));break}}),o}var M=require("@hysc/utils"),Yr=require("rxjs");var Ke=class{constructor(e,t,r){this.room=null;this.tipQueueObj={};this.roomInfo=r,this.userVM=t,this.boomCore=e,this.giveLikeList=[],this.giveLikeListWatcher=new Yr.Subject}initWithRoom(e){this.room=e}evictUser(e,t){return c(this,null,function*(){if(!e)return Promise.reject((0,M.BmEvictUserError)("\u672A\u4F20\u9012\u7528\u6237id"));if(!this.userVM.checkLocalHasMaster())return Promise.reject((0,M.BmEvictUserError)("\u53EA\u6709\u4E3B\u6301\u4EBA\u6743\u9650\u624D\u80FD\u8E22\u51FA\u7528\u6237"));if(this.userVM.checkIsMaster(e))return Promise.reject((0,M.BmEvictUserError)("\u4E3B\u6301\u4EBA\u4E0D\u80FD\u88AB\u8E22\u51FA"));try{yield this.boomCore.evictUser(e,t)}catch(r){return Promise.reject((0,M.BmEvictUserError)(`\u8E22\u51FA\u7528\u6237\u5931\u8D25${JSON.stringify(r)}`))}})}updateUser(e,t){return c(this,null,function*(){if(!e)return Promise.reject((0,M.BmUpdateUserError)("\u672A\u4F20\u9012\u76EE\u6807\u7528\u6237id"));if(!t)return Promise.reject((0,M.BmUpdateUserError)("info\u4E3A\u7A7A,\u8BF7\u5199\u5165\u8981\u66F4\u65B0\u7684\u4FE1\u606F"));yield this.boomCore.updateUser(e,{customInfo:t}).catch(r=>Promise.reject((0,M.BmUpdateUserError)(`boomCore updateUser\u51FA\u9519 ${JSON.stringify(r)}`)))})}changeMaster(e,t){return c(this,null,function*(){var r;if(!e)return Promise.reject((0,M.BmChangeMasterError)("\u672A\u4F20\u9012\u4E3B\u6301\u4EBAid"));if(this.userVM.checkLocalHasMaster()||(r=this.userVM.getUser(e))!=null&&r.isCreate)try{yield this.boomCore.changeMaster(e,t)}catch(i){return Promise.reject((0,M.BmChangeMasterError)(`boomCore changeMaster error ${i}`))}else return console.error("\u8BE5\u7528\u6237\u6CA1\u6709\u7BA1\u7406\u5458\u6743\u9650, \u65E0\u6CD5\u6539\u53D8\u4E3B\u6301\u4EBA",T,e),Promise.reject((0,M.BmChangeMasterError)("\u60A8\u6CA1\u6709\u7BA1\u7406\u5458\u6743\u9650, \u65E0\u6CD5\u6539\u53D8\u4E3B\u6301\u4EBA"))})}updateManager(e,t,r=!0){return c(this,null,function*(){return e?this.userVM.checkLocalHasMaster()?this.userVM.updateManager(e,t,r):(console.error("\u8BE5\u7528\u6237\u6CA1\u6709\u7BA1\u7406\u5458\u6743\u9650, \u65E0\u6CD5\u6539\u53D8\u8054\u5E2D\u4E3B\u6301\u4EBA",T,e),Promise.reject((0,M.BmUpdateManagerError)("\u8BE5\u7528\u6237\u6CA1\u6709\u7BA1\u7406\u5458\u6743\u9650, \u65E0\u6CD5\u6539\u53D8\u4E3B\u6301\u4EBA"))):Promise.reject((0,M.BmUpdateManagerError)("\u672A\u4F20\u9012\u8054\u5E2D\u4E3B\u6301\u4EBAid"))})}changeNickName(e,t){return c(this,null,function*(){let r={nickname:t};yield this.updateUser(e,r)})}sendMessageWithMaster(e,t){return c(this,null,function*(){if(!this.userVM.checkLocalHasMaster())return Promise.reject((0,M.BmSetRemoteAudioEnable)("\u60A8\u4E0D\u662F\u4E3B\u6301\u4EBA\uFF0C\u6CA1\u6709\u8BE5\u6743\u9650"));if(t&&!this.userVM.getUser(t))return Promise.reject((0,M.BmSetRemoteAudioEnable)(`uid: ${t} \u672A\u627E\u5230\u7528\u6237`));try{yield this.boomCore.customMessage(JSON.stringify(e),t)}catch(r){return Promise.reject(r)}})}setRemoteAudioEnable(e,t,r){return c(this,null,function*(){let i=e?"enabled":"disabled";i=="enabled"&&r&&(i="checkUserAudio");let o={domain:"room-control",method:"audio-force-change",params:{status:i,isNotCancelRootReport:r,fromUserId:this.boomCore.getLocalParticipant().getID()}};this.sendMessageWithMaster(o,t).catch(a=>Promise.reject((0,M.BmSetRemoteAudioEnable)(`boomCore.sendMessage\u53D1\u751F\u9519\u8BEF ${a}`)))})}setRemoteVideoEnable(e,t){return c(this,null,function*(){let r={domain:"room-control",method:"video-force-change",params:{status:e?"enabled":"disabled",fromUserId:this.boomCore.getLocalParticipant().getID()}};this.sendMessageWithMaster(r,t).catch(i=>Promise.reject((0,M.BmSetRemoteVideoEnable)(`boomCore.sendMessage\u53D1\u751F\u9519\u8BEF ${i}`)))})}closeRemoteShare(e){return c(this,null,function*(){let t={domain:"room-control",method:"close-remote-share",params:{fromUserId:this.boomCore.getLocalParticipant().getID()}};this.sendMessageWithMaster(t,e).catch(r=>Promise.reject((0,M.BmSetRemoteAudioEnable)(`boomCore.sendMessage\u53D1\u751F\u9519\u8BEF ${r}`)))})}tipUser(e,t,r,i){return c(this,null,function*(){let o={domain:"room-control",method:"tip-user",params:{fromUserId:this.boomCore.getLocalParticipant().getID(),message:t,richMsg:r}};i?this.tipQueueObj[e]=setTimeout(()=>{this.sendMessageWithMaster(o,e)},(i.minutes||0)*60*1e3+(i.seconds||0)*1e3):this.sendMessageWithMaster(o,e).catch(a=>Promise.reject((0,M.BmSetRemoteAudioEnable)(`boomCore.sendMessage\u53D1\u751F\u9519\u8BEF ${JSON.stringify(a)}`)))})}raiseHands(e,t){return c(this,null,function*(){var o,a;let r=(o=this.room)==null?void 0:o.getLocalParticipant().getID(),i={};e==="raiseHand"?(i.raiseHand=t,i.raiseHandTime=Math.floor(new Date().getTime()/1e3)):i[e==="audio"?"raiseHandsAudio":"raiseHandsVideo"]=t,yield this.updateUser(r,i),(a=this.room)!=null&&a.isBig&&(yield this.raiseHandsByCustomMessage(e,t,r))})}raiseHandsByCustomMessage(e,t,r){return c(this,null,function*(){var a;let i="raiseHand";e!="raiseHand"&&(i=e==="audio"?"raiseHandsAudio":"raiseHandsVideo");let o={domain:"user-control",method:"raise-hands",params:{raiseHandsType:4,raiseHands:t,raiseInfo:{userId:r,raiseHandTime:Math.floor(new Date().getTime()/1e3),type:i}}};return(a=this.room)==null||a.userVM.userList.forEach(n=>c(this,null,function*(){n.hasManager()&&(yield this.boomCore.customMessage(JSON.stringify(o),n.userId))})),!0})}handleRaiseHands(e,t,r){return c(this,null,function*(){var o,a,n;let i={domain:"user-control",method:"raise-hands",params:{raiseHandsType:e,raiseHands:t}};try{if(r)yield this.boomCore.customMessage(JSON.stringify(i),r);else{let l=(o=this.room)==null?void 0:o.roomInfo.raiseHandsWatcher.getValue(),u=(a=this.room)==null?void 0:a.roomInfo.raiseVideoHandsWatcher.getValue(),m=(n=this.room)==null?void 0:n.roomInfo.raiseSimpleHandsWatcher.getValue();e===0&&(l==null||l.forEach(h=>{this.boomCore.customMessage(JSON.stringify(i),h.userId)}),u==null||u.forEach(h=>{this.boomCore.customMessage(JSON.stringify(i),h.userId)})),e===1&&(l==null||l.forEach(h=>{this.boomCore.customMessage(JSON.stringify(i),h.userId)})),e===2&&(u==null||u.forEach(h=>{this.boomCore.customMessage(JSON.stringify(i),h.userId)})),e===3&&(m==null||m.forEach(h=>{this.boomCore.customMessage(JSON.stringify(i),h.userId)}))}}catch(l){return Promise.reject(new N(1e3,"boomCore.sendMessage\u53D1\u751F\u9519\u8BEF"))}})}updateCustomStats(e,t=!1){return c(this,null,function*(){yield this.boomCore.updateCustomStats(e,t).catch(r=>Promise.reject((0,M.updateCustomStatsError)(`${JSON.stringify(e)} - ${JSON.stringify(r)}`)))})}sendChatNotice(e,t,r){return c(this,null,function*(){yield this.updateCustomStats({chatNotice:e,chatNoticeRich:t,showTipNotice:r}).catch(i=>i)})}giveLikeEnable(e){return c(this,null,function*(){yield this.updateCustomStats({giveLikeEnable:e}).catch(t=>t)})}changeAutoMute(e){return c(this,null,function*(){return this.updateCustomStats({autoMute:e})})}allUserReceiveJoinLeaveMessages(e){return c(this,null,function*(){return this.updateCustomStats({allUserReceiveJoinLeaveMessages:e})})}userJoinMasterVoice(e){return c(this,null,function*(){return this.updateCustomStats({userJoinMasterVoice:e})})}userGiveLike(e){return c(this,null,function*(){var o,a;let t=new Date().getTime(),r={domain:"room-control",method:"give-like",params:{stream:{user:this.userVM.localUser.userId,avatar:this.userVM.localUser.avatar,sendTime:t,nickname:this.userVM.localUser.nickName,type:e||1}}},i=this.userVM.getLocalUser();try{yield this.boomCore.customMessage(JSON.stringify(r),void 0),this.giveLikeList.push({userId:(o=this.room)==null?void 0:o.getLocalParticipant().userId,nickName:(a=this.room)==null?void 0:a.getLocalParticipant().nickName,time:new Date().getTime(),type:e}),this.giveLikeListWatcher.next(this.giveLikeList)}catch(n){throw p(n,T,i==null?void 0:i.userId),new N(4005,"\u7528\u6237\u70B9\u8D5E==>sendMessage\u51FA\u9519")}})}chatEnable(e){return c(this,null,function*(){yield this.updateCustomStats({chatEnable:e}).catch(t=>t)})}joinAudioEnable(e){return c(this,null,function*(){yield this.updateCustomStats({joinAudioEnable:e}).catch(t=>t)})}joinVideoEnable(e){return c(this,null,function*(){yield this.updateCustomStats({joinVideoEnable:e}).catch(t=>t)})}userListEnable(e){return c(this,null,function*(){yield this.updateCustomStats({userListEnable:e}).catch(t=>t)})}audioEnable(e){return c(this,null,function*(){yield this.updateCustomStats({audioEnable:e}).catch(t=>t)})}videoEnable(e){return c(this,null,function*(){yield this.updateCustomStats({videoEnable:e}).catch(t=>t)})}modifyNameEnable(e){return c(this,null,function*(){yield this.updateCustomStats({modifyNameEnable:e}).catch(t=>t)})}backgroundAIEnable(e){return c(this,null,function*(){yield this.updateCustomStats({backgroundAIEnable:e}).catch(t=>t)})}forceOpenUserCamera(e){return c(this,null,function*(){yield this.updateCustomStats({forceOpenUserCamera:e}).catch(t=>t)})}forceOpenUserMic(e){return c(this,null,function*(){yield this.updateCustomStats({forceOpenUserMic:e}).catch(t=>t)})}joinCueVoice(e){return c(this,null,function*(){yield this.updateCustomStats({joinCueVoice:e}).catch(t=>t)})}recordEnable(e){return c(this,null,function*(){yield this.updateCustomStats({recordEnable:e}).catch(t=>t)})}raiseHandEnable(e){return c(this,null,function*(){yield this.updateCustomStats({raiseHandEnable:e}).catch(t=>t)})}joinMicrophoneDisable(e){return c(this,null,function*(){yield this.updateCustomStats({joinMicrophoneDisable:e}).catch(t=>t)})}joinCameraDisable(e){return c(this,null,function*(){yield this.updateCustomStats({joinCameraDisable:e}).catch(t=>t)})}changeFileUpdateModelPermission(e){return c(this,null,function*(){yield this.updateCustomStats({fileUpdateModel:e}).catch(t=>t)})}changeFileUpdateLookPermission(e){return c(this,null,function*(){yield this.updateCustomStats({fileUpdateLook:e}).catch(t=>t)})}changeFileUpdateDownPermission(e){return c(this,null,function*(){yield this.updateCustomStats({fileUpdateDown:e}).catch(t=>t)})}changeFileUpdateEditPermission(e){return c(this,null,function*(){yield this.updateCustomStats({fileUpdateEdit:e}).catch(t=>t)})}changeScreenShareModelPermission(e){return c(this,null,function*(){yield this.updateCustomStats({screenShareModel:e}).catch(t=>t)})}changeOnlyOnePersonSharePermission(e){return c(this,null,function*(){yield this.updateCustomStats({onlyOnePersonShare:e}).catch(t=>t)})}setForceOnUser(e){return c(this,null,function*(){yield this.updateCustomStats({forceOn:{user:e}}).catch(t=>t)})}updateCloudRecord(e){return c(this,null,function*(){return yield this.updateCustomStats({cloudRecord:{userId:e.userId,recordStatus:e.recordStatus}}).catch(t=>t)})}updateSafeHideSec(e){return c(this,null,function*(){return yield this.updateCustomStats({safeHideSec:e}).catch(t=>t)})}updateHostLayout(e,t=!1){return c(this,null,function*(){if(!this.userVM.checkLocalHasMaster())d("\u60A8\u4E0D\u662F\u4E3B\u6301\u4EBA\uFF0C\u6CA1\u6709\u8BE5\u4E0A\u62A5\u6743\u9650",T);else return this.updateCustomStats({from:{fromTag:"masterId"},hostLayout:e},t)})}checkDevices(e){return c(this,null,function*(){let t={domain:"user-control",method:"check-devices",params:{fromUserId:this.boomCore.getLocalParticipant().getID()}};this.sendMessageWithMaster(t,e).catch(r=>Promise.reject((0,M.BmCheckDeviceError)(`\u68C0\u6D4B\u5BF9\u65B9\u8BBE\u5907send-message\u53D1\u751F\u9519\u8BEF: ${r}`)))})}resp2CheckDevices(e,t){return c(this,null,function*(){let r={domain:"user-control",method:"resp-to-check-devices",params:Fe(w({},e),{fromUserId:this.boomCore.getLocalParticipant().getID()})};if(!t)return Promise.reject((0,M.BmCheckDeviceError)(`\u54CD\u5E94\u8BBE\u5907\u68C0\u6D4B: uid: ${t} \u672A\u627E\u5230\u7528\u6237`));try{yield this.boomCore.customMessage(JSON.stringify(r),t)}catch(i){return Promise.reject((0,M.BmCheckDeviceError)(`\u54CD\u5E94\u54CD\u5E94\u8BBE\u5907\u68C0\u6D4Bsend-message\u53D1\u751F\u9519\u8BEF ${i}`))}})}changeRemoteVideoProfile(e,t){return c(this,null,function*(){let r={domain:"user-control",method:"change-video-profile",params:Fe(w({},e),{fromUserId:this.boomCore.getLocalParticipant().getID()})};this.sendMessageWithMaster(r,t).catch(i=>Promise.reject((0,M.BmChangeVideoProfileError)(`\u8C03\u8282\u5BF9\u65B9\u7684\u89C6\u9891\u5206\u8FA8\u7387send-message\u53D1\u751F\u9519\u8BEF: ${i}`)))})}resp2ChangeRemoteVideoProfile(e,t,r){return c(this,null,function*(){let i={domain:"user-control",method:"resp-to-change-video-profile",params:{status:e,profile:r,fromUserId:this.boomCore.getLocalParticipant().getID()}};if(!t)return Promise.reject((0,M.BmChangeVideoProfileError)(`\u54CD\u5E94\u8C03\u8282\u89C6\u9891\u5206\u8FA8\u7387: uid: ${t} \u672A\u627E\u5230\u7528\u6237`));try{yield this.boomCore.customMessage(JSON.stringify(i),t)}catch(o){return Promise.reject((0,M.BmChangeVideoProfileError)(`\u54CD\u5E94\u8C03\u8282\u89C6\u9891\u5206\u8FA8\u7387send-message\u53D1\u751F\u9519\u8BEF ${o}`))}})}changeRemoteAudioProfile(e,t){return c(this,null,function*(){let r={domain:"user-control",method:"change-audio-profile",params:{microphoneDevice:e.microphoneDevice,speakerDevice:e.speakerDevice,echoCancellation:e.echoCancellation,noiseSuppression:e.noiseSuppression,autoGainControl:e.autoGainControl,speakerVolume:e.speakerVolume,microVolume:e.microVolume,fromUserId:this.boomCore.getLocalParticipant().getID()}};this.sendMessageWithMaster(r,t).catch(i=>Promise.reject((0,M.BmChangeAudioProfileError)(`\u8C03\u8282\u97F3\u9891send-message\u53D1\u751F\u9519\u8BEF ${JSON.stringify(i)}`)))})}resp2ChangeRemoteAudioProfile(e,t){return c(this,null,function*(){let r={domain:"user-control",method:"resp-to-change-audio-profile",params:{status:e,fromUserId:this.boomCore.getLocalParticipant().getID()}};if(!t)return Promise.reject((0,M.BmChangeAudioProfileError)(`\u54CD\u5E94\u8C03\u8282\u97F3\u9891: uid: ${t} \u672A\u627E\u5230\u7528\u6237`));try{yield this.boomCore.customMessage(JSON.stringify(r),t)}catch(i){return Promise.reject((0,M.BmChangeAudioProfileError)(`\u54CD\u5E94\u8C03\u8282\u97F3\u9891send-message\u53D1\u751F\u9519\u8BEF ${i}`))}})}};var At=require("rxjs");var Zr=require("lodash-es");var et=class{constructor(e,t,r){this.messageList=[];this.hasDangerMessageWatcher=new At.Subject;this.notificationMessageList=(0,Zr.throttle)(()=>{this.messageListWatcher.next(this.messageList)},200);this.boomCore=e,this.userVM=t,this.bmRoom=r,this.messageListWatcher=new At.BehaviorSubject(this.messageList)}sendMessage(e,t,r){return c(this,null,function*(){let i=e.replace(/(^\s*)|(\s*$)/g,""),o=new Date().getTime(),a={domain:"room-control",method:"send-talk",params:{stream:{user:this.userVM.localUser.userId,avatar:this.userVM.localUser.avatar,sendTime:o,nickname:this.userVM.localUser.nickName},status:i}},n=this.userVM.getLocalUser();try{let l=!1,u,m=r;m||(yield this.boomCore.sendMessage(JSON.stringify(a),t).then(f=>{u=f.seq}).catch(f=>{I("sendmessage \u51FA\u9519","",n==null?void 0:n.userId,[f]),f&&f.code===39&&(l=!0,this.hasDangerMessageWatcher.next(!0))}));let h=new V({userId:n==null?void 0:n.userId,message:i,isLocal:n==null?void 0:n.isLocal,avatar:n==null?void 0:n.avatar,nickName:n==null?void 0:n.nickName,sendTime:o,to:t,isDanger:l,seq:u,failed:m});return this.addMessage(h,!1),m?Promise.reject(h):Promise.resolve()}catch(l){throw p(l,T,n==null?void 0:n.userId),new N(4005,"\u53D1\u9001\u804A\u5929\u6D88\u606F==>sendMessage\u51FA\u9519")}})}addMessage(e,t){if(!(t&&!this.bmRoom.participantNotice)){if(this.messageList.length==0||e.timeStamp-this.messageList[this.messageList.length-1].timeStamp>=cr){let r=new V({isMeetingNotice:!0,message:""});this.messageList.push(r)}this.messageList.push(e),this.notificationMessageList()}}updateMessageListWatcher(e){this.messageList=e,this.messageListWatcher.next(this.messageList)}getHistoryMessage(){return c(this,null,function*(){let e=yield this.boomCore.getMessages(0,this.boomCore.getMsgSeq()),t=[];return e.items.forEach(r=>{if(r.private||r.to||r.msg.length==0||r.msg.indexOf("{")==-1)return!1;let i=JSON.parse(r.msg);if(i.method!="send-talk")return!1;let o=r.seq,a=i.params,n=a.stream.user?a.stream.user:r.userId,l={nickName:a.stream.nickname,content:a.status,timeStamp:new Date().getTime(),userId:n},u=new V({userId:n,message:a.status,nickName:a.stream.nickname,isLocal:n==this.userVM.localUser.userId,avatar:a.stream.avatar,sendTime:a.stream.sendTime,seq:o});t.push(u)}),Promise.resolve(t)})}generateInfo(e){return new V(e)}};var G=require("rxjs");var si=require("@hysc/core");var Te=class{constructor(e,t){this.user=e,this.stream=t}getID(){return this.stream.getStreamId()}getUser(){return this.user}};var Le=require("lodash-es");function Kr(s,e){return 16|~~s<<1|~~e}function ei(s,e){return 12|~~s<<1|~~e}function ti(s,e){return 8|~~s<<1|~~e}function ri(s,e){return 4|~~s<<1|~~e}function ii(){return Date.now()}function Rt(){let s=ii();return function(){return ii()-s}}var oi=require("detect-browser");var xe=(0,oi.detect)(),ji=(xe==null?void 0:xe.name)==="safari"||(xe==null?void 0:xe.name)==="ios";var ge=`.streammodel${Math.random()}`,Oe=class{constructor(e,t,r=!1){this.streamType=3;this.pullFailedNum=0;this._video_enable=!1;this._audio_enable=!1;this.videoEnableWatcher=new G.BehaviorSubject(this._video_enable);this.audioEnableWatcher=new G.BehaviorSubject(this._audio_enable);this.streamUpdateWatcher=new G.Subject;this.isSubScribedWatcher=new G.Subject;this.playStateChangeWatcher=new G.Subject;this.noContainerWatcher=new G.Subject;this.noBigContainerWatcher=new G.Subject;this.audioLevelWatcher=new G.Subject;this.isCurrentDisplay=!1;this.isDisplay=!1;this.isDisplayObserve=new G.Subject;this.isInBig=!1;this.isInBigObserve=new G.Subject;this._hasPulled=!1;this.shouldPull=!1;this.smallPlayFailed=0;this._pulledStreamType="small";this.pulledStreamGoal="small";this.bigPlayerId="";this.isPlayingBig=!1;this.muted=!1;this.checkVideoTimer=null;this.checkCount=0;this.sortNum=-1;this.isWhiteboard=!1;this.handleDisplayChange=e=>{this.isDisplay!==e&&(this.isDisplay=e,this.isDisplay||(this.checkVideoTimer&&clearTimeout(this.checkVideoTimer),this.checkVideoTimer=null,this.checkCount=0,this.pulledStreamType="small"),this.sendMessage2Room())};this.onPlayerStateChange=e=>{var t,r;e.type==="error"&&e.reason&&e.reason.name==="NotAllowedError"&&d("\u64AD\u653E\u5931\u8D25, \u9700\u8981\u8C03\u7528 resume \u65B9\u6CD5"),(e.state==="PAUSED"||e.reason==="pause")&&(this.player&&((t=this.player)==null||t.resume()),(r=this.stream)==null||r.resume())};this.handleStreamConnectError=()=>{d("\u6D41\u51FA\u73B0\u7684connect-error userId","",this.userId,["streamId ==>",this.streamId,"nickname =>",this.nickname,"isLocal => ",this.isLocal]),this.isLocal?E.emitter.emit(le,{stream:this,isLocal:!0}):E.emitter.emit(le,{stream:this,isLocal:!1})};this.bindElement=e=>{!this.isLocal&&(!this.stream||!this.stream.isSubscribed())||this.emitBindElement()};this.bindBigElement=e=>{this.bigPlayerId=e,!(!this.isLocal&&(!this.stream||!this.stream.isSubscribed()))&&this.emitBindBigElement()};this.sendMessage2Room=(0,Le.debounce)(()=>{E.emitter.emit(Se,{stream:this})},100);this.emitBindElement=(0,Le.debounce)(()=>{E.emitter.emit(Ie,{stream:this})},50);this.emitBindBigElement=(0,Le.debounce)(()=>{E.emitter.emit(Ce,{stream:this})},50);this.currentIsPlaying=(e,t=!0)=>{var l;let r=document.getElementById(e);if(!r)return 0;let i,o,a=0,n=Array.from(r.children);return i=n.length>0,o=n.length,n.forEach(u=>{u.children.length===0&&(a+=1)}),a>0&&(I(`check stream current is playing failed, ${e}`),t?this.stop():((l=this.player)==null||l.destroy(),this.player=null)),i&&o>a?2:1};this.play=(e=!1)=>c(this,null,function*(){var r,i;if(!this.playerId){I(`no playerId, do not play :${this.nickname} - ${this.userId} - ${this.streamId}`);return}let t=this.stream;if(t){if(!this.isLocal&&!t.isSubscribed())return;let o=Rt();if(this.isDisplay&&this.videoEnable){if(e){this.stop(),yield t.play(this.playerId,{backgroundColor:"#202020",fit:"contain",audio:!tt}),(r=E.emitter)==null||r.emit(Q,{uid:this.userId}),d(`\u64AD\u653E\u8017\u65F6: ${o()}`,"",this.userId);return}let a=this.currentIsPlaying(this.playerId);if(a===0)I("\u627E\u4E0D\u5230\u64AD\u653E\u5668\u5BB9\u5668","stream play",this.userId,["\u6D41 id =>",this.streamId,"nickname =>",this.nickname,"playerId =>",this.playerId]),this.playerId||E.emitter.emit(ce,{type:this.isShare?"share":"normal",id:this.userId,container:"small"});else if(a===1)try{d("\u8FDC\u7AEF\u6D41\u5F00\u59CB\u64AD\u653E","",this.userId),yield t.play(this.playerId,{backgroundColor:"#202020",fit:"contain",audio:!tt}),(i=E.emitter)==null||i.emit(Q,{uid:this.userId}),d("\u8FDC\u7AEF\u6D41\u64AD\u653E\u7ED3\u675F",this.userId,this.streamId,[this.nickname]),d(`\u64AD\u653E\u8017\u65F6: ${o()}`,"",this.userId),this.smallPlayFailed=0,this.checkSmallVideo()}catch(n){this.stop(),setTimeout(()=>{p("\u64AD\u653E\u5C0F\u6D41\u5931\u8D25, \u5C1D\u8BD5\u91CD\u65B0\u64AD\u653E","\u64AD\u653E",this.userId,[this.streamId,this.stream,"error => ",JSON.stringify(n)]),this.play()},2*1e3)}}else this.stop()}});this.playInBig=(e=!1)=>c(this,null,function*(){var r,i,o,a;if(!this.bigPlayerId){I(`no bigPlayerId, do not play in big :${this.nickname} - ${this.userId} - ${this.streamId}`);return}let t=this.stream;if(t){if(!this.isLocal&&!t.isSubscribed())return;if(this.isInBig&&this.videoEnable&&this.bigPlayerId){let n=Rt();if(e){this.initBigPlayer(),yield(r=this.player)==null?void 0:r.play(t),(i=E.emitter)==null||i.emit(Q,{uid:this.userId}),d(`\u5927\u6D41\u64AD\u653E\u8017\u65F6: ${n()}`,"",this.userId);return}let l=this.currentIsPlaying(this.bigPlayerId,!1);l===0?(I("\u627E\u4E0D\u5230 bigPlayerId","\u5927\u6D41\u64AD\u653E",this.userId,["\u6D41 id =>",this.streamId]),this.bigPlayerId||E.emitter.emit(ce,{type:this.isShare?"share":"normal",id:this.userId,container:"big"})):l===1&&(d("\u8FDC\u7AEF\u6D41\u5927\u6D41\u5F00\u59CB\u64AD\u653E","",this.userId),this.initBigPlayer(),this.player&&(yield this.player.play(t),(o=E.emitter)==null||o.emit(Q,{uid:this.userId}),this.isPlayingBig=!0,this.checkBigVideo()),d("\u8FDC\u7AEF\u6D41\u5927\u6D41\u64AD\u653E\u7ED3\u675F",this.userId,this.streamId,[this.nickname]),d(`\u5927\u6D41\u64AD\u653E\u8017\u65F6: ${n()}`,"",this.userId))}else(a=this.player)==null||a.destroy(),this.player=null,this.isPlayingBig=!1}});this.collectAudioLevel=()=>{this.stream?(this.stream.off("audio-level"+ge,this.handleAudioLevel),this.stream.on("audio-level"+ge,this.handleAudioLevel)):I("collection audio level but not have brtc stream")};this.handleAudioLevel=e=>{this.audioLevelWatcher.next(e)};this.checkSmallVideo=()=>c(this,null,function*(){if(this.videoEnable&&this.stream&&!this.isShare&&!!document.getElementById(this.playerId)){let t=`video_${this.stream.getStreamId()}`;if(!!document.getElementById(t)){this.checkVideoDecodeFrame(t);return}else p(`stream is display, but no video element, should replay now: ${this.smallPlayFailed}`),this.smallPlayFailed<3&&(this.smallPlayFailed+=1,yield q(1e3),this.stop(),yield this.play())}});this.checkBigVideo=(0,Le.debounce)(()=>{var e;if(this.videoEnable&&this.stream){let t=`video_${this.stream.getStreamId()}_big`;if(!this.isShare&&this.isDisplay&&this.playerId){let r=!!document.getElementById(t);if(this.isInBig)if(r){this.checkVideoDecodeFrame(t);return}else p("stream is playing in big, but no video element, replay now"),(e=this.player)==null||e.destroy(),this.player=null,this.playInBig()}this.isShare&&this.isInBig&&this.bigPlayerId&&this.checkVideoDecodeFrame(t)}},2e3);this.checkStreamIsPlaying=(0,Le.debounce)(()=>{if(this.isDisplay&&this.videoEnable){if(!this.stream||!document.getElementById(this.playerId))return;this.currentIsPlaying(this.playerId)===2||(p(`${this.userId} - ${this.nickname}: current is ${this.isDisplay}, but there is no player, try play again`),this.play())}},1e3);this.user=e,this.updateUser(e),this._stream=t,this.isDisplayObserve.subscribe(i=>{this.handleDisplayChange(i)}),this.isInBigObserve.subscribe(i=>{this.handleIsInBig(i)}),this.updateSortNum(!1),this.isWhiteboard=r}get hasPulled(){return this._hasPulled}set hasPulled(e){this._hasPulled=e}get pulledStreamType(){return this._pulledStreamType}set pulledStreamType(e){this._pulledStreamType=e}get uuid(){return this.isShare?`${this.userId}_share`:this.isWhiteboard?`${this.userId}_whiteboard`:this.userId}get playerId(){return this.isDisplay?"v_"+this.uuid:""}get isAudience(){return this.user.isAudience}get canShow(){return this.isAudience?this.user.audienceEnableSpeaking:!0}changeMute(e){this.muted!==e&&(this.muted=e,this.handleSpeakerChange())}handleSpeakerChange(){var e,t;this.isLocal||(this.muted?(e=this.stream)==null||e.setAudioVolume(0):(t=this.stream)==null||t.setAudioVolume(1))}get isToupingma(){return this.user.isToupingma}get isMixer(){return this.user.isMixer}get isSignal(){return this.user.isSignal}genReceiveSubMsg(){let e;return this.isDisplay?e={audio:!0,video:!0,streamType:"small"}:e={audio:!0,video:!1,streamType:"small"},e}handleIsInBig(e){this.isInBig!==e&&(this.isInBig=e,d("isInBig change","",this.userId,["streamId =>",this.streamId,"isInBig => ",e,"isShare =>",this.isShare]),this.isInBig?this.pulledStreamGoal="big":this.pulledStreamGoal="small",this.sendMessage2Room(),this.isShare&&(this.isInBig||(this.checkVideoTimer&&clearTimeout(this.checkVideoTimer),this.checkVideoTimer=null,this.checkCount=0)))}setVideoEnable(e){this._video_enable!==e&&(this._video_enable=e,this.videoEnableWatcher.next(e))}setAudioEnable(e){this._audio_enable!==e&&(this._audio_enable=e,this.audioEnableWatcher.next(e))}updateStream(e,t=!0,r){this._stream&&this._stream.off(ge),this._stream=e,e?(this.audioEnable&&(this.isShare||r.addToDetector(new Te(this.user,e)),this.collectAudioLevel()),e.on("player-state-changed"+ge,this.onPlayerStateChange),e.on("connect-error"+ge,this.handleStreamConnectError),e.on("stream-connection-error"+ge,this.handleStreamConnectError),!this.isLocal&&t&&this.sendMessage2Room()):(this.hasPulled=!1,this.pulledStreamType="small",this.streamType=3)}updateBloudStream(e,t,r=!1){var a,n,l,u,m;let i=!1,o=!1;if(e){if(this.bloudStream={audio:e.audio,video:e.video,isScreen:e.isScreen},e.customInfo){if(!this.bloudStream.customInfo||((a=this.bloudStream.customInfo)==null?void 0:a.volume)!==e.customInfo.volume){let h=e.customInfo.volume;typeof h=="number"&&this.setRemoteAudioLevel(h)}this.bloudStream.customInfo=e.customInfo}this.stream&&(this.bloudStream.audio?this.isShare||(t.addToDetector(new Te(this.user,this.stream)),this.collectAudioLevel()):t.removeFromDetector(this.stream.getStreamId())),this.bloudStream.video!==this._video_enable&&(i=!0),this.bloudStream.audio!=this._audio_enable&&(o=!0),this.setVideoEnable(this.bloudStream.video),this.setAudioEnable(this.bloudStream.audio),this.isLocal&&(this.isDisplay&&this.play(),this.isInBig&&this.playInBig()),r&&(this.destroyBrtcStream(),(n=this.player)==null||n.destroy(),this.stream&&((l=t.room.audioPlayer)==null||l.removeStream(this.stream)),this._stream=void 0),o&&!this.audioEnable&&this.stream&&((u=t.room.audioPlayer)==null||u.removeStream(this.stream)),(this.bloudStream.audio||this.bloudStream&&this.isDisplay)&&(!this.stream||r?E.emitter.emit(Be,{id:this.userId,isWeb:this.isWeb,isScreen:this.isShare}):(this.isLocal||(!this.hasPulled||!this.stream.isSubscribed())&&this.sendMessage2Room(),i&&(this.isDisplay&&this.playerId&&this.emitBindElement(),this.isInBig&&this.bigPlayerId&&this.emitBindBigElement()),!this.isLocal&&o&&this.audioEnable&&this.stream.isSubscribed()&&E.getInstance().emit(Re,{stream:this})))}else this.bloudStream=void 0,this.setVideoEnable(!1),this.setAudioEnable(!1),(m=this.player)==null||m.destroy(),this.stream&&t.removeFromDetector(this.stream.getStreamId());this.updateSortNum(!0),this.streamUpdateWatcher.next(!0)}updateBloudCustomInfo(e){var t,r,i,o;this.bloudStream?(e&&(((r=(t=this.bloudStream)==null?void 0:t.customInfo)==null?void 0:r.volume)!==e.volume?typeof e.volume=="number"&&this.setRemoteAudioLevel(e.volume):((o=(i=this.bloudStream)==null?void 0:i.customInfo)==null?void 0:o.share_file)!==e.share_file&&e.share_file&&this.setShareFile(e.share_file)),this.bloudStream.customInfo=e):p("updateBloudCustomInfo, but bloudStream is undefined","","",["userId =>",this.userId])}get streamId(){return this._stream?this._stream.getStreamId():this.userId}get bStreamId(){return this.isShare?`${this.userId}_screen`:this.userId}get userId(){return this.user.userId}get stream(){return this._stream}get isLocal(){return this.user.isLocal}get isShare(){var e,t,r;return this.stream?this.user.isWeb?(t=(e=this.stream)==null?void 0:e.getUserId().toString())==null?void 0:t.endsWith(k):this.stream&&this.stream.getType&&this.stream.getType()==="assist":!!((r=this.bloudStream)!=null&&r.isScreen)}get isWeb(){return this.user.isWeb}get isMobile(){return this.user.isMobile}get audioEnable(){return this._audio_enable}get videoEnable(){return this._video_enable}get brtcPlayerId(){return`player_${this.stream.getStreamId()}`}get selfPlayerId(){return`player_${this.stream.getStreamId()}_big_container`}get nickname(){var e;return this.user.isToupingma?`${this.user.nickName}(\u7684\u6295\u5C4F)`:(e=this.streamId)!=null&&e.includes(k)?`${this.user.nickName}(\u7684\u5C4F\u5E55\u5171\u4EAB)`:this.user.nickName}get audioLevel(){var e;return((e=this._stream)==null?void 0:e.getAudioLevel())||0}getUser(){return this.user}setRemoteAudioLevel(e){if(this.isLocal)throw new Error("\u4E0D\u80FD\u8BBE\u7F6E\u672C\u5730\u6D41\u7684\u97F3\u91CF");E.emitter.emit(Ae,{streamId:this.streamId,volume:e})}setShareFile(e){E.emitter.emit(mt,{streamId:this.bStreamId,fileId:e})}getStats(){var e;return(e=this._stream)==null?void 0:e.getStats()}initBigPlayer(){try{if(this.bigPlayerId){let e=document.querySelector(`#${this.bigPlayerId}`);if(!e){console.error("\u64AD\u653E\u5927\u6D41\u5931\u8D25\uFF0C\u627E\u4E0D\u5230\u5927\u6D41\u5BB9\u5668",this.userId,this.streamId,this.bigPlayerId);return}this.player&&this.player.destroy(),this.player=null,this.player=new si.Player(e,{fit:"contain"}),this.player.on("player-state-changed",t=>{var r;this.stream&&(d("big player state change","","",[JSON.stringify(t)]),t.type==="error"&&t.reason&&t.reason.name==="NotAllowedError"&&I("big player state change video need resume?","","",[JSON.stringify(t)]),t.state==="PAUSED"&&((r=this.player)==null||r.resume()))})}}catch(e){p("\u521D\u59CB\u5316\u5927\u7A97\u53E3\u7684\u64AD\u653E\u5668\u5931\u8D25",this.userId,this.streamId,[e.message])}}stop(){var e;try{(e=this._stream)==null||e.stop()}catch(t){}}destroyBrtcStream(){var e;try{(e=this._stream)==null||e.destroy()}catch(t){}}isPlaying(){var e;return(e=this._stream)==null?void 0:e.isPlaying()}replay(){var e;return(e=this._stream)==null?void 0:e.replay()}resume(){var e,t;(e=this._stream)==null||e.resume(),(t=this.player)==null||t.resume()}hasAudio(){var e;return((e=this._stream)==null?void 0:e.hasAudio())||!1}hasVideo(){var e;return((e=this._stream)==null?void 0:e.hasVideo())||!1}updateUser(e){this.user=e;let t=this.user.userInfo.pos;if(this.isWhiteboard){this.streamType=3;return}if(!t){this.streamType=1;return}t.includes("web")||t.includes("pc")?this.streamType=0:t.includes("_toupingma")?this.streamType=2:this.streamType=1}updateSortNum(e=!0){let t=this.getSortNum();this.setSortNum(t,e)}setSortNum(e,t){this.sortNum!==e&&(this.sortNum=e,t&&(E.emitter.emit(ve,null),this.user.updateSortNum(!0)))}getSortNum(){return this.user.isMaster?Kr(this.audioEnable,this.videoEnable):this.user.isLocal?ei(this.audioEnable,this.videoEnable):this.user.isManager?ti(this.audioEnable,this.videoEnable):ri(this.audioEnable,this.videoEnable)}checkVideoDecodeFrame(e){if(this.isLocal||ji)return;let t=document.getElementById(e);if(this.checkVideoTimer&&clearTimeout(this.checkVideoTimer),!t){d("\u9ED1\u5E27\u68C0\u6D4B\u6CA1\u6709\u64AD\u653E\u5BB9\u5668",this.userId,"",["streamId =>",this.streamId,"isShare =>",this.isShare,"playerId =>",this.playerId,"bigPlayerId =>",this.bigPlayerId,"isDisplay => ",this.isDisplay,"isInbig =>",this.isInBig]),this.isShare&&this.isInBig&&this.bigPlayerId&&(I("share stream has no video player, retry play"),this.playInBig(!0));return}this.checkVideoTimer=setTimeout(()=>{var i,o,a;let r=(t==null?void 0:t.getVideoPlaybackQuality)&&((i=t==null?void 0:t.getVideoPlaybackQuality())==null?void 0:i.totalVideoFrames)||0;if(t&&!t.getVideoPlaybackQuality){this.checkVideoTimer&&clearTimeout(this.checkVideoTimer);return}if(r>0){clearTimeout(this.checkVideoTimer);return}else{if(this.checkCount>10){p("\u68C0\u6D4B\u8D85\u8FC7\u4E86\u5341\u6B21\uFF0C\u8FD8\u6CA1\u6709\u89C6\u9891\u6D41\uFF0C\u9700\u8981\u91CD\u65B0\u62C9\u53D6","\u9ED1\u5E27\u68C0\u6D4B",this.userId,["streamId =>",this.streamId,"nickname =>",this.nickname,"videoContainer => ",e]),this.checkVideoTimer&&clearTimeout(this.checkVideoTimer),this.checkVideoTimer=null,this.checkCount=0,this.hasPulled=!1,this.pulledStreamType="small",(o=this._stream)==null||o.off(ge),this.destroyBrtcStream(),(a=this.player)==null||a.destroy(),this.player=null,this._stream=void 0,this.sendMessage2Room();return}this.checkCount+=1,this.checkVideoDecodeFrame(e)}},200)}subscribeStream(){this.shouldPull=!0,E.emitter.emit(ye,{stream:this})}unSubscribeStream(){this.shouldPull=!1,E.emitter.emit(Ee,{stream:this})}unAttach(e){var t,r;e==="all"?(this.stop(),(t=this.player)==null||t.destroy(),this.bigPlayerId=""):e==="big"?((r=this.player)==null||r.destroy(),this.bigPlayerId=""):e==="small"&&this.stop()}};var x=require("rxjs"),Jt=require("@hysc/utils");var li=require("lodash-es");var R=require("@hysc/utils");function ai(s){let e=null,t=s.videoElement,r=t.offsetWidth,i=t.offsetHeight;if(t.captureStream?e=t.captureStream():t.mozCaptureStream&&(e=t.mozCaptureStream()),e){let o=e.getVideoTracks()[0],a=e.getAudioTracks()[0];return{video:!!o,audio:!!a,videoSource:o,audioSource:a,width:r,height:i}}return null}function ni(s,e){try{let t=s.getVideoTracks()[0],r=s.getAudioTracks()[0];return{video:!!t,audio:!!r,videoSource:t,audioSource:r,width:e.width,height:e.height}}catch(t){return console.log("\u83B7\u53D6\u5171\u4EAB\u97F3\u9891\u53C2\u6570\u6709\u8BEF",t),null}}function ke(s){return s.split("_")[0]}var ie=`.streammuteevent${Math.random()}`,rt=class s{constructor(){this.streamModels=new Map;this.streamModelsWatcher=new x.BehaviorSubject(s.filterStreamModels(this.sortStreamModels()));this.shareStreamModels=new Map;this.shareStreamModelsWatcher=new x.BehaviorSubject(Array.from(this.shareStreamModels.values()));this.localStreamErrorWatcher=new x.Subject;this.localModel=null;this.room=null;this.bloudStream=null;this.whiteboard=null;this.whiteboardWatcher=new x.BehaviorSubject(this.whiteboard);this.brtcStream=null;this.videoStream=null;this.audioStream=null;this.localIsShare=!1;this.isShareWatcher=new x.Subject;this.localShareCustomStats={};this._speaker_enable=!0;this.speakerEnableWatcher=new x.BehaviorSubject(this._speaker_enable);this.mixStreamUid=null;this.mixStreamModelWatcher=new x.BehaviorSubject(null);this.canvasTimer=null;this._recorder=void 0;this._isRecording=!1;this._slicingRecord=!1;this.isRecordingWatcher=new x.BehaviorSubject(this._isRecording);this._speaker=null;this._speakers=new Map;this.speakerWatcher=new x.BehaviorSubject(this._speaker);this.rtcPublishing=!1;this.noContainerWatcher=new x.Subject;this.noBigContainerWatcher=new x.Subject;this.localStreamConnectErrorWatcher=new x.Subject;this.localShareError=new x.Subject;this.localShareEndedError=new x.Subject;this.shareBloudStateMap=new Map;this.streamPlayWatcher=new x.Subject;this.handleStreamPlay=e=>{this.streamPlayWatcher.next(e)};this.updateModelSort=(0,li.debounce)(()=>{let e=this.sortStreamModels();this.streamModelsWatcher.next(s.filterStreamModels(e))},200,{maxWait:500});this.handleNoContainer=e=>{let{type:t,container:r,id:i}=e,o;t==="share"?o=this.shareStreamModels.get(i):o=this.streamModels.get(i),o&&(r==="small"?this.noContainerWatcher.next(o):this.noBigContainerWatcher.next(o))};this.getHTMLMediaStream=ai;this.getMediaStream=ni;setTimeout(()=>{this.createCanvas(),this.canvasDisplay()},100),E.emitter.on(ve,this.updateModelSort),E.emitter.on(ce,this.handleNoContainer),E.emitter.on(Q,this.handleStreamPlay),this.muteHandlerVideo=this.muteHandler.bind(this,"video"),this.muteHandlerAudio=this.muteHandler.bind(this,"audio")}get mixStreamModel(){return this.mixStreamUid?this.streamModels.get(this.mixStreamUid):null}static filterStreamModels(e){return e.filter(t=>!t.isToupingma).filter(t=>!Pe.some(r=>t.userId.includes(r))).filter(t=>t.canShow)}initWithRoom(e){return this.room=e,this}setSpeakerEnable(e){var t;this._speaker_enable!==e&&((t=this.room.audioPlayer)==null||t.mute(!e),this._speaker_enable=e,this.speakerEnableWatcher.next(e))}getStreamModels(){return Array.from(this.streamModels.values())}getStreamModelByUId(e){return this.streamModels.get(e)}getShareStreamModelByUId(e){return this.shareStreamModels.get(e)}getLocalStreamModel(){return this.localModel}createWhiteBoard(e){var r;let t=(r=this.room)==null?void 0:r.userVM.getUser(e);if(!t){p("\u521B\u5EFA\u767D\u677F\u5931\u8D25\uFF0C\u627E\u4E0D\u5230\u5BF9\u5E94\u7684\u7528\u6237","\u521B\u5EFA\u767D\u677F",e);return}return this.whiteboard=new Oe(t,void 0,!0),this.whiteboardWatcher.next(this.whiteboard),this.whiteboard}removeWhiteBoard(){this.whiteboard=null,this.whiteboardWatcher.next(this.whiteboard)}createStreamModel(e,t){let r=new Oe(e,void 0);return t&&r.updateStream(t,!0,this),r.isShare?(e.addStream(`${e.userId}${k}`,r),this.addShareStreamModel(r)):(e.addStream(e.userId,r),this.addStreamModel(r)),r.isMixer&&(this.mixStreamUid=r.userId,this.mixStreamModel&&this.mixStreamModelWatcher.next(this.mixStreamModel)),r}addStreamModel(e){e&&(e.isLocal?this.localModel||(this.localModel=e,this.localModel.audioEnableWatcher.subscribe(t=>{this._recorder&&this._recorder.muteAudio(!t)}),this.streamModels.set(this.localModel.userId,this.localModel)):this.streamModels.set(e.userId,e))}addShareStreamModel(e){if(e){if(e.isLocal){e.audioEnable&&e.stream&&this.addToRecorder(e.stream);return}this.shareStreamModels.set(e.userId,e),this.shareStreamModelsWatcher.next(Array.from(this.shareStreamModels.values()))}}removeStreamModel(e){if(!e)return;e.isShare&&e.isLocal&&this.removeFromRecorder(e.stream);let t=e.getUser();this.streamModels.delete(e.userId),t.removeStream(e.userId)}removeShareStreamModelByUId(e){var r,i,o;let t=this.shareStreamModels.get(e);if(t){try{(r=t.stream)==null||r.destroy()}catch(a){}t.audioEnable&&t.stream&&((o=(i=this.room)==null?void 0:i.audioPlayer)==null||o.removeStream(t.stream)),this.removeShareStreamModel(t)}}removeShareStreamModel(e){if(!e)return;let t=e.getUser();this.shareStreamModels.delete(e.userId),t.removeStream(`${e.userId}${k}`),t.updateSortNum(!0),this.shareStreamModelsWatcher.next(Array.from(this.shareStreamModels.values()))}removeStreamModelByUId(e){var r,i,o;let t=this.getStreamModelByUId(e);if(t){if(t.stream){this.removeFromDetector(t.streamId);try{t.stream.destroy()}catch(a){}}t.audioEnable&&(t.stream?(i=(r=this.room)==null?void 0:r.audioPlayer)==null||i.removeStream(t.stream):(o=this.room)==null||o.audioPlayer.removeStreamByUid(e)),this.removeStreamModel(t)}return t}remoteStreamPublished(e){var a;let t=e.getStreamId(),r=e.getUserId().toString(),i=this.getStreamModelByUId(r),o;if(i||(o=ke(String(r)),i=this.getStreamModelByUId(o)),i){if(re(e)){let n;if(o){let l=(a=this.room)==null?void 0:a.userVM.getUser(o);if(l&&!l.hasShare){I("share stream published, but user has no share","",o);return}n=this.shareStreamModels.get(o)}if(n){if(n.isLocal)return;n.hasPulled=!1,n.pulledStreamType="small",n.updateStream(e,!0,this),this.shareStreamModelsWatcher.next(Array.from(this.shareStreamModels.values()))}else{let l=this.createStreamModel(i.getUser(),e),u=e.getVideoOn(),m=e.getAudioOn(),h=this.shareBloudStateMap.get(i.userId);h?l.updateBloudStream({audio:h.audio,video:h.video,isScreen:!0,customInfo:h.customInfo},this):l.updateBloudStream({audio:m,video:u,isScreen:!0},this),l.streamType=2}}else i.hasPulled=!1,i.pulledStreamType="small",this.updateStreamModel(i,e);this.changeSingleStreamSpeaker(i).catch(n=>{p("\u8BBE\u7F6E\u5355\u80A1\u6D41\u7684\u626C\u58F0\u5668\u7684\u64AD\u653E\u51FA\u73B0\u4E86\u95EE\u9898","\u8BBE\u7F6E\u64AD\u653E\u97F3\u91CF",i==null?void 0:i.userId)})}else p("brtc\u6709\u4EBA\u63A8\u6D41\u4E86\uFF0C\u4F46\u662F\u627E\u4E0D\u5230\u5BF9\u5E94\u7684streamModel, \u627E\u4E0D\u5230\u5BF9\u5E94\u7684\u7528\u6237","",r,["streamId => ",t,"types =>",e.getType&&e.getType()])}remoteStreamUnpublished(e){var n,l,u;let t,r=e.getUserId().toString(),i=e.getStreamId(),o=!1;if(r.includes(k)){let m=ke(String(r));if(m==((l=(n=this.room)==null?void 0:n.getLocalParticipant())==null?void 0:l.userId)){d("\u672C\u5730\u7528\u6237\u53D6\u6D88\u5171\u4EAB\u5C4F\u5E55","\u53D6\u6D88\u5171\u4EAB\u5C4F\u5E55",r),this.localModel.getUser().removeStream(r);return}t=this.getShareStreamModelByUId(m),o=!0}else i.startsWith(ut)||e.getType&&e.getType()==="assist"?(t=this.getShareStreamModelByUId(r),o=!0):t=this.getStreamModelByUId(r);if(this.removeFromDetector(i),this.removeFromRecorder(e),!t){p("brtc\u6709\u4EBA\u53D6\u6D88\u63A8\u6D41 \u4F46\u662F\u627E\u4E0D\u5230\u5BF9\u5E94\u7684streamModel","\u53D6\u6D88\u63A8\u6D41",r,[i]);return}let a=(u=t.stream)==null?void 0:u.getStreamId();if(a!==i){p("\u5F53\u524D\u53D6\u6D88\u63A8\u6D41\u7684\u548C\u5F53\u524D\u7ED1\u5B9A\u7684\u4E0D\u662F\u540C\u4E00\u80A1\u6D41","",r,["streamId =>",i,"streamModel.streamId",a]);return}if(t.hasPulled=!1,t.pulledStreamType="small",o||t.streamType===2){t.updateStream(void 0,!0,this),this.removeShareStreamModel(t);return}return t.updateStream(void 0,!0,this),t}sortStreamModels(){return ur(Array.from(this.streamModels.values()))}updateStreamModel(e,t){e.updateStream(t,!0,this)}updateShareStreamModel(e,t){e.updateStream(t,!0,this)}setLocalVideoEnable(e,t){return c(this,null,function*(){var i,o,a,n,l,u,m;if(!((i=this.room)!=null&&i.networkState.brtc)||!this.room.netConnecting){p("\u65AD\u7F51\u671F\u95F4\u5F00\u672C\u5730\u6444\u50CF\u5934\uFF0C\u4E0D\u4E0E\u54CD\u5E94");return}if(!this.room.mediaPermission.camera)return Promise.reject((0,R.BMCameraNotAuthError)());let r=this.getLocalStreamModel();if(d(`\u5F00\u5173\u672C\u5730\u6444\u50CF\u5934\uFF0C \u72B6\u6001 => ${e}`,"publish",r==null?void 0:r.userId),r)if(e)if(r!=null&&r.stream){if(t)yield r.stream.replaceTrack(t).catch(f=>{p("\u7F8E\u989C videoTrack replace \u5931\u8D25","",r.userId,[JSON.stringify(f)])});else{let f=(o=r==null?void 0:r.stream)==null?void 0:o.getVideoTrack(),S=r==null?void 0:r.stream.hasVideo();if(!f||(f==null?void 0:f.constructor.name)==="CanvasCaptureMediaStreamTrack"||S==!1){let b=yield this.createVideoStreamTrack().catch(v=>Promise.reject(v)),C=r.stream;yield C.replaceTrack(b).then(()=>{C.setVideoProfile(this.room.videoProfile),d("replace video track success")}).catch(v=>(p(`\u672C\u5730\u89C6\u9891\u6D41\u66F4\u6362\u89C6\u9891\u6D41\u5931\u8D25\uFF0C\u5F53\u524D\u9EA6\u514B\u98CE\u72B6\u6001 => ${r==null?void 0:r.audioEnable}`,"publish",r==null?void 0:r.userId,[JSON.stringify(v)]),r!=null&&r.audioEnable||this.handleStreamUpdateFailed(),Promise.reject((0,R.BMOpenCameraError)())))}else{let b=f==null?void 0:f.constructor.name;if(I(`setLocalVideoEnable: no videoTrack, trackName:${b}`,"publish",r==null?void 0:r.userId),te()){let C=yield this.createVideoStreamTrack().catch(v=>Promise.reject(v));yield r.stream.replaceTrack(C)}}}if(yield r.stream.unmuteVideo())d("brtc unmute video success");else return p(`brtc unmuteVideo\u5931\u8D25\uFF0C\u5F53\u524D\u9EA6\u514B\u98CE\u72B6\u6001=> ${r==null?void 0:r.audioEnable} hasVideo=>${r.stream.hasVideo()}`,"publish",r==null?void 0:r.userId),r!=null&&r.audioEnable||this.handleStreamUpdateFailed(),Promise.reject((0,R.BMOpenCameraError)());if(!this.bloudStream.published){r.isInBig&&r.playInBig(!0),yield this.publishBloudStream(!1,!0);return}yield this.bloudStream.setVideoEnabled(!0).then(()=>{r.updateStream(r.stream,!0,this),r.updateBloudStream({video:!0,audio:r.audioEnable,isScreen:!1},this),r.playInBig(!0)}).catch(f=>{p("bloud unmuteVideo\u5931\u8D25","publish","",[JSON.stringify(f)]),this.handleStreamUpdateFailed()})}else try{yield this.createStreamAndPublish(!1,!0,r,t),r.playInBig(!0)}catch(h){return this.rtcPublishing=!1,p("\u5F00\u542F\u672C\u5730\u6444\u50CF\u5934\u5931\u8D25","","",[JSON.stringify(h)]),(n=(a=this.localModel)==null?void 0:a.stream)==null||n.destroy(),(l=this.bloudStream)!=null&&l.published&&this.bloudStream.unpublish(),(u=this.localModel)==null||u.updateStream(void 0,!0,this),(m=this.localModel)==null||m.updateBloudStream(void 0,this),Promise.reject(h)}else r.stream&&(yield this.muteOrUnpublishStream("video",!0,r).catch(f=>(p("\u5173\u95ED\u672C\u5730\u6444\u50CF\u5934\u5931\u8D25","","",[f]),Promise.reject((0,R.BmSetLocalVideoEnable)(f)))))})}handleStreamUpdateFailed(e=!1){return c(this,null,function*(){var t;p("brtc unmute stream failed, now unpublish","publish",(t=this.localModel)==null?void 0:t.userId),yield this.unpublishStream(e)})}setLocalAudioEnable(e,t=!1){return c(this,null,function*(){var i;let r=this.getLocalStreamModel();if(!((i=this.room)!=null&&i.networkState.brtc)||!this.room.netConnecting){p("\u65AD\u7F51\u671F\u95F4\u5F00\u672C\u5730\u9EA6\u514B\u98CE\uFF0C\u4E0D\u4E0E\u54CD\u5E94","publish",r==null?void 0:r.userId);return}if(!this.room.mediaPermission.microphone)return Promise.reject((0,R.BMMicNotAuthError)());if(d(`\u5F00\u5173\u672C\u5730\u9EA6\u514B\u98CE\uFF0C \u72B6\u6001 => ${e}`,"publish",r==null?void 0:r.userId),r)if(e)if(r!=null&&r.stream){if(!r.stream.hasAudio()){let a=yield this.createLocalAudioStream();if(!a)return Promise.reject((0,R.BMOpenMicroError)());let n=a.getAudioTrack();yield r.stream.replaceTrack(n).then(()=>{d("replace audio track success","publish",r.userId)}).catch(l=>(p("\u672C\u5730\u89C6\u9891\u6D41\u66F4\u6362\u97F3\u9891\u6D41\u5931\u8D25","publish",r.userId,[JSON.stringify(l)]),this.handleStreamUpdateFailed(!0),Promise.reject((0,R.BMOpenMicroError)())))}if(yield r.stream.unmuteAudio().catch(a=>{var n;d("brtc unmuteAudio:err, hasAudio="+((n=r.stream)==null?void 0:n.hasAudio()),"publish","",[a])}))d("unmute audio success","publish",r.userId);else return p(`unmute local stream audio res\u5931\u8D25\uFF0C\u5F53\u524D\u6444\u50CF\u5934\u72B6\u6001 => ${r==null?void 0:r.videoEnable} hasAudio=>${r.stream.hasAudio()}`,"publish",r==null?void 0:r.userId),r!=null&&r.videoEnable||(yield this.handleStreamUpdateFailed(!0)),Promise.reject((0,R.BMOpenMicroError)());if(!this.bloudStream.published){yield this.publishBloudStream(!0,!1);return}yield this.bloudStream.setAudioEnabled(!0).then(()=>{d("bloud stream set audio enable","publish",r.userId),r.updateStream(r.stream,!1,this),r.updateBloudStream({audio:!0,video:r.videoEnable,isScreen:!1},this)}).catch(a=>{p(`bloud unmuteAudio\u5931\u8D25\uFF0C\u5F53\u524D\u6444\u50CF\u5934\u72B6\u6001 => ${r==null?void 0:r.videoEnable}`,"publish",r==null?void 0:r.userId,[JSON.stringify(a)]),r!=null&&r.videoEnable||this.handleStreamUpdateFailed(!0)});return}else yield this.createStreamAndPublish(!0,!1,r).catch(o=>{var a,n,l,u,m;return p("\u5F00\u542F\u672C\u5730\u9EA6\u514B\u98CE\u5931\u8D25","publish",r==null?void 0:r.userId,[o]),this.rtcPublishing=!1,(n=(a=this.localModel)==null?void 0:a.stream)==null||n.destroy(),(l=this.bloudStream)!=null&&l.published&&this.bloudStream.unpublish(),(u=this.localModel)==null||u.updateStream(void 0,!0,this),(m=this.localModel)==null||m.updateBloudStream(void 0,this),Promise.reject(o)});else{let o=r.stream;if(o){this.removeFromDetector(o.getStreamId());try{yield this.muteOrUnpublishStream("audio",!0,r,t)}catch(a){return p("\u5173\u95ED\u672C\u5730\u9EA6\u514B\u98CE\u5931\u8D25","publish",r.userId,[JSON.stringify(a)]),Promise.reject((0,R.BmSetLocalAudioEnable)(a))}}return}})}joinWithAudioAndAudio(e,t){return c(this,null,function*(){d("join with audio and video","publish","",[e,t]);let r=this.getLocalStreamModel();if(this.brtcStream){e&&(yield this.brtcStream.unmuteAudio()),t&&(yield this.brtcStream.unmuteVideo()),yield this.publishBloudStream(e,t);return}return yield this.createStreamAndPublish(e,t,r).catch(i=>{var o,a,n,l,u,m;return p("join create and publish failed","publish",(o=this.localModel)==null?void 0:o.userId,[JSON.stringify(i)]),this.rtcPublishing=!1,(n=(a=this.localModel)==null?void 0:a.stream)==null||n.destroy(),(l=this.bloudStream)!=null&&l.published&&this.bloudStream.unpublish(),(u=this.localModel)==null||u.updateStream(void 0,!0,this),(m=this.localModel)==null||m.updateBloudStream(void 0,this),Promise.reject(i)})})}changeSpeaker(e,t=!1){return c(this,null,function*(){var r;if(d("change speaker","device","",[JSON.stringify(e)]),!(e!=null&&e.deviceId))throw new Jt.BoomError(1e3,"\u5207\u6362\u626C\u58F0\u5668\u5931\u8D25\uFF01,\u539F\u56E0: \u9009\u62E9\u7684\u8BBE\u5907\u6CA1\u6709deviceId"+(e==null?void 0:e.name));try{this.room.setSelectSpeakerDevice(e),(r=this.room.audioPlayer)==null||r.setDevice(e.deviceId,t)}catch(i){throw p("\u5207\u6362\u626C\u58F0\u5668\u5931\u8D25","device","",["error",i==null?void 0:i.message,JSON.stringify(i)]),new Jt.BoomError(1e3,"\u5207\u6362\u626C\u58F0\u5668\u5931\u8D25")}})}changeSingleStreamSpeaker(e){return c(this,null,function*(){let t=this.room.selectAudioOutputDevice;t&&(e.isLocal||e.stream&&(yield e.stream.setAudioOutput(t.deviceId)))})}changeAudioInput(e){return c(this,null,function*(){var r,i,o,a,n;d("change audio input device","device","",[JSON.stringify(e)]),e||I("changeAudioInput, device is null","device");let t=(r=this.localModel)==null?void 0:r.stream;if((i=this.room)==null||i.setSelectAudioDevice(e),t)return((o=t.getAudioTrack())==null?void 0:o.readyState)==="ended"&&!((a=this.room)!=null&&a.deviceChanging)?(p("try to change audio input device but audio track is ended","device"),!1):(yield t.switchDevice("audio",e.deviceId).catch(u=>{d("switchDevice:error","device","",[JSON.stringify(u)])}),(n=this._recorder)==null||n.setMicDevice(e.deviceId),!0)})}changeVideoInput(e){return c(this,null,function*(){var r,i,o,a;d("change video input device","device","",[JSON.stringify(e)]);let t=(r=this.localModel)==null?void 0:r.stream;if((i=this.room)==null||i.setSelectVideoDevice(e),t)return((o=t.getVideoTrack())==null?void 0:o.readyState)==="ended"?(p("try to change video input device but video track is ended","device"),!1):(yield t.switchDevice("video",e.deviceId).catch(l=>{d("switchDevice:error","device","",[l])}),(a=this.localModel)!=null&&a.isDisplay&&this.localModel.isInBig&&this.localModel.playInBig(!0),!0)})}muteSpeaker(e){return c(this,null,function*(){d("\u9759\u97F3\u626C\u58F0\u5668 \u72B6\u6001 =>","device","",["status =>",e]);try{this.setSpeakerEnable(e)}catch(t){return Promise.reject((0,R.BmSetLocalSpeakerEnable)(`\u5F00\u5173\u626C\u58F0\u5668\u5931\u8D25 ${e} error: ${JSON.stringify(t)}`))}})}createLocalAudioStream(){return c(this,null,function*(){return this.audioStream?this.audioStream:(this.audioStream=yield this.room.createSingleLocalStream({video:!1,audio:!0},this.localModel.userId).catch(e=>(p("create brtc stream error","publish","",[JSON.stringify(e)]),Promise.reject(e))),this.audioStream)})}onlyBrtcPublish(){return c(this,null,function*(){let e=this.localModel,t=!!te();return this.audioStream=yield this.room.createSingleLocalStream({video:t,audio:!0},e.userId).catch(r=>(p("create brtc stream error","publish","",[JSON.stringify(r)]),Promise.reject(r))),this.bloudStream=this.room.boomCore.creteBloudLocalStream({audio_enable:!1,video_enable:!1},e.userId),d("onlyBrtcPublish","publish",e.userId),this.createStreamAndPublish(!1,!1,e).catch(r=>(this.rtcPublishing=!1,Promise.reject(r)))})}createStreamAndPublish(e,t,r,i){return c(this,null,function*(){var o,a,n,l,u,m,h,f,S;if(this.rtcPublishing)return I(`createStreamAndPublish(audio:${e},video:${t}), rtcPublishing ignore`,"publish",r.userId),!1;if(this.rtcPublishing=!0,d(`createStreamAndPublish(audio:${e},video:${t})`,"publish",r.userId),(o=this.brtcStream)!=null&&o.published&&(yield(a=this.room)==null?void 0:a.unpublish(this.brtcStream)),t){if((u=this.brtcStream)==null||u.destroy(),this.brtcStream=null,!((m=this.room)!=null&&m.audioDevices.length)||!((h=this.room)!=null&&h.videoDevices.length)){let b=(f=this.room)!=null&&f.audioDevices.length?"\u6CA1\u6709\u89C6\u9891\u8F93\u5165\u8BBE\u5907":"\u6CA1\u6709\u97F3\u9891\u8F93\u5165\u8BBE\u5907";p(`\u5F53\u524D\u7535\u8111\u4E2D\u6CA1\u6709${b}, \u91CD\u65B0\u83B7\u53D6`,"publish",r.userId),yield(S=this.room)==null?void 0:S.initDevices()}if(this.room.audioDevices.length>0)try{this.brtcStream=yield this.room.createSingleLocalStream({video:!0,audio:this.room.mediaPermission.microphone},r.userId).catch(b=>(p("create brtc audio and video stream failed","publish","",[JSON.stringify(b)]),Promise.reject(b)))}catch(b){d("create brtc audio and video stream failed, recreate brtc stream with audio close and video open"),this.brtcStream=yield this.room.createSingleLocalStream({video:!0,audio:!1},r.userId).catch(C=>(p("create brtc audio and video stream failed","publish","",[JSON.stringify(C)]),Promise.reject(C)))}else I("\u6CA1\u6709\u97F3\u9891\u8F93\u5165\u8BBE\u5907\uFF0C\u53EA\u80FD\u521B\u5EFA\u89C6\u9891\u6D41","publish"),this.brtcStream=yield this.room.createSingleLocalStream({video:!0,audio:!1},r.userId).catch(b=>(p("create brtc video stream failed","publish","",[JSON.stringify(b)]),Promise.reject(b)))}else{let C=s.getCanvasStream().getVideoTracks()[0];this.audioStream||(this.audioStream=yield this.room.createSingleLocalStream({video:!1,audio:!0},r.userId).catch(y=>(p("create brtc stream error","publish","",[JSON.stringify(y)]),Promise.reject(y))));let v=(n=this.audioStream)==null?void 0:n.getAudioTrack();if(!v||v&&v.muted)throw(l=this.audioStream)==null||l.destroy(),this.audioStream=null,this.localStreamErrorWatcher.next("audio"),p("\u9EA6\u514B\u98CE\u8BBE\u5907\u4E0D\u53EF\u7528","publish","",["muted => ?",v==null?void 0:v.muted]),(0,R.getStreamError)("\u9EA6\u514B\u98CE");this.brtcStream=null,this.room.videoDevices.length==0?(I("\u5F53\u524D\u7535\u8111\u4E2D\u6CA1\u6709\u89C6\u9891\u8F93\u5165\u8BBE\u5907, createSingleLocalStream video:false","publish",r.userId),this.brtcStream=yield this.room.createSingleLocalStream({video:!0,audio:!0,videoSource:C,audioSource:v},r.userId).catch(y=>Promise.reject(y))):te()?this.brtcStream=this.audioStream:this.brtcStream=yield this.room.createSingleLocalStream({video:!0,audio:!0,videoSource:C,audioSource:v},r.userId).catch(y=>Promise.reject(y))}return this.brtcStream&&(t||(yield this.brtcStream.muteVideo()),e||(yield this.brtcStream.muteAudio()),i&&(yield this.brtcStream.replaceTrack(i).catch(b=>{p("\u7F8E\u989C videoTrack replace \u5931\u8D25","publish","",JSON.stringify(b))})),yield this.room.publish(this.brtcStream).catch(b=>{var C,v;return(C=this.brtcStream)==null||C.destroy(),this.brtcStream=null,(v=this.localModel)==null||v.updateBloudStream(void 0,this),Promise.reject(b)}),this.brtcStreamAddEvent(),(e||t)&&(yield this.publishBloudStream(e,t))),this.rtcPublishing=!1,!0})}brtcStreamAddEvent(){var e,t,r,i;(e=this.brtcStream)==null||e.on("video-track-mute"+ie,this.muteHandlerVideo),(t=this.brtcStream)==null||t.on("video-track-ended"+ie,this.muteHandlerVideo),(r=this.brtcStream)==null||r.on("audio-track-mute"+ie,this.muteHandlerAudio),(i=this.brtcStream)==null||i.on("audio-track-ended"+ie,this.muteHandlerAudio)}brtcStreamRemoveEvent(){var e,t,r,i;(e=this.brtcStream)==null||e.off("video-track-mute"+ie,this.muteHandlerVideo),(t=this.brtcStream)==null||t.off("video-track-ended"+ie,this.muteHandlerVideo),(r=this.brtcStream)==null||r.off("audio-track-mute"+ie,this.muteHandlerAudio),(i=this.brtcStream)==null||i.off("audio-track-ended"+ie,this.muteHandlerAudio)}publishBloudStream(e,t){return c(this,null,function*(){var i;let r=this.localModel.userId;this.bloudStream=this.room.boomCore.creteBloudLocalStream({audio_enable:e,video_enable:t},r),yield this.bloudStream.publish({video_enable:t,audio_enable:e}),(i=this.localModel)==null||i.updateBloudStream({video:t,audio:e,isScreen:!1},this)})}muteHandler(e){var a,n,l;let t=()=>c(this,null,function*(){var u,m,h,f,S,b,C,v,y;(u=this.localModel)!=null&&u.stream&&(yield(m=this.room)==null?void 0:m.unpublish(this.localModel.stream).catch(H=>{p("brtc local stream has problem and unpublish failed","publish","",[String(H)])})),(f=(h=this.localModel)==null?void 0:h.stream)==null||f.destroy(),(S=this.audioStream)==null||S.destroy(),(b=this.videoStream)==null||b.destroy(),(C=this.brtcStream)==null||C.destroy(),this.brtcStream=null,this.audioStream=null,this.videoStream=null,(v=this.localModel)==null||v.updateStream(void 0,!0,this),yield this.bloudStream.unpublish(),(y=this.localModel)==null||y.updateBloudStream(void 0,this)}),r=(a=this.localModel)==null?void 0:a.videoEnable,i=(n=this.localModel)==null?void 0:n.audioEnable,o=(l=this.brtcStream)==null?void 0:l.getAudioDeviceId();if(!r&&!i){d("muteHandler:\u97F3\u89C6\u9891\u5DF2\u5173,\u65E0\u9700\u5904\u7406","publish");return}setTimeout(()=>c(this,null,function*(){var u,m,h,f,S,b,C,v,y,H,z,X,Y,Z,K,se,oe,_e,Ve,He;if((u=this.localModel)!=null&&u.stream){let ae=(m=this.localModel)==null?void 0:m.videoEnable,ne=(h=this.localModel)==null?void 0:h.audioEnable;if(o!=((f=this.localModel)==null?void 0:f.stream.getAudioDeviceId())){d("muteHandler:\u8BBE\u5907\u5DF2\u7ECF\u5207\u6362\u65E0\u9700\u5904\u7406","publish");return}if((S=this.room)!=null&&S.deviceChanging){d("muteHandler:\u8BBE\u5907\u6B63\u5728\u5207\u6362\u4E2D","publish");return}if(e==="video"){if(!ae){d("muteHandler:\u89C6\u9891\u5DF2\u5173,\u65E0\u9700\u5904\u7406","publish");return}let J=(b=this.localModel.stream.getVideoTrack())==null?void 0:b.muted,fe=(C=this.localModel.stream.getVideoTrack())==null?void 0:C.label,We=(v=this.localModel.stream.getVideoTrack())==null?void 0:v.enabled,P=(y=this.localModel.stream.getVideoTrack())==null?void 0:y.readyState,ee=P==="ended";if(d(`muteHandler:brtc video track status:${J},enabled:${We},readyState:${P},label:${fe} `,"publish",""),!ee&&!J&&We)return;d("video track has problem, now try recreate and publish","publish"),p("brtc\u672C\u5730\u6D41\u51FA\u73B0\u5F02\u5E38\uFF0C\u9700\u8981\u91CD\u65B0\u63A8\u6D41\u5904\u7406","publish","",["videoEnable:",ae,"audioEnable:",ne,"type:",e]),this.localStreamConnectErrorWatcher.next((0,R.BMStreamDisconnectedError)("\u6444\u50CF\u5934")),(H=this.localModel)!=null&&H.stream&&(yield(z=this.room)==null?void 0:z.unpublish(this.localModel.stream).catch(Pt=>{p("brtc local stream has problem and unpublish failed","publish","",[String(Pt)])}),(X=this.localModel)==null||X.updateStream(void 0,!0,this),(Z=(Y=this.localModel)==null?void 0:Y.stream)==null||Z.destroy(),(K=this.localModel.player)==null||K.destroy(),(se=this.brtcStream)==null||se.destroy(),this.brtcStream=null,(oe=this.videoStream)==null||oe.destroy(),this.videoStream=null);try{yield this.createStreamAndPublish(ne,ae,this.localModel),this.localModel.isInBig&&this.localModel.bigPlayerId&&this.localModel.playInBig(!0)}catch(Pt){this.rtcPublishing=!1,p("brtc video stream has problem and republish stream failed","publish","",[JSON.stringify(Pt)]),yield t(),this.localStreamConnectErrorWatcher.next((0,R.BmSyncStreamFailError)())}}else{if(!ne){console.log("muteHandler:\u97F3\u9891\u5DF2\u5173,\u65E0\u9700\u5904\u7406","publish");return}p("brtc\u672C\u5730\u6D41\u51FA\u73B0\u5F02\u5E38\uFF0C\u9700\u8981\u91CD\u65B0\u63A8\u6D41\u5904\u7406","publish","",["videoEnable",ae,"audioEnable",ne,"type",e]),this.localStreamConnectErrorWatcher.next((0,R.BMStreamDisconnectedError)("\u9EA6\u514B\u98CE")),(_e=this.audioStream)==null||_e.destroy(),(Ve=this.localModel.player)==null||Ve.destroy(),this.audioStream=null,this.audioStream=yield this.room.createPBSingleLocalStream({video:!1,audio:!0});let J=(He=this.audioStream)==null?void 0:He.getAudioTrack();J&&!J.muted?this.localModel.stream&&(yield this.localModel.stream.replaceTrack(J).then(()=>{this.localModel.isInBig&&this.localModel.bigPlayerId&&this.localModel.playInBig(!0)}).catch(fe=>{p("\u672C\u5730\u6D41\u51FA\u73B0\u5F02\u5E38, \u91CD\u65B0\u521B\u5EFAaudio stream replace \u5931\u8D25","publish","",[JSON.stringify(fe)]),this.localStreamConnectErrorWatcher.next((0,R.BmSyncStreamFailError)()),t()})):(p("recreate audio stream failed, now unpublish","publish"),this.localStreamConnectErrorWatcher.next((0,R.BmSyncStreamFailError)()),t())}}this.localStreamErrorWatcher.next(e)}),1e3)}unpublishStream(e=!1){return c(this,null,function*(){var r,i,o,a,n,l,u;d("unpublish stream","publish",(r=this.localModel)==null?void 0:r.userId);let t=this.getLocalStreamModel();if(t){let m=t.stream;m&&e===!0&&(yield(i=this.room)==null?void 0:i.unpublish(m).catch(h=>{p("brtc \u53D6\u6D88\u53D1\u5E03\u5931\u8D25","publish",t.userId,[JSON.stringify(h)])}),m==null||m.destroy(),(o=this.localModel)==null||o.updateStream(void 0,!0,this),(a=this.audioStream)==null||a.destroy(),(n=this.brtcStream)==null||n.destroy(),this.brtcStream=null,this.audioStream=null);try{this.removeFromRecorder(m),(l=this.videoStream)==null||l.destroy(),this.videoStream=null,(u=this.bloudStream)!=null&&u.published&&(yield this.bloudStream.unpublish().catch(h=>{p("bloud unpublish stream failed","publish",t.userId,[JSON.stringify(h),h==null?void 0:h.code,h==null?void 0:h.message])})),t.updateBloudStream(void 0,this)}catch(h){p("stream destroy failed","publish",t.userId,[JSON.stringify(h)])}}})}muteOrUnpublishStream(e,t,r,i=!1){return c(this,null,function*(){let o=r.stream,a=!0;e==="audio"?a=r.videoEnable:e==="video"&&(a=r.audioEnable),a?e==="audio"?((yield o.muteAudio())||p("brtc muteAudio\u5931\u8D25","publish","\u672C\u5730",["muteAudio\u5931\u8D25"]),yield this.bloudStream.setAudioEnabled(!1).catch(l=>{p("bloud setAudioEnabled \u5931\u8D25","publish","\u672C\u5730",[JSON.stringify(l)])}),r.updateBloudStream({audio:!1,video:!0,isScreen:!1},this)):e==="video"&&(yield this.justReplaceVideoTrack(o),yield this.bloudStream.setVideoEnabled(!1).catch(n=>{p("bloud setVideoEnabled \u5931\u8D25","publish","\u672C\u5730",[JSON.stringify(n)])}),r.updateBloudStream({video:!1,audio:!0,isScreen:!1},this)):(e=="video"?this.justReplaceVideoTrack(o):e=="audio"&&((yield o.muteAudio())||p("brtc muteAudio\u5931\u8D25","publish","\u672C\u5730")),yield this.unpublishStream(i))})}justReplaceVideoTrack(e){return c(this,null,function*(){var i;let r=s.getCanvasStream().getVideoTracks()[0];try{yield e.replaceTrack(r),yield e.muteVideo()}catch(o){p("\u5173\u95ED\u672C\u5730\u89C6\u9891\u5931\u8D25","publish","\u672C\u5730",[JSON.stringify(o)])}try{(i=this.videoStream)==null||i.destroy(),this.videoStream=null}catch(o){p("this.videoStream destroy failed","publish")}})}toggleShareScreen(i){return c(this,arguments,function*(e,t={},r){var a,n,l,u,m;d("\u5F00\u5173\u5171\u4EAB\u5C4F\u5E55","publish","\u5F00\u5173\u5171\u4EAB\u5C4F\u5E55",["stats => ",e]),!e&&((a=this.room)!=null&&a.boomCore.shareScreenStream)&&this.removeFromRecorder((n=this.room)==null?void 0:n.boomCore.shareScreenStream),e||(this.localShareCustomStats={});let o=(l=this.room)==null?void 0:l.voiceMode;return t.audioHint=o,yield this.room.boomCore.toggleShareScreen(e,t,r).then(()=>{if(this.localModel.getUser().hasShare=!0,d("bmStreamVm toggleShareScreen success","\u5207\u6362\u5171\u4EAB\u5C4F\u5E55","",["enable =>",e]),e){let h=this.room.boomCore.shareScreenStream;h&&this.remoteStreamPublished(h)}else this.localModel.getUser().hasShare=!1,this.localModel.getUser().removeStream(`${this.localModel.userId}_screen`),this.localModel.getUser().updateSortNum(!0)}).catch(h=>(p("bmStreamVm toggleShareScreen error","\u5207\u6362\u5171\u4EAB\u5C4F\u5E55","",["enable =>",e]),Promise.reject(h))),e&&((u=this.room)!=null&&u.boomCore.shareScreenStream)&&this.addToRecorder((m=this.room)==null?void 0:m.boomCore.shareScreenStream),this.localIsShare=e,this.isShareWatcher.next(e),Promise.resolve(!0)})}setShareScreenContentHint(e){var t;(t=this.room)==null||t.boomCore.setShareScreenContentHint(e)}createCanvas(){let e=document.createElement("canvas");e.id="tarCanvas",e.style.width="1px",e.style.height="1px",e.style.position="absolute",e.style.bottom="0",document.body.appendChild(e)}canvasDisplay(){let e=document.getElementById("tarCanvas");if(e){e.width=640,e.height=360;let t=e.getContext("2d");t.fill(),t.beginPath(),t.fillStyle="rgb(0,0,0)",t.fillRect(0,0,e.width,e.height),this.canvasTimer&&clearTimeout(this.canvasTimer),this.canvasTimer=setTimeout(()=>{this.canvasDisplay()},1e3)}}static getCanvasStream(){return document.getElementById("tarCanvas").captureStream()}createVideoStreamTrack(){return c(this,null,function*(){var e,t,r;return((e=this.room)==null?void 0:e.videoDevices.length)==0&&(I("\u5F53\u524D\u7535\u8111\u4E2D\u6CA1\u6709\u89C6\u9891\u8F93\u5165\u8BBE\u5907, \u91CD\u65B0\u83B7\u53D6","publish"),yield(t=this.room)==null?void 0:t.initDevices()),(r=this.videoStream)==null||r.destroy(),this.videoStream=null,this.videoStream=yield this.room.createPBSingleLocalStream({video:!0,audio:!1},this.localModel.userId).catch(i=>(p("createPBSingleLocalStream error","publish","",[JSON.stringify(i)]),Promise.reject(i))),this.videoStream.getVideoTrack()})}startRecord(e){return c(this,null,function*(){var r,i,o,a;if(this._recorder)return;this._recorder=(r=this.room)==null?void 0:r.boomCore.createRecorder(e),this._recorder.on("track-ended",()=>{this.stopRecord(),d("record: ended","record")}),this._recorder.on("started",()=>{var n;d("record: started.","record"),this._recorder.muteAudio(!((n=this.localModel)!=null&&n.audioEnable))});let t=!0;try{yield this._recorder.start(void 0,void 0,{roomId:(i=this.room)==null?void 0:i.roomInfo.roomID,userName:(o=this.localModel)==null?void 0:o.getUser().nickname,title:(a=this.room)==null?void 0:a.roomInfo.roomName}),this._isRecording=!0,this.isRecordingWatcher.next(!0),this.shareStreamModels.forEach(n=>{n.stream&&!n.stream.isLocalStream()&&n.stream.isSubscribed()&&this.addToRecorder(n.stream)}),this.streamModels.forEach(n=>{n.stream&&!n.stream.isLocalStream()&&n.stream.isSubscribed()&&this.addToRecorder(n.stream)})}catch(n){I("record: error","record","",[JSON.stringify(n)]);let l=this._recorder;this._recorder=void 0,this._isRecording=!1,this.isRecordingWatcher.next(!1),t=!1,yield l==null?void 0:l.stop()}return t})}addToRecorder(e){var t;e.isLocalStream()&&!e.isScreenStream()||this._isRecording&&!this._slicingRecord&&(e.on("audio-track-ended",()=>{this.removeFromRecorder(e)}),(t=this._recorder)==null||t.addStream(e))}removeFromRecorder(e){var t;this._isRecording&&!this._slicingRecord&&((t=this._recorder)==null||t.removeStream(e))}stopRecord(){return c(this,null,function*(){if(d("record:stopRecord","record"),!this._recorder){I("stopRecord recorder is null","record","");return}this._isRecording=!1,this.isRecordingWatcher.next(!1),yield this._recorder.stop(),this._recorder=void 0})}sliceRecord(e,t,r){return c(this,null,function*(){var a,n,l,u;if((a=this._recorder)!=null&&a.supportAutoSave())return!0;if(!this._isRecording)return;let i=(n=this._recorder)==null?void 0:n._opts;this._slicingRecord=!0;try{yield(l=this._recorder)==null?void 0:l.stop()}catch(m){p("record:stop record exception","","",[JSON.stringify(m)])}i.filename=e,this._recorder=(u=this.room)==null?void 0:u.boomCore.createRecorder(i),this._recorder.on("track-ended",()=>{this.stopRecord(),d("record:record ended.")}),this._recorder.on("started",()=>{var m;d("record:record started."),this._recorder.muteAudio(!((m=this.localModel)!=null&&m.audioEnable))});let o=!0;try{yield this._recorder.start(t,r),this._slicingRecord=!1,this.shareStreamModels.forEach(m=>{m.stream&&!m.stream.isLocalStream()&&m.stream.isSubscribed()&&this.addToRecorder(m.stream)}),this.streamModels.forEach(m=>{m.stream&&!m.stream.isLocalStream()&&m.stream.isSubscribed()&&this.addToRecorder(m.stream)})}catch(m){let h=this._recorder;this._recorder=void 0,this._isRecording=!1,this.isRecordingWatcher.next(!1),this._slicingRecord=!1,o=!1,console.log("record:stopRecord.error",m),yield h==null?void 0:h.stop()}return o})}startSpeakerDetector(){var e;this._speaker=null,this._speakerDetector=(e=this.room)==null?void 0:e.boomCore.createSpeakerDetector(),this._speakerDetector.on("speaker",t=>{var i,o,a;let r=!0;t?(((i=this._speaker)==null?void 0:i.getUserInfo().userId)===t.getUser().userId&&(r=!1),this._speaker=t.getUser()):(this._speaker||(r=!1),this._speaker=null),r&&(d("\u5F53\u524D\u8BB2\u8BDD\u4EBA","\u8BED\u97F3\u6FC0\u52B1",(o=this._speaker)==null?void 0:o.userId,["nickname => ",(a=this._speaker)==null?void 0:a.nickname]),this.speakerWatcher.next(this._speaker))})}addToDetector(e){this._speakers.set(e.getID(),e),this._speakerDetector&&this._speakerDetector.addStream(e)}removeFromDetector(e){let t=this._speakers.get(e);this._speakerDetector&&t&&(this._speakers.delete(e),this._speakerDetector.removeStream(t))}clearDetector(){let e=[];this._speakers.forEach((t,r)=>{e.push(r)}),e.forEach(t=>{this.removeFromDetector(t)})}shareCustomMedia(e,t){return c(this,null,function*(){var r;return(r=this.room)==null?void 0:r.boomCore.shareHTMLMedia(e,t)})}updateBloudStreamCustomStats(e,t,r){return c(this,null,function*(){var o,a;d("update bloud stream custom stats","",e,[t,JSON.stringify(r)]);let i=yield(o=this.room)==null?void 0:o.boomCore.updateStream(e,t,r);((a=this.localModel)==null?void 0:a.userId)===e&&t.startsWith(e)&&t.endsWith("_screen")&&i.customInfo&&(this.localShareCustomStats=i.customInfo)})}checkStreamStats(e){d("check stream stats","","",[e]),this.streamModels.size<100&&this.streamModels.forEach(t=>{t.checkStreamIsPlaying()})}clearCache(){var e,t,r,i,o;try{(t=(e=this.localModel)==null?void 0:e.stream)==null||t.destroy(),(r=this.videoStream)==null||r.destroy(),(i=this.audioStream)==null||i.destroy()}catch(a){}this.canvasTimer&&clearTimeout(this.canvasTimer),this.canvasTimer=null,this.streamModels.clear(),this.shareStreamModels.clear(),(o=this.room)==null||o.userVM.clearUsers(),this.shareBloudStateMap.clear()}};var D=require("rxjs"),Ut=require("lodash-es");var it=class{constructor(e){this._roomName="";this.msgSeq="";this.roomID="";this.audioOff=!1;this.selfopenaudio=!1;this.lock=!1;this.leaveNotice=!1;this.openSelf=!1;this.chatNotice="";this.chatNoticeRich="";this.raiseHandsList=new Map;this.raiseHandsWatcher=new D.BehaviorSubject(Array.from(this.raiseHandsList.values()));this.raiseVideoHandsList=new Map;this.raiseVideoHandsWatcher=new D.BehaviorSubject(Array.from(this.raiseVideoHandsList.values()));this.raiseSimpleHandsList=new Map;this.raiseSimpleHandsWatcher=new D.BehaviorSubject(Array.from(this.raiseSimpleHandsList.values()));this.operationPermissionWatcher=new D.Subject;this.chatNoticeWatcher=new D.Subject;this.totalUserWatcher=new D.BehaviorSubject(0);this.totalWaitRoomUserWatcher=new D.BehaviorSubject(0);this.isOpenWaitRoom=new D.Subject;this.originJoinRoomParams={};this.originRespInfo={};this.audioOffWatcher=new D.Subject;this.lockWatcher=new D.BehaviorSubject(this.lock);this.leaveNoticeWatcher=new D.BehaviorSubject(this.leaveNotice);this.openSelfWatcher=new D.BehaviorSubject(this.openSelf);this.setRaiseHandsWatcherValue=(0,Ut.debounce)(()=>{this.raiseHandsWatcher.next(Array.from(this.raiseHandsList.values()))},1e3);this.setVideoRaiseHandsWatcherValue=(0,Ut.debounce)(()=>{this.raiseVideoHandsWatcher.next(Array.from(this.raiseVideoHandsList.values()))},1e3);this.setSimpleRaiseHandsWatcherValue=(0,Ut.debounce)(()=>{this.raiseSimpleHandsWatcher.next(Array.from(this.raiseSimpleHandsList.values()))},1e3);this.room=e,E.emitter.on(F,t=>{t.status==="raiseHandsAudio"?t.user.raiseAudioHands?this.addRaiseHandUser(t.user):this.removeRaiseHandUser(t.user.userId):t.status==="raiseHandsVideo"?t.user.raiseVideoHands?this.addVideoRaiseHandUser(t.user):this.removeVideoRaiseHandUser(t.user.userId):t.status==="raiseHand"&&(t.user.raiseHand?this.addSimpleRaiseHandUser(t.user):this.removeSimpleRaiseHandUser(t.user.userId))})}get roomName(){return this._roomName?this._roomName:(this._roomName=this.room.getName(),this._roomName)}get isBigRoom(){return this.room.isBig}get startup(){var e;return(e=this.room.boomCore.client)==null?void 0:e.startup}setup(e){this.roomID=e.room,this.handleInitParams(),this.originRespInfo=e}initCustomStats(e){this.operationPermission=e,e.chatNotice!==void 0&&(this.chatNotice=e.chatNotice),e.chatNoticeRich!==void 0&&(this.chatNoticeRich=e.chatNoticeRich),this.operationPermissionWatcher.next(this.operationPermission)}updateOperationPermission(e){this.operationPermission=w(w({},this.operationPermission),e),e.chatNotice!==void 0&&(this.chatNotice=e.chatNotice),e.chatNoticeRich!==void 0&&(this.chatNoticeRich=e.chatNoticeRich),this.operationPermissionWatcher.next(this.operationPermission)}handleInitParams(){let e=this.room.boomCore.getAudioOff(),t=this.room.boomCore.getSelfOpenAudio();this.setAudioOff(e,t)}setAudioOff(e,t){this.audioOff=e,this.selfopenaudio=t,this.audioOffWatcher.next({audioOff:e,selfopenaudio:t})}setlock(e){this.lock=e,this.lockWatcher.next(e)}setLeaveNotice(e){this.leaveNotice=e,this.leaveNoticeWatcher.next(e)}setRaiseHandsList(e){e.forEach(t=>{t.raiseAudioHands&&this.raiseHandsList.set(t.getID(),t),t.raiseVideoHands&&this.raiseVideoHandsList.set(t.getID(),t),t.raiseHand&&this.raiseSimpleHandsList.set(t.getID(),t)}),this.setRaiseHandsWatcherValue(),this.setVideoRaiseHandsWatcherValue(),this.setSimpleRaiseHandsWatcherValue()}addRaiseHandUser(e){this.raiseHandsList.set(e.getID(),e),this.setRaiseHandsWatcherValue()}removeRaiseHandUser(e){this.raiseHandsList.delete(e),this.setRaiseHandsWatcherValue()}addVideoRaiseHandUser(e){this.raiseVideoHandsList.set(e.getID(),e),this.setVideoRaiseHandsWatcherValue()}removeVideoRaiseHandUser(e){this.raiseVideoHandsList.delete(e),this.setVideoRaiseHandsWatcherValue()}addSimpleRaiseHandUser(e){this.raiseSimpleHandsList.set(e.getID(),e),this.setSimpleRaiseHandsWatcherValue()}removeSimpleRaiseHandUser(e){this.raiseSimpleHandsList.delete(e),this.setSimpleRaiseHandsWatcherValue()}};var L=require("rxjs");var Qt={name:"@hysc/meeting",version:"10.8.2",description:"boom meeting",private:!1,main:"./dist/index.js",module:"./dist/index.js",types:"./dist/index.d.ts",files:["dist","umd"],scripts:{build:"tsup ./src/index.ts --format cjs,esm --dts --minify",dev:"tsup ./src/index.ts --format esm,cjs --watch --dts"},author:"yangliye",license:"MIT",dependencies:{"@hysc/bloud":"workspace:*","@hysc/core":"workspace:*","@hysc/p-queue":"6.3.0","@hysc/utils":"workspace:*","detect-browser":"^5.3.0",immutable:"5.0.0-beta.4","lodash-es":"^4.17.21",mitt:"^3.0.0",rxjs:"^7.5.5",typescript:"^4.6.3"},peerDependencies:{"@hysc/core":"workspace:*"},devDependencies:{"@hysc/brtc":"workspace:*","@types/lodash-es":"^4.17.6"}};var at=require("@hysc/utils");var st=class{constructor(e){this.pullMap=new Map;this.room=e}addUser(e){let t=e.id;e.isScreen&&(t=`${t}_screen`),this.pullMap.set(t,e)}removeUser(e){let t=e.id;e.isScreen&&(t=`${t}_screen`),this.pullMap.delete(t)}restart(){this.room.restartPullUsers(this.pullMap)}};var B=require("@hysc/utils");var qt=class{constructor(e){this.room=e}get localBMUser(){return this.room.getLocalParticipant()}get localIsAudience(){return this.room.getLocalParticipant().isAudience}handlePull(e){return c(this,null,function*(){if(this.localIsAudience){if(e.isMixer){if(this.room.ignoreMixer){d(" \u914D\u7F6E\u4E86\u4F7F\u7528 CDN\u6D41\uFF0C\u4E0D\u62C9\u6DF7\u6D41 handlePull ignore mixer");return}yield this.room.handlePull(e);return}if(this.localBMUser.audienceEnableSpeaking&&e.audioEnable){yield this.room.handlePull(e);return}}else e.isMixer||(yield this.room.handlePull(e))})}handleChangeStreamType(e){return c(this,null,function*(){yield this.room.handleChangeStreamType(e)})}handlePlay(e,t){return c(this,null,function*(){this.localIsAudience&&!this.localBMUser.audienceEnableSpeaking?e.isMixer&&(yield this.room.handlePlay(e)):yield this.room.handlePlay(e)})}handleAudienceDisable(e){return c(this,null,function*(){this.room.bmStreamVm.getStreamModels().forEach(t=>{var r;t.isMixer||!t.isLocal&&t.stream&&((r=t.stream)!=null&&r.isSubscribed())&&t.hasPulled&&(t.hasPulled=!1,t.pulledStreamType="small",this.room.unsubscribe(t.stream).then(()=>{console.log("\u89C2\u4F17\u53D6\u6D88\u8BA2\u9605\u8FD9\u80A1\u6D41",t.userId,t.nickname,t.isDisplay,t.isCurrentDisplay)}))}),this.handleMixStream(!1,e)})}handleAudienceEnable(e){return c(this,null,function*(){this.handleMixStream(!0,e),this.room.bmStreamVm.getStreamModels().forEach(t=>{t.isMixer||j.addQueue(this.room.handleQueueTask.bind(this,t),t.streamId,0,t.nickname)})})}handleMixStream(e,t){return c(this,null,function*(){var i,o;let r=this.room.bmStreamVm.mixStreamUid;if(r){let a=this.room.bmStreamVm.streamModels.get(r);e?(i=a==null?void 0:a.stream)==null||i.muteAudio().then(()=>{d(`play:\u9759\u97F3\u6DF7\u6D41\u6210\u529F streamId:${r}`)}):this.room.ignoreMixer||(o=a==null?void 0:a.stream)==null||o.unmuteAudio().then(()=>{d(`play:\u53D6\u6D88\u9759\u97F3\u6DF7\u6D41\u6210\u529F streamId:${r}`)})}t==null||t(e)})}},ci=qt;var $=require("lodash-es");var zt=require("@hysc/utils");function ui(s){var r,i;let e=()=>s.fire(zt.BrtcEvents.BRTC_ROOM_ROCONNECTING),t=()=>s.fire(zt.BrtcEvents.BRTC_ROOM_RECONNECTED);(r=s.brtcClient.client)==null||r.signal.channel.on("reconnecting",e),(i=s.brtcClient.client)==null||i.signal.channel.on("reconnected",t)}var di=require("@hysc/core");var mi=require("rxjs");var ot=class{constructor(e,t){this.playMap=new WeakSet;this.playerMap=new Map;this.muted=!1;this.playStateChangeWatcher=new mi.Subject;var i;let r=document.getElementById(e);if(r)this.container=r;else throw new Error("no container found, play failed");this.room=t,this.deviceId=(i=t.selectAudioOutputDevice)==null?void 0:i.deviceId}addStream(e,t=!1){let r=this.room.localUser,i=r.audienceEnableSpeaking;if(r.isAudience)if(i){if(!(e.getUserId().toString()+"".includes("-mixer-"))){d("audienceEnableSpeaking is true, only play mixer stream","",e.getUserId()+"-",["streamId =>",e.getStreamId()]);return}}else{I("audienceEnableSpeaking is false, not play audio","",e.getUserId()+"-",["streamId =>",e.getStreamId()]);return}this.room.shouldPlayAudio&&this.room.autoPlayAudio&&e.isSubscribed()&&(t||!this.playMap.has(e))&&(d("add stream to player","",e.getUserId(),["streamId ",e.getStreamId()]),this.playMap.add(e),this.play(e))}removeStream(e){let t=e.getStreamId(),r=this.playerMap.get(t);r&&r.destroy(),d("remove audio player","","",["streamId =>",t]),this.playerMap.delete(t),this.playMap.delete(e)}removeStreamByUid(e){let t=new Map;this.playerMap.forEach(r=>{re(r.stream)||r.stream.getUserId()===e&&t.set(r.stream.getStreamId(),r)}),t.forEach((r,i)=>{r.off(),r.destroy(),this.playerMap.delete(i),this.playMap.delete(r.stream)}),t.clear()}play(e){return c(this,null,function*(){var t;if(e.hasAudio()&&this.container){let r=new di.AudioPlayer(this.container,{});this.addPlayerEvent(r),yield r.play(e);let i=ke(e.getUserId().toString());if(this.deviceId?yield r.setSinkId(this.deviceId):(I("audioPlayer play() this.deviceId is null ","",i,["streamId =>",e.getStreamId()]),te()&&(yield r.setSinkId("default"))),this.muted)r.setVolume(0);else{let o;if(re(e)?o=this.room.bmStreamVm.shareStreamModels.get(i):o=this.room.bmStreamVm.streamModels.get(i),o){let a=(t=o.bloudStream)==null?void 0:t.customInfo;a&&a.volume&&(r.audioLevel=a.volume,r.setVolume(a.volume))}}this.playerMap.set(e.getStreamId(),r)}})}mute(e){this.muted=e,e?this.playerMap.forEach(t=>t.setVolume(0)):this.playerMap.forEach(t=>{t.audioLevel>0?t.setVolume(t.audioLevel):t.setVolume(1)})}setVolume(e,t){let r=this.playerMap.get(e);if(r){if(r.audioLevel=t,this.muted)return;r.setVolume(t)}else p("\u8BBE\u7F6E\u4E86\u6D41\u7684\u97F3\u91CF\uFF0C\u4F46\u662F\u6CA1\u6709\u627E\u5230\u5BF9\u5E94\u7684\u64AD\u653E\u5668",e)}setDevice(e,t=!1){return c(this,null,function*(){d("setDevice:","","",[e]),e&&(this.deviceId=e,this.playerMap.forEach(r=>r.setSinkId(e)))})}addPlayerEvent(e){e.on("player-state-changed",t=>{e.stream&&(d("audio player state change","","",[JSON.stringify(t)]),t.type==="error"&&t.reason&&t.reason.name==="NotAllowedError"&&this.playStateChangeWatcher.next(e),t.state==="PAUSED"&&e.resume())})}clear(){d("audio play clear"),this.playerMap.forEach(e=>e.destroy()),this.playerMap.clear(),this.playMap=new WeakSet}destroy(){d("audio play destroy"),this.playerMap.forEach(e=>e.destroy()),this.playerMap.clear(),this.playMap=new WeakSet}};var wt=1,Ji={audio:!0,video:!0,streamType:"small",videoEnable:!0,audioEnable:!0},tt=!0,De=class{constructor({initDevices:e,ignoreMixer:t}={initDevices:!0,ignoreMixer:!1}){this.roomVM=null;this.videoDevices=[];this.audioDevices=[];this.audioOutputDevices=[];this.selectVideoDevice=null;this.selectAudioDevice=null;this.selectAudioOutputDevice=null;this.streamQueue=new st(this);this.userListColumns=1;this.sortType=1;this.BRTCConnectFailed=!1;this.pubFailedNum=0;this.streamConnectedErrorQueue=[];this.conferenceMode=1;this.isBig=!1;this.selectVideoDeviceWatcher=new L.BehaviorSubject(this.selectVideoDevice);this.selectAudioDeviceWatcher=new L.BehaviorSubject(this.selectAudioDevice);this.selectAudioOutputDeviceWatcher=new L.BehaviorSubject(this.selectAudioOutputDevice);this.audioDevicesWatcher=new L.Subject;this.videoDevicesWatcher=new L.Subject;this.audioOutputDevicesWatcher=new L.Subject;this.raiseHandleRespWatcher=new L.Subject;this.enableAudienceSpeakingWatcher=new L.Subject;this.deviceChangeWatcher=new L.Subject;this.shareFileWatcher=new L.BehaviorSubject(null);this.mediaPermission={microphone:!0,camera:!0,screen:!0};this.videoProfile="360p";this.audioProfile=null;this.voiceMode="";this.videoEncodeConfig=null;this.streamWSReconnectWatcher=new L.Subject;this.bloudWSReconnectWatcher=new L.Subject;this.netConnecting=!0;this.netConnectingWatcher=new L.Subject;this.hasSyncPermission=!0;this.meetingControlOptions={cancelAutoPull:!1};this.forceId="";this.networkState={bloud:!0,brtc:!0};this.brtcNetEnableWatcher=new L.Subject;this.autoPlayAudio=!0;this.pubFailedTimer=null;this.messageWatcher=new L.BehaviorSubject({type:"init",status:!1,isNotCancelRootReport:!1});this.isInWaitRoom=!1;this.shouldPlayAudio=!0;this.deviceChanging=!1;this.ignoreMixer=!1;this.handleReprocessStreamError=()=>{this.netConnecting&&this.networkState.brtc&&this.networkState.bloud&&this.streamConnectedErrorQueue.length&&(d("brtc \u7F51\u7EDC\u6062\u590D\u6B63\u5E38\uFF0C\u5904\u7406\u91CD\u63A8\u903B\u8F91","","",this.streamConnectedErrorQueue),this.streamConnectedErrorQueue.forEach(e=>{this.handleStreamConnectError(e)}),this.streamConnectedErrorQueue=[])};this.handleMediaDevicesChange=e=>c(this,null,function*(){d("media devices change"),this.deviceChanging=!0,(0,$.delay)(()=>{this.deviceChanging=!1},1200);let{changed:t,selectAudioDevice:r,selectAudioOutputDevice:i,selectVideoDevice:o}=yield this.initDevices(!0),a=r,n=i;t&&(this.deviceChangeWatcher.next(!0),a=this.selectAudioDevice,n=this.selectAudioOutputDevice),o&&(yield this.bmStreamVm.changeVideoInput(o)),yield this.bmStreamVm.changeAudioInput(a),yield this.bmStreamVm.changeSpeaker(n).catch(l=>{})});this.enumVideoDevices=()=>(0,_.enumVideoDevices)().then(e=>{if(!te())return e;let t=[];return e.forEach((r,i)=>{r.name.includes("front")||r.name.includes("\u524D\u7F6E")?r.name=`\u524D\u7F6E${i.toString().padStart(2,"0")}`:(r.name.includes("back")||r.name.includes("\u540E\u7F6E"))&&(r.name=`\u540E\u7F6E${i.toString().padStart(2,"0")}`),t.push(r)}),t});this.enumAudioInputDevices=()=>(0,_.enumAudioInputDevices)().then(e=>{let t=e,r=e.find(i=>i.default);if(r){let i=Object.assign({},r);i.name=`\u7CFB\u7EDF\u9ED8\u8BA4\uFF08${r==null?void 0:r.name}\uFF09`,t.unshift(i)}return t});this.enumAudioOutputDevices=()=>(0,_.enumAudioOutputDevices)().then(e=>{let t=e,r=e.find(i=>i.default);if(r){let i=Object.assign({},r);i.name=`\u7CFB\u7EDF\u9ED8\u8BA4\uFF08${r==null?void 0:r.name}\uFF09`,t.unshift(i)}return t});this.getPermissions=_.getPermissions;this.checkSystemSupport=_.checkSystemSupport;this.createStream=_.createStream;this.participantNotice=!1;this.handleQueueTask=(e,t=!1)=>c(this,null,function*(){if(!this.BRTCConnectFailed&&!(!e.isLocal&&this.meetingControlOptions.cancelAutoPull&&!e.shouldPull)){if(!this.streamModelExits(e)){I(`streamModel is not exits, userId: ${e.userId}, isShare: ${e.isShare}, ignore`);return}yield this.handleStreamTask(e,t)}});this.republishLocalStream=(0,$.debounce)(e=>c(this,null,function*(){let t=e.getAudioOn()||this.localUser.audioEnable||!1,r=e.getVideoOn()||this.localUser.videoEnable||!1;d("republish local stream ","","",[t,r]),yield this.publish(e).then(()=>c(this,null,function*(){this.bmStreamVm.bloudStream=null,yield this.bmStreamVm.publishBloudStream(t,r),d("local stream connect error, and republish success, bloud stream republish success","","",["audio =>",t," video => ",r]),this.bmStreamVm.localStreamConnectErrorWatcher.next((0,B.BMStreamReconnectSuccess)(t,r))})).catch(()=>{d("local stream connect error, and republish failed","","",["audio =>",t," video => ",r]),this.bmStreamVm.localStreamConnectErrorWatcher.next((0,B.BMStreamReconnectFailed)())})}),1e3);this.processUser=(e,t=0)=>c(this,null,function*(){let r="";if(e.isScreen){let i=this.bmStreamVm.getShareStreamModelByUId(e.id);(!i||!i.stream&&!i.isLocal)&&(e.isWeb?r=`${e.id}_screen`:r=e.id)}else{let i=this.bmStreamVm.streamModels.get(e.id);i&&!i.stream&&!i.isLocal&&(r=e.id)}if(r){d("brtc query streams","","",["queryId => ",r]);try{let i=yield this.queryBrtcStreams([r]);if(i&&i.length){let o=i.map(a=>[a.getUserId(),a.getStreamId()]);d("brtc query streams result ","","",["streamInfo =>",JSON.stringify(o)]),i&&this.handleAddStreams(i)}else t<10?(t+=1,yield q(1e3),this.processUser(e,t)):I(`query stream error: uId:${e}`)}catch(i){p("query stream error","","",[JSON.stringify(i),t]),t<10&&(t+=1,yield q(1e3),this.processUser(e,t))}}});at.Logger.setLogLevel(at.LOGLEVEL.INFO),d(`
|
|
1
|
+
"use strict";var pi=Object.create;var Ge=Object.defineProperty,fi=Object.defineProperties,gi=Object.getOwnPropertyDescriptor,Si=Object.getOwnPropertyDescriptors,bi=Object.getOwnPropertyNames,Xt=Object.getOwnPropertySymbols,Ii=Object.getPrototypeOf,Zt=Object.prototype.hasOwnProperty,yi=Object.prototype.propertyIsEnumerable;var Yt=(s,e,t)=>e in s?Ge(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,w=(s,e)=>{for(var t in e||(e={}))Zt.call(e,t)&&Yt(s,t,e[t]);if(Xt)for(var t of Xt(e))yi.call(e,t)&&Yt(s,t,e[t]);return s},Fe=(s,e)=>fi(s,Si(e));var Ei=(s,e)=>{for(var t in e)Ge(s,t,{get:e[t],enumerable:!0})},Kt=(s,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of bi(e))!Zt.call(s,i)&&i!==t&&Ge(s,i,{get:()=>e[i],enumerable:!(r=gi(e,i))||r.enumerable});return s};var Nt=(s,e,t)=>(t=s!=null?pi(Ii(s)):{},Kt(e||!s||!s.__esModule?Ge(t,"default",{value:s,enumerable:!0}):t,s)),Mi=s=>Kt(Ge({},"__esModule",{value:!0}),s);var c=(s,e,t)=>new Promise((r,i)=>{var o=l=>{try{n(t.next(l))}catch(u){i(u)}},a=l=>{try{n(t.throw(l))}catch(u){i(u)}},n=l=>l.done?r(l.value):Promise.resolve(l.value).then(o,a);n((t=t.apply(s,e)).next())});var qi={};Ei(qi,{Logger:()=>nt.Logger,default:()=>Qi});module.exports=Mi(qi);var _=Nt(require("@hysc/core"));var N=class extends Error{constructor(t,r,i,o){super();this.code=t,this.error=i,this.BoomErrorFlag=!0,this.eName=o,this.message=r}static instanceOf(t){return!!(t&&t.BoomErrorFlag)}getCode(){return this.code}};var er=1,Ci=2,tr=3,vi=4;var Bi=function(){},Zi=/BRTC/.test(Bi.toString())?er:tr;function lt(s,e,t,r){let i=[];return t&&i.push(t),r&&i.push(r),`[${new Date().toLocaleTimeString("chinese",{hour12:!1})}] <${s}> [${i.join("|")}] ${e}`}function Ai(s,e,t,r=[]){r.unshift(lt("DEBUG",s,e,t)),console.log(...r)}function d(s,e,t,r=[]){Array.isArray(r)||(r=[r]),r.unshift(lt("INFO",s,e,t)),console.log(...r)}function I(s,e,t,r=[]){Array.isArray(r)||(r=[r]),r.unshift(lt("WARN",s,e,t)),console.log(...r)}function p(s,e,t,r=[]){typeof r=="string"?r=[r]:Array.isArray(r)||(r=[JSON.stringify(r)]),r.unshift(lt("ERROR",s,e,t)),console.log(...r)}var Ki={[er]:Ai,[Ci]:d,[tr]:I,[vi]:p};var qr=require("rxjs");var rr="undefined";var Ri=typeof window!==rr?window:void 0;var es=typeof global!==rr?global:Ri;var ts=Object.freeze({}),rs=Object.freeze([]);var T="c";var dr=require("rxjs");var k="_screen",ut="screen-",dt="xinhao_";var Se="sub-message",be="user-sort-num-change",Ie="bind-element",le="stream-connect-error",F="raise-hand",ye="manual-subscription",Ee="unsubscribe-stream",Me="change-is-guest",Ce="bind-big-element",ce="no-container",ve="model-sort-num-change",Be="add-pull-user",Ae="set-volume",Re="add-audio-play",Q="stream-play",mt="share-file";var ir=Nt(require("mitt"));var U=class U{static getInstance(){return U.emitter||(U.emitter=(0,ir.default)()),U.emitter}};U.emitter=void 0,U.removeEmitter=()=>{var e,t,r,i,o,a,n,l,u,m,h,g,S,b,C;(e=U.emitter)==null||e.off(Se),(t=U.emitter)==null||t.off(be),(r=U.emitter)==null||r.off(le),(i=U.emitter)==null||i.off(F),(o=U.emitter)==null||o.off(Ee),(a=U.emitter)==null||a.off(ye),(n=U.emitter)==null||n.off(Me),(l=U.emitter)==null||l.off(Ie),(u=U.emitter)==null||u.off(Ce),(m=U.emitter)==null||m.off(ce),(h=U.emitter)==null||h.off(ve),(g=U.emitter)==null||g.off(Be),(S=U.emitter)==null||S.off(Ae),(b=U.emitter)==null||b.off(Re),(C=U.emitter)==null||C.off(Q),U.emitter=void 0};var E=U;function sr(s){return wt===2?Ni(s):Pi(s)}function Pi(s){let e=30;return s.isSharing?(s.isMaster?e=0:s.isManager&&s.audioEnable&&s.videoEnable?e=1:s.isManager&&s.audioEnable?e=2:s.isManager&&s.videoEnable?e=3:s.isManager?e=4:s.isCommonUser?s.audioEnable&&s.videoEnable?e=9:s.audioEnable?e=10:s.videoEnable?e=11:e=12:s.audioEnable&&s.videoEnable?e=5:s.audioEnable?e=6:s.videoEnable?e=7:e=8,e):(s.isMaster?e=13:s.isLocal?e=14:s.isManager?s.audioEnable&&s.videoEnable?e=15:s.audioEnable?e=16:s.videoEnable?e=17:e=18:s.raiseHand?e=19:s.isCommonUser?s.isSignal?e=26:s.isCommonUser&&(s.audioEnable&&s.videoEnable?e=27:s.audioEnable?e=28:s.videoEnable?e=29:e=30):s.audioEnable&&s.videoEnable?e=22:s.audioEnable?e=23:s.videoEnable?e=24:e=25,e)}function Ni(s){let e;return s.isToupingma?e=0:s.raiseHand?e=19:s.raiseAudioHands?e=1:s.raiseVideoHands?e=2:s.isLocal?e=3:s.isMaster&&s.audioEnable&&s.videoEnable?e=4:s.isManager&&s.audioEnable&&s.videoEnable?e=5:s.audioEnable&&s.videoEnable?e=6:s.isMaster&&s.audioEnable?e=7:s.isManager&&s.audioEnable?e=8:s.audioEnable?e=9:s.isMaster&&s.videoEnable?e=10:s.isManager&&s.videoEnable?e=11:s.videoEnable?e=12:s.isMaster?e=13:s.isManager?e=14:s.isCommonUser?e=16:s.isSignal?e=17:e=15,e}var or="undefined";var $e="function";var wi=typeof window!==or?window:void 0;var ms=typeof global!==or?global:wi;var hs=Object.freeze({}),ps=Object.freeze([]),Tt="";function xt(s){return typeof s===$e}function Ti(s,e,t){return s.indexOf(e,t!==void 0?t:0)}function nr(s,e){return Ti(s,e)>=0}function lr(s,e){return s!=null&&s.toString?s.toString():e!==void 0?e:Tt}function Ot(s){return xt(s)&&nr(lr(s),"[native code]")}var kt;typeof setImmediate===$e&&Ot(setImmediate)&&(kt=setImmediate);typeof MessageChannel===$e&&Ot(MessageChannel)?kt=function(s){let e=new MessageChannel;e.port1.onmessage=s,e.port2.postMessage(1)}:kt=setTimeout;var cr=5*60*1e3;function Dt(s){let e=new Date(s),t=new Date,r=e.getMonth()+1<10?"0"+(e.getMonth()+1):e.getMonth()+1,i=e.getDate()<10?"0"+e.getDate():e.getDate(),o=e.getHours()<10?"0"+e.getHours():e.getHours(),a=e.getMinutes()<10?"0"+e.getMinutes():e.getMinutes();return t.setHours(0,0,0,0)==e.setHours(0,0,0,0)?o+":"+a:r+"\u6708"+i+"\u65E5 "+o+":"+a}function Qe(s){return s.sort((e,t)=>e.sortNum===19&&t.sortNum===19?e.raiseHandTime-t.raiseHandTime:e.sortNum===t.sortNum?e.nickName.localeCompare(t.nickName):e.sortNum-t.sortNum)}function ur(s){return s.sort((e,t)=>e.sortNum!==t.sortNum?t.sortNum-e.sortNum:e.sortNum===t.sortNum?e.getUser().nickName.localeCompare(t.getUser().nickName):Number(e.getUser().isCommonUser)-Number(t.getUser().isCommonUser))}function qe(s){return!ze(s,"s")}function pt(s){return ze(s,"a")}function _t(s){return ze(s,"v")}function ft(s){return ze(s,"m")}function gt(s){return ze(s,"o")}function ze(s,e){return s.toLowerCase().includes(e)}function te(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|MicroMessenger/i.test(navigator.userAgent)}var ue=class{constructor(e,t=!1){this.audienceEnableSpeaking=!1;this.streamModels=new Map;this.sortNum=100;this.raiseVideoHands=!1;this.raiseAudioHands=!1;this.raiseHand=!1;this.isAudience=!1;this.isCommonUser=!1;this.inBackground=!1;this.isCalling=!1;this.raiseHandTime=0;this.signals=[];var i;this.userId=e.userId,this.userInfo=e.userInfo,this.nickName=e.nickname,this.isMaster=!!e.isMaster,this.isManager=!!e.isManager,this.isToupingma=!!e.isToupingma,this.isLocal=t,this.hasMultiple=!!e.hasMultiple,this.isCreate=!!e.isCreate,this.hasShare=!!e.hasShare,this.avatar=(i=e.userInfo)==null?void 0:i.avatar,this.permission=e.permission,this.raiseAudioHands=!!e.raiseAudioHands,this.raiseVideoHands=!!e.raiseVideoHands,this.raiseHand=!!e.raiseHand,this.isAudience=!!e.isAudience,this.isCommonUser=!!e.isCommonUser,this.inBackground=!!e.inBackground,this.isCalling=!!e.isCalling,this.signals=e.signals,e.permission&&(this.audienceEnableSpeaking=pt(e.permission.permission)),this.raiseHandTime=e.raiseHandTime||0;let r={operation:"none",user:this};this.watcher=new dr.BehaviorSubject(r),this.updateSortNum(!1),this.customInfo=e.customInfo}get isWeb(){return!!(this.userInfo.pos&&(this.userInfo.pos.includes("web")||this.userInfo.pos.includes("pc")))}get isMobile(){return!!(this.userInfo.pos&&this.userInfo.pos.includes("web"))}setup(e,t,r,i){this.isLocal=!0,this.userId=e,this.userInfo=t,r?this.nickName=r:this.nickName=t.nickname,this.avatar=t.avatar,i&&i.signals&&(this.signals=i.signals),this.customInfo=i}getMainStreamModel(){return this.streamModels.get(this.userId)}get nickname(){return this.nickName}getShareStreamModel(){return this.streamModels.get(`${this.userId}${k}`)}get audioEnable(){let e=this.getMainStreamModel();return e?e._audio_enable:!1}get isMixer(){return this.userId.includes("-mixer-")}get videoEnable(){let e=this.getMainStreamModel();return e?e._video_enable:!1}get isSharing(){let e=!1;for(let t of this.streamModels.values())if(t.isShare){e=!0;break}return e}get isSignal(){var e;return!!((e=this.userId)!=null&&e.startsWith(dt))}checkLocalHasMaster(){return this.isMaster||this.isManager}addStream(e,t){this.streamModels.set(e,t),this.watcher.next({operation:"changeShare",user:this})}removeStream(e){this.streamModels.delete(e),e.includes(k)&&(d("\u5220\u9664\u7684\u662F\u5171\u4EAB\u5C4F\u5E55\u7684\u6D41:","","",["streamId =>",e]),setTimeout(()=>{this.watcher.next({operation:"changeShare",user:this})},400))}getID(){return this.userId}getNickName(){return this.nickName}getUserInfo(){return this.userInfo}getStreams(){return this.streamModels}updateUserInfo(e,t={},r){var u,m;let i=(u=t==null?void 0:t.params)==null?void 0:u.customInfo,o=(i==null?void 0:i.updateKeys)||[];this.customInfo=i;let a=!1,n="none";if(d("updateUserInfo =>","updateUser",e.userId,["updateKeys",o.toString(),"permission",(m=e.permission)==null?void 0:m.permission,"isMaster =>",this.isMaster,"isManager =>",this.isManager]),this.nickName!==e.nickname&&(n="changeNickName"),!this.isMaster&&this.isManager&&!e.permission.getManage()&&(n="removeManager",this.isManager=!1),!this.isMaster&&!this.isManager&&e.permission.getManage()&&o.indexOf("changeMaster")==-1&&(n="getManager",this.isManager=!0),e.userinfo.pos)this.userInfo=e.userinfo;else{let h=this.userInfo.pos;this.userInfo=e.userinfo,this.userInfo.pos=h}(o.includes("changeMaster")||o.includes("permission"))&&(e.permission=t.getPermission()),o.includes("raiseHandsAudio")&&(this.raiseAudioHands=i.raiseHandsAudio,n="raiseHandsAudio",E.emitter.emit(F,{status:"raiseHandsAudio",user:this}),a=!0),o.includes("raiseHandsVideo")&&(this.raiseVideoHands=i.raiseHandsVideo,n="raiseHandsVideo",E.emitter.emit(F,{status:"raiseHandsVideo",user:this}),a=!0),o.includes("raiseHand")&&(this.raiseHand=i.raiseHand,this.raiseHandTime=i.raiseHandTime,n="raiseHand",E.emitter.emit(F,{status:"raiseHand",user:this}),a=!0),r.conferenceMode!==1&&this.isAudience&&o.includes("permission")&&((i==null?void 0:i.permission.indexOf("A"))!==-1&&(r.enableAudienceSpeakingWatcher.next(!0),this.audienceEnableSpeaking=!0,n="audienceEnableSpeaking",this.isLocal&&r.bmLiveVM.handleAudienceEnable()),(i==null?void 0:i.permission.indexOf("A"))===-1&&(r.enableAudienceSpeakingWatcher.next(!1),this.audienceEnableSpeaking=!1,n="audienceEnableSpeaking",this.isLocal&&r.bmLiveVM.handleAudienceDisable())),o.includes("inBackground")&&(n="inBackground",this.inBackground=i.inBackground),o.includes("isCalling")&&(n="isCalling",this.isCalling=i.isCalling),this.nickName=e.nickname,this.permission=e.permission;let l=!this.isCommonUser;this.isCommonUser=!e.permission.getSubscribe(),l!==!this.isCommonUser&&(d(`\u8EAB\u4EFD\u6709\u53D1\u751F\u8FC7\u53D8\u5316\uFF0C\u4ECE${l?"\u5609\u5BBE":"\u666E\u901A\u53C2\u4F1A\u8005"} => ${this.isCommonUser?"\u666E\u901A\u53C2\u4F1A\u8005":"\u5609\u5BBE"}`),E.emitter.emit(Me,{user:this,isGuest:!this.isCommonUser,preIsGuest:l})),n&&this.watcher.next({operation:n,user:this}),(!a||a&&!this.isLocal)&&this.updateSortNum(!0)}hasManager(){return this.isManager||this.isMaster}getNicknameSuffix(){let e="";return this.isLocal&&this.isMaster?e="(\u6211\u3001\u4E3B\u6301\u4EBA)":this.isLocal&&this.isManager?e="(\u6211\u3001\u8054\u5E2D\u4E3B\u6301\u4EBA)":this.isLocal?e="(\u6211)":this.isMaster?e="(\u4E3B\u6301\u4EBA)":this.isManager?e="(\u8054\u5E2D\u4E3B\u6301\u4EBA)":this.isSharing&&!this.isToupingma?e="\u7684\u5171\u4EAB\u5C4F\u5E55":this.isSharing&&this.isToupingma&&(e="(\u4EC5\u5171\u4EAB\u5C4F\u5E55)"),e}updateSortNum(e=!0,t=!1){let r=sr(this);this.setSortNum(r,e,t)}setSortNum(e,t,r){this.sortNum===e&&!t||(this.sortNum=e,t&&E.emitter.emit(be,{isCommon:this.isCommonUser,isAudience:this.isAudience,shouldDelay:r}))}};var de=require("rxjs");function q(s){return new Promise(e=>setTimeout(e,s))}var Xe=require("lodash-es");var Pe=["-mixer-","-rtmpmixer-","record#","robot_","stt_"],Ue=500,St="RWPSAVMO,RWPSAVM,RWPSAV,RWPSA",Ye=class s{constructor(e,t,r){this.userList=new Map;this.audiencesList=new Map;this.signalList=new Map;this.commonUserList=new Map;this.userListWatcher=new de.BehaviorSubject(Array.from(this.userList.values()));this.audiencesListWatcher=new de.BehaviorSubject(Array.from(this.audiencesList.values()));this.commonUserListWatcher=new de.BehaviorSubject(Array.from(this.commonUserList.values()));this.signalListWatcher=new de.BehaviorSubject(Array.from(this.signalList.values()));this.masterUserWatcher=new de.BehaviorSubject(null);this.getForceUserWatcher=new de.BehaviorSubject(!1);this.commTimer=200;this.addBCUser=(e,t=!1,r=!1)=>{var a;let i=this.addUser(e);if(this.room.isWorkShop&&!pt(e.permission.permission)){console.log("\u7814\u8BA8\u4F1A, \u89C2\u4F17\u5148\u4E0D\u521B\u5EFA\u7A97\u53E3");return}this.room.bmStreamVm.streamModels.get(e.userId)||this.room.bmStreamVm.createStreamModel(i);{let n=this.room.bmStreamVm.streamModels.get(e.userId);n&&(e.stream.size?e.stream.forEach(l=>c(this,null,function*(){var g,S,b;let{video_enable:u,audio_enable:m,customInfo:h}=l;if(l.screen){i.hasShare=!0,this.room.bmStreamVm.shareBloudStateMap.set(e.userId,{audio:m,video:u,customInfo:h,userId:e.userId,streamId:l.getID(),isScreen:!0});let C={id:n.userId,isScreen:!0,isWeb:n.isWeb};t?yield(g=this.room)==null?void 0:g.processUser(C):(S=this.room)==null||S.addUser2Queue(C)}else if(n&&(n.updateBloudStream({video:u,audio:m,isScreen:l.screen,customInfo:h},this.room.bmStreamVm),t)){let C={id:n.userId,isScreen:!1,isWeb:n.isWeb};(b=this.room)==null||b.processUser(C)}})):(n.bloudStream&&n.updateBloudStream(void 0,this.room.bmStreamVm),(a=this.room)==null||a.bmStreamVm.removeShareStreamModelByUId(e.userId)))}return i&&i.isMaster&&this.masterUserWatcher.next(i),i==null||i.updateSortNum(r),i};this.updateAllSort=()=>{this.updateUserSort(),this.updateCommonUserSort(),this.updateAudienceUserSort(),this.updateSignalUserSort()};this.updateSortByType=e=>{var t,r;(t=this.room)!=null&&t.isSingleColumns||e.isCommon?(r=this.room)!=null&&r.isBig&&e.shouldDelay?this.updateDelayCommonUserSort():this.updateCommonUserSort():(e.isAudience?this.updateAudienceUserSort():this.updateUserSort(),this.updateSignalUserSort())};this.updateUserSort=(0,Xe.debounce)(()=>{let e=this.sortUsers();this.userListWatcher.next(s.filterUsers(e))},200,{maxWait:1e3});this.updateCommonUserSort=(0,Xe.debounce)(()=>{let e=this.sortCommonUsers();this.commonUserListWatcher.next(s.filterUsers(e))},this.commTimer,{maxWait:12*1e3});this.updateDelayCommonUserSort=(0,Xe.debounce)(()=>{let e=this.sortCommonUsers();this.commonUserListWatcher.next(s.filterUsers(e))},120*1e3,{maxWait:120*1e3});this.updateAudienceUserSort=(0,Xe.debounce)(()=>{let e=this.sortAudiences();this.audiencesListWatcher.next(e)},200,{maxWait:1e3});this.updateSignalUserSort=()=>{let e=this.sortSignalUsers();this.signalListWatcher.next(e)};this.transBloudUsers=(e,t="",r=!1,i=0)=>c(this,null,function*(){let o=new Map;yield this.getAllUsers(e,o,t,r).catch(()=>{if(i<3){p("get bloud user error, retry"),i+=1,this.transBloudUsers(e,t,r,i);return}else{p("get current page of bloud users after 10 times final failed","","",[" page ",e," permission ",t]);return}}),yield this.initUserList(o),o.clear();let a=[];for(let n of this.userList.values())(n.raiseVideoHands||n.raiseAudioHands||n.raiseHand)&&a.push(n);for(let n of this.commonUserList.values())(n.raiseVideoHands||n.raiseAudioHands||n.raiseHand)&&a.push(n);for(let n of this.commonUserList.values())(n.raiseVideoHands||n.raiseAudioHands)&&a.push(n);this.room.roomInfo.setRaiseHandsList(a),this.updateAllSort(),this.room.bmStreamVm.updateModelSort()});this.boomCore=e,this.localUser=t,this.room=r,E.emitter||p("init boom emitter error"),E.emitter.on(Me,this.handleUserRoleChange.bind(this)),E.emitter.on(be,this.updateSortByType)}handleUserRoleChange(e){return c(this,null,function*(){var n,l,u;let{user:t,isGuest:r,preIsGuest:i}=e,o=(n=this.room)==null?void 0:n.roomInfo.isBigRoom;if(d("handleUserRoleChange","",t.userId,["isGuest =>",r,"preIsGuest =>",i,"isBigRoom =>",o]),((l=this.room)==null?void 0:l.userListColumns)===1||(i?this.userList.delete(t.userId):this.commonUserList.delete(t.userId),r?this.userList.set(t.userId,t):this.commonUserList.set(t.userId,t)),o)if(r)t.isLocal&&(yield this.initUsers());else{let m=(u=this.room)==null?void 0:u.getLocalParticipant().isCommonUser;if(t.isLocal&&(this.handleUnSubCommonUser(),this.handleCommonUserChange(),this.commonUserList.set(t.userId,t)),m){let h=t.getMainStreamModel();h&&h.unSubscribeStream(),t.isLocal||this.commonUserList.delete(t.userId)}}this.updateAllSort()})}addUser(e){var i;let t=this.getUser(e.userId);if(t)return d("\u8BE5\u7528\u6237\u5DF2\u7ECF\u52A0\u5165\u623F\u95F4",T,e.userId),this.updateUser(t,e),t;let r;return this.boomCore.userId==e.userId?(this.updateUser(this.localUser,e),r=this.localUser):r=this.toBMUser(e),((i=this.room)==null?void 0:i.userListColumns)===1?this.commonUserList.set(r.userId,r):r.isAudience?this.audiencesList.set(r.userId,r):r.isSignal?this.signalList.set(r.userId,r):r.isCommonUser?this.commonUserList.set(r.userId,r):this.userList.set(r.userId,r),r}removeUser(e){let t=this.userList.delete(e);return t||(t=this.signalList.delete(e)),t||(t=this.audiencesList.delete(e)),t||(t=this.commonUserList.delete(e)),t||I("userList\u4E2D\u672A\u627E\u5230\u8BE5\u7528\u6237, \u79FB\u9664\u65E0\u6548",T,e),t}videoEnable(e){let t=this.getUser(e);if(t)return t.videoEnable;throw new N(9001,"\u7528\u6237\u4E0D\u5B58\u5728")}audioEnable(e){let t=this.getUser(e);if(t)return t.audioEnable;throw new N(9001,"\u7528\u6237\u4E0D\u5B58\u5728")}checkIsMaster(e){if(!e)return!1;let t=this.boomCore.getMaster();return t?t===e:!1}checkLocalHasMaster(){return this.localUser.isMaster||this.localUser.isManager}checkUserHasMaster(e){let t=this.userList.get(e);return t?t.permission.getManage():!1}getUser(e){let t;return e!=null&&e.startsWith(dt)?t=this.signalList.get(e):t=this.userList.get(e),t||(t=this.commonUserList.get(e)),t||(t=this.audiencesList.get(e)),t}getAllUsers(e,t,r="",i=!1){return c(this,null,function*(){let o;if(i){let{users:a,total:n}=yield this.boomCore.getUsersList(e,r,Ue);o=a}else{let{users:a,total:n}=yield this.boomCore.getUsers(e,r,Ue);o=a}o.forEach(a=>{t.set(a.userId,a)})})}initUserList(e){return c(this,null,function*(){var r,i;let t=e.get(this.localUser.userId);if(t){let o=this.addUser(t);if(!((r=this.room)!=null&&r.bmStreamVm.getStreamModelByUId(t.userId))){let a=this.getUser(t.userId);a?(i=this.room)==null||i.bmStreamVm.createStreamModel(a):p("there is no local streamModel exits, and create failed!!!")}o!=null&&o.isMaster&&this.masterUserWatcher.next(o)}e.delete(this.localUser.userId),e&&e.size>0&&this.addBcUsersMap(e)})}addBcUsersMap(e,t=!1,r=!1){e.forEach(i=>{this.addBCUser(i,t,r)})}updateMaster(e,t,r){let i=this.getUser(e);i&&(i.isManager&&(i.isManager=!1),i.isMaster=!0,i.updateSortNum());let o=this.getUser(t);return o&&(o.isMaster=!1,r&&(o.isManager=!0),o.updateSortNum()),!i&&!o&&p("\u672A\u627E\u5230\u8BE5\u7528\u6237, updateMaster\u672A\u751F\u6548",T,e,["masterId => ",e,"oldMasterId => ",t]),{master:i,oldMaster:o}}managerChangeToGuest(e){let t=this.getUser(e);return t?t.isManager?(t.permission.setManage(!1),t.permission.setSubscribe(!0),this.boomCore.updateUser(e,{customInfo:{permission:t.permission.get()}}),t.watcher.next({operation:"getGuest",user:t}),this.updateAllSort()):p("\u8BE5\u7528\u6237\u4E0D\u662F\u7BA1\u7406\u5458\uFF0C\u65E0\u6CD5\u8BBE\u7F6E\u4E3A\u5609\u5BBE",T,e):p("\u672A\u627E\u5230\u8BE5\u7528\u6237, managerChangeToGuest\u672A\u751F\u6548",T,e),t}updateManager(e,t,r=!0){let i=this.getUser(e);return i?(i.permission.setManage(t),r?i.permission.setSubscribe(!0):i.permission.setSubscribe(t),this.boomCore.updateUser(e,{customInfo:{permission:i.permission.get()}}),i.watcher.next({operation:t?"getManager":"removeManager",user:i}),this.updateAllSort()):p("userList\u4E2D\u672A\u627E\u5230\u8BE5\u7528\u6237, updateManager\u672A\u751F\u6548",T,e),i}getLocalUser(){return this.localUser}updateUser(e,t){var v,y,H,z,X,Y,Z,K;let r=this.checkIsMaster(t.userId),i=(((v=t.permission)==null?void 0:v.getManage())||ft((y=t.permission)==null?void 0:y.permission))&&!((H=t.permission)!=null&&H.getOwn()||gt((z=t.permission)==null?void 0:z.permission)),o="none",a=e.isMaster;e.isManager!==i&&(i?o="getManager":o="removeManager"),o!=="none"&&setTimeout(()=>{e.watcher.next({operation:o,user:e})},10),a!==r&&(r?o="getMaster":o="removeMaster"),o!=="none"&&setTimeout(()=>{e.watcher.next({operation:o,user:e})},100);let l=e.raiseHand,u=t.customInfo.raiseHand;l!==u&&(!u&&l&&this.room.roomInfo.removeSimpleRaiseHandUser(e.userId),setTimeout(()=>{e.watcher.next({operation:"raiseHand",user:e})},300));let m=e.raiseVideoHands,h=t.customInfo.raiseHandsVideo;m!==h&&(!h&&m&&this.room.roomInfo.removeVideoRaiseHandUser(e.userId),setTimeout(()=>{e.watcher.next({operation:"raiseHandsVideo",user:e})},300));let g=e.raiseAudioHands,S=t.customInfo.raiseHandsAudio;g!==S&&(!S&&g&&this.room.roomInfo.removeRaiseHandUser(e.userId),setTimeout(()=>{e.watcher.next({operation:"raiseHandsAudio",user:e})},300));let b=e.nickname,C=t.nickname;if(b!==C&&setTimeout(()=>{e.watcher.next({operation:"changeNickName",user:e})},300),e.isAudience){let se=e.audienceEnableSpeaking,oe=t.permission.getAudio();se!==oe&&setTimeout(()=>{e.watcher.next({operation:"audienceEnableSpeaking",user:e})},300)}e.userInfo=t.userinfo,e.nickName=t.nickname,e.userId=t.userId,e.permission=t.permission,e.avatar=t.userinfo.avatar,e.isToupingma=t.userinfo.pos.includes("_toupingma"),e.raiseHand=u,e.isMaster=r,e.isCreate=this.boomCore.getCreator()===t.userId,e.isAudience=!t.permission.getVideo(),e.isCommonUser=!t.permission.getSubscribe(),e.isManager=i,e.inBackground=!!((X=t==null?void 0:t.customInfo)!=null&&X.inBackground),e.isCalling=!!((Y=t==null?void 0:t.customInfo)!=null&&Y.isCalling),(Z=t.customInfo)!=null&&Z.signals&&(e.signals=(K=t==null?void 0:t.customInfo)==null?void 0:K.signals),e.isAudience&&(e.audienceEnableSpeaking=t.permission.getAudio()),e.updateSortNum()}updateLocalUserPermission(e){let t=this.getLocalUser();t.isMaster=gt(e),t.isManager=!gt(e)&&ft(e),t.isCommonUser=qe(e),t.isAudience=!_t(e),t.watcher.next({operation:"none",user:t})}toBMUser(e){var i,o;let t={};t.userInfo=e.userinfo,t.nickname=e.nickname,t.userId=e.userId,t.streamModels=[],t.permission=e.permission,t.stream=e.stream,t.isToupingma=!!(e.userinfo.pos&&e.userinfo.pos.includes("_toupingma")),t.isMaster=this.checkIsMaster(t.userId),t.isCommonUser=!e.permission.getSubscribe()||qe(e.permission.permission),t.isAudience=!_t(e.permission.permission),t.raiseAudioHands=e.customInfo.raiseHandsAudio,t.raiseVideoHands=e.customInfo.raiseHandsVideo,t.raiseHand=e.customInfo.raiseHand,t.raiseHandTime=e.customInfo.raiseHandTime,t.inBackground=e.customInfo.inBackground,t.isCalling=e.customInfo.isCalling,t.customInfo=e.customInfo,t.isCreate=this.boomCore.getCreator()===e.userId,t.signals=e.customInfo.signals;let r=this.boomCore.getLocalParticipant();if(!r)throw new N(1001,"BCUserVM addUser\u65F6\u672A\u627E\u5230\u672C\u5730\u7528\u6237");return r.getID()==t.userId&&(t.isLocal=!0),((i=t.permission)!=null&&i.getManage()||ft((o=t.permission)==null?void 0:o.permission))&&!t.isMaster&&(t.isManager=!0),new ue(t,t.isLocal)}sortUsers(){return Qe(Array.from(this.userList.values()))}sortAudiences(){return Qe(Array.from(this.audiencesList.values()))}sortCommonUsers(){return Qe(Array.from(this.commonUserList.values()))}sortSignalUsers(){return Qe(Array.from(this.signalList.values()))}static filterUsers(e){return e.filter(t=>!s.filterUser(t.userId))}static filterUser(e){return Pe.some(t=>e.includes(t))}initUsers(){return c(this,null,function*(){var l;let e=yield this.getTotalUserNumber();d(`initUsers total users num: ${e}`);let t=Math.ceil(e/Ue),r=0,i=this.localUser.isCommonUser,o=[],a=u=>c(this,null,function*(){u<t&&(yield this.transBloudUsers(u-1))}),n=u=>c(this,null,function*(){for(let m of u)yield m(),yield q(50)});if(i&&((l=this.room)!=null&&l.isBig))this.commonUserList.set(this.localUser.userId,this.localUser),yield this.transBloudUsers(-1,St,!0);else if(this.room.conferenceMode===2)this.room.localIsAudience&&this.audiencesList.set(this.localUser.userId,this.localUser),yield this.transBloudUsers(-1,St,!0);else{for(;r<t;)o.push(a.bind(null,r)),r+=1;n(o)}})}handleUnSubCommonUser(){this.commonUserList.forEach(e=>{let t=e.getMainStreamModel();t!=null&&t.hasPulled&&t.unSubscribeStream()})}handleCommonUserChange(){let e=new Map;this.room.bmStreamVm.streamModels.forEach(t=>{(!t.getUser().isCommonUser||t.isLocal)&&e.set(t.userId,t)}),this.room.bmStreamVm.streamModels=e,this.commonUserList.clear()}getUsers(e,t,r="RWPAV",i="array"){return c(this,null,function*(){let{users:o,total:a}=yield this.boomCore.getUsers(e,r,t);if(i==="map"){let n=new Map;return o.forEach(l=>{if(s.filterUser(l.userId))return;let u=this.toBMUser(l);n.set(u.userId,u),u.isAudience&&this.audiencesList.set(u.userId,u)}),{userList:n,total:a}}else{let n=[];return o.forEach(l=>{if(s.filterUser(l.userId))return;let u=this.toBMUser(l);n.push(u),u.isAudience&&this.audiencesList.set(u.userId,u)}),{userList:n,total:a}}})}getAudiencesList(e,t,r="array"){return c(this,null,function*(){let{users:i,total:o}=yield this.boomCore.getUsers(e,"RWPS",t,r),{users:a,total:n}=yield this.boomCore.getUsers(e,"RWPSA",t,r);if(e===-1&&this.audiencesList.clear(),r==="map"){let l=new Map;return a.forEach(u=>{if(s.filterUser(u.userId))return;let m=this.toBMUser(u);l.set(m.userId,m),this.audiencesList.set(m.userId,m)}),i.forEach(u=>{if(s.filterUser(u.userId))return;let m=this.toBMUser(u);l.set(m.userId,m),this.audiencesList.set(m.userId,m)}),this.updateAudienceUserSort(),{userList:l,total:o}}else{let l=[];return a.forEach(u=>{if(s.filterUser(u.userId))return;let m=this.toBMUser(u);l.push(m),this.audiencesList.set(m.userId,m)}),i.forEach(u=>{if(s.filterUser(u.userId))return;let m=this.toBMUser(u);l.push(m),this.audiencesList.set(m.userId,m)}),this.updateAudienceUserSort(),{userList:l,total:o+n}}})}getUsersList(e,t,r="",i=!1){return c(this,null,function*(){var u,m;let{users:o,total:a,pageIndex:n}=yield this.boomCore.getUsersList(e,r,t,i),l=[];return o.forEach(h=>{if(s.filterUser(h.userId))return;let g=this.toBMUser(h);l.push(g)}),i&&((u=this.room)==null?void 0:u.roomInfo.totalWaitRoomUserWatcher.value)!==a&&((m=this.room)==null||m.roomInfo.totalWaitRoomUserWatcher.next(a)),{userList:l,total:a,pageIndex:n}})}getTotalUserNumber(){return c(this,null,function*(){let e=()=>c(this,null,function*(){let{total:r}=yield this.boomCore.getUsers(0,"",1);return r}),t=r=>{e().then(i=>{r(i)}).catch(i=>{p("getTotalUserNumber error","","",[JSON.stringify(i)]),t(r)})};return new Promise((r,i)=>c(this,null,function*(){t(r)}))})}clearUsers(){this.userList.clear(),this.commonUserList.clear(),this.audiencesList.clear(),this.signalList.clear()}searchUsers(e,t){return c(this,null,function*(){try{let{users:r}=yield this.boomCore.searchUsers(e,t,!1),i=[],o=[],a=[];return r.forEach(n=>{let l=this.userList.get(n.userId);if(l){i.push(l);return}let u=this.commonUserList.get(n.userId);if(u){o.push(u);return}let m=this.audiencesList.get(n.userId);if(m)a.push(m);else{let h=this.toBMUser(n);a.push(h)}}),{userList:i,commonUserList:o,audienceList:a}}catch(r){return Promise.reject(new N(1e3,"boomCore.searchUsers\u53D1\u751F\u9519\u8BEF:"+(r==null?void 0:r.message)))}})}searchWaitRoomUsers(e,t){return c(this,null,function*(){try{let{users:r}=yield this.boomCore.searchUsers(e,t,!0),i=[];return r.forEach(o=>{let a=this.toBMUser(o);i.push(a)}),i}catch(r){return Promise.reject(new N(1e3,"search wait room users error"))}})}};var V=class{constructor(e){this.isMeetingNotice=!1;this.isEmoji=!1;this.userId=e.userId,this.message=e.message,this.role=e.role,this.isLocal=e.isLocal,this.avatar=e.avatar,this.nickName=e.nickName,this.to=e.to,this.isDanger=e.isDanger,this.seq=e.seq,this.failed=e.failed;let t=!1;e.isMeetingNotice&&(t=!0),this.isMeetingNotice=t,e.sendTime?(this.timeStamp=e.sendTime,this.time=Dt(this.timeStamp)):(this.timeStamp=new Date().getTime(),this.time=Dt(this.timeStamp));let r=this.message.match(/^\[(.*?)\]$/);this.isEmoji=r!==null&&r[0].length<=20&&r[0].length>=4}};var Nr=require("lodash-es");function re(s){let e=s.getStreamId();return s.getUserId().toString().endsWith(k)||e.startsWith(ut)||s.getType&&s.getType()==="assist"}var hr=require("lodash-es"),Ne=require("@hysc/utils"),he=require("@hysc/utils");function pr(s){var t,r;let e=s.getLocalStreamModel();if(e&&!(e!=null&&e.stream))s.bloudStream&&(d("brtc \u5DF2\u7ECF\u6CA1\u6709\u6D41\u4E86\uFF0Cbloud \u7684\u6D41\u8981\u53D6\u6D88\u6389"),s.bloudStream.unpublish(),e.updateBloudStream(void 0,s),s.bloudStream=null);else if(e&&e.stream){d("brtc \u6D41\u5DF2\u7ECF\u91CD\u63A8\u4E0A\u53BB\u4E86\uFF0Cbloud\u8981\u91CD\u65B0\u53D1\u63A8\u6D41\u7684\u903B\u8F91");let i=e.stream.getAudioOn(),o=e.stream.getVideoOn();s.publishBloudStream(i,o).then(()=>{var a;d("brtc stream repub success bloud repub success, notify reconnect success"),s.localStreamConnectErrorWatcher.next((0,Ne.BMStreamReconnectSuccess)(i,o)),(a=e.player)==null||a.destroy(),e.player=null,e.isInBig&&e.playInBig()})}if(s.localIsShare){d("brtc has share stream, and bloud need to republish share stream");let i=(t=s.room)==null?void 0:t.boomCore.shareScreenStream;if(i){let o=i.getAudioOn(),a=i.getVideoOn();try{(r=s.room)==null||r.boomCore.createAndPubBloudShareStream(o,a)}catch(n){p("bloud \u5171\u4EAB\u5C4F\u5E55\u6D41\uFF0C\u65AD\u7F51\u91CD\u8FDE\u91CD\u63A8\u6D41\u5931\u8D25")}}}}var pe=(0,hr.debounce)(s=>{if(s.networkState.bloud&&s.networkState.brtc)try{s.streamQueue.restart()}catch(e){p("streamQueue restart error",JSON.stringify(e))}},300);function fr(s,e,t,r){let i=s.stream;if(d("\u672C\u5730\u63A8\u6D41","\u672C\u5730\u63A8\u6D41",i.getUserId()),i){let o=e.getLocalStreamModel();o&&e.updateStreamModel(o,i),r[he.BrtcEvents.STREAM_PUBLISHED].next({published:!0,model:o}),t.conferenceMode===1&&t.getLocalParticipant().isAudience&&e.getStreamModels().forEach(n=>{n.sendMessage2Room()})}else r[he.BrtcEvents.STREAM_PUBLISHED].next({published:!1})}function gr(s,e,t){d("bloud publish stream"),Vt(s,e,!0),t[he.BloudEvents.STREAM_PUBLISHED].next(s)}function Vt(s,e,t=!1){var a,n,l;d("bloud stream update","","",[JSON.stringify(s)]);let r=s.userId,i=s.isScreen,o=e.streamModels.get(r);if(o)if(!i)o.updateBloudStream(s,e,t),o.getUser().updateSortNum();else{e.shareBloudStateMap.set(r,s);let u=(a=e.room)==null?void 0:a.userVM.getUser(r);u&&(u.hasShare=!0);let m={id:r,isWeb:o.isWeb,isScreen:i};(n=e.room)==null||n.addUser2Queue(m)}else{I("bloud stream update, but can not get streamModel","",r);let u=(l=e.room)==null?void 0:l.userVM.getUser(r);if(!u){p("bloud stream update, but can not get user","",r);return}e.createStreamModel(u).updateBloudStream({audio:s.audio,video:s.video,isScreen:s.isScreen},e)}}function Sr(s,e,t,r){d("bloud unpublish stream","","",[JSON.stringify(s)]),Oi(s,e,t),r[he.BloudEvents.STREAM_REMOVED].next(s)}function br(s,e,t){d("bloud stream update","","",[JSON.stringify(s)]);let r=s.streamId,i=s.userId,o=s.params.customInfo,a;r.includes("_screen")?a=e.shareStreamModels.get(i):a=e.streamModels.get(i),a?a.updateBloudCustomInfo(o):p("bloud stream update, but can not get streamModel","",i,["streamId =>",r]),t[he.BloudEvents.UPDATE_STREAM].next(s)}function Oi(s,e,t){var o,a,n,l;let r=s.userId;if(s.isScreen){let u=e.shareStreamModels.get(r),m=(n=e.room)==null?void 0:n.userVM.getUser(r);if(m&&(m.hasShare=!1),u){let h=u.stream;h?(h.destroy(),e.remoteStreamUnpublished(h)):e.removeShareStreamModelByUId(r);let g=t.shareFileWatcher.getValue();g!=null&&g.streamId==r+"_screen"&&t.shareFileWatcher.next(null);let S={id:r,isWeb:u.isWeb,isScreen:!0};(l=e.room)==null||l.streamQueue.removeUser(S)}else I("bloud user unpublish share stream but can not get streamModel","",r)}else{let u=e.streamModels.get(r);if(u){u.updateBloudStream(void 0,e);let m=u.stream;m&&((o=e.room.audioPlayer)==null||o.removeStream(m),e.remoteStreamUnpublished(m),m.destroy());let h={id:r,isWeb:u.isWeb,isScreen:!1};(a=e.room)==null||a.streamQueue.removeUser(h)}else I("bloud user unpublish stream but can not get streamModel","",r)}}function bt(s,e){setTimeout(()=>c(this,null,function*(){d("handle republish share stream");try{let t=s.boomCore.shareScreenStream;if(t){let r=t.getAudioOn(),i=t.getVideoOn();if(yield s.boomCore.shareBrtcClient.publish(t),yield s.boomCore.createAndPubBloudShareStream(r,i),Object.keys(e.localShareCustomStats).length){let o=e.localModel.userId;yield e.updateBloudStreamCustomStats(o,`${o}_screen`,e.localShareCustomStats)}d("handle republish share stream success"),e.localShareError.next((0,Ne.BMShareStreamReconnectSuccess)())}else I("no share stream exist, unpublish share stream, to prevent share stream state error"),e.toggleShareScreen(!1,void 0)}catch(t){p("handle republish share stream failed , now unpublish"),e.localShareError.next((0,Ne.BMShareStreamReconnectFailed)()),yield e.toggleShareScreen(!1,void 0)}}),1e3)}var W=require("@hysc/utils");function Er(s,e,t){let r=s.permission,i=s.total;r&&t.updateLocalUserPermission(r),e.isInWaitRoom=s.joinwait;let o=s.waitroom;e.roomInfo.isOpenWaitRoom.next(o),e.roomInfo.totalUserWatcher.next(i);let a=s.audiooff,n=s.selfopenaudio;(a!==e.roomInfo.audioOff||n!==e.roomInfo.selfopenaudio)&&a!=null&&n!=null&&e.roomInfo.setAudioOff(a,n)}function It(s,e,t,r,i=!0){return c(this,null,function*(){var o;d("room-connected",e.getLocalParticipant().userId,"room-connected",["roomId =>",e.roomInfo.roomID," local permission => ",s.permission]),e.forceId=(o=s.customStats.forceOn)==null?void 0:o.user,Cr(s,e),Er(s,e,t),i&&r[W.BloudEvents.ROOM_CONNECTED].next(s)})}function yt(s){return c(this,null,function*(){if(d("join ready init users"),!s.isInWaitRoom)if(s.forceId&&(yield s.getForceUser(s.forceId)),yield s.userVM.initUsers(),s.localUser.isAudience)s.queryBloudUsers([s.localUser.userId]);else{let{audioEnable:e,videoEnable:t}=s.roomInfo.originJoinRoomParams;if(s.localUser.userId.startsWith("robot_"))return;d(`join ready:audioEnable:${e}, videoEnable:${t}`),!e&&!t&&s.bmStreamVm.onlyBrtcPublish().catch(r=>{d("only-brtc-pub ","publish",s.localUser.userId,[r.message])})}})}function Mr(s,e){d("update-stats "," ","",["options => ",JSON.stringify(s.options)]),s.options&&s.options[0]=="audiooff"||s.options[1]=="selfopenaudio"?e.roomInfo.setAudioOff(s.room.audiooff,s.room.selfopenaudio):s.options&&s.options[0]=="lock"?e.roomInfo.setlock(s.room.lock):s.options&&s.options[0]=="waitroom"&&e.roomInfo.isOpenWaitRoom.next(s.stats.waitroom)}function Cr(s,e){e.roomInfo.msgSeq=s.msgSeq,s.customStats&&e.roomInfo.initCustomStats(s.customStats)}function Ir(s,e,t,r,i){var l;s.updateUser(e,t);let o=t.stream,a=r.streamModels.get(e.userId);if(a||p("bmUserVM\u4E2D\u5B58\u5728\u8BE5\u7528\u6237\uFF0C\u4F46\u662FbmStreamModelVM\u4E2D\u4E0D\u5B58\u5728\u8BE5\u7528\u6237\uFF0C\u4F5B\u4E86"),!o.size){a!=null&&a.bloudStream&&(a.updateBloudStream(void 0,r),i.streamQueue.removeUser({id:e.userId,isScreen:!1}),i.streamQueue.removeUser({id:e.userId,isScreen:!0}));let u=r.shareStreamModels.get(e.userId);if(u&&!u.isLocal){try{(l=u.stream)==null||l.destroy()}catch(m){}r.removeShareStreamModel(u)}}o.get(`${e.userId}_screen`)&&i.addUser2Queue({id:e.userId,isScreen:!0,isWeb:e.isWeb});let n=o.get(e.userId);n&&(a==null||a.updateBloudStream({audio:n.audio_enable,video:n.video_enable,isScreen:!1},r))}function yr(s,e,t,r){s.isSingleColumns?e.commonUserList.forEach(i=>{let o=t.get(i.userId);if(o){t.delete(i.userId),Ir(e,i,o,r,s);return}e.commonUserList.delete(i.userId),r.streamModels.delete(i.userId),r.shareStreamModels.delete(i.userId)}):e.userList.forEach(i=>{let o=t.get(i.userId);if(o){Ir(e,i,o,r,s),i.isCommonUser?e.userList.delete(i.userId):t.delete(i.userId);return}e.userList.delete(i.userId),r.streamModels.delete(i.userId),r.shareStreamModels.delete(i.userId)}),s.userVM.addBcUsersMap(t)}function ki(s,e,t,r){return c(this,null,function*(){let i=e.getLocalParticipant().userId,{users:o}=yield e.boomCore.queryUsers([i]),a=o.get(i);a&&t.updateUser(t.localUser,a);let n=e.getLocalParticipant().isCommonUser;if(e.isBig&&n){let{users:l}=yield e.boomCore.getUsersList(0,St,500);yr(e,t,l,r)}else{let u=(yield e.userVM.getTotalUserNumber())/Ue,m=new Map;for(let h=0;h<u;h++){let{users:g}=yield e.boomCore.getUsers(h-1,"",Ue);g.forEach(S=>{m.set(S.userId,S)})}yr(e,t,m,r)}Cr(s,e),e.userVM.updateAllSort(),e.bmStreamVm.updateModelSort()})}function vr(s,e,t){d("brtc room reconnecting"),e.networkState.brtc=!1,e.streamWSReconnectWatcher.next(!1),t[W.BrtcEvents.BRTC_ROOM_ROCONNECTING].next(s)}function Br(s,e,t){d("brtc room reconnected"),e.networkState.brtc=!0,pe(e),t[W.BrtcEvents.BRTC_ROOM_RECONNECTED].next(s)}function Ar(s,e,t){d("bloud room reconnecting"),e.networkState.bloud=!1,e.bloudWSReconnectWatcher.next(!1),t[W.BloudEvents.RECONNECTING].next(s)}function Et(s,e,t){return c(this,null,function*(){e.hasSyncPermission?(d("bloud room reconnected"),e.bloudWSReconnectWatcher.next(!1),t[W.BloudEvents.MOVE_USER_ROOM].next(null),yield e.syncRoom().then(()=>{e.hasSyncPermission=!0,t[W.BloudEvents.ROOM_CONNECTED].next(s)}).catch(r=>{if(p("sync room error",JSON.stringify(r)),r.code===43){e.hasSyncPermission=!1,t[W.BloudEvents.USER_REJOINED].next(r);return}else e.hasSyncPermission=!1,t[W.BloudEvents.TIMEOUT].next(r)})):t[W.BloudEvents.TIMEOUT].next(s)})}function Rr(s,e,t,r,i){return c(this,null,function*(){d("bloud sync room completed"),Er(s,t,e),yield ki(s,t,e,r),pr(r),t.networkState.bloud=!0,pe(t),t.bloudWSReconnectWatcher.next(!0),i[W.BloudEvents.ROOM_SYNCED].next(s)})}var wr=require("@hysc/utils");var{USER_REJOINED:Di,PARTICIPANT_JOINED:_i,CHANGE_MASTER:Ur,EVICTED:Vi,UPDATE_USER:Hi,PARTICIPANT_LEFT:Ht,CUSTOM_MESSAGE:Wi,MOVE_USER_ROOM:Pr}=wr.BloudEvents;function Tr(s,e,t,r,i,o){var g,S,b,C,v,y,H,z,X,Y,Z,K,se,oe,_e,Ve,He,ae,ne,J,ge,We;let a=(S=(g=s==null?void 0:s.participant)==null?void 0:g.params)==null?void 0:S.info.sync,n=s.mode,l=s.user.userId;d("\u7528\u6237\u5165\u4F1A","\u7528\u6237\u5165\u4F1A",s.user.userId,["sync => ",a,"mode =>",n]);let u=e.room.isBig&&t.streamModels.size>1e3,m=!1;if(a){let P=e.userList.get(s.user.userId);if(P||(P=e.commonUserList.get(s.user.userId)),P){P.inBackground!=!!((C=(b=s.user)==null?void 0:b.customInfo)!=null&&C.inBackground)&&(P.inBackground=!!((y=(v=s.user)==null?void 0:v.customInfo)!=null&&y.inBackground),P.watcher.next({operation:"inBackground",user:P})),P.isCalling!=!!((z=(H=s.user)==null?void 0:H.customInfo)!=null&&z.isCalling)&&(P.isCalling=!!((Y=(X=s.user)==null?void 0:X.customInfo)!=null&&Y.isCalling),P.watcher.next({operation:"isCalling",user:P}));return}}if((Z=e.room)!=null&&Z.isBig&&n===1&&((K=t.room)==null?void 0:K.conferenceMode)===1)if(qe(s.user.permission.permission))e.userList.get(s.user.userId)&&(e.userList.delete(s.user.userId),t.streamModels.delete(s.user.userId),m=!0);else{let ee=e.commonUserList.get(s.user.userId);(se=e.room)!=null&&se.isSingleColumns||ee&&(e.commonUserList.delete(s.user.userId),t.streamModels.delete(s.user.userId),m=!0)}let h=e.addBCUser(s.user);if(h){h.inBackground!=!!((_e=(oe=s.user)==null?void 0:oe.customInfo)!=null&&_e.inBackground)&&(h.inBackground=!!((He=(Ve=s.user)==null?void 0:Ve.customInfo)!=null&&He.inBackground),h.watcher.next({operation:"inBackground",user:h})),h.isCalling!=!!((ne=(ae=s.user)==null?void 0:ae.customInfo)!=null&&ne.isCalling)&&(h.isCalling=!!((ge=(J=s.user)==null?void 0:J.customInfo)!=null&&ge.isCalling),h.watcher.next({operation:"inBackground",user:h}));let P=!1;if(Pe.forEach(ee=>{h!=null&&h.userId.includes(ee)&&(P=!0)}),m?e.updateAllSort():(We=e.room)!=null&&We.isSingleColumns?e.updateCommonUserSort():h?h.isCommonUser?u?e.updateDelayCommonUserSort():e.updateCommonUserSort():h.isAudience?e.updateAudienceUserSort():e.updateUserSort():e.updateAllSort(),t.updateModelSort(),!P){if(s.mode!==1){let ee=new V({isMeetingNotice:!0,userId:h.userId,message:h.nickName+`\u52A0\u5165${r.roomType==2?"\u76F4\u64AD":"\u4F1A\u8BAE"}`});i.addMessage(ee,!0)}o[_i].next({user:h,mode:n,data:s})}}}function xr(s,e,t,r,i,o,a){var l;let n=s.userIds;d("bloud leave users","","",["userIds =>",n]),n.length&&(n.forEach(u=>{let m=Wt(u,e,t,i);m&&Or(m,o,a,r,!0,0)}),(l=e.room)!=null&&l.isSingleColumns?e.updateCommonUserSort():e.updateAllSort(),i.updateModelSort())}function Lr(s,e,t,r,i,o,a){var m;d(`bloud participant left ===>${s.userId}, ${s.mode}`);let n=s.mode===1,l=s.userId,u=t.isBig&&i.streamModels.size>1e3;if(l){let h=Wt(l,e,t,i);if((m=e.room)!=null&&m.isSingleColumns?e.updateCommonUserSort():h?h.isCommonUser?u?e.updateDelayCommonUserSort():e.updateCommonUserSort():h.isAudience?e.updateAudienceUserSort():e.updateUserSort():e.updateAllSort(),i.updateModelSort(),n){r[Ht].next({user:h,mode:s.mode,data:s});return}h&&Or(h,o,a,r,s.mode!==1,s.mode)}else I("participant-left\u89E6\u53D1=======>\u4F46\u662F\u8BE5\u7528\u6237\u4FE1\u606F\u4E0D\u5B58\u5728",T,null,[s.userId]),r[Ht].next({user:s.userId,mode:s.mode,data:s})}function Or(s,e,t,r,i,o){let a=!1;if(Pe.forEach(n=>{s!=null&&s.userId.includes(n)&&(a=!0)}),!a){if(i){let n=new V({isMeetingNotice:!0,userId:s.userId,message:(s==null?void 0:s.nickName)+`\u79BB\u5F00${e.roomType==2?"\u76F4\u64AD":"\u4F1A\u8BAE"}`});t.addMessage(n,!0)}r[Ht].next({user:s,mode:o})}}function Wt(s,e,t,r){let i=e.getUser(s);return e.removeUser(s),t.streamQueue.removeUser({id:s,isScreen:!1}),t.streamQueue.removeUser({id:s,isScreen:!0}),r.removeStreamModelByUId(s),r.removeShareStreamModelByUId(s),t.roomInfo.removeRaiseHandUser(s),t.roomInfo.removeVideoRaiseHandUser(s),t.roomInfo.removeSimpleRaiseHandUser(s),r.shareBloudStateMap.delete(s),i}function kr(s,e,t,r,i){d("changeMaster =>","changeMaster","",["master: => ",s.master,"oldMaster =>",s.oldMaster]);let o=s.master,a=s.oldMaster,n=s.isKeep;if(!o)I("change-master\u89E6\u53D1=======>\u4F46\u662F\u623F\u95F4\u5185\u627E\u4E0D\u5230master",T,null,o),r[Ur].next(null);else{let l=e.updateMaster(o,a,n);l.master&&(l.master.watcher.next({operation:"getMaster",user:l.master}),t.userVM.masterUserWatcher.next(l.master)),l.oldMaster&&(l.oldMaster.watcher.next({operation:"removeMaster",user:l.oldMaster}),n&&l.oldMaster.watcher.next({operation:"getManager",user:l.oldMaster}));let u=i.getStreamModelByUId(a),m=i.getStreamModelByUId(o);u==null||u.updateSortNum(),m==null||m.updateSortNum(),r[Ur].next({master:l.master,oldMaster:l.oldMaster,data:s})}}function Dr(s,e,t,r,i){var l;let o=s.userId,a=e.getUser(o);d("\u8E22\u51FA\u7528\u6237 => ","evict ",a==null?void 0:a.userId,["nickname => ",a==null?void 0:a.nickName]);let n=Wt(o,e,r,t);(l=e.room)!=null&&l.isSingleColumns?e.updateCommonUserSort():n?n.isCommonUser?e.updateCommonUserSort():n.isAudience?e.updateAudienceUserSort():e.updateUserSort():e.updateAllSort(),t.updateModelSort(),i[Vi].next(s)}function _r(s,e,t,r,i){var a;let o=(a=s.user)==null?void 0:a.userId;if(d("\u7528\u6237\u4FE1\u606F\u88AB\u6539\u53D8","",o),o){let n=e.getUser(o),l=r.getStreamModelByUId(o);n?n.updateUserInfo(s.user,s.participant,t):(console.warn("participant-update: bmUser is null"),t.queryBloudUsers([o],!0)),l&&l.updateSortNum(!0),i[Hi].next({bmUser:n,params:s.participant.params})}}var Gt=(0,Nr.debounce)((s,e)=>{s[Di].next(e)},1e3);function Vr(s,e,t,r){return c(this,null,function*(){d("bloud move user room","","",[t]);let i=t.toWait;if(s.isInWaitRoom=i,i){s.handleResetOtherStreamStatus(),e.userList.clear(),e.userListWatcher.next([]),e.commonUserList.clear(),e.commonUserListWatcher.next([]),e.getForceUserWatcher.next(!1),s.bmStreamVm.streamModels.clear(),s.bmStreamVm.clearDetector(),s.bmStreamVm.speakerWatcher.next(null),r[Wi].next(null),s.messageWatcher.next({type:"init",status:!1,isNotCancelRootReport:!1}),s.audioPlayer.destroy();let o=s.bmStreamVm.localModel;o&&s.bmStreamVm.streamModels.set(o.userId,o),s.bmStreamVm.streamModelsWatcher.next([]),s.bmStreamVm.shareStreamModels.clear(),s.bmStreamVm.shareStreamModelsWatcher.next([]),s.roomInfo.raiseHandsWatcher.next([]),s.roomInfo.raiseVideoHandsWatcher.next([]),s.roomInfo.raiseSimpleHandsWatcher.next([]),r[Pr].next(i),Object.values(s.observes).forEach(a=>{a.next(null)})}else{let{audiooff:o,selfopenaudio:a,lock:n}=t.info;n!==s.roomInfo.lock&&s.roomInfo.setlock(n),(o!==s.roomInfo.audioOff||a!==s.roomInfo.selfopenaudio)&&s.roomInfo.setAudioOff(o,a),yield It(t.info,s,e,r,!0),yield yt(s),r[Pr].next(i)}})}var Mt=require("@hysc/utils");function Wr(s,e,t,r){var o,a,n,l,u,m,h,g,S;let i=w({},s);if(i.message){if(i.message=typeof i.message=="string"?JSON.parse(i.message):i.message,d("new-message","","",[" method => ",i.message.method]),i.message.method==="send-talk"){let b=i.user===((o=e.getLocalUser())==null?void 0:o.userId),C=((n=(a=i.message)==null?void 0:a.params)==null?void 0:n.status)||"",v=(m=(u=(l=i.message)==null?void 0:l.params)==null?void 0:u.stream)==null?void 0:m.avatar,y=s.seq,H=new V({userId:i.user,message:C,isLocal:b,avatar:v,to:i.to,seq:y,nickName:(S=(g=(h=i.message)==null?void 0:h.params)==null?void 0:g.stream)==null?void 0:S.nickname,sendTime:new Date().getTime()});t.addMessage(H,!1)}r[Mt.BloudEvents.SEND_MESSAGE].next(i)}}function Gr(s,e,t){var i,o,a,n,l,u,m,h,g,S,b,C,v;let r=w({},s);if(r.message)if(r.message=typeof r.message=="string"?JSON.parse(r.message):r.message,d("custom-message","","",[" method => ",r.message.method]),r.message.method=="video-force-change"){let y=r.message.params.status=="enabled";d(`\u8FDC\u7AEF\u63A7\u5236\u672C\u5730\u6444\u50CF\u5934: ${y}`),e.messageWatcher.next({type:"video-force-change",status:y,fromUserId:r.user})}else if(r.message.method=="audio-force-change"){let y;r.message.params.status=="checkUserAudio"?y=r.message.params.status:y=r.message.params.status=="enabled",d(`\u8FDC\u7AEF\u63A7\u5236\u672C\u5730\u9EA6\u514B\u98CE: ${y}`),e.messageWatcher.next({type:"audio-force-change",status:y,fromUserId:r.user,isNotCancelRootReport:(i=r.message.params)==null?void 0:i.isNotCancelRootReport})}else if(r.message.method==="raise-hands"){let y=r.message.params;Gi(y,e),e.raiseHandleRespWatcher.next(y)}else if(r.message.method==="give-like")(h=e.roomVM)==null||h.giveLikeList.push({userId:r.user,nickName:(n=(a=(o=r.message)==null?void 0:o.params)==null?void 0:a.stream)==null?void 0:n.nickname,time:new Date().getTime(),type:(m=(u=(l=r.message)==null?void 0:l.params)==null?void 0:u.stream)==null?void 0:m.type}),(S=e.roomVM)==null||S.giveLikeListWatcher.next((g=e.roomVM)==null?void 0:g.giveLikeList);else if(r.message.method==="resp-to-check-devices")(b=r.message)!=null&&b.params&&(r.message.params.fromUserId=r.user),t[Mt.BloudEvents.CUSTOM_MESSAGE].next(r);else if(r.message.method==="usercount"){if(r.message.params){let y=(v=(C=r.message)==null?void 0:C.params)==null?void 0:v.total;y?(y=Number(y),y<0&&(I("\u670D\u52A1\u8FD4\u56DE\u7684usercount\u4E3A\u8D1F\u6570,"+y),y=0)):(I("\u670D\u52A1\u672A\u8FD4\u56DEusercount,"+y),y=0),e.roomInfo.totalUserWatcher.next(y)}}else if(r.message.method==="waitusercount"){if(r.message.params){let y=r.message.params.total;e.roomInfo.totalWaitRoomUserWatcher.next(y)}}else t[Mt.BloudEvents.CUSTOM_MESSAGE].next(r)}function Gi(s,e){return c(this,null,function*(){let t=s.raiseInfo;if(s.raiseHandsType===4&&t){let r=e.userVM.getUser(t.userId);if(r||(d("handleRaiseHands:\u7528\u6237\u4E0D\u5B58\u5728,\u5F00\u59CB\u67E5\u8BE2",t.userId),yield e.queryBloudUsers([t.userId],!1,!1),r=e.userVM.audiencesList.get(t.userId)),!r){p("handleRaiseHands:\u7528\u6237\u4E0D\u5B58\u5728",t.userId);return}switch(t.type){case"raiseHandsAudio":r.raiseAudioHands=s.raiseHands;break;case"raiseHandsVideo":r.raiseVideoHands=s.raiseHands;break;case"raiseHand":r.raiseHand=s.raiseHands;break;default:break}E.emitter.emit(F,{status:t.type,user:r})}})}var we=require("@hysc/utils");var Ct=0;var vt=0,Ze=new Set;function Ft(s,e,t,r,i){return c(this,null,function*(){if(p("brtc error","brtc error","",[new Date().toLocaleTimeString(),JSON.stringify(s),s.getCode()]),s.getCode()===4002){e.BRTCConnectFailed=!0,e.networkState.brtc=!1,I("brtc \u4FE1\u4EE4\u901A\u9053\u9519\u8BEF\uFF0C\u9700\u8981\u91CD\u65B0\u8D70\u5165\u4F1A","brtc error",""),e.streamWSReconnectWatcher.next(!1);try{yield t.brtcClient.leave("room_close")}catch(a){p("brtc \u79BB\u4F1A\u5931\u8D25")}setTimeout(()=>c(this,null,function*(){e.handleResetOtherStreamStatus(),yield Fr(t,e,i,s).catch(a=>{d("brtc\u65AD\u7F51\u91CD\u8FDE\u5931\u8D25, \u5904\u7406\u4E00\u4E0B\u9000\u4F1A\u903B\u8F91","","",[JSON.stringify(a)]),i[we.BrtcEvents.ERROR].next(s)})}),1e3)}else i[we.BrtcEvents.ERROR].next(s)})}function Fr(s,e,t,r){return c(this,null,function*(){return new Promise((i,o)=>{setTimeout(()=>{d("brtc\u91CD\u8FDE"),s.brtcClient.join(s.roomId,s.userId,s.brtcSig).then(()=>c(this,null,function*(){d("brtc\u65AD\u7F51\u91CD\u8FDE\u6210\u529F, \u91CD\u65B0\u5904\u7406\u62C9\u6D41\u548C\u63A8\u6D41"),e.networkState.brtc=!0,setTimeout(()=>{e.brtcNetEnableWatcher.next(!0)},2e3),pe(e),e.BRTCConnectFailed=!1,Ct=0,yield e.handleRePushSelf(),e.streamWSReconnectWatcher.next(!0),i(!0)})).catch(a=>{let n=a.getCode();d("\u65AD\u7F51\u91CD\u8FDE\u5165\u4F1A\u5931\u8D25","","",[a,n]),Ct<=10?(Ct+=1,s.brtcClient.isJoinning=!1,setTimeout(()=>{Fr(s,e,t,r)},2*1e3)):(p("brtc\u65AD\u7F51\u91CD\u8FDE\u5931\u8D25\uFF0C\u5904\u7406\u4E00\u4E0B\u9000\u4F1A"),Ct=0,t[we.BrtcEvents.ERROR].next(r),o(!1))})},7*1e3)})})}function jt(s){return c(this,null,function*(){return new Promise((e,t)=>{setTimeout(()=>{d("\u5171\u4EAB\u5C4F\u5E55\u91CD\u8FDE"),s.shareBrtcClient.join(s.roomId,s.userId,s.brtcSig).then(()=>{vt=0,e(!0)}).catch(r=>{let i=r.getCode();if(d("\u5171\u4EAB\u5C4F\u5E55\u65AD\u7F51\u91CD\u8FDE\u5165\u4F1A\u5931\u8D25","","",[r,i]),vt<=3)vt+=1,jt(s);else throw p("\u5171\u4EAB\u5C4F\u5E55\u7528\u6237\u91CD\u8FDE\u5931\u8D25\uFF0C\u5904\u7406\u4E00\u4E0B\u53D6\u6D88\u5171\u4EAB\u5C4F\u5E55"),vt=0,new Error("\u5171\u4EAB\u5C4F\u5E55\u91CD\u8FDE\u5931\u8D25")})},7*1e3)})})}function jr(s,e,t,r,i){return c(this,null,function*(){p("network-error","network-error","local-client",["\u672C\u5730\u94FE\u63A5\u51FA\u73B0\u95EE\u9898","netconnectiong => ",s.netConnecting]),s.netConnecting?yield Et(r,s,i):i[we.BloudEvents.TIMEOUT].next(r)})}var $r=require("@hysc/utils");function Jr(s,e,t){let r=s==null?void 0:s.updateKeys;d("update-custom-stats"," "," ",["updateKeys => ",JSON.stringify(r)]),(r!=null&&r.includes("chatNotice")||r!=null&&r.includes("chatNoticeRich")||r!=null&&r.includes("fileUpdateLook")||r!=null&&r.includes("fileUpdateDown")||r!=null&&r.includes("fileUpdateEdit")||r!=null&&r.includes("fileUpdateModel")||r!=null&&r.includes("screenShareModel")||r!=null&&r.includes("onlyOnePersonShare")||r!=null&&r.includes("chatEnable")||r!=null&&r.includes("giveLikeEnable")||r!=null&&r.includes("cloudRecord")||r!=null&&r.includes("joinAudioEnable")||r!=null&&r.includes("joinVideoEnable")||r!=null&&r.includes("userListEnable")||r!=null&&r.includes("audioEnable")||r!=null&&r.includes("videoEnable")||r!=null&&r.includes("modifyNameEnable")||r!=null&&r.includes("backgroundAIEnable")||r!=null&&r.includes("recordEnable")||r!=null&&r.includes("joinMicrophoneDisable")||r!=null&&r.includes("joinCameraDisable")||r!=null&&r.includes("raiseHandEnable")||r!=null&&r.includes("forceOpenUserMic")||r!=null&&r.includes("forceOpenUserCamera")||r!=null&&r.includes("joinCueVoice"))&&e.roomInfo.updateOperationPermission(s.customStats),(r!=null&&r.includes("chatNotice")||r!=null&&r.includes("chatNoticeRich"))&&e.roomInfo.chatNoticeWatcher.next(s),t[$r.BloudEvents.UPDATE_CUSTOM_STATS].next(s)}var Qr=Nt(require("@hysc/p-queue")),Bt=class{constructor(e,t=!0){this.queue=new Qr.default({concurrency:e,autoStart:t,carryoverConcurrencyCount:!0,timeout:3*1e3,completeAction:r=>{console.log("task complete",r)}}),this.queueArray=[],this.isTaskPending=t}addQueue(e,t,r=0,i=""){this.queue.isPaused&&this.queue.start();let o={};o.taskID=t,o.status="pending",this.queue.add(e,{priority:r,timeout:3*1e3},a=>{if(o.status=a,o.status==="resolve"||o.status==="resolve-paused"||o.status==="resolve-timeout"){let n=this.queueArray.findIndex(l=>o.taskID===l.taskID);n!==-1&&this.queueArray.splice(n,1)}}),this.queueArray.push(o)}clearQueue(){this.queue.clear(),this.queueArray=[],this.queue.onEmpty().then(e=>{}),this.queue.onIdle().then(e=>{console.log("clearQueue\u5168\u90E8\u5B8C\u4E8B")})}startQueue(){this.queue.start()}pauseQueue(){return this.queue.pause(),console.log(`size:${this.size()}`),this.isTaskPending=!1,this.queue.onEmpty().then(e=>{}),this.queue.onIdle().then(e=>{}),this.queueArray}size(){return this.queue.size}pending(){return this.queue.pending}checkTaskStatus(){return this.isTaskPending}setTaskStatus(e){this.isTaskPending=e}onIdle(){return this.queue.onIdle()}onEmpty(){return this.queue.onEmpty()}},j=new Bt(4),A=new Bt(10);var zr=require("@hysc/utils"),f=require("@hysc/utils");function Xr(s,e,t,r,i){d("attachEvents init");let o={};s.on("toggle-screen-share",()=>{p("share stream video track ended, now unpublish share stream"),t.localShareError.next((0,zr.BMShareStreamReconnectFailed)()),t.localShareEndedError.next(!0)}),s.on("client-banned",()=>c(this,null,function*(){yield i.boomCore.leaveShare()})),s.on("share-brtc-error",n=>c(this,null,function*(){if(n.getCode()===4002)try{d("brtc share client disconnected, reconnecting"),yield s.shareBrtcClient.leave("room_close"),jt(s).then(()=>c(this,null,function*(){if(d("brtc share client reconnected, retry repub share stream"),yield q(1e3),s.shareScreenStream){let u=s.shareScreenStream.getAudioOn(),m=s.shareScreenStream.getVideoOn();s.shareBrtcClient.publish(s.shareScreenStream),s.createAndPubBloudShareStream(u,m)}})).catch(()=>{throw new Error("\u5171\u4EAB\u5C4F\u5E55\u91CD\u65B0\u5165\u4F1A\u5931\u8D25")})}catch(u){t.toggleShareScreen(!1,void 0).then(()=>{}).catch(m=>{p("\u5171\u4EAB\u53D1\u751F\u9519\u8BEF\u9000\u4F1A\u5931\u8D25","","",[JSON.stringify(m)])})}}));let a=[];return a=a.concat(Object.values(f.BloudEvents)),a=a.concat(Object.values(f.BrtcEvents)),a=a.concat(Object.values(f.CustomEvents)),a.forEach(n=>{o[n]=new qr.BehaviorSubject(null)}),a.forEach(n=>{switch(n){case f.BrtcEvents.STREAM_PUBLISHED:s.on(f.BrtcEvents.STREAM_PUBLISHED,l=>{A.addQueue(fr.bind(null,l,t,i,o),f.BrtcEvents.STREAM_PUBLISHED)});break;case f.BrtcEvents.BRTC_SYNC_ROOM_COMPLETED:s.on(f.BrtcEvents.BRTC_SYNC_ROOM_COMPLETED,()=>c(this,null,function*(){A.addQueue(i.handleResetOtherStreamStatus.bind(i),f.BrtcEvents.BRTC_SYNC_ROOM_COMPLETED)}));break;case f.CustomEvents.BRTC_SHARE_SYNC_ROOM_COMPLETED:s.on(f.CustomEvents.BRTC_SHARE_SYNC_ROOM_COMPLETED,()=>{d("brtc share client sync completed, retry publish share stream"),A.addQueue(bt.bind(null,i,t),f.CustomEvents.BRTC_SHARE_SYNC_ROOM_COMPLETED)});break;case f.BrtcEvents.BRTC_ROOM_ROCONNECTING:s.on(f.BrtcEvents.BRTC_ROOM_ROCONNECTING,l=>{A.addQueue(vr.bind(null,l,i,o),f.BrtcEvents.BRTC_ROOM_ROCONNECTING)});break;case f.BrtcEvents.BRTC_ROOM_RECONNECTED:s.on(f.BrtcEvents.BRTC_ROOM_RECONNECTED,l=>c(this,null,function*(){A.addQueue(Br.bind(null,l,i,o),f.BrtcEvents.BRTC_ROOM_RECONNECTED)}));break;case f.BrtcEvents.CLIENT_BANNED:s.on(f.BrtcEvents.CLIENT_BANNED,l=>{d("brtc client banned"),Gt(o,l)});break;case f.BrtcEvents.ERROR:s.on(f.BrtcEvents.ERROR,l=>c(this,null,function*(){i.netConnecting?A.addQueue(Ft.bind(null,l,i,s,t,o),f.BrtcEvents.ERROR):Ze.add(Ft.bind(null,l,i,s,t,o))}));break;case f.BloudEvents.SYNC_FAILED:s.on(f.BloudEvents.SYNC_FAILED,l=>{p("bloud sync failed, leave room"),o[f.BloudEvents.TIMEOUT].next(l)});break;case f.BloudEvents.ROOM_CONNECTED:s.on(f.BloudEvents.ROOM_CONNECTED,l=>c(this,null,function*(){return It(l,i,e,o)}));break;case f.CustomEvents.JOIN_READY:s.on(f.CustomEvents.JOIN_READY,()=>yt(i));break;case f.BloudEvents.PARTICIPANT_JOINED:s.on(f.BloudEvents.PARTICIPANT_JOINED,l=>c(this,null,function*(){i.isInWaitRoom||A.addQueue(Tr.bind(null,l,e,t,s,r,o),f.BloudEvents.PARTICIPANT_JOINED)}));break;case f.BloudEvents.PARTICIPANT_LEFT:s.on(f.BloudEvents.PARTICIPANT_LEFT,l=>{i.isInWaitRoom||A.addQueue(Lr.bind(null,l,e,i,o,t,s,r),f.BloudEvents.PARTICIPANT_LEFT)});break;case f.BloudEvents.LEAVE_USERS:s.on(f.BloudEvents.LEAVE_USERS,l=>A.addQueue(xr.bind(null,l,e,i,o,t,s,r),f.BloudEvents.LEAVE_USERS));break;case f.BloudEvents.CHANGE_MASTER:s.on(f.BloudEvents.CHANGE_MASTER,l=>{A.addQueue(kr.bind(null,l,e,i,o,t),f.BloudEvents.CHANGE_MASTER)});break;case f.BloudEvents.SEND_MESSAGE:s.on(f.BloudEvents.SEND_MESSAGE,l=>{A.addQueue(Wr.bind(null,l,e,r,o),f.BloudEvents.SEND_MESSAGE)});break;case f.BloudEvents.CUSTOM_MESSAGE:s.on(f.BloudEvents.CUSTOM_MESSAGE,l=>{A.addQueue(Gr.bind(null,l,i,o),f.BloudEvents.CUSTOM_MESSAGE)});break;case f.BloudEvents.EVICTED:s.on(f.BloudEvents.EVICTED,l=>c(this,null,function*(){A.addQueue(Dr.bind(null,l,e,t,i,o),f.BloudEvents.EVICTED)}));break;case f.BloudEvents.UPDATE_USER:s.on(f.BloudEvents.UPDATE_USER,l=>{A.addQueue(_r.bind(null,l,e,i,t,o),f.BloudEvents.UPDATE_USER)});break;case f.BloudEvents.UPDATE_STATS:s.on(f.BloudEvents.UPDATE_STATS,l=>{A.addQueue(Mr.bind(null,l,i),f.BloudEvents.UPDATE_STATS)});break;case f.BloudEvents.UPDATE_CUSTOM_STATS:s.on(f.BloudEvents.UPDATE_CUSTOM_STATS,l=>{A.addQueue(Jr.bind(null,l,i,o),f.BloudEvents.UPDATE_CUSTOM_STATS)});break;case f.BloudEvents.TIMEOUT:s.on(f.BloudEvents.TIMEOUT,l=>{A.addQueue(jr.bind(null,i,s,t,l,o),f.BloudEvents.TIMEOUT)});break;case f.BloudEvents.USER_REJOINED:s.on(f.BloudEvents.USER_REJOINED,l=>{d("bloud user rejoined"),Gt(o,l)});break;case f.BloudEvents.RECONNECTING:s.on(f.BloudEvents.RECONNECTING,l=>{A.addQueue(Ar.bind(null,l,i,o),f.BloudEvents.RECONNECTING)});break;case f.BloudEvents.RECONNECTED:s.on(f.BloudEvents.RECONNECTED,l=>c(this,null,function*(){A.addQueue(Et.bind(null,l,i,o),f.BloudEvents.RECONNECTED)}));break;case f.BloudEvents.ROOM_SYNCED:s.on(f.BloudEvents.ROOM_SYNCED,l=>c(this,null,function*(){A.addQueue(Rr.bind(null,l,e,i,t,o),f.BloudEvents.ROOM_SYNCED)}));break;case f.BloudEvents.STREAM_PUBLISHED:s.on(f.BloudEvents.STREAM_PUBLISHED,l=>c(this,null,function*(){A.addQueue(gr.bind(null,l,t,o),f.BloudEvents.STREAM_PUBLISHED)}));break;case f.BloudEvents.STREAM_REMOVED:s.on(f.BloudEvents.STREAM_REMOVED,l=>c(this,null,function*(){A.addQueue(Sr.bind(null,l,t,i,o),f.BloudEvents.STREAM_REMOVED)}));break;case f.BloudEvents.UPDATE_STREAM:s.on(f.BloudEvents.UPDATE_STREAM,l=>c(this,null,function*(){A.addQueue(br.bind(null,l,t,o),f.BloudEvents.UPDATE_STREAM)}));break;case f.BloudEvents.STREAM_UPDATE:s.on(f.BloudEvents.STREAM_UPDATE,l=>c(this,null,function*(){A.addQueue(Vt.bind(null,l,t),f.BloudEvents.STREAM_UPDATE)}));break;case f.BloudEvents.MOVE_USER_ROOM:s.on(f.BloudEvents.MOVE_USER_ROOM,l=>c(this,null,function*(){A.addQueue(Vr.bind(null,i,e,l,o),f.BloudEvents.MOVE_USER_ROOM)}));break;default:s.on(n,l=>o[n].next(l));break}}),o}var M=require("@hysc/utils"),Yr=require("rxjs");var Ke=class{constructor(e,t,r){this.room=null;this.tipQueueObj={};this.roomInfo=r,this.userVM=t,this.boomCore=e,this.giveLikeList=[],this.giveLikeListWatcher=new Yr.Subject}initWithRoom(e){this.room=e}evictUser(e,t){return c(this,null,function*(){if(!e)return Promise.reject((0,M.BmEvictUserError)("\u672A\u4F20\u9012\u7528\u6237id"));if(!this.userVM.checkLocalHasMaster())return Promise.reject((0,M.BmEvictUserError)("\u53EA\u6709\u4E3B\u6301\u4EBA\u6743\u9650\u624D\u80FD\u8E22\u51FA\u7528\u6237"));if(this.userVM.checkIsMaster(e))return Promise.reject((0,M.BmEvictUserError)("\u4E3B\u6301\u4EBA\u4E0D\u80FD\u88AB\u8E22\u51FA"));try{yield this.boomCore.evictUser(e,t)}catch(r){return Promise.reject((0,M.BmEvictUserError)(`\u8E22\u51FA\u7528\u6237\u5931\u8D25${JSON.stringify(r)}`))}})}updateUser(e,t){return c(this,null,function*(){if(!e)return Promise.reject((0,M.BmUpdateUserError)("\u672A\u4F20\u9012\u76EE\u6807\u7528\u6237id"));if(!t)return Promise.reject((0,M.BmUpdateUserError)("info\u4E3A\u7A7A,\u8BF7\u5199\u5165\u8981\u66F4\u65B0\u7684\u4FE1\u606F"));yield this.boomCore.updateUser(e,{customInfo:t}).catch(r=>Promise.reject((0,M.BmUpdateUserError)(`boomCore updateUser\u51FA\u9519 ${JSON.stringify(r)}`)))})}changeMaster(e,t){return c(this,null,function*(){var r;if(!e)return Promise.reject((0,M.BmChangeMasterError)("\u672A\u4F20\u9012\u4E3B\u6301\u4EBAid"));if(this.userVM.checkLocalHasMaster()||(r=this.userVM.getUser(e))!=null&&r.isCreate)try{yield this.boomCore.changeMaster(e,t)}catch(i){return Promise.reject((0,M.BmChangeMasterError)(`boomCore changeMaster error ${i}`))}else return console.error("\u8BE5\u7528\u6237\u6CA1\u6709\u7BA1\u7406\u5458\u6743\u9650, \u65E0\u6CD5\u6539\u53D8\u4E3B\u6301\u4EBA",T,e),Promise.reject((0,M.BmChangeMasterError)("\u60A8\u6CA1\u6709\u7BA1\u7406\u5458\u6743\u9650, \u65E0\u6CD5\u6539\u53D8\u4E3B\u6301\u4EBA"))})}updateManager(e,t,r=!0){return c(this,null,function*(){return e?this.userVM.checkLocalHasMaster()?this.userVM.updateManager(e,t,r):(console.error("\u8BE5\u7528\u6237\u6CA1\u6709\u7BA1\u7406\u5458\u6743\u9650, \u65E0\u6CD5\u6539\u53D8\u8054\u5E2D\u4E3B\u6301\u4EBA",T,e),Promise.reject((0,M.BmUpdateManagerError)("\u8BE5\u7528\u6237\u6CA1\u6709\u7BA1\u7406\u5458\u6743\u9650, \u65E0\u6CD5\u6539\u53D8\u4E3B\u6301\u4EBA"))):Promise.reject((0,M.BmUpdateManagerError)("\u672A\u4F20\u9012\u8054\u5E2D\u4E3B\u6301\u4EBAid"))})}changeNickName(e,t){return c(this,null,function*(){let r={nickname:t};yield this.updateUser(e,r)})}sendMessageWithMaster(e,t){return c(this,null,function*(){if(!this.userVM.checkLocalHasMaster())return Promise.reject((0,M.BmSetRemoteAudioEnable)("\u60A8\u4E0D\u662F\u4E3B\u6301\u4EBA\uFF0C\u6CA1\u6709\u8BE5\u6743\u9650"));if(t&&!this.userVM.getUser(t))return Promise.reject((0,M.BmSetRemoteAudioEnable)(`uid: ${t} \u672A\u627E\u5230\u7528\u6237`));try{yield this.boomCore.customMessage(JSON.stringify(e),t)}catch(r){return Promise.reject(r)}})}setRemoteAudioEnable(e,t,r){return c(this,null,function*(){let i=e?"enabled":"disabled";i=="enabled"&&r&&(i="checkUserAudio");let o={domain:"room-control",method:"audio-force-change",params:{status:i,isNotCancelRootReport:r,fromUserId:this.boomCore.getLocalParticipant().getID()}};this.sendMessageWithMaster(o,t).catch(a=>Promise.reject((0,M.BmSetRemoteAudioEnable)(`boomCore.sendMessage\u53D1\u751F\u9519\u8BEF ${a}`)))})}setRemoteVideoEnable(e,t){return c(this,null,function*(){let r={domain:"room-control",method:"video-force-change",params:{status:e?"enabled":"disabled",fromUserId:this.boomCore.getLocalParticipant().getID()}};this.sendMessageWithMaster(r,t).catch(i=>Promise.reject((0,M.BmSetRemoteVideoEnable)(`boomCore.sendMessage\u53D1\u751F\u9519\u8BEF ${i}`)))})}closeRemoteShare(e){return c(this,null,function*(){let t={domain:"room-control",method:"close-remote-share",params:{fromUserId:this.boomCore.getLocalParticipant().getID()}};this.sendMessageWithMaster(t,e).catch(r=>Promise.reject((0,M.BmSetRemoteAudioEnable)(`boomCore.sendMessage\u53D1\u751F\u9519\u8BEF ${r}`)))})}tipUser(e,t,r,i){return c(this,null,function*(){let o={domain:"room-control",method:"tip-user",params:{fromUserId:this.boomCore.getLocalParticipant().getID(),message:t,richMsg:r}};i?this.tipQueueObj[e]=setTimeout(()=>{this.sendMessageWithMaster(o,e)},(i.minutes||0)*60*1e3+(i.seconds||0)*1e3):this.sendMessageWithMaster(o,e).catch(a=>Promise.reject((0,M.BmSetRemoteAudioEnable)(`boomCore.sendMessage\u53D1\u751F\u9519\u8BEF ${JSON.stringify(a)}`)))})}raiseHands(e,t){return c(this,null,function*(){var o,a;let r=(o=this.room)==null?void 0:o.getLocalParticipant().getID(),i={};e==="raiseHand"?(i.raiseHand=t,i.raiseHandTime=Math.floor(new Date().getTime()/1e3)):i[e==="audio"?"raiseHandsAudio":"raiseHandsVideo"]=t,yield this.updateUser(r,i),(a=this.room)!=null&&a.isBig&&(yield this.raiseHandsByCustomMessage(e,t,r))})}raiseHandsByCustomMessage(e,t,r){return c(this,null,function*(){var a;let i="raiseHand";e!="raiseHand"&&(i=e==="audio"?"raiseHandsAudio":"raiseHandsVideo");let o={domain:"user-control",method:"raise-hands",params:{raiseHandsType:4,raiseHands:t,raiseInfo:{userId:r,raiseHandTime:Math.floor(new Date().getTime()/1e3),type:i}}};return(a=this.room)==null||a.userVM.userList.forEach(n=>c(this,null,function*(){n.hasManager()&&(yield this.boomCore.customMessage(JSON.stringify(o),n.userId))})),!0})}handleRaiseHands(e,t,r){return c(this,null,function*(){var o,a,n;let i={domain:"user-control",method:"raise-hands",params:{raiseHandsType:e,raiseHands:t}};try{if(r)yield this.boomCore.customMessage(JSON.stringify(i),r);else{let l=(o=this.room)==null?void 0:o.roomInfo.raiseHandsWatcher.getValue(),u=(a=this.room)==null?void 0:a.roomInfo.raiseVideoHandsWatcher.getValue(),m=(n=this.room)==null?void 0:n.roomInfo.raiseSimpleHandsWatcher.getValue();e===0&&(l==null||l.forEach(h=>{this.boomCore.customMessage(JSON.stringify(i),h.userId)}),u==null||u.forEach(h=>{this.boomCore.customMessage(JSON.stringify(i),h.userId)})),e===1&&(l==null||l.forEach(h=>{this.boomCore.customMessage(JSON.stringify(i),h.userId)})),e===2&&(u==null||u.forEach(h=>{this.boomCore.customMessage(JSON.stringify(i),h.userId)})),e===3&&(m==null||m.forEach(h=>{this.boomCore.customMessage(JSON.stringify(i),h.userId)}))}}catch(l){return Promise.reject(new N(1e3,"boomCore.sendMessage\u53D1\u751F\u9519\u8BEF"))}})}updateCustomStats(e,t=!1){return c(this,null,function*(){yield this.boomCore.updateCustomStats(e,t).catch(r=>Promise.reject((0,M.updateCustomStatsError)(`${JSON.stringify(e)} - ${JSON.stringify(r)}`)))})}sendChatNotice(e,t,r){return c(this,null,function*(){yield this.updateCustomStats({chatNotice:e,chatNoticeRich:t,showTipNotice:r}).catch(i=>i)})}giveLikeEnable(e){return c(this,null,function*(){yield this.updateCustomStats({giveLikeEnable:e}).catch(t=>t)})}changeAutoMute(e){return c(this,null,function*(){return this.updateCustomStats({autoMute:e})})}allUserReceiveJoinLeaveMessages(e){return c(this,null,function*(){return this.updateCustomStats({allUserReceiveJoinLeaveMessages:e})})}userJoinMasterVoice(e){return c(this,null,function*(){return this.updateCustomStats({userJoinMasterVoice:e})})}userGiveLike(e){return c(this,null,function*(){var o,a;let t=new Date().getTime(),r={domain:"room-control",method:"give-like",params:{stream:{user:this.userVM.localUser.userId,avatar:this.userVM.localUser.avatar,sendTime:t,nickname:this.userVM.localUser.nickName,type:e||1}}},i=this.userVM.getLocalUser();try{yield this.boomCore.customMessage(JSON.stringify(r),void 0),this.giveLikeList.push({userId:(o=this.room)==null?void 0:o.getLocalParticipant().userId,nickName:(a=this.room)==null?void 0:a.getLocalParticipant().nickName,time:new Date().getTime(),type:e}),this.giveLikeListWatcher.next(this.giveLikeList)}catch(n){throw p(n,T,i==null?void 0:i.userId),new N(4005,"\u7528\u6237\u70B9\u8D5E==>sendMessage\u51FA\u9519")}})}chatEnable(e){return c(this,null,function*(){yield this.updateCustomStats({chatEnable:e}).catch(t=>t)})}joinAudioEnable(e){return c(this,null,function*(){yield this.updateCustomStats({joinAudioEnable:e}).catch(t=>t)})}joinVideoEnable(e){return c(this,null,function*(){yield this.updateCustomStats({joinVideoEnable:e}).catch(t=>t)})}userListEnable(e){return c(this,null,function*(){yield this.updateCustomStats({userListEnable:e}).catch(t=>t)})}audioEnable(e){return c(this,null,function*(){yield this.updateCustomStats({audioEnable:e}).catch(t=>t)})}videoEnable(e){return c(this,null,function*(){yield this.updateCustomStats({videoEnable:e}).catch(t=>t)})}modifyNameEnable(e){return c(this,null,function*(){yield this.updateCustomStats({modifyNameEnable:e}).catch(t=>t)})}backgroundAIEnable(e){return c(this,null,function*(){yield this.updateCustomStats({backgroundAIEnable:e}).catch(t=>t)})}forceOpenUserCamera(e){return c(this,null,function*(){yield this.updateCustomStats({forceOpenUserCamera:e}).catch(t=>t)})}forceOpenUserMic(e){return c(this,null,function*(){yield this.updateCustomStats({forceOpenUserMic:e}).catch(t=>t)})}joinCueVoice(e){return c(this,null,function*(){yield this.updateCustomStats({joinCueVoice:e}).catch(t=>t)})}recordEnable(e){return c(this,null,function*(){yield this.updateCustomStats({recordEnable:e}).catch(t=>t)})}raiseHandEnable(e){return c(this,null,function*(){yield this.updateCustomStats({raiseHandEnable:e}).catch(t=>t)})}joinMicrophoneDisable(e){return c(this,null,function*(){yield this.updateCustomStats({joinMicrophoneDisable:e}).catch(t=>t)})}joinCameraDisable(e){return c(this,null,function*(){yield this.updateCustomStats({joinCameraDisable:e}).catch(t=>t)})}changeFileUpdateModelPermission(e){return c(this,null,function*(){yield this.updateCustomStats({fileUpdateModel:e}).catch(t=>t)})}changeFileUpdateLookPermission(e){return c(this,null,function*(){yield this.updateCustomStats({fileUpdateLook:e}).catch(t=>t)})}changeFileUpdateDownPermission(e){return c(this,null,function*(){yield this.updateCustomStats({fileUpdateDown:e}).catch(t=>t)})}changeFileUpdateEditPermission(e){return c(this,null,function*(){yield this.updateCustomStats({fileUpdateEdit:e}).catch(t=>t)})}changeScreenShareModelPermission(e){return c(this,null,function*(){yield this.updateCustomStats({screenShareModel:e}).catch(t=>t)})}changeOnlyOnePersonSharePermission(e){return c(this,null,function*(){yield this.updateCustomStats({onlyOnePersonShare:e}).catch(t=>t)})}setForceOnUser(e){return c(this,null,function*(){yield this.updateCustomStats({forceOn:{user:e}}).catch(t=>t)})}updateCloudRecord(e){return c(this,null,function*(){return yield this.updateCustomStats({cloudRecord:{userId:e.userId,recordStatus:e.recordStatus}}).catch(t=>t)})}updateSafeHideSec(e){return c(this,null,function*(){return yield this.updateCustomStats({safeHideSec:e}).catch(t=>t)})}updateHostLayout(e,t=!1){return c(this,null,function*(){if(!this.userVM.checkLocalHasMaster())d("\u60A8\u4E0D\u662F\u4E3B\u6301\u4EBA\uFF0C\u6CA1\u6709\u8BE5\u4E0A\u62A5\u6743\u9650",T);else return this.updateCustomStats({from:{fromTag:"masterId"},hostLayout:e},t)})}checkDevices(e){return c(this,null,function*(){let t={domain:"user-control",method:"check-devices",params:{fromUserId:this.boomCore.getLocalParticipant().getID()}};this.sendMessageWithMaster(t,e).catch(r=>Promise.reject((0,M.BmCheckDeviceError)(`\u68C0\u6D4B\u5BF9\u65B9\u8BBE\u5907send-message\u53D1\u751F\u9519\u8BEF: ${r}`)))})}resp2CheckDevices(e,t){return c(this,null,function*(){let r={domain:"user-control",method:"resp-to-check-devices",params:Fe(w({},e),{fromUserId:this.boomCore.getLocalParticipant().getID()})};if(!t)return Promise.reject((0,M.BmCheckDeviceError)(`\u54CD\u5E94\u8BBE\u5907\u68C0\u6D4B: uid: ${t} \u672A\u627E\u5230\u7528\u6237`));try{yield this.boomCore.customMessage(JSON.stringify(r),t)}catch(i){return Promise.reject((0,M.BmCheckDeviceError)(`\u54CD\u5E94\u54CD\u5E94\u8BBE\u5907\u68C0\u6D4Bsend-message\u53D1\u751F\u9519\u8BEF ${i}`))}})}changeRemoteVideoProfile(e,t){return c(this,null,function*(){let r={domain:"user-control",method:"change-video-profile",params:Fe(w({},e),{fromUserId:this.boomCore.getLocalParticipant().getID()})};this.sendMessageWithMaster(r,t).catch(i=>Promise.reject((0,M.BmChangeVideoProfileError)(`\u8C03\u8282\u5BF9\u65B9\u7684\u89C6\u9891\u5206\u8FA8\u7387send-message\u53D1\u751F\u9519\u8BEF: ${i}`)))})}resp2ChangeRemoteVideoProfile(e,t,r){return c(this,null,function*(){let i={domain:"user-control",method:"resp-to-change-video-profile",params:{status:e,profile:r,fromUserId:this.boomCore.getLocalParticipant().getID()}};if(!t)return Promise.reject((0,M.BmChangeVideoProfileError)(`\u54CD\u5E94\u8C03\u8282\u89C6\u9891\u5206\u8FA8\u7387: uid: ${t} \u672A\u627E\u5230\u7528\u6237`));try{yield this.boomCore.customMessage(JSON.stringify(i),t)}catch(o){return Promise.reject((0,M.BmChangeVideoProfileError)(`\u54CD\u5E94\u8C03\u8282\u89C6\u9891\u5206\u8FA8\u7387send-message\u53D1\u751F\u9519\u8BEF ${o}`))}})}changeRemoteAudioProfile(e,t){return c(this,null,function*(){let r={domain:"user-control",method:"change-audio-profile",params:{microphoneDevice:e.microphoneDevice,speakerDevice:e.speakerDevice,echoCancellation:e.echoCancellation,noiseSuppression:e.noiseSuppression,autoGainControl:e.autoGainControl,speakerVolume:e.speakerVolume,microVolume:e.microVolume,fromUserId:this.boomCore.getLocalParticipant().getID()}};this.sendMessageWithMaster(r,t).catch(i=>Promise.reject((0,M.BmChangeAudioProfileError)(`\u8C03\u8282\u97F3\u9891send-message\u53D1\u751F\u9519\u8BEF ${JSON.stringify(i)}`)))})}resp2ChangeRemoteAudioProfile(e,t){return c(this,null,function*(){let r={domain:"user-control",method:"resp-to-change-audio-profile",params:{status:e,fromUserId:this.boomCore.getLocalParticipant().getID()}};if(!t)return Promise.reject((0,M.BmChangeAudioProfileError)(`\u54CD\u5E94\u8C03\u8282\u97F3\u9891: uid: ${t} \u672A\u627E\u5230\u7528\u6237`));try{yield this.boomCore.customMessage(JSON.stringify(r),t)}catch(i){return Promise.reject((0,M.BmChangeAudioProfileError)(`\u54CD\u5E94\u8C03\u8282\u97F3\u9891send-message\u53D1\u751F\u9519\u8BEF ${i}`))}})}};var At=require("rxjs");var Zr=require("lodash-es");var et=class{constructor(e,t,r){this.messageList=[];this.hasDangerMessageWatcher=new At.Subject;this.notificationMessageList=(0,Zr.throttle)(()=>{this.messageListWatcher.next(this.messageList)},200);this.boomCore=e,this.userVM=t,this.bmRoom=r,this.messageListWatcher=new At.BehaviorSubject(this.messageList)}sendMessage(e,t,r){return c(this,null,function*(){let i=e.replace(/(^\s*)|(\s*$)/g,""),o=new Date().getTime(),a={domain:"room-control",method:"send-talk",params:{stream:{user:this.userVM.localUser.userId,avatar:this.userVM.localUser.avatar,sendTime:o,nickname:this.userVM.localUser.nickName},status:i}},n=this.userVM.getLocalUser();try{let l=!1,u,m=r;m||(yield this.boomCore.sendMessage(JSON.stringify(a),t).then(g=>{u=g.seq}).catch(g=>{I("sendmessage \u51FA\u9519","",n==null?void 0:n.userId,[g]),g&&g.code===39&&(l=!0,this.hasDangerMessageWatcher.next(!0))}));let h=new V({userId:n==null?void 0:n.userId,message:i,isLocal:n==null?void 0:n.isLocal,avatar:n==null?void 0:n.avatar,nickName:n==null?void 0:n.nickName,sendTime:o,to:t,isDanger:l,seq:u,failed:m});return this.addMessage(h,!1),m?Promise.reject(h):Promise.resolve()}catch(l){throw p(l,T,n==null?void 0:n.userId),new N(4005,"\u53D1\u9001\u804A\u5929\u6D88\u606F==>sendMessage\u51FA\u9519")}})}addMessage(e,t){if(!(t&&!this.bmRoom.participantNotice)){if(this.messageList.length==0||e.timeStamp-this.messageList[this.messageList.length-1].timeStamp>=cr){let r=new V({isMeetingNotice:!0,message:""});this.messageList.push(r)}this.messageList.push(e),this.notificationMessageList()}}updateMessageListWatcher(e){this.messageList=e,this.messageListWatcher.next(this.messageList)}getHistoryMessage(){return c(this,null,function*(){let e=yield this.boomCore.getMessages(0,this.boomCore.getMsgSeq()),t=[];return e.items.forEach(r=>{if(r.private||r.to||r.msg.length==0||r.msg.indexOf("{")==-1)return!1;let i=JSON.parse(r.msg);if(i.method!="send-talk")return!1;let o=r.seq,a=i.params,n=a.stream.user?a.stream.user:r.userId,l={nickName:a.stream.nickname,content:a.status,timeStamp:new Date().getTime(),userId:n},u=new V({userId:n,message:a.status,nickName:a.stream.nickname,isLocal:n==this.userVM.localUser.userId,avatar:a.stream.avatar,sendTime:a.stream.sendTime,seq:o});t.push(u)}),Promise.resolve(t)})}generateInfo(e){return new V(e)}};var G=require("rxjs");var si=require("@hysc/core");var Te=class{constructor(e,t){this.user=e,this.stream=t}getID(){return this.stream.getStreamId()}getUser(){return this.user}};var Le=require("lodash-es");function Kr(s,e){return 16|~~s<<1|~~e}function ei(s,e){return 12|~~s<<1|~~e}function ti(s,e){return 8|~~s<<1|~~e}function ri(s,e){return 4|~~s<<1|~~e}function ii(){return Date.now()}function Rt(){let s=ii();return function(){return ii()-s}}var oi=require("detect-browser");var xe=(0,oi.detect)(),ji=(xe==null?void 0:xe.name)==="safari"||(xe==null?void 0:xe.name)==="ios";var fe=`.streammodel${Math.random()}`,Oe=class{constructor(e,t,r=!1){this.streamType=3;this.pullFailedNum=0;this._video_enable=!1;this._audio_enable=!1;this.videoEnableWatcher=new G.BehaviorSubject(this._video_enable);this.audioEnableWatcher=new G.BehaviorSubject(this._audio_enable);this.streamUpdateWatcher=new G.Subject;this.isSubScribedWatcher=new G.Subject;this.playStateChangeWatcher=new G.Subject;this.noContainerWatcher=new G.Subject;this.noBigContainerWatcher=new G.Subject;this.audioLevelWatcher=new G.Subject;this.isCurrentDisplay=!1;this.isDisplay=!1;this.isDisplayObserve=new G.Subject;this.isInBig=!1;this.isInBigObserve=new G.Subject;this._hasPulled=!1;this.shouldPull=!1;this.smallPlayFailed=0;this._pulledStreamType="small";this.pulledStreamGoal="small";this.bigPlayerId="";this.isPlayingBig=!1;this.muted=!1;this.checkVideoTimer=null;this.checkCount=0;this.sortNum=-1;this.isWhiteboard=!1;this.handleDisplayChange=e=>{this.isDisplay!==e&&(this.isDisplay=e,this.isDisplay||(this.checkVideoTimer&&clearTimeout(this.checkVideoTimer),this.checkVideoTimer=null,this.checkCount=0,this.pulledStreamType="small"),this.sendMessage2Room())};this.onPlayerStateChange=e=>{var t,r;e.type==="error"&&e.reason&&e.reason.name==="NotAllowedError"&&d("\u64AD\u653E\u5931\u8D25, \u9700\u8981\u8C03\u7528 resume \u65B9\u6CD5"),(e.state==="PAUSED"||e.reason==="pause")&&(this.player&&((t=this.player)==null||t.resume()),(r=this.stream)==null||r.resume())};this.handleStreamConnectError=()=>{d("\u6D41\u51FA\u73B0\u7684connect-error userId","",this.userId,["streamId ==>",this.streamId,"nickname =>",this.nickname,"isLocal => ",this.isLocal]),this.isLocal?E.emitter.emit(le,{stream:this,isLocal:!0}):E.emitter.emit(le,{stream:this,isLocal:!1})};this.bindElement=e=>{!this.isLocal&&(!this.stream||!this.stream.isSubscribed())||this.emitBindElement()};this.bindBigElement=e=>{this.bigPlayerId=e,!(!this.isLocal&&(!this.stream||!this.stream.isSubscribed()))&&this.emitBindBigElement()};this.sendMessage2Room=(0,Le.debounce)(()=>{E.emitter.emit(Se,{stream:this})},100);this.emitBindElement=(0,Le.debounce)(()=>{E.emitter.emit(Ie,{stream:this})},50);this.emitBindBigElement=(0,Le.debounce)(()=>{E.emitter.emit(Ce,{stream:this})},50);this.currentIsPlaying=(e,t=!0)=>{var l;let r=document.getElementById(e);if(!r)return 0;let i,o,a=0,n=Array.from(r.children);return i=n.length>0,o=n.length,n.forEach(u=>{u.children.length===0&&(a+=1)}),a>0&&(I(`check stream current is playing failed, ${e}`),t?this.stop():((l=this.player)==null||l.destroy(),this.player=null)),i&&o>a?2:1};this.play=(e=!1)=>c(this,null,function*(){var r,i;if(!this.playerId){I(`no playerId, do not play :${this.nickname} - ${this.userId} - ${this.streamId}`);return}let t=this.stream;if(t){if(!this.isLocal&&!t.isSubscribed())return;let o=Rt();if(this.isDisplay&&this.videoEnable){if(e){this.stop(),yield t.play(this.playerId,{backgroundColor:"#202020",fit:"contain",audio:!tt}),(r=E.emitter)==null||r.emit(Q,{uid:this.userId}),d(`\u64AD\u653E\u8017\u65F6: ${o()}`,"",this.userId);return}let a=this.currentIsPlaying(this.playerId);if(a===0)I("\u627E\u4E0D\u5230\u64AD\u653E\u5668\u5BB9\u5668","stream play",this.userId,["\u6D41 id =>",this.streamId,"nickname =>",this.nickname,"playerId =>",this.playerId]),this.playerId||E.emitter.emit(ce,{type:this.isShare?"share":"normal",id:this.userId,container:"small"});else if(a===1)try{d("\u8FDC\u7AEF\u6D41\u5F00\u59CB\u64AD\u653E","",this.userId),yield t.play(this.playerId,{backgroundColor:"#202020",fit:"contain",audio:!tt}),(i=E.emitter)==null||i.emit(Q,{uid:this.userId}),d("\u8FDC\u7AEF\u6D41\u64AD\u653E\u7ED3\u675F",this.userId,this.streamId,[this.nickname]),d(`\u64AD\u653E\u8017\u65F6: ${o()}`,"",this.userId),this.smallPlayFailed=0,this.checkSmallVideo()}catch(n){this.stop(),setTimeout(()=>{p("\u64AD\u653E\u5C0F\u6D41\u5931\u8D25, \u5C1D\u8BD5\u91CD\u65B0\u64AD\u653E","\u64AD\u653E",this.userId,[this.streamId,this.stream,"error => ",JSON.stringify(n)]),this.play()},2*1e3)}}else this.stop()}});this.playInBig=(e=!1)=>c(this,null,function*(){var r,i,o,a;if(!this.bigPlayerId){I(`no bigPlayerId, do not play in big :${this.nickname} - ${this.userId} - ${this.streamId}`);return}let t=this.stream;if(t){if(!this.isLocal&&!t.isSubscribed())return;if(this.isInBig&&this.videoEnable&&this.bigPlayerId){let n=Rt();if(e){this.initBigPlayer(),yield(r=this.player)==null?void 0:r.play(t),(i=E.emitter)==null||i.emit(Q,{uid:this.userId}),d(`\u5927\u6D41\u64AD\u653E\u8017\u65F6: ${n()}`,"",this.userId);return}let l=this.currentIsPlaying(this.bigPlayerId,!1);l===0?(I("\u627E\u4E0D\u5230 bigPlayerId","\u5927\u6D41\u64AD\u653E",this.userId,["\u6D41 id =>",this.streamId]),this.bigPlayerId||E.emitter.emit(ce,{type:this.isShare?"share":"normal",id:this.userId,container:"big"})):l===1&&(d("\u8FDC\u7AEF\u6D41\u5927\u6D41\u5F00\u59CB\u64AD\u653E","",this.userId),this.initBigPlayer(),this.player&&(yield this.player.play(t),(o=E.emitter)==null||o.emit(Q,{uid:this.userId}),this.isPlayingBig=!0,this.checkBigVideo()),d("\u8FDC\u7AEF\u6D41\u5927\u6D41\u64AD\u653E\u7ED3\u675F",this.userId,this.streamId,[this.nickname]),d(`\u5927\u6D41\u64AD\u653E\u8017\u65F6: ${n()}`,"",this.userId))}else(a=this.player)==null||a.destroy(),this.player=null,this.isPlayingBig=!1}});this.collectAudioLevel=()=>{this.stream?(this.stream.off("audio-level"+fe,this.handleAudioLevel),this.stream.on("audio-level"+fe,this.handleAudioLevel)):I("collection audio level but not have brtc stream")};this.handleAudioLevel=e=>{this.audioLevelWatcher.next(e)};this.checkSmallVideo=()=>c(this,null,function*(){if(this.videoEnable&&this.stream&&!this.isShare&&!!document.getElementById(this.playerId)){let t=`video_${this.stream.getStreamId()}`;if(!!document.getElementById(t)){this.checkVideoDecodeFrame(t);return}else p(`stream is display, but no video element, should replay now: ${this.smallPlayFailed}`),this.smallPlayFailed<3&&(this.smallPlayFailed+=1,yield q(1e3),this.stop(),yield this.play())}});this.checkBigVideo=(0,Le.debounce)(()=>{var e;if(this.videoEnable&&this.stream){let t=`video_${this.stream.getStreamId()}_big`;if(!this.isShare&&this.isDisplay&&this.playerId){let r=!!document.getElementById(t);if(this.isInBig)if(r){this.checkVideoDecodeFrame(t);return}else p("stream is playing in big, but no video element, replay now"),(e=this.player)==null||e.destroy(),this.player=null,this.playInBig()}this.isShare&&this.isInBig&&this.bigPlayerId&&this.checkVideoDecodeFrame(t)}},2e3);this.checkStreamIsPlaying=(0,Le.debounce)(()=>{if(this.isDisplay&&this.videoEnable){if(!this.stream||!document.getElementById(this.playerId))return;this.currentIsPlaying(this.playerId)===2||(p(`${this.userId} - ${this.nickname}: current is ${this.isDisplay}, but there is no player, try play again`),this.play())}},1e3);this.user=e,this.updateUser(e),this._stream=t,this.isDisplayObserve.subscribe(i=>{this.handleDisplayChange(i)}),this.isInBigObserve.subscribe(i=>{this.handleIsInBig(i)}),this.updateSortNum(!1),this.isWhiteboard=r}get hasPulled(){return this._hasPulled}set hasPulled(e){this._hasPulled=e}get pulledStreamType(){return this._pulledStreamType}set pulledStreamType(e){this._pulledStreamType=e}get uuid(){return this.isShare?`${this.userId}_share`:this.isWhiteboard?`${this.userId}_whiteboard`:this.userId}get playerId(){return this.isDisplay?"v_"+this.uuid:""}get isAudience(){return this.user.isAudience}get canShow(){return this.isAudience?this.user.audienceEnableSpeaking:!0}changeMute(e){this.muted!==e&&(this.muted=e,this.handleSpeakerChange())}handleSpeakerChange(){var e,t;this.isLocal||(this.muted?(e=this.stream)==null||e.setAudioVolume(0):(t=this.stream)==null||t.setAudioVolume(1))}get isToupingma(){return this.user.isToupingma}get isMixer(){return this.user.isMixer}get isSignal(){return this.user.isSignal}genReceiveSubMsg(){let e;return this.isDisplay?e={audio:!0,video:!0,streamType:"small"}:e={audio:!0,video:!1,streamType:"small"},e}handleIsInBig(e){this.isInBig!==e&&(this.isInBig=e,d("isInBig change","",this.userId,["streamId =>",this.streamId,"isInBig => ",e,"isShare =>",this.isShare]),this.isInBig?this.pulledStreamGoal="big":this.pulledStreamGoal="small",this.sendMessage2Room(),this.isShare&&(this.isInBig||(this.checkVideoTimer&&clearTimeout(this.checkVideoTimer),this.checkVideoTimer=null,this.checkCount=0)))}setVideoEnable(e){this._video_enable!==e&&(this._video_enable=e,this.videoEnableWatcher.next(e))}setAudioEnable(e){this._audio_enable!==e&&(this._audio_enable=e,this.audioEnableWatcher.next(e))}updateStream(e,t=!0,r){this._stream&&this._stream.off(fe),this._stream=e,e?(this.audioEnable&&(this.isShare||r.addToDetector(new Te(this.user,e)),this.collectAudioLevel()),e.on("player-state-changed"+fe,this.onPlayerStateChange),e.on("connect-error"+fe,this.handleStreamConnectError),e.on("stream-connection-error"+fe,this.handleStreamConnectError),!this.isLocal&&t&&this.sendMessage2Room()):(this.hasPulled=!1,this.pulledStreamType="small",this.streamType=3)}updateBloudStream(e,t,r=!1){var a,n,l,u,m;let i=!1,o=!1;if(e){if(this.bloudStream={audio:e.audio,video:e.video,isScreen:e.isScreen},e.customInfo){if(!this.bloudStream.customInfo||((a=this.bloudStream.customInfo)==null?void 0:a.volume)!==e.customInfo.volume){let h=e.customInfo.volume;typeof h=="number"&&this.setRemoteAudioLevel(h)}this.bloudStream.customInfo=e.customInfo}this.stream&&(this.bloudStream.audio?this.isShare||(t.addToDetector(new Te(this.user,this.stream)),this.collectAudioLevel()):t.removeFromDetector(this.stream.getStreamId())),this.bloudStream.video!==this._video_enable&&(i=!0),this.bloudStream.audio!=this._audio_enable&&(o=!0),this.setVideoEnable(this.bloudStream.video),this.setAudioEnable(this.bloudStream.audio),this.isLocal&&(this.isDisplay&&this.play(),this.isInBig&&this.playInBig()),r&&(this.destroyBrtcStream(),(n=this.player)==null||n.destroy(),this.stream&&((l=t.room.audioPlayer)==null||l.removeStream(this.stream)),this._stream=void 0),o&&!this.audioEnable&&this.stream&&((u=t.room.audioPlayer)==null||u.removeStream(this.stream)),(this.bloudStream.audio||this.bloudStream&&this.isDisplay)&&(!this.stream||r?E.emitter.emit(Be,{id:this.userId,isWeb:this.isWeb,isScreen:this.isShare}):(this.isLocal||(!this.hasPulled||!this.stream.isSubscribed())&&this.sendMessage2Room(),i&&(this.isDisplay&&this.playerId&&this.emitBindElement(),this.isInBig&&this.bigPlayerId&&this.emitBindBigElement()),!this.isLocal&&o&&this.audioEnable&&this.stream.isSubscribed()&&E.getInstance().emit(Re,{stream:this})))}else this.bloudStream=void 0,this.setVideoEnable(!1),this.setAudioEnable(!1),(m=this.player)==null||m.destroy(),this.stream&&t.removeFromDetector(this.stream.getStreamId());this.updateSortNum(!0),this.streamUpdateWatcher.next(!0)}updateBloudCustomInfo(e){var t,r,i,o;this.bloudStream?(e&&(((r=(t=this.bloudStream)==null?void 0:t.customInfo)==null?void 0:r.volume)!==e.volume?typeof e.volume=="number"&&this.setRemoteAudioLevel(e.volume):((o=(i=this.bloudStream)==null?void 0:i.customInfo)==null?void 0:o.share_file)!==e.share_file&&e.share_file&&this.setShareFile(e.share_file)),this.bloudStream.customInfo=e):p("updateBloudCustomInfo, but bloudStream is undefined","","",["userId =>",this.userId])}get streamId(){return this._stream?this._stream.getStreamId():this.userId}get bStreamId(){return this.isShare?`${this.userId}_screen`:this.userId}get userId(){return this.user.userId}get stream(){return this._stream}get isLocal(){return this.user.isLocal}get isShare(){var e,t,r;return this.stream?this.user.isWeb?(t=(e=this.stream)==null?void 0:e.getUserId().toString())==null?void 0:t.endsWith(k):this.stream&&this.stream.getType&&this.stream.getType()==="assist":!!((r=this.bloudStream)!=null&&r.isScreen)}get isWeb(){return this.user.isWeb}get isMobile(){return this.user.isMobile}get audioEnable(){return this._audio_enable}get videoEnable(){return this._video_enable}get brtcPlayerId(){return`player_${this.stream.getStreamId()}`}get selfPlayerId(){return`player_${this.stream.getStreamId()}_big_container`}get nickname(){var e;return this.user.isToupingma?`${this.user.nickName}(\u7684\u6295\u5C4F)`:(e=this.streamId)!=null&&e.includes(k)?`${this.user.nickName}(\u7684\u5C4F\u5E55\u5171\u4EAB)`:this.user.nickName}get audioLevel(){var e;return((e=this._stream)==null?void 0:e.getAudioLevel())||0}getUser(){return this.user}setRemoteAudioLevel(e){if(this.isLocal)throw new Error("\u4E0D\u80FD\u8BBE\u7F6E\u672C\u5730\u6D41\u7684\u97F3\u91CF");E.emitter.emit(Ae,{streamId:this.streamId,volume:e})}setShareFile(e){E.emitter.emit(mt,{streamId:this.bStreamId,fileId:e})}getStats(){var e;return(e=this._stream)==null?void 0:e.getStats()}initBigPlayer(){try{if(this.bigPlayerId){let e=document.querySelector(`#${this.bigPlayerId}`);if(!e){console.error("\u64AD\u653E\u5927\u6D41\u5931\u8D25\uFF0C\u627E\u4E0D\u5230\u5927\u6D41\u5BB9\u5668",this.userId,this.streamId,this.bigPlayerId);return}this.player&&this.player.destroy(),this.player=null,this.player=new si.Player(e,{fit:"contain"}),this.player.on("player-state-changed",t=>{var r;this.stream&&(d("big player state change","","",[JSON.stringify(t)]),t.type==="error"&&t.reason&&t.reason.name==="NotAllowedError"&&I("big player state change video need resume?","","",[JSON.stringify(t)]),t.state==="PAUSED"&&((r=this.player)==null||r.resume()))})}}catch(e){p("\u521D\u59CB\u5316\u5927\u7A97\u53E3\u7684\u64AD\u653E\u5668\u5931\u8D25",this.userId,this.streamId,[e.message])}}stop(){var e;try{(e=this._stream)==null||e.stop()}catch(t){}}destroyBrtcStream(){var e;try{(e=this._stream)==null||e.destroy()}catch(t){}}isPlaying(){var e;return(e=this._stream)==null?void 0:e.isPlaying()}replay(){var e;return(e=this._stream)==null?void 0:e.replay()}resume(){var e,t;(e=this._stream)==null||e.resume(),(t=this.player)==null||t.resume()}hasAudio(){var e;return((e=this._stream)==null?void 0:e.hasAudio())||!1}hasVideo(){var e;return((e=this._stream)==null?void 0:e.hasVideo())||!1}updateUser(e){this.user=e;let t=this.user.userInfo.pos;if(this.isWhiteboard){this.streamType=3;return}if(!t){this.streamType=1;return}t.includes("web")||t.includes("pc")?this.streamType=0:t.includes("_toupingma")?this.streamType=2:this.streamType=1}updateSortNum(e=!0){let t=this.getSortNum();this.setSortNum(t,e)}setSortNum(e,t){this.sortNum!==e&&(this.sortNum=e,t&&(E.emitter.emit(ve,null),this.user.updateSortNum(!0)))}getSortNum(){return this.user.isMaster?Kr(this.audioEnable,this.videoEnable):this.user.isLocal?ei(this.audioEnable,this.videoEnable):this.user.isManager?ti(this.audioEnable,this.videoEnable):ri(this.audioEnable,this.videoEnable)}checkVideoDecodeFrame(e){if(this.isLocal||ji)return;let t=document.getElementById(e);if(this.checkVideoTimer&&clearTimeout(this.checkVideoTimer),!t){d("\u9ED1\u5E27\u68C0\u6D4B\u6CA1\u6709\u64AD\u653E\u5BB9\u5668",this.userId,"",["streamId =>",this.streamId,"isShare =>",this.isShare,"playerId =>",this.playerId,"bigPlayerId =>",this.bigPlayerId,"isDisplay => ",this.isDisplay,"isInbig =>",this.isInBig]),this.isShare&&this.isInBig&&this.bigPlayerId&&(I("share stream has no video player, retry play"),this.playInBig(!0));return}this.checkVideoTimer=setTimeout(()=>{var i,o,a;let r=(t==null?void 0:t.getVideoPlaybackQuality)&&((i=t==null?void 0:t.getVideoPlaybackQuality())==null?void 0:i.totalVideoFrames)||0;if(t&&!t.getVideoPlaybackQuality){this.checkVideoTimer&&clearTimeout(this.checkVideoTimer);return}if(r>0){clearTimeout(this.checkVideoTimer);return}else{if(this.checkCount>10){p("\u68C0\u6D4B\u8D85\u8FC7\u4E86\u5341\u6B21\uFF0C\u8FD8\u6CA1\u6709\u89C6\u9891\u6D41\uFF0C\u9700\u8981\u91CD\u65B0\u62C9\u53D6","\u9ED1\u5E27\u68C0\u6D4B",this.userId,["streamId =>",this.streamId,"nickname =>",this.nickname,"videoContainer => ",e]),this.checkVideoTimer&&clearTimeout(this.checkVideoTimer),this.checkVideoTimer=null,this.checkCount=0,this.hasPulled=!1,this.pulledStreamType="small",(o=this._stream)==null||o.off(fe),this.destroyBrtcStream(),(a=this.player)==null||a.destroy(),this.player=null,this._stream=void 0,this.sendMessage2Room();return}this.checkCount+=1,this.checkVideoDecodeFrame(e)}},200)}subscribeStream(){this.shouldPull=!0,E.emitter.emit(ye,{stream:this})}unSubscribeStream(){this.shouldPull=!1,E.emitter.emit(Ee,{stream:this})}unAttach(e){var t,r;e==="all"?(this.stop(),(t=this.player)==null||t.destroy(),this.bigPlayerId=""):e==="big"?((r=this.player)==null||r.destroy(),this.bigPlayerId=""):e==="small"&&this.stop()}};var x=require("rxjs"),Jt=require("@hysc/utils");var li=require("lodash-es");var R=require("@hysc/utils");function ai(s){let e=null,t=s.videoElement,r=t.offsetWidth,i=t.offsetHeight;if(t.captureStream?e=t.captureStream():t.mozCaptureStream&&(e=t.mozCaptureStream()),e){let o=e.getVideoTracks()[0],a=e.getAudioTracks()[0];return{video:!!o,audio:!!a,videoSource:o,audioSource:a,width:r,height:i}}return null}function ni(s,e){try{let t=s.getVideoTracks()[0],r=s.getAudioTracks()[0];return{video:!!t,audio:!!r,videoSource:t,audioSource:r,width:e.width,height:e.height}}catch(t){return console.log("\u83B7\u53D6\u5171\u4EAB\u97F3\u9891\u53C2\u6570\u6709\u8BEF",t),null}}function ke(s){return s.split("_")[0]}var ie=`.streammuteevent${Math.random()}`,rt=class s{constructor(){this.streamModels=new Map;this.streamModelsWatcher=new x.BehaviorSubject(s.filterStreamModels(this.sortStreamModels()));this.shareStreamModels=new Map;this.shareStreamModelsWatcher=new x.BehaviorSubject(Array.from(this.shareStreamModels.values()));this.localStreamErrorWatcher=new x.Subject;this.localModel=null;this.room=null;this.bloudStream=null;this.whiteboard=null;this.whiteboardWatcher=new x.BehaviorSubject(this.whiteboard);this.brtcStream=null;this.videoStream=null;this.audioStream=null;this.localIsShare=!1;this.isShareWatcher=new x.Subject;this.localShareCustomStats={};this._speaker_enable=!0;this.speakerEnableWatcher=new x.BehaviorSubject(this._speaker_enable);this.mixStreamUid=null;this.mixStreamModelWatcher=new x.BehaviorSubject(null);this.canvasTimer=null;this._recorder=void 0;this._isRecording=!1;this._slicingRecord=!1;this.isRecordingWatcher=new x.BehaviorSubject(this._isRecording);this._speaker=null;this._speakers=new Map;this.speakerWatcher=new x.BehaviorSubject(this._speaker);this.rtcPublishing=!1;this.noContainerWatcher=new x.Subject;this.noBigContainerWatcher=new x.Subject;this.localStreamConnectErrorWatcher=new x.Subject;this.localShareError=new x.Subject;this.localShareEndedError=new x.Subject;this.shareBloudStateMap=new Map;this.streamPlayWatcher=new x.Subject;this.handleStreamPlay=e=>{this.streamPlayWatcher.next(e)};this.updateModelSort=(0,li.debounce)(()=>{let e=this.sortStreamModels();this.streamModelsWatcher.next(s.filterStreamModels(e))},200,{maxWait:500});this.handleNoContainer=e=>{let{type:t,container:r,id:i}=e,o;t==="share"?o=this.shareStreamModels.get(i):o=this.streamModels.get(i),o&&(r==="small"?this.noContainerWatcher.next(o):this.noBigContainerWatcher.next(o))};this.getHTMLMediaStream=ai;this.getMediaStream=ni;setTimeout(()=>{this.createCanvas(),this.canvasDisplay()},100),E.emitter.on(ve,this.updateModelSort),E.emitter.on(ce,this.handleNoContainer),E.emitter.on(Q,this.handleStreamPlay),this.muteHandlerVideo=this.muteHandler.bind(this,"video"),this.muteHandlerAudio=this.muteHandler.bind(this,"audio")}get mixStreamModel(){return this.mixStreamUid?this.streamModels.get(this.mixStreamUid):null}static filterStreamModels(e){return e.filter(t=>!t.isToupingma).filter(t=>!Pe.some(r=>t.userId.includes(r))).filter(t=>t.canShow)}initWithRoom(e){return this.room=e,this}setSpeakerEnable(e){var t;this._speaker_enable!==e&&((t=this.room.audioPlayer)==null||t.mute(!e),this._speaker_enable=e,this.speakerEnableWatcher.next(e))}getStreamModels(){return Array.from(this.streamModels.values())}getStreamModelByUId(e){return this.streamModels.get(e)}getShareStreamModelByUId(e){return this.shareStreamModels.get(e)}getLocalStreamModel(){return this.localModel}createWhiteBoard(e){var r;let t=(r=this.room)==null?void 0:r.userVM.getUser(e);if(!t){p("\u521B\u5EFA\u767D\u677F\u5931\u8D25\uFF0C\u627E\u4E0D\u5230\u5BF9\u5E94\u7684\u7528\u6237","\u521B\u5EFA\u767D\u677F",e);return}return this.whiteboard=new Oe(t,void 0,!0),this.whiteboardWatcher.next(this.whiteboard),this.whiteboard}removeWhiteBoard(){this.whiteboard=null,this.whiteboardWatcher.next(this.whiteboard)}createStreamModel(e,t){let r=new Oe(e,void 0);return t&&r.updateStream(t,!0,this),r.isShare?(e.addStream(`${e.userId}${k}`,r),this.addShareStreamModel(r)):(e.addStream(e.userId,r),this.addStreamModel(r)),r.isMixer&&(this.mixStreamUid=r.userId,this.mixStreamModel&&this.mixStreamModelWatcher.next(this.mixStreamModel)),r}addStreamModel(e){e&&(e.isLocal?this.localModel||(this.localModel=e,this.localModel.audioEnableWatcher.subscribe(t=>{this._recorder&&this._recorder.muteAudio(!t)}),this.streamModels.set(this.localModel.userId,this.localModel)):this.streamModels.set(e.userId,e))}addShareStreamModel(e){if(e){if(e.isLocal){e.audioEnable&&e.stream&&this.addToRecorder(e.stream);return}this.shareStreamModels.set(e.userId,e),this.shareStreamModelsWatcher.next(Array.from(this.shareStreamModels.values()))}}removeStreamModel(e){if(!e)return;e.isShare&&e.isLocal&&this.removeFromRecorder(e.stream);let t=e.getUser();this.streamModels.delete(e.userId),t.removeStream(e.userId)}removeShareStreamModelByUId(e){var r,i,o;let t=this.shareStreamModels.get(e);if(t){try{(r=t.stream)==null||r.destroy()}catch(a){}t.audioEnable&&t.stream&&((o=(i=this.room)==null?void 0:i.audioPlayer)==null||o.removeStream(t.stream)),this.removeShareStreamModel(t)}}removeShareStreamModel(e){if(!e)return;let t=e.getUser();this.shareStreamModels.delete(e.userId),t.removeStream(`${e.userId}${k}`),t.updateSortNum(!0),this.shareStreamModelsWatcher.next(Array.from(this.shareStreamModels.values()))}removeStreamModelByUId(e){var r,i,o;let t=this.getStreamModelByUId(e);if(t){if(t.stream){this.removeFromDetector(t.streamId);try{t.stream.destroy()}catch(a){}}t.audioEnable&&(t.stream?(i=(r=this.room)==null?void 0:r.audioPlayer)==null||i.removeStream(t.stream):(o=this.room)==null||o.audioPlayer.removeStreamByUid(e)),this.removeStreamModel(t)}return t}remoteStreamPublished(e){var a;let t=e.getStreamId(),r=e.getUserId().toString(),i=this.getStreamModelByUId(r),o;if(i||(o=ke(String(r)),i=this.getStreamModelByUId(o)),i){if(re(e)){let n;if(o){let l=(a=this.room)==null?void 0:a.userVM.getUser(o);if(l&&!l.hasShare){I("share stream published, but user has no share","",o);return}n=this.shareStreamModels.get(o)}if(n){if(n.isLocal)return;n.hasPulled=!1,n.pulledStreamType="small",n.updateStream(e,!0,this),this.shareStreamModelsWatcher.next(Array.from(this.shareStreamModels.values()))}else{let l=this.createStreamModel(i.getUser(),e),u=e.getVideoOn(),m=e.getAudioOn(),h=this.shareBloudStateMap.get(i.userId);h?l.updateBloudStream({audio:h.audio,video:h.video,isScreen:!0,customInfo:h.customInfo},this):l.updateBloudStream({audio:m,video:u,isScreen:!0},this),l.streamType=2}}else i.hasPulled=!1,i.pulledStreamType="small",this.updateStreamModel(i,e);this.changeSingleStreamSpeaker(i).catch(n=>{p("\u8BBE\u7F6E\u5355\u80A1\u6D41\u7684\u626C\u58F0\u5668\u7684\u64AD\u653E\u51FA\u73B0\u4E86\u95EE\u9898","\u8BBE\u7F6E\u64AD\u653E\u97F3\u91CF",i==null?void 0:i.userId)})}else p("brtc\u6709\u4EBA\u63A8\u6D41\u4E86\uFF0C\u4F46\u662F\u627E\u4E0D\u5230\u5BF9\u5E94\u7684streamModel, \u627E\u4E0D\u5230\u5BF9\u5E94\u7684\u7528\u6237","",r,["streamId => ",t,"types =>",e.getType&&e.getType()])}remoteStreamUnpublished(e){var n,l,u;let t,r=e.getUserId().toString(),i=e.getStreamId(),o=!1;if(r.includes(k)){let m=ke(String(r));if(m==((l=(n=this.room)==null?void 0:n.getLocalParticipant())==null?void 0:l.userId)){d("\u672C\u5730\u7528\u6237\u53D6\u6D88\u5171\u4EAB\u5C4F\u5E55","\u53D6\u6D88\u5171\u4EAB\u5C4F\u5E55",r),this.localModel.getUser().removeStream(r);return}t=this.getShareStreamModelByUId(m),o=!0}else i.startsWith(ut)||e.getType&&e.getType()==="assist"?(t=this.getShareStreamModelByUId(r),o=!0):t=this.getStreamModelByUId(r);if(this.removeFromDetector(i),this.removeFromRecorder(e),!t){p("brtc\u6709\u4EBA\u53D6\u6D88\u63A8\u6D41 \u4F46\u662F\u627E\u4E0D\u5230\u5BF9\u5E94\u7684streamModel","\u53D6\u6D88\u63A8\u6D41",r,[i]);return}let a=(u=t.stream)==null?void 0:u.getStreamId();if(a!==i){p("\u5F53\u524D\u53D6\u6D88\u63A8\u6D41\u7684\u548C\u5F53\u524D\u7ED1\u5B9A\u7684\u4E0D\u662F\u540C\u4E00\u80A1\u6D41","",r,["streamId =>",i,"streamModel.streamId",a]);return}if(t.hasPulled=!1,t.pulledStreamType="small",o||t.streamType===2){t.updateStream(void 0,!0,this),this.removeShareStreamModel(t);return}return t.updateStream(void 0,!0,this),t}sortStreamModels(){return ur(Array.from(this.streamModels.values()))}updateStreamModel(e,t){e.updateStream(t,!0,this)}updateShareStreamModel(e,t){e.updateStream(t,!0,this)}setLocalVideoEnable(e,t){return c(this,null,function*(){var i,o,a,n,l,u,m;if(!((i=this.room)!=null&&i.networkState.brtc)||!this.room.netConnecting){p("\u65AD\u7F51\u671F\u95F4\u5F00\u672C\u5730\u6444\u50CF\u5934\uFF0C\u4E0D\u4E0E\u54CD\u5E94");return}if(!this.room.mediaPermission.camera)return Promise.reject((0,R.BMCameraNotAuthError)());let r=this.getLocalStreamModel();if(d(`\u5F00\u5173\u672C\u5730\u6444\u50CF\u5934\uFF0C \u72B6\u6001 => ${e}`,"publish",r==null?void 0:r.userId),r)if(e)if(r!=null&&r.stream){if(t)yield r.stream.replaceTrack(t).catch(g=>{p("\u7F8E\u989C videoTrack replace \u5931\u8D25","",r.userId,[JSON.stringify(g)])});else{let g=(o=r==null?void 0:r.stream)==null?void 0:o.getVideoTrack(),S=r==null?void 0:r.stream.hasVideo();if(!g||(g==null?void 0:g.constructor.name)==="CanvasCaptureMediaStreamTrack"||S==!1){let b=yield this.createVideoStreamTrack().catch(v=>Promise.reject(v)),C=r.stream;yield C.replaceTrack(b).then(()=>{C.setVideoProfile(this.room.videoProfile),d("replace video track success")}).catch(v=>(p(`\u672C\u5730\u89C6\u9891\u6D41\u66F4\u6362\u89C6\u9891\u6D41\u5931\u8D25\uFF0C\u5F53\u524D\u9EA6\u514B\u98CE\u72B6\u6001 => ${r==null?void 0:r.audioEnable}`,"publish",r==null?void 0:r.userId,[JSON.stringify(v)]),r!=null&&r.audioEnable||this.handleStreamUpdateFailed(),Promise.reject((0,R.BMOpenCameraError)())))}else{let b=g==null?void 0:g.constructor.name;if(I(`setLocalVideoEnable: no videoTrack, trackName:${b}`,"publish",r==null?void 0:r.userId),te()){let C=yield this.createVideoStreamTrack().catch(v=>Promise.reject(v));yield r.stream.replaceTrack(C)}}}if(yield r.stream.unmuteVideo())d("brtc unmute video success");else return p(`brtc unmuteVideo\u5931\u8D25\uFF0C\u5F53\u524D\u9EA6\u514B\u98CE\u72B6\u6001=> ${r==null?void 0:r.audioEnable} hasVideo=>${r.stream.hasVideo()}`,"publish",r==null?void 0:r.userId),r!=null&&r.audioEnable||this.handleStreamUpdateFailed(),Promise.reject((0,R.BMOpenCameraError)());if(!this.bloudStream||this.bloudStream.published==!1){r.isInBig&&r.playInBig(!0),yield this.publishBloudStream(!1,!0);return}yield this.bloudStream.setVideoEnabled(!0).then(()=>{r.updateStream(r.stream,!0,this),r.updateBloudStream({video:!0,audio:r.audioEnable,isScreen:!1},this),r.playInBig(!0)}).catch(g=>{p("bloud unmuteVideo\u5931\u8D25","publish","",[JSON.stringify(g)]),this.handleStreamUpdateFailed()})}else try{yield this.createStreamAndPublish(!1,!0,r,t),r.playInBig(!0)}catch(h){return this.rtcPublishing=!1,p("\u5F00\u542F\u672C\u5730\u6444\u50CF\u5934\u5931\u8D25","","",[JSON.stringify(h)]),(n=(a=this.localModel)==null?void 0:a.stream)==null||n.destroy(),(l=this.bloudStream)!=null&&l.published&&this.bloudStream.unpublish(),(u=this.localModel)==null||u.updateStream(void 0,!0,this),(m=this.localModel)==null||m.updateBloudStream(void 0,this),Promise.reject(h)}else r.stream&&(yield this.muteOrUnpublishStream("video",!0,r).catch(g=>(p("\u5173\u95ED\u672C\u5730\u6444\u50CF\u5934\u5931\u8D25","","",[g]),Promise.reject((0,R.BmSetLocalVideoEnable)(g)))))})}handleStreamUpdateFailed(e=!1){return c(this,null,function*(){var t;p("brtc unmute stream failed, now unpublish","publish",(t=this.localModel)==null?void 0:t.userId),yield this.unpublishStream(e)})}setLocalAudioEnable(e,t=!1){return c(this,null,function*(){var i;let r=this.getLocalStreamModel();if(!((i=this.room)!=null&&i.networkState.brtc)||!this.room.netConnecting){p("\u65AD\u7F51\u671F\u95F4\u5F00\u672C\u5730\u9EA6\u514B\u98CE\uFF0C\u4E0D\u4E0E\u54CD\u5E94","publish",r==null?void 0:r.userId);return}if(!this.room.mediaPermission.microphone)return Promise.reject((0,R.BMMicNotAuthError)());if(d(`\u5F00\u5173\u672C\u5730\u9EA6\u514B\u98CE\uFF0C \u72B6\u6001 => ${e}`,"publish",r==null?void 0:r.userId),r)if(e)if(r!=null&&r.stream){if(!r.stream.hasAudio()){let a=yield this.createLocalAudioStream();if(!a)return Promise.reject((0,R.BMOpenMicroError)());let n=a.getAudioTrack();yield r.stream.replaceTrack(n).then(()=>{d("replace audio track success","publish",r.userId)}).catch(l=>(p("\u672C\u5730\u89C6\u9891\u6D41\u66F4\u6362\u97F3\u9891\u6D41\u5931\u8D25","publish",r.userId,[JSON.stringify(l)]),this.handleStreamUpdateFailed(!0),Promise.reject((0,R.BMOpenMicroError)())))}if(yield r.stream.unmuteAudio().catch(a=>{var n;d("brtc unmuteAudio:err, hasAudio="+((n=r.stream)==null?void 0:n.hasAudio()),"publish","",[a])}))d("unmute audio success","publish",r.userId);else return p(`unmute local stream audio res\u5931\u8D25\uFF0C\u5F53\u524D\u6444\u50CF\u5934\u72B6\u6001 => ${r==null?void 0:r.videoEnable} hasAudio=>${r.stream.hasAudio()}`,"publish",r==null?void 0:r.userId),r!=null&&r.videoEnable||(yield this.handleStreamUpdateFailed(!0)),Promise.reject((0,R.BMOpenMicroError)());if(!this.bloudStream||this.bloudStream.published==!1){yield this.publishBloudStream(!0,!1);return}yield this.bloudStream.setAudioEnabled(!0).then(()=>{d("bloud stream set audio enable","publish",r.userId),r.updateStream(r.stream,!1,this),r.updateBloudStream({audio:!0,video:r.videoEnable,isScreen:!1},this)}).catch(a=>{p(`bloud unmuteAudio\u5931\u8D25\uFF0C\u5F53\u524D\u6444\u50CF\u5934\u72B6\u6001 => ${r==null?void 0:r.videoEnable}`,"publish",r==null?void 0:r.userId,[JSON.stringify(a)]),r!=null&&r.videoEnable||this.handleStreamUpdateFailed(!0)});return}else yield this.createStreamAndPublish(!0,!1,r).catch(o=>{var a,n,l,u,m;return p("\u5F00\u542F\u672C\u5730\u9EA6\u514B\u98CE\u5931\u8D25","publish",r==null?void 0:r.userId,[o]),this.rtcPublishing=!1,(n=(a=this.localModel)==null?void 0:a.stream)==null||n.destroy(),(l=this.bloudStream)!=null&&l.published&&this.bloudStream.unpublish(),(u=this.localModel)==null||u.updateStream(void 0,!0,this),(m=this.localModel)==null||m.updateBloudStream(void 0,this),Promise.reject(o)});else{let o=r.stream;if(o){this.removeFromDetector(o.getStreamId());try{yield this.muteOrUnpublishStream("audio",!0,r,t)}catch(a){return p("\u5173\u95ED\u672C\u5730\u9EA6\u514B\u98CE\u5931\u8D25","publish",r.userId,[JSON.stringify(a)]),Promise.reject((0,R.BmSetLocalAudioEnable)(a))}}return}})}joinWithAudioAndAudio(e,t){return c(this,null,function*(){d("join with audio and video","publish","",[e,t]);let r=this.getLocalStreamModel();if(this.brtcStream){e&&(yield this.brtcStream.unmuteAudio()),t&&(yield this.brtcStream.unmuteVideo()),yield this.publishBloudStream(e,t);return}return yield this.createStreamAndPublish(e,t,r).catch(i=>{var o,a,n,l,u,m;return p("join create and publish failed","publish",(o=this.localModel)==null?void 0:o.userId,[JSON.stringify(i)]),this.rtcPublishing=!1,(n=(a=this.localModel)==null?void 0:a.stream)==null||n.destroy(),(l=this.bloudStream)!=null&&l.published&&this.bloudStream.unpublish(),(u=this.localModel)==null||u.updateStream(void 0,!0,this),(m=this.localModel)==null||m.updateBloudStream(void 0,this),Promise.reject(i)})})}changeSpeaker(e,t=!1){return c(this,null,function*(){var r;if(d("change speaker","device","",[JSON.stringify(e)]),!(e!=null&&e.deviceId))throw new Jt.BoomError(1e3,"\u5207\u6362\u626C\u58F0\u5668\u5931\u8D25\uFF01,\u539F\u56E0: \u9009\u62E9\u7684\u8BBE\u5907\u6CA1\u6709deviceId"+(e==null?void 0:e.name));try{this.room.setSelectSpeakerDevice(e),(r=this.room.audioPlayer)==null||r.setDevice(e.deviceId,t)}catch(i){throw p("\u5207\u6362\u626C\u58F0\u5668\u5931\u8D25","device","",["error",i==null?void 0:i.message,JSON.stringify(i)]),new Jt.BoomError(1e3,"\u5207\u6362\u626C\u58F0\u5668\u5931\u8D25")}})}changeSingleStreamSpeaker(e){return c(this,null,function*(){let t=this.room.selectAudioOutputDevice;t&&(e.isLocal||e.stream&&(yield e.stream.setAudioOutput(t.deviceId)))})}changeAudioInput(e){return c(this,null,function*(){var r,i,o,a,n;d("change audio input device","device","",[JSON.stringify(e)]),e||I("changeAudioInput, device is null","device");let t=(r=this.localModel)==null?void 0:r.stream;if((i=this.room)==null||i.setSelectAudioDevice(e),t)return((o=t.getAudioTrack())==null?void 0:o.readyState)==="ended"&&!((a=this.room)!=null&&a.deviceChanging)?(p("try to change audio input device but audio track is ended","device"),!1):(yield t.switchDevice("audio",e.deviceId).catch(u=>{d("switchDevice:error","device","",[JSON.stringify(u)])}),(n=this._recorder)==null||n.setMicDevice(e.deviceId),!0)})}changeVideoInput(e){return c(this,null,function*(){var r,i,o,a;d("change video input device","device","",[JSON.stringify(e)]);let t=(r=this.localModel)==null?void 0:r.stream;if((i=this.room)==null||i.setSelectVideoDevice(e),t)return((o=t.getVideoTrack())==null?void 0:o.readyState)==="ended"?(p("try to change video input device but video track is ended","device"),!1):(yield t.switchDevice("video",e.deviceId).catch(l=>{d("switchDevice:error","device","",[l])}),(a=this.localModel)!=null&&a.isDisplay&&this.localModel.isInBig&&this.localModel.playInBig(!0),!0)})}muteSpeaker(e){return c(this,null,function*(){d("\u9759\u97F3\u626C\u58F0\u5668 \u72B6\u6001 =>","device","",["status =>",e]);try{this.setSpeakerEnable(e)}catch(t){return Promise.reject((0,R.BmSetLocalSpeakerEnable)(`\u5F00\u5173\u626C\u58F0\u5668\u5931\u8D25 ${e} error: ${JSON.stringify(t)}`))}})}createLocalAudioStream(){return c(this,null,function*(){return this.audioStream?this.audioStream:(this.audioStream=yield this.room.createSingleLocalStream({video:!1,audio:!0},this.localModel.userId).catch(e=>(p("create brtc stream error","publish","",[JSON.stringify(e)]),Promise.reject(e))),this.audioStream)})}onlyBrtcPublish(){return c(this,null,function*(){let e=this.localModel,t=!!te();return this.audioStream=yield this.room.createSingleLocalStream({video:t,audio:!0},e.userId).catch(r=>(p("create brtc stream error","publish","",[JSON.stringify(r)]),Promise.reject(r))),this.bloudStream=this.room.boomCore.creteBloudLocalStream({audio_enable:!1,video_enable:!1},e.userId),d("onlyBrtcPublish","publish",e.userId),this.createStreamAndPublish(!1,!1,e).catch(r=>(this.rtcPublishing=!1,Promise.reject(r)))})}createStreamAndPublish(e,t,r,i){return c(this,null,function*(){var o,a,n,l,u,m,h,g,S;if(this.rtcPublishing)return I(`createStreamAndPublish(audio:${e},video:${t}), rtcPublishing ignore`,"publish",r.userId),!1;if(this.rtcPublishing=!0,d(`createStreamAndPublish(audio:${e},video:${t})`,"publish",r.userId),(o=this.brtcStream)!=null&&o.published&&(yield(a=this.room)==null?void 0:a.unpublish(this.brtcStream)),t){if((u=this.brtcStream)==null||u.destroy(),this.brtcStream=null,!((m=this.room)!=null&&m.audioDevices.length)||!((h=this.room)!=null&&h.videoDevices.length)){let b=(g=this.room)!=null&&g.audioDevices.length?"\u6CA1\u6709\u89C6\u9891\u8F93\u5165\u8BBE\u5907":"\u6CA1\u6709\u97F3\u9891\u8F93\u5165\u8BBE\u5907";p(`\u5F53\u524D\u7535\u8111\u4E2D\u6CA1\u6709${b}, \u91CD\u65B0\u83B7\u53D6`,"publish",r.userId),yield(S=this.room)==null?void 0:S.initDevices()}if(this.room.audioDevices.length>0)try{this.brtcStream=yield this.room.createSingleLocalStream({video:!0,audio:this.room.mediaPermission.microphone},r.userId).catch(b=>(p("create brtc audio and video stream failed","publish","",[JSON.stringify(b)]),Promise.reject(b)))}catch(b){d("create brtc audio and video stream failed, recreate brtc stream with audio close and video open"),this.brtcStream=yield this.room.createSingleLocalStream({video:!0,audio:!1},r.userId).catch(C=>(p("create brtc audio and video stream failed","publish","",[JSON.stringify(C)]),Promise.reject(C)))}else I("\u6CA1\u6709\u97F3\u9891\u8F93\u5165\u8BBE\u5907\uFF0C\u53EA\u80FD\u521B\u5EFA\u89C6\u9891\u6D41","publish"),this.brtcStream=yield this.room.createSingleLocalStream({video:!0,audio:!1},r.userId).catch(b=>(p("create brtc video stream failed","publish","",[JSON.stringify(b)]),Promise.reject(b)))}else{let C=s.getCanvasStream().getVideoTracks()[0];this.audioStream||(this.audioStream=yield this.room.createSingleLocalStream({video:!1,audio:!0},r.userId).catch(y=>(p("create brtc stream error","publish","",[JSON.stringify(y)]),Promise.reject(y))));let v=(n=this.audioStream)==null?void 0:n.getAudioTrack();if(!v||v&&v.muted)throw(l=this.audioStream)==null||l.destroy(),this.audioStream=null,this.localStreamErrorWatcher.next("audio"),p("\u9EA6\u514B\u98CE\u8BBE\u5907\u4E0D\u53EF\u7528","publish","",["muted => ?",v==null?void 0:v.muted]),(0,R.getStreamError)("\u9EA6\u514B\u98CE");this.brtcStream=null,this.room.videoDevices.length==0?(I("\u5F53\u524D\u7535\u8111\u4E2D\u6CA1\u6709\u89C6\u9891\u8F93\u5165\u8BBE\u5907, createSingleLocalStream video:false","publish",r.userId),this.brtcStream=yield this.room.createSingleLocalStream({video:!0,audio:!0,videoSource:C,audioSource:v},r.userId).catch(y=>Promise.reject(y))):te()?this.brtcStream=this.audioStream:this.brtcStream=yield this.room.createSingleLocalStream({video:!0,audio:!0,videoSource:C,audioSource:v},r.userId).catch(y=>Promise.reject(y))}return this.brtcStream&&(t||(yield this.brtcStream.muteVideo()),e||(yield this.brtcStream.muteAudio()),i&&(yield this.brtcStream.replaceTrack(i).catch(b=>{p("\u7F8E\u989C videoTrack replace \u5931\u8D25","publish","",JSON.stringify(b))})),yield this.room.publish(this.brtcStream).catch(b=>{var C,v;return(C=this.brtcStream)==null||C.destroy(),this.brtcStream=null,(v=this.localModel)==null||v.updateBloudStream(void 0,this),Promise.reject(b)}),this.brtcStreamAddEvent(),(e||t)&&(yield this.publishBloudStream(e,t))),this.rtcPublishing=!1,!0})}brtcStreamAddEvent(){var e,t,r,i;(e=this.brtcStream)==null||e.on("video-track-mute"+ie,this.muteHandlerVideo),(t=this.brtcStream)==null||t.on("video-track-ended"+ie,this.muteHandlerVideo),(r=this.brtcStream)==null||r.on("audio-track-mute"+ie,this.muteHandlerAudio),(i=this.brtcStream)==null||i.on("audio-track-ended"+ie,this.muteHandlerAudio)}brtcStreamRemoveEvent(){var e,t,r,i;(e=this.brtcStream)==null||e.off("video-track-mute"+ie,this.muteHandlerVideo),(t=this.brtcStream)==null||t.off("video-track-ended"+ie,this.muteHandlerVideo),(r=this.brtcStream)==null||r.off("audio-track-mute"+ie,this.muteHandlerAudio),(i=this.brtcStream)==null||i.off("audio-track-ended"+ie,this.muteHandlerAudio)}publishBloudStream(e,t){return c(this,null,function*(){var i;let r=this.localModel.userId;this.bloudStream=this.room.boomCore.creteBloudLocalStream({audio_enable:e,video_enable:t},r),yield this.bloudStream.publish({video_enable:t,audio_enable:e}),(i=this.localModel)==null||i.updateBloudStream({video:t,audio:e,isScreen:!1},this)})}muteHandler(e){var a,n,l;let t=()=>c(this,null,function*(){var u,m,h,g,S,b,C,v,y;(u=this.localModel)!=null&&u.stream&&(yield(m=this.room)==null?void 0:m.unpublish(this.localModel.stream).catch(H=>{p("brtc local stream has problem and unpublish failed","publish","",[String(H)])})),(g=(h=this.localModel)==null?void 0:h.stream)==null||g.destroy(),(S=this.audioStream)==null||S.destroy(),(b=this.videoStream)==null||b.destroy(),(C=this.brtcStream)==null||C.destroy(),this.brtcStream=null,this.audioStream=null,this.videoStream=null,(v=this.localModel)==null||v.updateStream(void 0,!0,this),yield this.bloudStream.unpublish(),(y=this.localModel)==null||y.updateBloudStream(void 0,this)}),r=(a=this.localModel)==null?void 0:a.videoEnable,i=(n=this.localModel)==null?void 0:n.audioEnable,o=(l=this.brtcStream)==null?void 0:l.getAudioDeviceId();if(!r&&!i){d("muteHandler:\u97F3\u89C6\u9891\u5DF2\u5173,\u65E0\u9700\u5904\u7406","publish");return}setTimeout(()=>c(this,null,function*(){var u,m,h,g,S,b,C,v,y,H,z,X,Y,Z,K,se,oe,_e,Ve,He;if((u=this.localModel)!=null&&u.stream){let ae=(m=this.localModel)==null?void 0:m.videoEnable,ne=(h=this.localModel)==null?void 0:h.audioEnable;if(o!=((g=this.localModel)==null?void 0:g.stream.getAudioDeviceId())){d("muteHandler:\u8BBE\u5907\u5DF2\u7ECF\u5207\u6362\u65E0\u9700\u5904\u7406","publish");return}if((S=this.room)!=null&&S.deviceChanging){d("muteHandler:\u8BBE\u5907\u6B63\u5728\u5207\u6362\u4E2D","publish");return}if(e==="video"){if(!ae){d("muteHandler:\u89C6\u9891\u5DF2\u5173,\u65E0\u9700\u5904\u7406","publish");return}let J=(b=this.localModel.stream.getVideoTrack())==null?void 0:b.muted,ge=(C=this.localModel.stream.getVideoTrack())==null?void 0:C.label,We=(v=this.localModel.stream.getVideoTrack())==null?void 0:v.enabled,P=(y=this.localModel.stream.getVideoTrack())==null?void 0:y.readyState,ee=P==="ended";if(d(`muteHandler:brtc video track status:${J},enabled:${We},readyState:${P},label:${ge} `,"publish",""),!ee&&!J&&We)return;d("video track has problem, now try recreate and publish","publish"),p("brtc\u672C\u5730\u6D41\u51FA\u73B0\u5F02\u5E38\uFF0C\u9700\u8981\u91CD\u65B0\u63A8\u6D41\u5904\u7406","publish","",["videoEnable:",ae,"audioEnable:",ne,"type:",e]),this.localStreamConnectErrorWatcher.next((0,R.BMStreamDisconnectedError)("\u6444\u50CF\u5934")),(H=this.localModel)!=null&&H.stream&&(yield(z=this.room)==null?void 0:z.unpublish(this.localModel.stream).catch(Pt=>{p("brtc local stream has problem and unpublish failed","publish","",[String(Pt)])}),(X=this.localModel)==null||X.updateStream(void 0,!0,this),(Z=(Y=this.localModel)==null?void 0:Y.stream)==null||Z.destroy(),(K=this.localModel.player)==null||K.destroy(),(se=this.brtcStream)==null||se.destroy(),this.brtcStream=null,(oe=this.videoStream)==null||oe.destroy(),this.videoStream=null);try{yield this.createStreamAndPublish(ne,ae,this.localModel),this.localModel.isInBig&&this.localModel.bigPlayerId&&this.localModel.playInBig(!0)}catch(Pt){this.rtcPublishing=!1,p("brtc video stream has problem and republish stream failed","publish","",[JSON.stringify(Pt)]),yield t(),this.localStreamConnectErrorWatcher.next((0,R.BmSyncStreamFailError)())}}else{if(!ne){console.log("muteHandler:\u97F3\u9891\u5DF2\u5173,\u65E0\u9700\u5904\u7406","publish");return}p("brtc\u672C\u5730\u6D41\u51FA\u73B0\u5F02\u5E38\uFF0C\u9700\u8981\u91CD\u65B0\u63A8\u6D41\u5904\u7406","publish","",["videoEnable",ae,"audioEnable",ne,"type",e]),this.localStreamConnectErrorWatcher.next((0,R.BMStreamDisconnectedError)("\u9EA6\u514B\u98CE")),(_e=this.audioStream)==null||_e.destroy(),(Ve=this.localModel.player)==null||Ve.destroy(),this.audioStream=null,this.audioStream=yield this.room.createPBSingleLocalStream({video:!1,audio:!0});let J=(He=this.audioStream)==null?void 0:He.getAudioTrack();J&&!J.muted?this.localModel.stream&&(yield this.localModel.stream.replaceTrack(J).then(()=>{this.localModel.isInBig&&this.localModel.bigPlayerId&&this.localModel.playInBig(!0)}).catch(ge=>{p("\u672C\u5730\u6D41\u51FA\u73B0\u5F02\u5E38, \u91CD\u65B0\u521B\u5EFAaudio stream replace \u5931\u8D25","publish","",[JSON.stringify(ge)]),this.localStreamConnectErrorWatcher.next((0,R.BmSyncStreamFailError)()),t()})):(p("recreate audio stream failed, now unpublish","publish"),this.localStreamConnectErrorWatcher.next((0,R.BmSyncStreamFailError)()),t())}}this.localStreamErrorWatcher.next(e)}),1e3)}unpublishStream(e=!1){return c(this,null,function*(){var r,i,o,a,n,l,u;d("unpublish stream","publish",(r=this.localModel)==null?void 0:r.userId);let t=this.getLocalStreamModel();if(t){let m=t.stream;m&&e===!0&&(yield(i=this.room)==null?void 0:i.unpublish(m).catch(h=>{p("brtc \u53D6\u6D88\u53D1\u5E03\u5931\u8D25","publish",t.userId,[JSON.stringify(h)])}),m==null||m.destroy(),(o=this.localModel)==null||o.updateStream(void 0,!0,this),(a=this.audioStream)==null||a.destroy(),(n=this.brtcStream)==null||n.destroy(),this.brtcStream=null,this.audioStream=null);try{this.removeFromRecorder(m),(l=this.videoStream)==null||l.destroy(),this.videoStream=null,(u=this.bloudStream)!=null&&u.published&&(yield this.bloudStream.unpublish().catch(h=>{p("bloud unpublish stream failed","publish",t.userId,[JSON.stringify(h),h==null?void 0:h.code,h==null?void 0:h.message])})),t.updateBloudStream(void 0,this)}catch(h){p("stream destroy failed","publish",t.userId,[JSON.stringify(h)])}}})}muteOrUnpublishStream(e,t,r,i=!1){return c(this,null,function*(){let o=r.stream,a=!0;e==="audio"?a=r.videoEnable:e==="video"&&(a=r.audioEnable),a?e==="audio"?((yield o.muteAudio())||p("brtc muteAudio\u5931\u8D25","publish","\u672C\u5730",["muteAudio\u5931\u8D25"]),yield this.bloudStream.setAudioEnabled(!1).catch(l=>{p("bloud setAudioEnabled \u5931\u8D25","publish","\u672C\u5730",[JSON.stringify(l)])}),r.updateBloudStream({audio:!1,video:!0,isScreen:!1},this)):e==="video"&&(yield this.justReplaceVideoTrack(o),yield this.bloudStream.setVideoEnabled(!1).catch(n=>{p("bloud setVideoEnabled \u5931\u8D25","publish","\u672C\u5730",[JSON.stringify(n)])}),r.updateBloudStream({video:!1,audio:!0,isScreen:!1},this)):(e=="video"?this.justReplaceVideoTrack(o):e=="audio"&&((yield o.muteAudio())||p("brtc muteAudio\u5931\u8D25","publish","\u672C\u5730")),yield this.unpublishStream(i))})}justReplaceVideoTrack(e){return c(this,null,function*(){var i;let r=s.getCanvasStream().getVideoTracks()[0];try{yield e.replaceTrack(r),yield e.muteVideo()}catch(o){p("\u5173\u95ED\u672C\u5730\u89C6\u9891\u5931\u8D25","publish","\u672C\u5730",[JSON.stringify(o)])}try{(i=this.videoStream)==null||i.destroy(),this.videoStream=null}catch(o){p("this.videoStream destroy failed","publish")}})}toggleShareScreen(i){return c(this,arguments,function*(e,t={},r){var a,n,l,u,m;d("\u5F00\u5173\u5171\u4EAB\u5C4F\u5E55","publish","\u5F00\u5173\u5171\u4EAB\u5C4F\u5E55",["stats => ",e]),!e&&((a=this.room)!=null&&a.boomCore.shareScreenStream)&&this.removeFromRecorder((n=this.room)==null?void 0:n.boomCore.shareScreenStream),e||(this.localShareCustomStats={});let o=(l=this.room)==null?void 0:l.voiceMode;return t.audioHint=o,yield this.room.boomCore.toggleShareScreen(e,t,r).then(()=>{if(this.localModel.getUser().hasShare=!0,d("bmStreamVm toggleShareScreen success","\u5207\u6362\u5171\u4EAB\u5C4F\u5E55","",["enable =>",e]),e){let h=this.room.boomCore.shareScreenStream;h&&this.remoteStreamPublished(h)}else this.localModel.getUser().hasShare=!1,this.localModel.getUser().removeStream(`${this.localModel.userId}_screen`),this.localModel.getUser().updateSortNum(!0)}).catch(h=>(p("bmStreamVm toggleShareScreen error","\u5207\u6362\u5171\u4EAB\u5C4F\u5E55","",["enable =>",e]),Promise.reject(h))),e&&((u=this.room)!=null&&u.boomCore.shareScreenStream)&&this.addToRecorder((m=this.room)==null?void 0:m.boomCore.shareScreenStream),this.localIsShare=e,this.isShareWatcher.next(e),Promise.resolve(!0)})}setShareScreenContentHint(e){var t;(t=this.room)==null||t.boomCore.setShareScreenContentHint(e)}createCanvas(){let e=document.createElement("canvas");e.id="tarCanvas",e.style.width="1px",e.style.height="1px",e.style.position="absolute",e.style.bottom="0",document.body.appendChild(e)}canvasDisplay(){let e=document.getElementById("tarCanvas");if(e){e.width=640,e.height=360;let t=e.getContext("2d");t.fill(),t.beginPath(),t.fillStyle="rgb(0,0,0)",t.fillRect(0,0,e.width,e.height),this.canvasTimer&&clearTimeout(this.canvasTimer),this.canvasTimer=setTimeout(()=>{this.canvasDisplay()},1e3)}}static getCanvasStream(){return document.getElementById("tarCanvas").captureStream()}createVideoStreamTrack(){return c(this,null,function*(){var e,t,r;return((e=this.room)==null?void 0:e.videoDevices.length)==0&&(I("\u5F53\u524D\u7535\u8111\u4E2D\u6CA1\u6709\u89C6\u9891\u8F93\u5165\u8BBE\u5907, \u91CD\u65B0\u83B7\u53D6","publish"),yield(t=this.room)==null?void 0:t.initDevices()),(r=this.videoStream)==null||r.destroy(),this.videoStream=null,this.videoStream=yield this.room.createPBSingleLocalStream({video:!0,audio:!1},this.localModel.userId).catch(i=>(p("createPBSingleLocalStream error","publish","",[JSON.stringify(i)]),Promise.reject(i))),this.videoStream.getVideoTrack()})}startRecord(e){return c(this,null,function*(){var r,i,o,a;if(this._recorder)return;this._recorder=(r=this.room)==null?void 0:r.boomCore.createRecorder(e),this._recorder.on("track-ended",()=>{this.stopRecord(),d("record: ended","record")}),this._recorder.on("started",()=>{var n;d("record: started.","record"),this._recorder.muteAudio(!((n=this.localModel)!=null&&n.audioEnable))});let t=!0;try{yield this._recorder.start(void 0,void 0,{roomId:(i=this.room)==null?void 0:i.roomInfo.roomID,userName:(o=this.localModel)==null?void 0:o.getUser().nickname,title:(a=this.room)==null?void 0:a.roomInfo.roomName}),this._isRecording=!0,this.isRecordingWatcher.next(!0),this.shareStreamModels.forEach(n=>{n.stream&&!n.stream.isLocalStream()&&n.stream.isSubscribed()&&this.addToRecorder(n.stream)}),this.streamModels.forEach(n=>{n.stream&&!n.stream.isLocalStream()&&n.stream.isSubscribed()&&this.addToRecorder(n.stream)})}catch(n){I("record: error","record","",[JSON.stringify(n)]);let l=this._recorder;this._recorder=void 0,this._isRecording=!1,this.isRecordingWatcher.next(!1),t=!1,yield l==null?void 0:l.stop()}return t})}addToRecorder(e){var t;e.isLocalStream()&&!e.isScreenStream()||this._isRecording&&!this._slicingRecord&&(e.on("audio-track-ended",()=>{this.removeFromRecorder(e)}),(t=this._recorder)==null||t.addStream(e))}removeFromRecorder(e){var t;this._isRecording&&!this._slicingRecord&&((t=this._recorder)==null||t.removeStream(e))}stopRecord(){return c(this,null,function*(){if(d("record:stopRecord","record"),!this._recorder){I("stopRecord recorder is null","record","");return}this._isRecording=!1,this.isRecordingWatcher.next(!1),yield this._recorder.stop(),this._recorder=void 0})}sliceRecord(e,t,r){return c(this,null,function*(){var a,n,l,u;if((a=this._recorder)!=null&&a.supportAutoSave())return!0;if(!this._isRecording)return;let i=(n=this._recorder)==null?void 0:n._opts;this._slicingRecord=!0;try{yield(l=this._recorder)==null?void 0:l.stop()}catch(m){p("record:stop record exception","","",[JSON.stringify(m)])}i.filename=e,this._recorder=(u=this.room)==null?void 0:u.boomCore.createRecorder(i),this._recorder.on("track-ended",()=>{this.stopRecord(),d("record:record ended.")}),this._recorder.on("started",()=>{var m;d("record:record started."),this._recorder.muteAudio(!((m=this.localModel)!=null&&m.audioEnable))});let o=!0;try{yield this._recorder.start(t,r),this._slicingRecord=!1,this.shareStreamModels.forEach(m=>{m.stream&&!m.stream.isLocalStream()&&m.stream.isSubscribed()&&this.addToRecorder(m.stream)}),this.streamModels.forEach(m=>{m.stream&&!m.stream.isLocalStream()&&m.stream.isSubscribed()&&this.addToRecorder(m.stream)})}catch(m){let h=this._recorder;this._recorder=void 0,this._isRecording=!1,this.isRecordingWatcher.next(!1),this._slicingRecord=!1,o=!1,console.log("record:stopRecord.error",m),yield h==null?void 0:h.stop()}return o})}startSpeakerDetector(){var e;this._speaker=null,this._speakerDetector=(e=this.room)==null?void 0:e.boomCore.createSpeakerDetector(),this._speakerDetector.on("speaker",t=>{var i,o,a;let r=!0;t?(((i=this._speaker)==null?void 0:i.getUserInfo().userId)===t.getUser().userId&&(r=!1),this._speaker=t.getUser()):(this._speaker||(r=!1),this._speaker=null),r&&(d("\u5F53\u524D\u8BB2\u8BDD\u4EBA","\u8BED\u97F3\u6FC0\u52B1",(o=this._speaker)==null?void 0:o.userId,["nickname => ",(a=this._speaker)==null?void 0:a.nickname]),this.speakerWatcher.next(this._speaker))})}addToDetector(e){this._speakers.set(e.getID(),e),this._speakerDetector&&this._speakerDetector.addStream(e)}removeFromDetector(e){let t=this._speakers.get(e);this._speakerDetector&&t&&(this._speakers.delete(e),this._speakerDetector.removeStream(t))}clearDetector(){let e=[];this._speakers.forEach((t,r)=>{e.push(r)}),e.forEach(t=>{this.removeFromDetector(t)})}shareCustomMedia(e,t){return c(this,null,function*(){var r;return(r=this.room)==null?void 0:r.boomCore.shareHTMLMedia(e,t)})}updateBloudStreamCustomStats(e,t,r){return c(this,null,function*(){var o,a;d("update bloud stream custom stats","",e,[t,JSON.stringify(r)]);let i=yield(o=this.room)==null?void 0:o.boomCore.updateStream(e,t,r);((a=this.localModel)==null?void 0:a.userId)===e&&t.startsWith(e)&&t.endsWith("_screen")&&i.customInfo&&(this.localShareCustomStats=i.customInfo)})}checkStreamStats(e){d("check stream stats","","",[e]),this.streamModels.size<100&&this.streamModels.forEach(t=>{t.checkStreamIsPlaying()})}clearCache(){var e,t,r,i,o;try{(t=(e=this.localModel)==null?void 0:e.stream)==null||t.destroy(),(r=this.videoStream)==null||r.destroy(),(i=this.audioStream)==null||i.destroy()}catch(a){}this.canvasTimer&&clearTimeout(this.canvasTimer),this.canvasTimer=null,this.streamModels.clear(),this.shareStreamModels.clear(),(o=this.room)==null||o.userVM.clearUsers(),this.shareBloudStateMap.clear()}};var D=require("rxjs"),Ut=require("lodash-es");var it=class{constructor(e){this._roomName="";this.msgSeq="";this.roomID="";this.audioOff=!1;this.selfopenaudio=!1;this.lock=!1;this.leaveNotice=!1;this.openSelf=!1;this.chatNotice="";this.chatNoticeRich="";this.raiseHandsList=new Map;this.raiseHandsWatcher=new D.BehaviorSubject(Array.from(this.raiseHandsList.values()));this.raiseVideoHandsList=new Map;this.raiseVideoHandsWatcher=new D.BehaviorSubject(Array.from(this.raiseVideoHandsList.values()));this.raiseSimpleHandsList=new Map;this.raiseSimpleHandsWatcher=new D.BehaviorSubject(Array.from(this.raiseSimpleHandsList.values()));this.operationPermissionWatcher=new D.Subject;this.chatNoticeWatcher=new D.Subject;this.totalUserWatcher=new D.BehaviorSubject(0);this.totalWaitRoomUserWatcher=new D.BehaviorSubject(0);this.isOpenWaitRoom=new D.Subject;this.originJoinRoomParams={};this.originRespInfo={};this.audioOffWatcher=new D.Subject;this.lockWatcher=new D.BehaviorSubject(this.lock);this.leaveNoticeWatcher=new D.BehaviorSubject(this.leaveNotice);this.openSelfWatcher=new D.BehaviorSubject(this.openSelf);this.setRaiseHandsWatcherValue=(0,Ut.debounce)(()=>{this.raiseHandsWatcher.next(Array.from(this.raiseHandsList.values()))},1e3);this.setVideoRaiseHandsWatcherValue=(0,Ut.debounce)(()=>{this.raiseVideoHandsWatcher.next(Array.from(this.raiseVideoHandsList.values()))},1e3);this.setSimpleRaiseHandsWatcherValue=(0,Ut.debounce)(()=>{this.raiseSimpleHandsWatcher.next(Array.from(this.raiseSimpleHandsList.values()))},1e3);this.room=e,E.emitter.on(F,t=>{t.status==="raiseHandsAudio"?t.user.raiseAudioHands?this.addRaiseHandUser(t.user):this.removeRaiseHandUser(t.user.userId):t.status==="raiseHandsVideo"?t.user.raiseVideoHands?this.addVideoRaiseHandUser(t.user):this.removeVideoRaiseHandUser(t.user.userId):t.status==="raiseHand"&&(t.user.raiseHand?this.addSimpleRaiseHandUser(t.user):this.removeSimpleRaiseHandUser(t.user.userId))})}get roomName(){return this._roomName?this._roomName:(this._roomName=this.room.getName(),this._roomName)}get isBigRoom(){return this.room.isBig}get startup(){var e;return(e=this.room.boomCore.client)==null?void 0:e.startup}setup(e){this.roomID=e.room,this.handleInitParams(),this.originRespInfo=e}initCustomStats(e){this.operationPermission=e,e.chatNotice!==void 0&&(this.chatNotice=e.chatNotice),e.chatNoticeRich!==void 0&&(this.chatNoticeRich=e.chatNoticeRich),this.operationPermissionWatcher.next(this.operationPermission)}updateOperationPermission(e){this.operationPermission=w(w({},this.operationPermission),e),e.chatNotice!==void 0&&(this.chatNotice=e.chatNotice),e.chatNoticeRich!==void 0&&(this.chatNoticeRich=e.chatNoticeRich),this.operationPermissionWatcher.next(this.operationPermission)}handleInitParams(){let e=this.room.boomCore.getAudioOff(),t=this.room.boomCore.getSelfOpenAudio();this.setAudioOff(e,t)}setAudioOff(e,t){this.audioOff=e,this.selfopenaudio=t,this.audioOffWatcher.next({audioOff:e,selfopenaudio:t})}setlock(e){this.lock=e,this.lockWatcher.next(e)}setLeaveNotice(e){this.leaveNotice=e,this.leaveNoticeWatcher.next(e)}setRaiseHandsList(e){e.forEach(t=>{t.raiseAudioHands&&this.raiseHandsList.set(t.getID(),t),t.raiseVideoHands&&this.raiseVideoHandsList.set(t.getID(),t),t.raiseHand&&this.raiseSimpleHandsList.set(t.getID(),t)}),this.setRaiseHandsWatcherValue(),this.setVideoRaiseHandsWatcherValue(),this.setSimpleRaiseHandsWatcherValue()}addRaiseHandUser(e){this.raiseHandsList.set(e.getID(),e),this.setRaiseHandsWatcherValue()}removeRaiseHandUser(e){this.raiseHandsList.delete(e),this.setRaiseHandsWatcherValue()}addVideoRaiseHandUser(e){this.raiseVideoHandsList.set(e.getID(),e),this.setVideoRaiseHandsWatcherValue()}removeVideoRaiseHandUser(e){this.raiseVideoHandsList.delete(e),this.setVideoRaiseHandsWatcherValue()}addSimpleRaiseHandUser(e){this.raiseSimpleHandsList.set(e.getID(),e),this.setSimpleRaiseHandsWatcherValue()}removeSimpleRaiseHandUser(e){this.raiseSimpleHandsList.delete(e),this.setSimpleRaiseHandsWatcherValue()}};var L=require("rxjs");var Qt={name:"@hysc/meeting",version:"10.8.4",description:"boom meeting",private:!1,main:"./dist/index.js",module:"./dist/index.js",types:"./dist/index.d.ts",files:["dist","umd"],scripts:{build:"tsup ./src/index.ts --format cjs,esm --dts --minify",dev:"tsup ./src/index.ts --format esm,cjs --watch --dts"},author:"yangliye",license:"MIT",dependencies:{"@hysc/bloud":"workspace:*","@hysc/core":"workspace:*","@hysc/p-queue":"6.3.0","@hysc/utils":"workspace:*","detect-browser":"^5.3.0",immutable:"5.0.0-beta.4","lodash-es":"^4.17.21",mitt:"^3.0.0",rxjs:"^7.5.5",typescript:"^4.6.3"},peerDependencies:{"@hysc/core":"workspace:*"},devDependencies:{"@hysc/brtc":"workspace:*","@types/lodash-es":"^4.17.6"}};var at=require("@hysc/utils");var st=class{constructor(e){this.pullMap=new Map;this.room=e}addUser(e){let t=e.id;e.isScreen&&(t=`${t}_screen`),this.pullMap.set(t,e)}removeUser(e){let t=e.id;e.isScreen&&(t=`${t}_screen`),this.pullMap.delete(t)}restart(){this.room.restartPullUsers(this.pullMap)}};var B=require("@hysc/utils");var qt=class{constructor(e){this.room=e}get localBMUser(){return this.room.getLocalParticipant()}get localIsAudience(){return this.room.getLocalParticipant().isAudience}handlePull(e){return c(this,null,function*(){if(this.localIsAudience){if(e.isMixer){if(this.room.ignoreMixer){d(" \u914D\u7F6E\u4E86\u4F7F\u7528 CDN\u6D41\uFF0C\u4E0D\u62C9\u6DF7\u6D41 handlePull ignore mixer");return}yield this.room.handlePull(e);return}if(this.localBMUser.audienceEnableSpeaking&&e.audioEnable){yield this.room.handlePull(e);return}}else e.isMixer||(yield this.room.handlePull(e))})}handleChangeStreamType(e){return c(this,null,function*(){yield this.room.handleChangeStreamType(e)})}handlePlay(e,t){return c(this,null,function*(){this.localIsAudience&&!this.localBMUser.audienceEnableSpeaking?e.isMixer&&(yield this.room.handlePlay(e)):yield this.room.handlePlay(e)})}handleAudienceDisable(e){return c(this,null,function*(){this.room.bmStreamVm.getStreamModels().forEach(t=>{var r;t.isMixer||!t.isLocal&&t.stream&&((r=t.stream)!=null&&r.isSubscribed())&&t.hasPulled&&(t.hasPulled=!1,t.pulledStreamType="small",this.room.unsubscribe(t.stream).then(()=>{console.log("\u89C2\u4F17\u53D6\u6D88\u8BA2\u9605\u8FD9\u80A1\u6D41",t.userId,t.nickname,t.isDisplay,t.isCurrentDisplay)}))}),this.handleMixStream(!1,e)})}handleAudienceEnable(e){return c(this,null,function*(){this.handleMixStream(!0,e),this.room.bmStreamVm.getStreamModels().forEach(t=>{t.isMixer||j.addQueue(this.room.handleQueueTask.bind(this,t),t.streamId,0,t.nickname)})})}handleMixStream(e,t){return c(this,null,function*(){var i,o;let r=this.room.bmStreamVm.mixStreamUid;if(r){let a=this.room.bmStreamVm.streamModels.get(r);e?(i=a==null?void 0:a.stream)==null||i.muteAudio().then(()=>{d(`play:\u9759\u97F3\u6DF7\u6D41\u6210\u529F streamId:${r}`)}):this.room.ignoreMixer||(o=a==null?void 0:a.stream)==null||o.unmuteAudio().then(()=>{d(`play:\u53D6\u6D88\u9759\u97F3\u6DF7\u6D41\u6210\u529F streamId:${r}`)})}t==null||t(e)})}},ci=qt;var $=require("lodash-es");var zt=require("@hysc/utils");function ui(s){var r,i;let e=()=>s.fire(zt.BrtcEvents.BRTC_ROOM_ROCONNECTING),t=()=>s.fire(zt.BrtcEvents.BRTC_ROOM_RECONNECTED);(r=s.brtcClient.client)==null||r.signal.channel.on("reconnecting",e),(i=s.brtcClient.client)==null||i.signal.channel.on("reconnected",t)}var di=require("@hysc/core");var mi=require("rxjs");var ot=class{constructor(e,t){this.playMap=new WeakSet;this.playerMap=new Map;this.muted=!1;this.playStateChangeWatcher=new mi.Subject;var i;let r=document.getElementById(e);if(r)this.container=r;else throw new Error("no container found, play failed");this.room=t,this.deviceId=(i=t.selectAudioOutputDevice)==null?void 0:i.deviceId}addStream(e,t=!1){let r=this.room.localUser,i=r.audienceEnableSpeaking;if(r.isAudience)if(i){if(!(e.getUserId().toString()+"".includes("-mixer-"))){d("audienceEnableSpeaking is true, only play mixer stream","",e.getUserId()+"-",["streamId =>",e.getStreamId()]);return}}else{I("audienceEnableSpeaking is false, not play audio","",e.getUserId()+"-",["streamId =>",e.getStreamId()]);return}this.room.shouldPlayAudio&&this.room.autoPlayAudio&&e.isSubscribed()&&(t||!this.playMap.has(e))&&(d("add stream to player","",e.getUserId(),["streamId ",e.getStreamId()]),this.playMap.add(e),this.play(e))}removeStream(e){let t=e.getStreamId(),r=this.playerMap.get(t);r&&r.destroy(),d("remove audio player","","",["streamId =>",t]),this.playerMap.delete(t),this.playMap.delete(e)}removeStreamByUid(e){let t=new Map;this.playerMap.forEach(r=>{re(r.stream)||r.stream.getUserId()===e&&t.set(r.stream.getStreamId(),r)}),t.forEach((r,i)=>{r.off(),r.destroy(),this.playerMap.delete(i),this.playMap.delete(r.stream)}),t.clear()}play(e){return c(this,null,function*(){var t;if(e.hasAudio()&&this.container){let r=new di.AudioPlayer(this.container,{});this.addPlayerEvent(r),yield r.play(e);let i=ke(e.getUserId().toString());if(this.deviceId?yield r.setSinkId(this.deviceId):(I("audioPlayer play() this.deviceId is null ","",i,["streamId =>",e.getStreamId()]),te()&&(yield r.setSinkId("default"))),this.muted)r.setVolume(0);else{let o;if(re(e)?o=this.room.bmStreamVm.shareStreamModels.get(i):o=this.room.bmStreamVm.streamModels.get(i),o){let a=(t=o.bloudStream)==null?void 0:t.customInfo;a&&a.volume&&(r.audioLevel=a.volume,r.setVolume(a.volume))}}this.playerMap.set(e.getStreamId(),r)}})}mute(e){this.muted=e,e?this.playerMap.forEach(t=>t.setVolume(0)):this.playerMap.forEach(t=>{t.audioLevel>0?t.setVolume(t.audioLevel):t.setVolume(1)})}setVolume(e,t){let r=this.playerMap.get(e);if(r){if(r.audioLevel=t,this.muted)return;r.setVolume(t)}else p("\u8BBE\u7F6E\u4E86\u6D41\u7684\u97F3\u91CF\uFF0C\u4F46\u662F\u6CA1\u6709\u627E\u5230\u5BF9\u5E94\u7684\u64AD\u653E\u5668",e)}setDevice(e,t=!1){return c(this,null,function*(){d("setDevice:","","",[e]),e&&(this.deviceId=e,this.playerMap.forEach(r=>r.setSinkId(e)))})}addPlayerEvent(e){e.on("player-state-changed",t=>{e.stream&&(d("audio player state change","","",[JSON.stringify(t)]),t.type==="error"&&t.reason&&t.reason.name==="NotAllowedError"&&this.playStateChangeWatcher.next(e),t.state==="PAUSED"&&e.resume())})}clear(){d("audio play clear"),this.playerMap.forEach(e=>e.destroy()),this.playerMap.clear(),this.playMap=new WeakSet}destroy(){d("audio play destroy"),this.playerMap.forEach(e=>e.destroy()),this.playerMap.clear(),this.playMap=new WeakSet}};var wt=1,Ji={audio:!0,video:!0,streamType:"small",videoEnable:!0,audioEnable:!0},tt=!0,De=class{constructor({initDevices:e,ignoreMixer:t}={initDevices:!0,ignoreMixer:!1}){this.roomVM=null;this.videoDevices=[];this.audioDevices=[];this.audioOutputDevices=[];this.selectVideoDevice=null;this.selectAudioDevice=null;this.selectAudioOutputDevice=null;this.streamQueue=new st(this);this.userListColumns=1;this.sortType=1;this.BRTCConnectFailed=!1;this.pubFailedNum=0;this.streamConnectedErrorQueue=[];this.conferenceMode=1;this.isBig=!1;this.selectVideoDeviceWatcher=new L.BehaviorSubject(this.selectVideoDevice);this.selectAudioDeviceWatcher=new L.BehaviorSubject(this.selectAudioDevice);this.selectAudioOutputDeviceWatcher=new L.BehaviorSubject(this.selectAudioOutputDevice);this.audioDevicesWatcher=new L.Subject;this.videoDevicesWatcher=new L.Subject;this.audioOutputDevicesWatcher=new L.Subject;this.raiseHandleRespWatcher=new L.Subject;this.enableAudienceSpeakingWatcher=new L.Subject;this.deviceChangeWatcher=new L.Subject;this.shareFileWatcher=new L.BehaviorSubject(null);this.mediaPermission={microphone:!0,camera:!0,screen:!0};this.videoProfile="360p";this.audioProfile=null;this.voiceMode="";this.videoEncodeConfig=null;this.streamWSReconnectWatcher=new L.Subject;this.bloudWSReconnectWatcher=new L.Subject;this.netConnecting=!0;this.netConnectingWatcher=new L.Subject;this.hasSyncPermission=!0;this.meetingControlOptions={cancelAutoPull:!1};this.forceId="";this.networkState={bloud:!0,brtc:!0};this.brtcNetEnableWatcher=new L.Subject;this.autoPlayAudio=!0;this.pubFailedTimer=null;this.messageWatcher=new L.BehaviorSubject({type:"init",status:!1,isNotCancelRootReport:!1});this.isInWaitRoom=!1;this.shouldPlayAudio=!0;this.deviceChanging=!1;this.ignoreMixer=!1;this.handleReprocessStreamError=()=>{this.netConnecting&&this.networkState.brtc&&this.networkState.bloud&&this.streamConnectedErrorQueue.length&&(d("brtc \u7F51\u7EDC\u6062\u590D\u6B63\u5E38\uFF0C\u5904\u7406\u91CD\u63A8\u903B\u8F91","","",this.streamConnectedErrorQueue),this.streamConnectedErrorQueue.forEach(e=>{this.handleStreamConnectError(e)}),this.streamConnectedErrorQueue=[])};this.handleMediaDevicesChange=e=>c(this,null,function*(){d("media devices change"),this.deviceChanging=!0,(0,$.delay)(()=>{this.deviceChanging=!1},1200);let{changed:t,selectAudioDevice:r,selectAudioOutputDevice:i,selectVideoDevice:o}=yield this.initDevices(!0),a=r,n=i;t&&(this.deviceChangeWatcher.next(!0),a=this.selectAudioDevice,n=this.selectAudioOutputDevice),o&&(yield this.bmStreamVm.changeVideoInput(o)),yield this.bmStreamVm.changeAudioInput(a),yield this.bmStreamVm.changeSpeaker(n).catch(l=>{})});this.enumVideoDevices=()=>(0,_.enumVideoDevices)().then(e=>{if(!te())return e;let t=[];return e.forEach((r,i)=>{r.name.includes("front")||r.name.includes("\u524D\u7F6E")?r.name=`\u524D\u7F6E${i.toString().padStart(2,"0")}`:(r.name.includes("back")||r.name.includes("\u540E\u7F6E"))&&(r.name=`\u540E\u7F6E${i.toString().padStart(2,"0")}`),t.push(r)}),t});this.enumAudioInputDevices=()=>(0,_.enumAudioInputDevices)().then(e=>{let t=e,r=e.find(i=>i.default);if(r){let i=Object.assign({},r);i.name=`\u7CFB\u7EDF\u9ED8\u8BA4\uFF08${r==null?void 0:r.name}\uFF09`,t.unshift(i)}return t});this.enumAudioOutputDevices=()=>(0,_.enumAudioOutputDevices)().then(e=>{let t=e,r=e.find(i=>i.default);if(r){let i=Object.assign({},r);i.name=`\u7CFB\u7EDF\u9ED8\u8BA4\uFF08${r==null?void 0:r.name}\uFF09`,t.unshift(i)}return t});this.getPermissions=_.getPermissions;this.checkSystemSupport=_.checkSystemSupport;this.createStream=_.createStream;this.participantNotice=!1;this.handleQueueTask=(e,t=!1)=>c(this,null,function*(){if(!this.BRTCConnectFailed&&!(!e.isLocal&&this.meetingControlOptions.cancelAutoPull&&!e.shouldPull)){if(!this.streamModelExits(e)){I(`streamModel is not exits, userId: ${e.userId}, isShare: ${e.isShare}, ignore`);return}yield this.handleStreamTask(e,t)}});this.republishLocalStream=(0,$.debounce)(e=>c(this,null,function*(){let t=e.getAudioOn()||this.localUser.audioEnable||!1,r=e.getVideoOn()||this.localUser.videoEnable||!1;d("republish local stream ","","",[t,r]),yield this.publish(e).then(()=>c(this,null,function*(){this.bmStreamVm.bloudStream=null,yield this.bmStreamVm.publishBloudStream(t,r),d("local stream connect error, and republish success, bloud stream republish success","","",["audio =>",t," video => ",r]),this.bmStreamVm.localStreamConnectErrorWatcher.next((0,B.BMStreamReconnectSuccess)(t,r))})).catch(()=>{d("local stream connect error, and republish failed","","",["audio =>",t," video => ",r]),this.bmStreamVm.localStreamConnectErrorWatcher.next((0,B.BMStreamReconnectFailed)())})}),1e3);this.processUser=(e,t=0)=>c(this,null,function*(){let r="";if(e.isScreen){let i=this.bmStreamVm.getShareStreamModelByUId(e.id);(!i||!i.stream&&!i.isLocal)&&(e.isWeb?r=`${e.id}_screen`:r=e.id)}else{let i=this.bmStreamVm.streamModels.get(e.id);i&&!i.stream&&!i.isLocal&&(r=e.id)}if(r){d("brtc query streams","","",["queryId => ",r]);try{let i=yield this.queryBrtcStreams([r]);if(i&&i.length){let o=i.map(a=>[a.getUserId(),a.getStreamId()]);d("brtc query streams result ","","",["streamInfo =>",JSON.stringify(o)]),i&&this.handleAddStreams(i)}else t<10?(t+=1,yield q(1e3),this.processUser(e,t)):I(`query stream error: uId:${e}`)}catch(i){p("query stream error","","",[JSON.stringify(i),t]),t<10&&(t+=1,yield q(1e3),this.processUser(e,t))}}});at.Logger.setLogLevel(at.LOGLEVEL.INFO),d(`
|
|
2
2
|
******************************************************************************
|
|
3
3
|
* \u6B22\u8FCE\u4F7F\u7528 BoomCore(${Qt.version})
|
|
4
4
|
******************************************************************************
|
|
5
|
-
`),at.Logger.info("this is formatted by hysc/logger module");let r=E.getInstance();this.ignoreMixer=t,this.localUser=new ue({},!0),this.roomInfo=new it(this),this.bmLiveVM=new ci(this),this.bmStreamVm=new rt().initWithRoom(this),this.boomCore=new _.default({}),r.on(Se,i=>{this.handleSubMessage(i)}),r.on(le,i=>{this.handleStreamConnectError(i)}),r.on(Be,i=>{this.addUser2Queue(i)}),r.on(ye,i=>{this.manualSubscribeStreamModel(i.stream)}),r.on(Ee,i=>{this.handleUnsubscribe(i.stream)}),r.on(Ie,i=>{this.handleStreamBindElement(i.stream)}),r.on(Ce,i=>{this.handleStreamBindBigElement(i.stream)}),r.on(Ae,i=>{var o;(o=this.audioPlayer)==null||o.setVolume(i.streamId,i.volume)}),r.on(mt,i=>{var o;(o=this.shareFileWatcher)==null||o.next({fileId:i.fileId,streamId:i.streamId})}),r.on(Re,i=>{let o=i.stream.stream;o&&!o.isLocalStream()&&(this.audioPlayer.playMap.has(o)||this.audioPlayer.addStream(o))}),window.addEventListener("offline",()=>{this.netConnecting=!1,this.netConnectingWatcher.next(!1)}),window.addEventListener("online",()=>{var i,o;this.netConnecting=!0,this.netConnectingWatcher.next(!0),Ze.forEach(a=>{a()}),Ze.clear(),this.boomCore.client.reconnect(),(o=(i=this.boomCore.brtcClient)==null?void 0:i.client)==null||o.signal.channel.transport.reconnect(),this.handleReprocessStreamError()}),window.navigator.mediaDevices&&e&&(window.navigator.mediaDevices.addEventListener("devicechange",(0,$.debounce)(this.handleMediaDevicesChange,100)),this.initDevices()),this.brtcNetEnableWatcher.subscribe(i=>{i&&this.handleReprocessStreamError()}),this.bloudWSReconnectWatcher.subscribe(i=>{i&&this.handleReprocessStreamError()})}setVoiceMode(e){this.voiceMode=e}get isSingleColumns(){return this.userListColumns===1}get localIsAudience(){var e;return(e=this.getLocalParticipant())==null?void 0:e.isAudience}get shouldIgnoreStream(){return this.conferenceMode===2&&this.isBig&&this.localIsAudience&&!this.localUser.audioEnable}get isWorkShop(){return this.conferenceMode===2}setAutoPlayAudio(e){this.autoPlayAudio=e,tt=e}setMediaPermission(e){this.mediaPermission=w(w({},this.mediaPermission),e),d("current media permission is ","","",[JSON.stringify(this.mediaPermission)])}setShouldPlayAudio(e){this.shouldPlayAudio=e}initAudioPlayer(e){d("init audio player"),this.audioPlayer=new ot(e,this)}setupMeetingControlOptions(e){e&&(this.meetingControlOptions=w(w({},this.meetingControlOptions),e))}handleSubMessage(e){j.addQueue(this.handleQueueTask.bind(this,e.stream),`${e.stream.streamId} - \u8BA2\u9605\u6D41 - display ${e.stream.isDisplay} - currentDisplay - ${e.stream.isCurrentDisplay}`,0,e.stream.nickname)}configSM(e){e&&this.boomCore.configSM(e)}setVideoProfile(e){e&&(d(`set video profile ${e} `),this.videoProfile=e)}setCustomVideoEncodeConfig(e){this.videoEncodeConfig=e}setUserListColumns(e){let t=(0,$.toNumber)(e);if((0,$.isNumber)(t))this.userListColumns=t;else throw new Error("\u53C2\u6570\u5FC5\u987B\u662F\u6570\u5B57")}setSortType(e){let t=(0,$.toNumber)(e);if(t>2||t<1)throw new Error("\u6392\u5E8F\u6620\u5C04\u53EA\u80FD\u4E3A 2 \u6216\u8005 1");this.sortType=t,wt=this.sortType}setAudioProfile(e){this.audioProfile=e}setSig(e){this.boomCore.setShareSig(e)}benchmark(){let e=Date.now();return function(){return Date.now()-e}}initDevices(e=!1){return c(this,null,function*(){var f;let t=this.benchmark(),r=!1,i=yield this.enumVideoDevices();d("videoDevices:"+JSON.stringify(i)),this.videoDevices.length!==i.length&&(r=!0);let o=i.filter(S=>{var b;return S.name==((b=this.selectVideoDevice)==null?void 0:b.name)})[0];this.videoDevices=i,this.videoDevicesWatcher.next(i);let a=o||this.filterDevice(this.videoDevices),n=(a==null?void 0:a.deviceId)!=((f=this.selectVideoDevice)==null?void 0:f.deviceId);a&&this.setSelectVideoDevice(a);let l=yield this.enumAudioInputDevices();this.audioDevices.length!==l.length&&(r=!0);let u=this.selectAudioDevice;if(!u||u.name.startsWith("\u7CFB\u7EDF\u9ED8\u8BA4\uFF08")){let S=this.filterDevice(l,!0);S&&(u=S)}else if(!u.name.startsWith("\u7CFB\u7EDF\u9ED8\u8BA4\uFF08")){let S=l.slice().reverse().find(b=>b.deviceId==u.deviceId);S?u=S:u=this.filterDevice(l)}this.audioDevices=l.filter(S=>S.deviceId!=="default"&&S.deviceId!=="communications"),this.audioDevicesWatcher.next(l),u||(u=this.filterDevice(l),this.audioDevices=l),u&&this.setSelectAudioDevice(u);let m=yield this.enumAudioOutputDevices();this.audioOutputDevices.length!==m.length&&(r=!0);let h=this.selectAudioOutputDevice;if(!h||h.name.startsWith("\u7CFB\u7EDF\u9ED8\u8BA4\uFF08")){let S=this.filterDevice(m,!0);S&&(h=S)}else if(!h.name.startsWith("\u7CFB\u7EDF\u9ED8\u8BA4\uFF08")){let S=m.slice().reverse().find(b=>b.deviceId==h.deviceId);S?h=S:h=this.filterDevice(m)}return this.audioOutputDevices=m.filter(S=>S.deviceId!=="default"&&S.deviceId!=="communications"),this.audioOutputDevicesWatcher.next(m),h||(h=this.filterDevice(m),this.audioOutputDevices=m),h!=this.selectAudioOutputDevice&&this.setSelectSpeakerDevice(h),d(`initDevices\u8017\u65F6 : ${t()}`),{videoDevices:this.videoDevices,audioDevices:this.audioDevices,audioOutputDevices:this.audioOutputDevices,selectVideoDevice:n?a:null,selectAudioDevice:u,selectAudioOutputDevice:h,changed:r}})}filterDevice(e,t=!1){if(t)return e.filter(o=>o.default)[0];let r=e.filter(i=>i.default)[0];return r||e[0]}setSelectAudioDevice(e){var t;(((t=this.selectAudioDevice)==null?void 0:t.deviceId)!==e.deviceId||this.selectAudioDevice.default!==e.default||this.selectAudioDevice.name!==e.name)&&(d("setSelectAudioDevice","","",["deviceId =>",e.deviceId,"name =>",e.name]),this.selectAudioDevice=e,this.selectAudioDeviceWatcher.next(e))}setSelectVideoDevice(e){var t;(((t=this.selectVideoDevice)==null?void 0:t.deviceId)!==e.deviceId||this.selectVideoDevice.default!==e.default)&&(d("setSelectVideoDevice","","",["deviceId =>",e==null?void 0:e.deviceId,"name =>",e==null?void 0:e.name]),this.selectVideoDevice=e,this.selectVideoDeviceWatcher.next(e))}setSelectSpeakerDevice(e){var t,r,i;(((t=this.selectAudioOutputDevice)==null?void 0:t.deviceId)!==e.deviceId||this.selectAudioOutputDevice.default!==e.default||((r=this.selectAudioOutputDevice)==null?void 0:r.name)!=e.name)&&((i=this.audioPlayer)==null||i.setDevice(e.deviceId),d("setSelectSpeakerDevice","","",["deviceId =>",e.deviceId,"name =>",e==null?void 0:e.name]),this.selectAudioOutputDevice=e,this.selectAudioOutputDeviceWatcher.next(e))}observe(e,t){var r;return!this.observes||!this.observes[e]?null:(r=this.observes[e])==null?void 0:r.subscribe(t)}join(e){return c(this,null,function*(){let t=e.brtc_host;t&&this.setCustomUrl(t),e.ignoreMixer&&(this.ignoreMixer=e.ignoreMixer);try{if(this.boomCore.client)return p("\u91CD\u590D join\uFF0C\u8BF7\u5148\u8C03\u7528 destroy"),Promise.reject(B.RepeatJoinError);this.conferenceMode=e.roomType,this.isBig=e.is_big,d("========================","join info",e.userId,["roomId: ",e.room," roomType: ",e.roomType," roomName: ",e.name]),this.localUser.setup(e.userId,e.userinfo,e.nickname,e.customInfo),this.bmStreamVm.createStreamModel(this.localUser),this.userVM=new Ye(this.boomCore,this.localUser,this),this.isBig&&(this.userVM.commTimer=1e3),this.roomInfo.originJoinRoomParams=w({},e),this.roomVM=new Ke(this.boomCore,this.userVM,this.roomInfo),this.roomVM.initWithRoom(this),this.chatVM=new et(this.boomCore,this.userVM,this),this._attachEvents(),yield this.boomCore.join(e).catch(r=>Promise.reject(r)),this.roomInfo.setup(this.boomCore.getRoomInfo());for(let r in this.observes)this.observe(r,()=>{});this.bmStreamVm.startSpeakerDetector(),this.roomInfo.setlock(this.boomCore.client.lock),ui(this.boomCore)}catch(r){return p("join room error","","",[JSON.stringify(r)]),Promise.reject(r)}})}leave(){return c(this,null,function*(){var e,t,r;try{this.bmStreamVm.brtcStream&&((e=this.bmStreamVm.brtcStream)!=null&&e.published)&&(yield this.unpublish(this.bmStreamVm.brtcStream).catch(o=>{p("leave brtc unpublish fail:"+o.message,"unpublish")})),this.pubFailedTimer&&clearTimeout(this.pubFailedTimer),this.pubFailedNum=0,E.removeEmitter(),tt=!0,(t=this.audioPlayer)==null||t.destroy(),this.bmStreamVm.clearCache(),this.bmStreamVm.canvasTimer&&clearTimeout(this.bmStreamVm.canvasTimer);let i=yield this.boomCore.leave().catch(()=>{p("bloud\u79BB\u4F1A\u5931\u8D25")});for(let o in this.observes)(r=this.observes[o])==null||r.unsubscribe();return this.observes={},i}catch(i){return p("leave room error","","",[JSON.stringify(i)]),Promise.reject((0,B.BmLeaveError)(JSON.stringify(i)))}})}releaseRoom(){return c(this,null,function*(){yield this.boomCore.releaseRoom()})}startRecord(e){return c(this,null,function*(){return yield this.bmStreamVm.startRecord(e)})}stopRecord(){return c(this,null,function*(){return yield this.bmStreamVm.stopRecord()})}sliceRecord(e,t,r){return c(this,null,function*(){return yield this.bmStreamVm.sliceRecord(e,t,r)})}close(){this.bmStreamVm.clearCache(),this.boomCore.close()}setRemoteVideoEnable(e,t){return c(this,null,function*(){yield this.roomVM.setRemoteVideoEnable(e,t).catch(r=>Promise.reject(r))})}setRemoteAudioEnable(e,t,r){return c(this,null,function*(){yield this.roomVM.setRemoteAudioEnable(e,t,r).catch(i=>Promise.reject(i))})}setLocalVideoEnable(e,t){return c(this,null,function*(){yield this.bmStreamVm.setLocalVideoEnable(e,t).catch(r=>Promise.reject(r))})}setLocalAudioEnable(e,t=!1){return c(this,null,function*(){return yield this.bmStreamVm.setLocalAudioEnable(e,t).catch(r=>Promise.reject(r))})}setLocalSpeakerEnable(e){return c(this,null,function*(){yield this.bmStreamVm.muteSpeaker(e).catch(t=>Promise.reject(t))})}_attachEvents(){this.observes=Xr(this.boomCore,this.userVM,this.bmStreamVm,this.chatVM,this)}createSingleLocalStream(){return c(this,arguments,function*(e={video:!0,audio:!0},t){var o,a;let r={video:e.video,audio:e.audio,cameraId:(o=this.selectVideoDevice)==null?void 0:o.deviceId,microphoneId:(a=this.selectAudioDevice)==null?void 0:a.deviceId,sourceType:"camera"};e.videoSource&&(r.videoSource=e.videoSource),e.audioSource&&(r.audioSource=e.audioSource),r.echoCancellation=!0,r.noiseSuppression=!0,r.autoGainControl=!0,this.voiceMode&&(r.audioHint=this.voiceMode,r.noiseSuppression=!1);let i=yield this.boomCore.createLocalStream(r,t).catch(n=>(p("create brtc stream error","publish","",[JSON.stringify(n),n==null?void 0:n.message]),Promise.reject((0,B.getStreamError)(e.video?"\u6444\u50CF\u5934":"\u9EA6\u514B\u98CE"))));return e.video&&(this.videoEncodeConfig?i.setVideoEncoderConfiguration(this.videoEncodeConfig):this.videoProfile==="720p"?i.setVideoEncoderConfiguration({width:1280,height:720,bitrate:1500,frameRate:25}):i.setVideoProfile(this.videoProfile)),yield this.handleStreamInit(e,i),i})}createPBSingleLocalStream(){return c(this,arguments,function*(e={video:!0,audio:!0},t){var o,a;let r={video:e.video,audio:e.audio,cameraId:(o=this.selectVideoDevice)==null?void 0:o.deviceId,microphoneId:(a=this.selectAudioDevice)==null?void 0:a.deviceId,sourceType:"camera"};r.echoCancellation=!0,r.noiseSuppression=!0,r.autoGainControl=!0,this.voiceMode&&(r.audioHint=this.voiceMode,r.noiseSuppression=!1);let i=yield this.boomCore.createPBLocalStream(r,t).catch(n=>Promise.reject(n));return this.videoProfile==="720p"?i.setVideoEncoderConfiguration({width:1280,height:720,bitrate:1500,frameRate:25}):i.setVideoProfile(this.videoProfile),yield this.handleStreamInit(e,i),i})}handleStreamInit(){return c(this,arguments,function*(e={video:!0,audio:!0},t){try{yield t.init()}catch(r){if(p("brtc init stream failed","publish","",[r==null?void 0:r.message]),String(r).includes("Permission denied")){if(e.video)return Promise.reject((0,B.BMCameraNotAuthError)());if(e.audio)return Promise.reject((0,B.BMMicNotAuthError)())}else{if(String(r).includes("Could not start video source"))return Promise.reject((0,B.BMCameraOccupyError)());if(String(r).includes("Could not start audio source"))return Promise.reject((0,B.BMMicOccupyError)())}let i=e.video?"\u6444\u50CF\u5934":"\u9EA6\u514B\u98CE";return Promise.reject((0,B.BMCreateStreamError)(i,r==null?void 0:r.message))}})}subscribe(e,t){return c(this,null,function*(){return this.boomCore.subscribe(e,t)})}unsubscribe(e){return this.boomCore.unsubscribe(e).catch(t=>Promise.reject(t))}publish(e){return new Promise((t,r)=>{this.boomCore.publish(e).then(()=>{d("publish:brtc stream publish success"),this.pubFailedNum=0,t(!0)}).catch(i=>c(this,null,function*(){this.pubFailedNum<=3?(this.pubFailedNum+=1,this.pubFailedTimer&&clearTimeout(this.pubFailedTimer),this.pubFailedTimer=setTimeout(()=>{var o;return p(`publish:local publish stream failed, retry failed num: ${this.pubFailedNum}, msg: ${i.message}`,"publish",(o=this.localUser)==null?void 0:o.userId),this.publish(e).then(t).catch(r)},3e3)):(p("publish:retry publish local stream failed, ubpublish now"),yield this.bmStreamVm.unpublishStream(!0),r(!1))}))})}unpublish(e){return this.boomCore.unpublish(e).catch(t=>Promise.reject(t))}getUser(e){return this.userVM.getUser(e)}changeMaster(e,t=!1){return c(this,null,function*(){var r;return(r=this.roomVM)==null?void 0:r.changeMaster(e,t).catch(i=>i)})}updateManager(e,t,r=!0){return c(this,null,function*(){return this.roomVM.updateManager(e,t,r).catch(i=>i)})}getMaster(){return this.boomCore.getMaster()}getCreator(){return this.boomCore.getCreator()}getName(){return this.boomCore.getName()}evictUser(e,t){return c(this,null,function*(){var r;return(r=this.roomVM)==null?void 0:r.evictUser(e,t)})}updateUser(e,t){return c(this,null,function*(){var r;return(r=this.roomVM)==null?void 0:r.updateUser(e,t)})}getMsgSeq(){return this.boomCore.getMsgSeq()}getLimits(){return this.boomCore.getLimits()}getSwitch(){return this.boomCore.getSwitch()}syncRoom(){return this.boomCore.syncRoom()}update(e){return this.boomCore.update(e)}getUsers(){return this.userVM.userList}getTotalUsers(){return this.userVM.userList.size}sendMessage(e,t){return this.boomCore.sendMessage(e,t)}customMessage(e,t,r=!1){return this.boomCore.customMessage(e,t,r)}getMessages(e,t){return this.boomCore.getMessages(e,t)}getLocalParticipant(){var t;let e=(t=this.userVM)==null?void 0:t.getLocalUser();return e||(e=this.localUser),e}getAudioOff(){return this.boomCore.getAudioOff()}getSelfOpenAudio(){return this.boomCore.getSelfOpenAudio()}getVideoOff(){return this.boomCore.getVideoOff()}getMsgOff(){return this.boomCore.getMsgOff()}getLock(){return this.boomCore.getLock()}getRoomInfo(){return this.roomInfo}setAudioOff(e,t){return c(this,null,function*(){return yield this.boomCore.setAudioOff(e,t).catch(r=>Promise.reject((0,B.BmSetAudioOffError)(`boomCore.setAudioOff error ${JSON.stringify(r)}`)))})}updateRoom(e){return c(this,null,function*(){return this.boomCore.client.update(e)})}setVideoOff(e){return this.boomCore.setVideoOff(e).catch(t=>Promise.reject((0,B.BmSetVideoOffError)(`boomCore.setVideoOff error ${JSON.stringify(t)}`)))}setMsgOff(e){return this.boomCore.setMsgOff(e).catch(t=>Promise.reject((0,B.BmSetMsgOffError)(`boomCore.setMsgOff error ${JSON.stringify(t)}`)))}setSwitch(e){return this.boomCore.setSwitch(e)}setLock(e){return c(this,null,function*(){return yield this.boomCore.setLock(e),this.boomCore.getLock()})}sendChatMessage(e,t,r){if(!this.chatVM)throw new N(1002,"\u672A\u521D\u59CB\u5316chatVM, \u65E0\u6CD5\u53D1\u9001\u804A\u5929\u4FE1\u606F");return this.chatVM.sendMessage(e,t,r)}getChatMessage(){if(!this.chatVM)throw new N(1002,"\u672A\u521D\u59CB\u5316chatVM, \u65E0\u6CD5\u83B7\u53D6\u804A\u5929\u5BA4\u6D88\u606F");return this.chatVM.messageList}getHistoryMessage(){return c(this,null,function*(){return this.chatVM.getHistoryMessage()})}updateCustomStats(e,t){return d("updateCustomStats","","",[JSON.stringify(e)]),this.boomCore.updateCustomStats(Fe(w({},e),{pos:"web"}),t).catch(r=>Promise.reject((0,B.BmUpdateCustomStatsError)(`.boomCore.updateCustomStats ${JSON.stringify(r)}`)))}getCustomStats(){return this.boomCore.getCustomStats()}getDuration(){return this.boomCore.getDuration()}checkUserHasMaster(e){return this.userVM.checkUserHasMaster(e)}changeNickName(e,t){return c(this,null,function*(){var r;return(r=this.roomVM)==null?void 0:r.changeNickName(e,t)})}streamModelExits(e){let t=e.userId;return e.isShare?this.bmStreamVm.shareStreamModels.has(t):this.bmStreamVm.streamModels.has(t)}handleStreamTask(e,t=!1){return c(this,null,function*(){if(!this.streamModelExits(e)){I(`streamModel is not exits, userId: ${e.userId}, isShare: ${e.isShare}, ignore`);return}e.stream?this.conferenceMode===1?(yield this.handlePull(e),yield this.handleChangeStreamType(e)):(yield this.bmLiveVM.handlePull(e),yield this.bmLiveVM.handleChangeStreamType(e)):((e.isDisplay||e.isInBig)&&e.bloudStream||e.audioEnable)&&(yield this.addUser2Queue({id:e.userId,isScreen:e.isShare,isWeb:e.isWeb}))})}handlePull(e){return c(this,null,function*(){var t;e.isLocal||(e.isMixer&&(yield this.handleSubscribeSteam(e)),(e.isDisplay!==e.isCurrentDisplay||e.isInBig&&e.pulledStreamType!==e.pulledStreamGoal||!e.hasPulled)&&(e.isCurrentDisplay=e.isDisplay,e.checkCount=0,e.isDisplay||e.isInBig||!e.isDisplay&&(e.audioEnable||(t=e.stream)!=null&&t.getAudioOn())?yield this.handleSubscribeSteam(e):yield this.handleUnsubscribeStream(e)))})}manualSubscribeStreamModel(e){j.addQueue(this.handleStreamTask.bind(this,e),e.streamId,0,e.nickname)}handleUnsubscribe(e){j.addQueue(this.handleUnsubscribeStream.bind(this,e),e.streamId,0,e.nickname)}handleStreamBindElement(e){j.addQueue(this.handlePlaySmall.bind(this,e,!1,!1),`bindElement-${e.userId}-${e.nickname}`,0,e.nickname)}handleStreamBindBigElement(e){j.addQueue(this.handlePlayInBIg.bind(this,e),`bindElement-${e.userId}-${e.nickname}`,0,e.nickname)}handleUnsubscribeStream(e){return c(this,null,function*(){var t,r;e.stream&&((r=(t=e.stream)==null?void 0:t.isSubscribed)!=null&&r.call(t)||e.hasPulled)&&(e.hasPulled=!1,e.pulledStreamType="small",e.isInBig=!1,e.stop(),yield this.unsubscribe(e.stream).then(()=>{var i,o;e.stream&&((i=this.audioPlayer)==null||i.removeStream(e.stream)),e.isSubScribedWatcher.next(!1),d("\u53D6\u6D88\u8BA2\u9605\u6D41\u6210\u529F","",e.userId,[e.nickname,e.isDisplay,e.isCurrentDisplay,(o=e.stream)==null?void 0:o.getStreamId()])}).catch(()=>{p("unsubscribe error")}))})}handleSubscribeSteam(e){return c(this,null,function*(){var t,r;try{e.hasPulled&&e.stream.isSubscribed()?e.isDisplay?(t=e.stream)==null||t.unmuteVideo().then(()=>{d("stream unmute video success ","unmute-video",e.userId,["streamId => ",e.streamId])}):(r=e.stream)==null||r.muteVideo().then(()=>{d("stream mute video success ","mute-video",e.userId,["streamId => ",e.streamId])}):(d("\u5F00\u59CB\u8BA2\u9605","subscribe",e.userId,[e.streamId]),e.hasPulled=!0,yield this.subscribe(e.stream,Ji).then(()=>{var i,o;d("\u8BA2\u9605\u6D41\u7ED3\u675F","subscribe",e.userId,[" nickname =>",e.nickname,"streamId =>",e.streamId,"display =>",e.isDisplay]),e.isDisplay||(i=e.stream)==null||i.muteVideo(),e.stream&&e.audioEnable&&((o=this.audioPlayer)==null||o.addStream(e.stream,!0)),e.pullFailedNum=0,e.isSubScribedWatcher.next(!0),this.bmStreamVm.addToRecorder(e.stream),e.isDisplay&&e.videoEnable&&this.handlePlay(e,!0)}).catch(i=>{var o,a;if(p("\u8BA2\u9605\u6D41\u5931\u8D25","subscribe",e.userId,[" nickname =>",e.nickname,"streamId =>",e.streamId," error => ",JSON.stringify(i)]),e.hasPulled=!1,e.pulledStreamType="small",e.pullFailedNum+=1,(o=e.player)==null||o.destroy(),e.pullFailedNum<=3)this.handlePulledFailed(e);else{e.pullFailedNum=0;let n=e.isShare;try{(a=e.stream)==null||a.destroy()}catch(l){}e.updateStream(void 0,!1,this.bmStreamVm),d("subscribe stream failed, need to reQuery stream","",e.userId,["streamId =>",e.streamId,"hasStream => ",!!e.stream,"isWeb => ",e.isWeb,"isScreen => ",n,"bloudStreamState =>",JSON.stringify(e.bloudStream)]),e.bloudStream&&this.addUser2Queue({id:e.userId,isWeb:e.isWeb,isScreen:n})}}))}catch(i){e.hasPulled=!1,e.pulledStreamType="small",console.error("\u8BA2\u9605\u6D41\u5931\u8D25","",e.userId,e.nickname,"\u9519\u8BEF =>",i)}})}handleChangeStreamType(e){return c(this,null,function*(){var t,r;e.isLocal||e.pulledStreamType!==e.pulledStreamGoal&&((t=e.stream)!=null&&t.isSubscribed())&&((r=e.stream)!=null&&r.isSubscribed()||e.hasPulled)&&(e.pulledStreamType=e.pulledStreamGoal,yield this.boomCore.brtcClient.setRemoteVideoStreamType(e.stream,e.pulledStreamGoal).catch(i=>{p("\u5927\u5C0F\u6D41\u5207\u6362\u5931\u8D25","",e.userId,["error => ",JSON.stringify(i)])}),d("\u5927\u5C0F\u6D41\u5207\u6362\u7ED3\u675F","",e.userId,["nickname =>",e.nickname," isInBig => ",e.isInBig," pulledStreamGoal => ",e.pulledStreamGoal,"pulledStreamType => ",e.pulledStreamType]))})}handlePlay(e,t=!1){return c(this,null,function*(){this.streamModelExits(e)&&(e.stream&&e.isLocal&&!e.isShare||!e.isLocal&&e.stream.isSubscribed())&&(e.isDisplay&&e.playerId&&e.play(t),e.isInBig&&e.bigPlayerId&&e.playInBig(t))})}handlePlaySmall(e){this.streamModelExits(e)&&e.play()}handlePlayInBIg(e){this.streamModelExits(e)&&e.playInBig()}handlePulledFailed(e){let t=e.userId;(e.isShare?this.bmStreamVm.shareStreamModels.has(t):this.bmStreamVm.streamModels.has(t))&&j.addQueue(this.handleQueueTask.bind(this,e),e.streamId,0,e.nickname)}handleStreamConnectError(e){return c(this,null,function*(){var i,o;let{stream:t,isLocal:r}=e;t&&(d("handleStreamConnectError","","",["nickname =>",t.nickname,"streamId => ",t.streamId,"isShare =>",t.isShare,"isLocal => ",r]),t.stream&&(t.stop(),(i=this.audioPlayer)==null||i.removeStream(t.stream)),(o=t.player)==null||o.destroy(),r?t.stream&&(t.isShare?this.bmStreamVm.localShareError.next((0,B.BMShareStreamConnectError)()):this.bmStreamVm.localStreamConnectErrorWatcher.next((0,B.BMStreamConnectError)()),this.netConnecting&&this.networkState.brtc&&this.networkState.bloud?t.isShare?(d("Local share stream has problem, now ,republish"),bt(this,this.bmStreamVm)):(d("brtc \u7F51\u7EDC\u6B63\u5E38\uFF0C\u91CD\u65B0\u63A8\u6D41"),t.stream&&(yield this.republishLocalStream(t.stream))):(p("brtc \u7F51\u7EDC\u8FD8\u6CA1\u6062\u590D\uFF0C\u7B49\u6062\u590D\u4E86\u5728\u91CD\u65B0\u63A8\u6D41 ","",t.userId,["nickname =>",t.nickname,"streamId => ",t.streamId,"isShare =>",t.isShare]),this.streamConnectedErrorQueue.push(e))):this.netConnecting&&this.networkState.brtc?(t.hasPulled=!1,t.pulledStreamType="small",j.addQueue(this.handleQueueTask.bind(this,t),t.streamId,0,t.nickname)):(p("brtc \u7F51\u7EDC\u8FD8\u6CA1\u6062\u590D\uFF0C\u7B49\u6062\u590D\u4E86\u5728\u91CD\u65B0\u62C9\u6D41 ","",t.userId,["nickname =>",t.nickname]),this.streamConnectedErrorQueue.push(e)))})}toggleAudienceSpeaking(e,t){e.permission.setAudio(t);let r={};return e.raiseHand&&(e.raiseHand=!1,r.raiseHand=!1),e.raiseAudioHands&&(e.raiseAudioHands=!1,r.raiseHandsAudio=!1),this.updateUser(e.userId,w({permission:e.permission.get()},r))}updateUserIsGuest(e,t){return c(this,null,function*(){return e.permission.setSubscribe(t),this.updateUser(e.userId,{permission:e.permission.get()})})}managerChangeToGuest(e){this.userVM.managerChangeToGuest(e)}moveUserRoom(e,t=!1,r=!1){return this.boomCore.client.moveUserRoom(e,t,r)}getParticipantNotice(e){this.participantNotice=e}setCustomUrl(e){this.boomCore.setCustomUrl(e)}handleRePushSelf(){return c(this,null,function*(){var t,r;let e=(r=(t=this.getLocalParticipant())==null?void 0:t.getMainStreamModel())==null?void 0:r.stream;e&&(yield this.republishLocalStream(e))})}handleResetOtherStreamStatus(){d("brtc sync-room-completed"),this.audioPlayer.clear(),this.bmStreamVm.streamModels.forEach(e=>{var t;if(!e.isLocal){e.hasPulled=!1,e.pulledStreamType="small";try{(t=e.stream)==null||t.destroy()}catch(r){}e.updateStream(void 0,!1,this.bmStreamVm)}}),this.bmStreamVm.shareStreamModels.forEach(e=>{var t;if(!e.isLocal){e.hasPulled=!1,e.pulledStreamType="small";let r=e.getUser();try{(t=e.stream)==null||t.destroy()}catch(i){}r.removeStream(`${e.userId}${k}`)}}),this.bmStreamVm.shareStreamModels.clear(),this.bmStreamVm.shareStreamModelsWatcher.next(Array.from(this.bmStreamVm.shareStreamModels.values())),this.networkState.brtc=!0,setTimeout(()=>{this.brtcNetEnableWatcher.next(!0),this.streamWSReconnectWatcher.next(!0)},2e3),pe(this)}restartPullUsers(e){e.forEach((t,r)=>{this.addUser2Queue(t)})}addUser2Queue(e){return c(this,null,function*(){var t;if(this.streamQueue.addUser(e),e.force||e.isScreen)this.processUser(e);else{let r=this.bmStreamVm.streamModels.get(e.id);r&&!r.isLocal&&(r.stream||r&&((t=r.bloudStream)!=null&&t.audio||r.bloudStream&&r.isDisplay)&&this.processUser(e))}})}queryBrtcStreams(e){return c(this,null,function*(){return this.boomCore.brtcClient.queryUsers(e)})}handleAddStreams(e){if(this.isInWaitRoom){I("handleAddStreams isInWaitRoom true return");return}e.forEach(t=>{if(re(t)){let r=this.bmStreamVm.shareStreamModels.get(ke(t.getUserId().toString()));(!r||r&&!r.stream)&&(r!=null&&r.player&&r.player.destroy(),this.bmStreamVm.remoteStreamPublished(t))}else{let r=this.bmStreamVm.streamModels.get(t.getUserId().toString());r&&!r.stream&&(r!=null&&r.player&&r.player.destroy(),this.bmStreamVm.remoteStreamPublished(t))}})}getForceUser(e){return c(this,null,function*(){yield this.queryBloudUsers([e]),this.userVM.getForceUserWatcher.next(!0)})}queryBloudUsers(e,t=!1,r=!0){return c(this,null,function*(){let{users:i}=yield this.boomCore.queryUsers(e);return this.userVM.addBcUsersMap(i,r,t),i})}getVersion(){return Qt.version}};var nt=require("@hysc/utils"),Qi=De;window.BoomMeeting=De;window.BoomError=nt.BoomError;window.BOOMLogger=nt.Logger;0&&(module.exports={Logger});
|
|
5
|
+
`),at.Logger.info("this is formatted by hysc/logger module");let r=E.getInstance();this.ignoreMixer=t,this.localUser=new ue({},!0),this.roomInfo=new it(this),this.bmLiveVM=new ci(this),this.bmStreamVm=new rt().initWithRoom(this),this.boomCore=new _.default({}),r.on(Se,i=>{this.handleSubMessage(i)}),r.on(le,i=>{this.handleStreamConnectError(i)}),r.on(Be,i=>{this.addUser2Queue(i)}),r.on(ye,i=>{this.manualSubscribeStreamModel(i.stream)}),r.on(Ee,i=>{this.handleUnsubscribe(i.stream)}),r.on(Ie,i=>{this.handleStreamBindElement(i.stream)}),r.on(Ce,i=>{this.handleStreamBindBigElement(i.stream)}),r.on(Ae,i=>{var o;(o=this.audioPlayer)==null||o.setVolume(i.streamId,i.volume)}),r.on(mt,i=>{var o;(o=this.shareFileWatcher)==null||o.next({fileId:i.fileId,streamId:i.streamId})}),r.on(Re,i=>{let o=i.stream.stream;o&&!o.isLocalStream()&&(this.audioPlayer.playMap.has(o)||this.audioPlayer.addStream(o))}),window.addEventListener("offline",()=>{this.netConnecting=!1,this.netConnectingWatcher.next(!1)}),window.addEventListener("online",()=>{var i,o;this.netConnecting=!0,this.netConnectingWatcher.next(!0),Ze.forEach(a=>{a()}),Ze.clear(),this.boomCore.client.reconnect(),(o=(i=this.boomCore.brtcClient)==null?void 0:i.client)==null||o.signal.channel.transport.reconnect(),this.handleReprocessStreamError()}),window.navigator.mediaDevices&&e&&(window.navigator.mediaDevices.addEventListener("devicechange",(0,$.debounce)(this.handleMediaDevicesChange,100)),this.initDevices()),this.brtcNetEnableWatcher.subscribe(i=>{i&&this.handleReprocessStreamError()}),this.bloudWSReconnectWatcher.subscribe(i=>{i&&this.handleReprocessStreamError()})}setVoiceMode(e){this.voiceMode=e}get isSingleColumns(){return this.userListColumns===1}get localIsAudience(){var e;return(e=this.getLocalParticipant())==null?void 0:e.isAudience}get shouldIgnoreStream(){return this.conferenceMode===2&&this.isBig&&this.localIsAudience&&!this.localUser.audioEnable}get isWorkShop(){return this.conferenceMode===2}setAutoPlayAudio(e){this.autoPlayAudio=e,tt=e}setMediaPermission(e){this.mediaPermission=w(w({},this.mediaPermission),e),d("current media permission is ","","",[JSON.stringify(this.mediaPermission)])}setShouldPlayAudio(e){this.shouldPlayAudio=e}initAudioPlayer(e){d("init audio player"),this.audioPlayer=new ot(e,this)}setupMeetingControlOptions(e){e&&(this.meetingControlOptions=w(w({},this.meetingControlOptions),e))}handleSubMessage(e){j.addQueue(this.handleQueueTask.bind(this,e.stream),`${e.stream.streamId} - \u8BA2\u9605\u6D41 - display ${e.stream.isDisplay} - currentDisplay - ${e.stream.isCurrentDisplay}`,0,e.stream.nickname)}configSM(e){e&&this.boomCore.configSM(e)}setVideoProfile(e){e&&(d(`set video profile ${e} `),this.videoProfile=e)}setCustomVideoEncodeConfig(e){this.videoEncodeConfig=e}setUserListColumns(e){let t=(0,$.toNumber)(e);if((0,$.isNumber)(t))this.userListColumns=t;else throw new Error("\u53C2\u6570\u5FC5\u987B\u662F\u6570\u5B57")}setSortType(e){let t=(0,$.toNumber)(e);if(t>2||t<1)throw new Error("\u6392\u5E8F\u6620\u5C04\u53EA\u80FD\u4E3A 2 \u6216\u8005 1");this.sortType=t,wt=this.sortType}setAudioProfile(e){this.audioProfile=e}setSig(e){this.boomCore.setShareSig(e)}benchmark(){let e=Date.now();return function(){return Date.now()-e}}initDevices(e=!1){return c(this,null,function*(){var g;let t=this.benchmark(),r=!1,i=yield this.enumVideoDevices();d("videoDevices:"+JSON.stringify(i)),this.videoDevices.length!==i.length&&(r=!0);let o=i.filter(S=>{var b;return S.name==((b=this.selectVideoDevice)==null?void 0:b.name)})[0];this.videoDevices=i,this.videoDevicesWatcher.next(i);let a=o||this.filterDevice(this.videoDevices),n=(a==null?void 0:a.deviceId)!=((g=this.selectVideoDevice)==null?void 0:g.deviceId);a&&this.setSelectVideoDevice(a);let l=yield this.enumAudioInputDevices();this.audioDevices.length!==l.length&&(r=!0);let u=this.selectAudioDevice;if(!u||u.name.startsWith("\u7CFB\u7EDF\u9ED8\u8BA4\uFF08")){let S=this.filterDevice(l,!0);S&&(u=S)}else if(!u.name.startsWith("\u7CFB\u7EDF\u9ED8\u8BA4\uFF08")){let S=l.slice().reverse().find(b=>b.deviceId==u.deviceId);S?u=S:u=this.filterDevice(l)}this.audioDevices=l.filter(S=>S.deviceId!=="default"&&S.deviceId!=="communications"),this.audioDevicesWatcher.next(l),u||(u=this.filterDevice(l),this.audioDevices=l),u&&this.setSelectAudioDevice(u);let m=yield this.enumAudioOutputDevices();this.audioOutputDevices.length!==m.length&&(r=!0);let h=this.selectAudioOutputDevice;if(!h||h.name.startsWith("\u7CFB\u7EDF\u9ED8\u8BA4\uFF08")){let S=this.filterDevice(m,!0);S&&(h=S)}else if(!h.name.startsWith("\u7CFB\u7EDF\u9ED8\u8BA4\uFF08")){let S=m.slice().reverse().find(b=>b.deviceId==h.deviceId);S?h=S:h=this.filterDevice(m)}return this.audioOutputDevices=m.filter(S=>S.deviceId!=="default"&&S.deviceId!=="communications"),this.audioOutputDevicesWatcher.next(m),h||(h=this.filterDevice(m),this.audioOutputDevices=m),h!=this.selectAudioOutputDevice&&this.setSelectSpeakerDevice(h),d(`initDevices\u8017\u65F6 : ${t()}`),{videoDevices:this.videoDevices,audioDevices:this.audioDevices,audioOutputDevices:this.audioOutputDevices,selectVideoDevice:n?a:null,selectAudioDevice:u,selectAudioOutputDevice:h,changed:r}})}filterDevice(e,t=!1){if(t)return e.filter(o=>o.default)[0];let r=e.filter(i=>i.default)[0];return r||e[0]}setSelectAudioDevice(e){var t;(((t=this.selectAudioDevice)==null?void 0:t.deviceId)!==e.deviceId||this.selectAudioDevice.default!==e.default||this.selectAudioDevice.name!==e.name)&&(d("setSelectAudioDevice","","",["deviceId =>",e.deviceId,"name =>",e.name]),this.selectAudioDevice=e,this.selectAudioDeviceWatcher.next(e))}setSelectVideoDevice(e){var t;(((t=this.selectVideoDevice)==null?void 0:t.deviceId)!==e.deviceId||this.selectVideoDevice.default!==e.default)&&(d("setSelectVideoDevice","","",["deviceId =>",e==null?void 0:e.deviceId,"name =>",e==null?void 0:e.name]),this.selectVideoDevice=e,this.selectVideoDeviceWatcher.next(e))}setSelectSpeakerDevice(e){var t,r,i;(((t=this.selectAudioOutputDevice)==null?void 0:t.deviceId)!==e.deviceId||this.selectAudioOutputDevice.default!==e.default||((r=this.selectAudioOutputDevice)==null?void 0:r.name)!=e.name)&&((i=this.audioPlayer)==null||i.setDevice(e.deviceId),d("setSelectSpeakerDevice","","",["deviceId =>",e.deviceId,"name =>",e==null?void 0:e.name]),this.selectAudioOutputDevice=e,this.selectAudioOutputDeviceWatcher.next(e))}observe(e,t){var r;return!this.observes||!this.observes[e]?null:(r=this.observes[e])==null?void 0:r.subscribe(t)}join(e){return c(this,null,function*(){let t=e.brtc_host;t&&this.setCustomUrl(t),e.ignoreMixer&&(this.ignoreMixer=e.ignoreMixer);try{if(this.boomCore.client)return p("\u91CD\u590D join\uFF0C\u8BF7\u5148\u8C03\u7528 destroy"),Promise.reject(B.RepeatJoinError);this.conferenceMode=e.roomType,this.isBig=e.is_big,d("========================","join info",e.userId,["roomId: ",e.room," roomType: ",e.roomType," roomName: ",e.name]),this.localUser.setup(e.userId,e.userinfo,e.nickname,e.customInfo),this.bmStreamVm.createStreamModel(this.localUser),this.userVM=new Ye(this.boomCore,this.localUser,this),this.isBig&&(this.userVM.commTimer=1e3),this.roomInfo.originJoinRoomParams=w({},e),this.roomVM=new Ke(this.boomCore,this.userVM,this.roomInfo),this.roomVM.initWithRoom(this),this.chatVM=new et(this.boomCore,this.userVM,this),this._attachEvents(),yield this.boomCore.join(e).catch(r=>Promise.reject(r)),this.roomInfo.setup(this.boomCore.getRoomInfo());for(let r in this.observes)this.observe(r,()=>{});this.bmStreamVm.startSpeakerDetector(),this.roomInfo.setlock(this.boomCore.client.lock),ui(this.boomCore)}catch(r){return p("join room error","","",[JSON.stringify(r)]),Promise.reject(r)}})}leave(){return c(this,null,function*(){var e,t,r;try{this.bmStreamVm.brtcStream&&((e=this.bmStreamVm.brtcStream)!=null&&e.published)&&(yield this.unpublish(this.bmStreamVm.brtcStream).catch(o=>{p("leave brtc unpublish fail:"+o.message,"unpublish")})),this.pubFailedTimer&&clearTimeout(this.pubFailedTimer),this.pubFailedNum=0,E.removeEmitter(),tt=!0,(t=this.audioPlayer)==null||t.destroy(),this.bmStreamVm.clearCache(),this.bmStreamVm.canvasTimer&&clearTimeout(this.bmStreamVm.canvasTimer);let i=yield this.boomCore.leave().catch(()=>{p("bloud\u79BB\u4F1A\u5931\u8D25")});for(let o in this.observes)(r=this.observes[o])==null||r.unsubscribe();return this.observes={},i}catch(i){return p("leave room error","","",[JSON.stringify(i)]),Promise.reject((0,B.BmLeaveError)(JSON.stringify(i)))}})}releaseRoom(){return c(this,null,function*(){yield this.boomCore.releaseRoom()})}startRecord(e){return c(this,null,function*(){return yield this.bmStreamVm.startRecord(e)})}stopRecord(){return c(this,null,function*(){return yield this.bmStreamVm.stopRecord()})}sliceRecord(e,t,r){return c(this,null,function*(){return yield this.bmStreamVm.sliceRecord(e,t,r)})}close(){this.bmStreamVm.clearCache(),this.boomCore.close()}setRemoteVideoEnable(e,t){return c(this,null,function*(){yield this.roomVM.setRemoteVideoEnable(e,t).catch(r=>Promise.reject(r))})}setRemoteAudioEnable(e,t,r){return c(this,null,function*(){yield this.roomVM.setRemoteAudioEnable(e,t,r).catch(i=>Promise.reject(i))})}setLocalVideoEnable(e,t){return c(this,null,function*(){yield this.bmStreamVm.setLocalVideoEnable(e,t).catch(r=>Promise.reject(r))})}setLocalAudioEnable(e,t=!1){return c(this,null,function*(){return yield this.bmStreamVm.setLocalAudioEnable(e,t).catch(r=>Promise.reject(r))})}setLocalSpeakerEnable(e){return c(this,null,function*(){yield this.bmStreamVm.muteSpeaker(e).catch(t=>Promise.reject(t))})}_attachEvents(){this.observes=Xr(this.boomCore,this.userVM,this.bmStreamVm,this.chatVM,this)}createSingleLocalStream(){return c(this,arguments,function*(e={video:!0,audio:!0},t){var o,a;let r={video:e.video,audio:e.audio,cameraId:(o=this.selectVideoDevice)==null?void 0:o.deviceId,microphoneId:(a=this.selectAudioDevice)==null?void 0:a.deviceId,sourceType:"camera"};e.videoSource&&(r.videoSource=e.videoSource),e.audioSource&&(r.audioSource=e.audioSource),r.echoCancellation=!0,r.noiseSuppression=!0,r.autoGainControl=!0,this.voiceMode&&(r.audioHint=this.voiceMode,r.noiseSuppression=!1);let i=yield this.boomCore.createLocalStream(r,t).catch(n=>(p("create brtc stream error","publish","",[JSON.stringify(n),n==null?void 0:n.message]),Promise.reject((0,B.getStreamError)(e.video?"\u6444\u50CF\u5934":"\u9EA6\u514B\u98CE"))));return e.video&&(this.videoEncodeConfig?i.setVideoEncoderConfiguration(this.videoEncodeConfig):this.videoProfile==="720p"?i.setVideoEncoderConfiguration({width:1280,height:720,bitrate:1500,frameRate:25}):i.setVideoProfile(this.videoProfile)),yield this.handleStreamInit(e,i),i})}createPBSingleLocalStream(){return c(this,arguments,function*(e={video:!0,audio:!0},t){var o,a;let r={video:e.video,audio:e.audio,cameraId:(o=this.selectVideoDevice)==null?void 0:o.deviceId,microphoneId:(a=this.selectAudioDevice)==null?void 0:a.deviceId,sourceType:"camera"};r.echoCancellation=!0,r.noiseSuppression=!0,r.autoGainControl=!0,this.voiceMode&&(r.audioHint=this.voiceMode,r.noiseSuppression=!1);let i=yield this.boomCore.createPBLocalStream(r,t).catch(n=>Promise.reject(n));return this.videoProfile==="720p"?i.setVideoEncoderConfiguration({width:1280,height:720,bitrate:1500,frameRate:25}):i.setVideoProfile(this.videoProfile),yield this.handleStreamInit(e,i),i})}handleStreamInit(){return c(this,arguments,function*(e={video:!0,audio:!0},t){try{yield t.init()}catch(r){if(p("brtc init stream failed","publish","",[r==null?void 0:r.message]),String(r).includes("Permission denied")){if(e.video)return Promise.reject((0,B.BMCameraNotAuthError)());if(e.audio)return Promise.reject((0,B.BMMicNotAuthError)())}else{if(String(r).includes("Could not start video source"))return Promise.reject((0,B.BMCameraOccupyError)());if(String(r).includes("Could not start audio source"))return Promise.reject((0,B.BMMicOccupyError)())}let i=e.video?"\u6444\u50CF\u5934":"\u9EA6\u514B\u98CE";return Promise.reject((0,B.BMCreateStreamError)(i,r==null?void 0:r.message))}})}subscribe(e,t){return c(this,null,function*(){return this.boomCore.subscribe(e,t)})}unsubscribe(e){return this.boomCore.unsubscribe(e).catch(t=>Promise.reject(t))}publish(e){return new Promise((t,r)=>{this.boomCore.publish(e).then(()=>{d("publish:brtc stream publish success"),this.pubFailedNum=0,t(!0)}).catch(i=>c(this,null,function*(){this.pubFailedNum<=3?(this.pubFailedNum+=1,this.pubFailedTimer&&clearTimeout(this.pubFailedTimer),this.pubFailedTimer=setTimeout(()=>{var o;return p(`publish:local publish stream failed, retry failed num: ${this.pubFailedNum}, msg: ${i.message}`,"publish",(o=this.localUser)==null?void 0:o.userId),this.publish(e).then(t).catch(r)},3e3)):(p("publish:retry publish local stream failed, ubpublish now"),yield this.bmStreamVm.unpublishStream(!0),r(!1))}))})}unpublish(e){return this.boomCore.unpublish(e).catch(t=>Promise.reject(t))}getUser(e){return this.userVM.getUser(e)}changeMaster(e,t=!1){return c(this,null,function*(){var r;return(r=this.roomVM)==null?void 0:r.changeMaster(e,t).catch(i=>i)})}updateManager(e,t,r=!0){return c(this,null,function*(){return this.roomVM.updateManager(e,t,r).catch(i=>i)})}getMaster(){return this.boomCore.getMaster()}getCreator(){return this.boomCore.getCreator()}getName(){return this.boomCore.getName()}evictUser(e,t){return c(this,null,function*(){var r;return(r=this.roomVM)==null?void 0:r.evictUser(e,t)})}updateUser(e,t){return c(this,null,function*(){var r;return(r=this.roomVM)==null?void 0:r.updateUser(e,t)})}getMsgSeq(){return this.boomCore.getMsgSeq()}getLimits(){return this.boomCore.getLimits()}getSwitch(){return this.boomCore.getSwitch()}syncRoom(){return this.boomCore.syncRoom()}update(e){return this.boomCore.update(e)}getUsers(){return this.userVM.userList}getTotalUsers(){return this.userVM.userList.size}sendMessage(e,t){return this.boomCore.sendMessage(e,t)}customMessage(e,t,r=!1){return this.boomCore.customMessage(e,t,r)}getMessages(e,t){return this.boomCore.getMessages(e,t)}getLocalParticipant(){var t;let e=(t=this.userVM)==null?void 0:t.getLocalUser();return e||(e=this.localUser),e}getAudioOff(){return this.boomCore.getAudioOff()}getSelfOpenAudio(){return this.boomCore.getSelfOpenAudio()}getVideoOff(){return this.boomCore.getVideoOff()}getMsgOff(){return this.boomCore.getMsgOff()}getLock(){return this.boomCore.getLock()}getRoomInfo(){return this.roomInfo}setAudioOff(e,t){return c(this,null,function*(){return yield this.boomCore.setAudioOff(e,t).catch(r=>Promise.reject((0,B.BmSetAudioOffError)(`boomCore.setAudioOff error ${JSON.stringify(r)}`)))})}updateRoom(e){return c(this,null,function*(){return this.boomCore.client.update(e)})}setVideoOff(e){return this.boomCore.setVideoOff(e).catch(t=>Promise.reject((0,B.BmSetVideoOffError)(`boomCore.setVideoOff error ${JSON.stringify(t)}`)))}setMsgOff(e){return this.boomCore.setMsgOff(e).catch(t=>Promise.reject((0,B.BmSetMsgOffError)(`boomCore.setMsgOff error ${JSON.stringify(t)}`)))}setSwitch(e){return this.boomCore.setSwitch(e)}setLock(e){return c(this,null,function*(){return yield this.boomCore.setLock(e),this.boomCore.getLock()})}sendChatMessage(e,t,r){if(!this.chatVM)throw new N(1002,"\u672A\u521D\u59CB\u5316chatVM, \u65E0\u6CD5\u53D1\u9001\u804A\u5929\u4FE1\u606F");return this.chatVM.sendMessage(e,t,r)}getChatMessage(){if(!this.chatVM)throw new N(1002,"\u672A\u521D\u59CB\u5316chatVM, \u65E0\u6CD5\u83B7\u53D6\u804A\u5929\u5BA4\u6D88\u606F");return this.chatVM.messageList}getHistoryMessage(){return c(this,null,function*(){return this.chatVM.getHistoryMessage()})}updateCustomStats(e,t){return d("updateCustomStats","","",[JSON.stringify(e)]),this.boomCore.updateCustomStats(Fe(w({},e),{pos:"web"}),t).catch(r=>Promise.reject((0,B.BmUpdateCustomStatsError)(`.boomCore.updateCustomStats ${JSON.stringify(r)}`)))}getCustomStats(){return this.boomCore.getCustomStats()}getDuration(){return this.boomCore.getDuration()}checkUserHasMaster(e){return this.userVM.checkUserHasMaster(e)}changeNickName(e,t){return c(this,null,function*(){var r;return(r=this.roomVM)==null?void 0:r.changeNickName(e,t)})}streamModelExits(e){let t=e.userId;return e.isShare?this.bmStreamVm.shareStreamModels.has(t):this.bmStreamVm.streamModels.has(t)}handleStreamTask(e,t=!1){return c(this,null,function*(){if(!this.streamModelExits(e)){I(`streamModel is not exits, userId: ${e.userId}, isShare: ${e.isShare}, ignore`);return}e.stream?this.conferenceMode===1?(yield this.handlePull(e),yield this.handleChangeStreamType(e)):(yield this.bmLiveVM.handlePull(e),yield this.bmLiveVM.handleChangeStreamType(e)):((e.isDisplay||e.isInBig)&&e.bloudStream||e.audioEnable)&&(yield this.addUser2Queue({id:e.userId,isScreen:e.isShare,isWeb:e.isWeb}))})}handlePull(e){return c(this,null,function*(){var t;e.isLocal||(e.isMixer&&(yield this.handleSubscribeSteam(e)),(e.isDisplay!==e.isCurrentDisplay||e.isInBig&&e.pulledStreamType!==e.pulledStreamGoal||!e.hasPulled)&&(e.isCurrentDisplay=e.isDisplay,e.checkCount=0,e.isDisplay||e.isInBig||!e.isDisplay&&(e.audioEnable||(t=e.stream)!=null&&t.getAudioOn())?yield this.handleSubscribeSteam(e):yield this.handleUnsubscribeStream(e)))})}manualSubscribeStreamModel(e){j.addQueue(this.handleStreamTask.bind(this,e),e.streamId,0,e.nickname)}handleUnsubscribe(e){j.addQueue(this.handleUnsubscribeStream.bind(this,e),e.streamId,0,e.nickname)}handleStreamBindElement(e){j.addQueue(this.handlePlaySmall.bind(this,e,!1,!1),`bindElement-${e.userId}-${e.nickname}`,0,e.nickname)}handleStreamBindBigElement(e){j.addQueue(this.handlePlayInBIg.bind(this,e),`bindElement-${e.userId}-${e.nickname}`,0,e.nickname)}handleUnsubscribeStream(e){return c(this,null,function*(){var t,r;e.stream&&((r=(t=e.stream)==null?void 0:t.isSubscribed)!=null&&r.call(t)||e.hasPulled)&&(e.hasPulled=!1,e.pulledStreamType="small",e.isInBig=!1,e.stop(),yield this.unsubscribe(e.stream).then(()=>{var i,o;e.stream&&((i=this.audioPlayer)==null||i.removeStream(e.stream)),e.isSubScribedWatcher.next(!1),d("\u53D6\u6D88\u8BA2\u9605\u6D41\u6210\u529F","",e.userId,[e.nickname,e.isDisplay,e.isCurrentDisplay,(o=e.stream)==null?void 0:o.getStreamId()])}).catch(()=>{p("unsubscribe error")}))})}handleSubscribeSteam(e){return c(this,null,function*(){var t,r;try{e.hasPulled&&e.stream.isSubscribed()?e.isDisplay?(t=e.stream)==null||t.unmuteVideo().then(()=>{d("stream unmute video success ","unmute-video",e.userId,["streamId => ",e.streamId])}):(r=e.stream)==null||r.muteVideo().then(()=>{d("stream mute video success ","mute-video",e.userId,["streamId => ",e.streamId])}):(d("\u5F00\u59CB\u8BA2\u9605","subscribe",e.userId,[e.streamId]),e.hasPulled=!0,yield this.subscribe(e.stream,Ji).then(()=>{var i,o;d("\u8BA2\u9605\u6D41\u7ED3\u675F","subscribe",e.userId,[" nickname =>",e.nickname,"streamId =>",e.streamId,"display =>",e.isDisplay]),e.isDisplay||(i=e.stream)==null||i.muteVideo(),e.stream&&e.audioEnable&&((o=this.audioPlayer)==null||o.addStream(e.stream,!0)),e.pullFailedNum=0,e.isSubScribedWatcher.next(!0),this.bmStreamVm.addToRecorder(e.stream),e.isDisplay&&e.videoEnable&&this.handlePlay(e,!0)}).catch(i=>{var o,a;if(p("\u8BA2\u9605\u6D41\u5931\u8D25","subscribe",e.userId,[" nickname =>",e.nickname,"streamId =>",e.streamId," error => ",JSON.stringify(i)]),e.hasPulled=!1,e.pulledStreamType="small",e.pullFailedNum+=1,(o=e.player)==null||o.destroy(),e.pullFailedNum<=3)this.handlePulledFailed(e);else{e.pullFailedNum=0;let n=e.isShare;try{(a=e.stream)==null||a.destroy()}catch(l){}e.updateStream(void 0,!1,this.bmStreamVm),d("subscribe stream failed, need to reQuery stream","",e.userId,["streamId =>",e.streamId,"hasStream => ",!!e.stream,"isWeb => ",e.isWeb,"isScreen => ",n,"bloudStreamState =>",JSON.stringify(e.bloudStream)]),e.bloudStream&&this.addUser2Queue({id:e.userId,isWeb:e.isWeb,isScreen:n})}}))}catch(i){e.hasPulled=!1,e.pulledStreamType="small",console.error("\u8BA2\u9605\u6D41\u5931\u8D25","",e.userId,e.nickname,"\u9519\u8BEF =>",i)}})}handleChangeStreamType(e){return c(this,null,function*(){var t,r;e.isLocal||e.pulledStreamType!==e.pulledStreamGoal&&((t=e.stream)!=null&&t.isSubscribed())&&((r=e.stream)!=null&&r.isSubscribed()||e.hasPulled)&&(e.pulledStreamType=e.pulledStreamGoal,yield this.boomCore.brtcClient.setRemoteVideoStreamType(e.stream,e.pulledStreamGoal).catch(i=>{p("\u5927\u5C0F\u6D41\u5207\u6362\u5931\u8D25","",e.userId,["error => ",JSON.stringify(i)])}),d("\u5927\u5C0F\u6D41\u5207\u6362\u7ED3\u675F","",e.userId,["nickname =>",e.nickname," isInBig => ",e.isInBig," pulledStreamGoal => ",e.pulledStreamGoal,"pulledStreamType => ",e.pulledStreamType]))})}handlePlay(e,t=!1){return c(this,null,function*(){this.streamModelExits(e)&&(e.stream&&e.isLocal&&!e.isShare||!e.isLocal&&e.stream.isSubscribed())&&(e.isDisplay&&e.playerId&&e.play(t),e.isInBig&&e.bigPlayerId&&e.playInBig(t))})}handlePlaySmall(e){this.streamModelExits(e)&&e.play()}handlePlayInBIg(e){this.streamModelExits(e)&&e.playInBig()}handlePulledFailed(e){let t=e.userId;(e.isShare?this.bmStreamVm.shareStreamModels.has(t):this.bmStreamVm.streamModels.has(t))&&j.addQueue(this.handleQueueTask.bind(this,e),e.streamId,0,e.nickname)}handleStreamConnectError(e){return c(this,null,function*(){var i,o;let{stream:t,isLocal:r}=e;t&&(d("handleStreamConnectError","","",["nickname =>",t.nickname,"streamId => ",t.streamId,"isShare =>",t.isShare,"isLocal => ",r]),t.stream&&(t.stop(),(i=this.audioPlayer)==null||i.removeStream(t.stream)),(o=t.player)==null||o.destroy(),r?t.stream&&(t.isShare?this.bmStreamVm.localShareError.next((0,B.BMShareStreamConnectError)()):this.bmStreamVm.localStreamConnectErrorWatcher.next((0,B.BMStreamConnectError)()),this.netConnecting&&this.networkState.brtc&&this.networkState.bloud?t.isShare?(d("Local share stream has problem, now ,republish"),bt(this,this.bmStreamVm)):(d("brtc \u7F51\u7EDC\u6B63\u5E38\uFF0C\u91CD\u65B0\u63A8\u6D41"),t.stream&&(yield this.republishLocalStream(t.stream))):(p("brtc \u7F51\u7EDC\u8FD8\u6CA1\u6062\u590D\uFF0C\u7B49\u6062\u590D\u4E86\u5728\u91CD\u65B0\u63A8\u6D41 ","",t.userId,["nickname =>",t.nickname,"streamId => ",t.streamId,"isShare =>",t.isShare]),this.streamConnectedErrorQueue.push(e))):this.netConnecting&&this.networkState.brtc?(t.hasPulled=!1,t.pulledStreamType="small",j.addQueue(this.handleQueueTask.bind(this,t),t.streamId,0,t.nickname)):(p("brtc \u7F51\u7EDC\u8FD8\u6CA1\u6062\u590D\uFF0C\u7B49\u6062\u590D\u4E86\u5728\u91CD\u65B0\u62C9\u6D41 ","",t.userId,["nickname =>",t.nickname]),this.streamConnectedErrorQueue.push(e)))})}toggleAudienceSpeaking(e,t){e.permission.setAudio(t);let r={};return e.raiseHand&&(e.raiseHand=!1,r.raiseHand=!1),e.raiseAudioHands&&(e.raiseAudioHands=!1,r.raiseHandsAudio=!1),this.updateUser(e.userId,w({permission:e.permission.get()},r))}updateUserIsGuest(e,t){return c(this,null,function*(){return e.permission.setSubscribe(t),this.updateUser(e.userId,{permission:e.permission.get()})})}managerChangeToGuest(e){this.userVM.managerChangeToGuest(e)}moveUserRoom(e,t=!1,r=!1){return this.boomCore.client.moveUserRoom(e,t,r)}getParticipantNotice(e){this.participantNotice=e}setCustomUrl(e){this.boomCore.setCustomUrl(e)}handleRePushSelf(){return c(this,null,function*(){var t,r;let e=(r=(t=this.getLocalParticipant())==null?void 0:t.getMainStreamModel())==null?void 0:r.stream;e&&(yield this.republishLocalStream(e))})}handleResetOtherStreamStatus(){d("brtc sync-room-completed"),this.audioPlayer.clear(),this.bmStreamVm.streamModels.forEach(e=>{var t;if(!e.isLocal){e.hasPulled=!1,e.pulledStreamType="small";try{(t=e.stream)==null||t.destroy()}catch(r){}e.updateStream(void 0,!1,this.bmStreamVm)}}),this.bmStreamVm.shareStreamModels.forEach(e=>{var t;if(!e.isLocal){e.hasPulled=!1,e.pulledStreamType="small";let r=e.getUser();try{(t=e.stream)==null||t.destroy()}catch(i){}r.removeStream(`${e.userId}${k}`)}}),this.bmStreamVm.shareStreamModels.clear(),this.bmStreamVm.shareStreamModelsWatcher.next(Array.from(this.bmStreamVm.shareStreamModels.values())),this.networkState.brtc=!0,setTimeout(()=>{this.brtcNetEnableWatcher.next(!0),this.streamWSReconnectWatcher.next(!0)},2e3),pe(this)}restartPullUsers(e){e.forEach((t,r)=>{this.addUser2Queue(t)})}addUser2Queue(e){return c(this,null,function*(){var t;if(this.streamQueue.addUser(e),e.force||e.isScreen)this.processUser(e);else{let r=this.bmStreamVm.streamModels.get(e.id);r&&!r.isLocal&&(r.stream||r&&((t=r.bloudStream)!=null&&t.audio||r.bloudStream&&r.isDisplay)&&this.processUser(e))}})}queryBrtcStreams(e){return c(this,null,function*(){return this.boomCore.brtcClient.queryUsers(e)})}handleAddStreams(e){if(this.isInWaitRoom){I("handleAddStreams isInWaitRoom true return");return}e.forEach(t=>{if(re(t)){let r=this.bmStreamVm.shareStreamModels.get(ke(t.getUserId().toString()));(!r||r&&!r.stream)&&(r!=null&&r.player&&r.player.destroy(),this.bmStreamVm.remoteStreamPublished(t))}else{let r=this.bmStreamVm.streamModels.get(t.getUserId().toString());r&&!r.stream&&(r!=null&&r.player&&r.player.destroy(),this.bmStreamVm.remoteStreamPublished(t))}})}getForceUser(e){return c(this,null,function*(){yield this.queryBloudUsers([e]),this.userVM.getForceUserWatcher.next(!0)})}queryBloudUsers(e,t=!1,r=!0){return c(this,null,function*(){let{users:i}=yield this.boomCore.queryUsers(e);return this.userVM.addBcUsersMap(i,r,t),i})}getVersion(){return Qt.version}};var nt=require("@hysc/utils"),Qi=De;window.BoomMeeting=De;window.BoomError=nt.BoomError;window.BOOMLogger=nt.Logger;0&&(module.exports={Logger});
|