Properly handle multiple rooms
This commit is contained in:
parent
ade6c19eba
commit
e98abaff4d
1 changed files with 12 additions and 0 deletions
|
@ -172,6 +172,10 @@ export class ConferenceCallManager extends EventEmitter {
|
||||||
.forEach((member) => this._processMember(member.userId));
|
.forEach((member) => this._processMember(member.userId));
|
||||||
|
|
||||||
for (const { call, onHangup, onReplaced } of this.pendingCalls) {
|
for (const { call, onHangup, onReplaced } of this.pendingCalls) {
|
||||||
|
if (call.roomId !== roomId) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
call.removeListener("hangup", onHangup);
|
call.removeListener("hangup", onHangup);
|
||||||
call.removeListener("replaced", onReplaced);
|
call.removeListener("replaced", onReplaced);
|
||||||
const userId = call.opponentMember.userId;
|
const userId = call.opponentMember.userId;
|
||||||
|
@ -237,6 +241,10 @@ export class ConferenceCallManager extends EventEmitter {
|
||||||
};
|
};
|
||||||
|
|
||||||
_onMemberChanged = (_event, _state, member) => {
|
_onMemberChanged = (_event, _state, member) => {
|
||||||
|
if (member.roomId !== this.roomId) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
this._processMember(member.userId);
|
this._processMember(member.userId);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -320,6 +328,10 @@ export class ConferenceCallManager extends EventEmitter {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (call.roomId !== this.roomId) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const userId = call.opponentMember.userId;
|
const userId = call.opponentMember.userId;
|
||||||
this._addCall(call, userId);
|
this._addCall(call, userId);
|
||||||
this._setDebugState(userId, "answered");
|
this._setDebugState(userId, "answered");
|
||||||
|
|
Loading…
Add table
Reference in a new issue