[+] 信令断开释放媒体

This commit is contained in:
acgist
2023-04-30 11:33:06 +08:00
parent 3cbbc8f936
commit 165655c4e6
89 changed files with 343 additions and 181 deletions

View File

@@ -147,6 +147,9 @@ const signalChannel = {
me.channel.on("close", async function () {
console.warn("信令通道关闭:", me.address);
me.taoyao.connect = false;
if(me.channel && me.channel.readyState !== WebSocket.OPEN) {
me.taoyao.closeAllRoom();
}
if (me.reconnection) {
me.reconnect();
}
@@ -155,6 +158,9 @@ const signalChannel = {
me.channel.on("error", async function (e) {
console.error("信令通道异常:", me.address, e);
me.taoyao.connect = false;
if(me.channel && me.channel.readyState !== WebSocket.OPEN) {
me.taoyao.closeAllRoom();
}
if (me.reconnection) {
me.reconnect();
}
@@ -336,6 +342,7 @@ class Room {
if (me.close) {
return;
}
console.info("关闭房间:", me.roomId);
me.close = true;
me.producers.forEach(v => v.close());
me.consumers.forEach(v => v.close());
@@ -350,7 +357,6 @@ class Room {
/**
* 桃夭
TODO断开连接关闭所有房间
*/
class Taoyao {
// 是否连接
@@ -543,6 +549,14 @@ class Taoyao {
}
return worker;
}
closeAllRoom() {
console.info("关闭所有房间");
this.rooms.forEach((room, roomId) => {
room.closeAll();
});
this.rooms.clear();
}
/**
* 重启终端信令
@@ -1481,7 +1495,6 @@ class Taoyao {
console.warn("房间无效:", roomId);
return;
}
console.info("关闭房间:", roomId);
room.closeAll();
}