[*] 日常优化

This commit is contained in:
acgist
2023-09-04 07:53:00 +08:00
parent 70f11e92a0
commit 8a667bb6cf

View File

@@ -861,20 +861,14 @@ class Taoyao extends RemoteClient {
case "media::video::orientation::change":
me.defaultMediaVideoOrientationChange(message);
break;
case "session::call":
me.defaultSessionCall(message);
case "platform::error":
me.platformError(message);
break;
case "session::close":
me.defaultSessionClose(message);
case "platform::reboot":
me.defaultPlatformReboot(message);
break;
case "session::exchange":
me.defaultSessionExchange(message);
break;
case "session::pause":
me.defaultSessionPause(message);
break;
case "session::resume":
me.defaultSessionResume(message);
case "platform::shutdown":
me.defaultPlatformShutdown(message);
break;
case "room::broadcast":
me.defaultRoomBroadcast(message);
@@ -900,14 +894,20 @@ class Taoyao extends RemoteClient {
case "room::leave":
me.defaultRoomLeave(message);
break;
case "platform::error":
me.callbackError(message);
case "session::call":
me.defaultSessionCall(message);
break;
case "platform::reboot":
me.defaultPlatformReboot(message);
case "session::close":
me.defaultSessionClose(message);
break;
case "platform::shutdown":
me.defaultPlatformShutdown(message);
case "session::exchange":
me.defaultSessionExchange(message);
break;
case "session::pause":
me.defaultSessionPause(message);
break;
case "session::resume":
me.defaultSessionResume(message);
break;
}
}
@@ -1537,11 +1537,11 @@ class Taoyao extends RemoteClient {
const me = this;
const consumer = me.consumers.get(consumerId);
if(!consumer) {
me.callbackError("请求关键帧消费者无效");
me.platformError("请求关键帧消费者无效");
return;
}
if(consumer.kind !== "video") {
me.callbackError("只能请求视频消费者关键帧");
me.platformError("只能请求视频消费者关键帧");
return;
}
me.push(protocol.buildMessage("media::consumer::request::key::frame", {
@@ -1612,11 +1612,11 @@ class Taoyao extends RemoteClient {
const me = this;
const consumer = me.consumers.get(consumerId);
if(!consumer) {
me.callbackError("修改最佳空间层和时间层消费者无效");
me.platformError("修改最佳空间层和时间层消费者无效");
return;
}
if(consumer.kind !== "video") {
me.callbackError("只能修改视频消费者最佳空间层和时间层");
me.platformError("只能修改视频消费者最佳空间层和时间层");
return;
}
me.push(protocol.buildMessage("media::consumer::set::preferred::layers", {
@@ -1637,7 +1637,7 @@ class Taoyao extends RemoteClient {
const me = this;
const consumer = me.consumers.get(consumerId);
if(!consumer) {
me.callbackError("设置消费者优先级消费者无效");
me.platformError("设置消费者优先级消费者无效");
return;
}
me.push(protocol.buildMessage("media::consumer::set::priority", {
@@ -1996,37 +1996,6 @@ class Taoyao extends RemoteClient {
console.debug("平台重启", message);
}
/**
* 执行命令信令
*
* @param {*} script 命令
*
* @returns 响应
*/
async platformScript(script) {
return await this.request(protocol.buildMessage("platform::script", {
script
}));
}
/**
* 关闭平台信令
*
* @returns 响应
*/
async platformShutdown() {
return await this.request(protocol.buildMessage("platform::shutdown", {}));
}
/**
* 关闭平台信令
*
* @param {*} message 信令消息
*/
defaultPlatformShutdown(message) {
console.debug("平台关闭", message);
}
/**
* 消费媒体信令
*
@@ -2035,7 +2004,7 @@ class Taoyao extends RemoteClient {
mediaConsume(producerId) {
const me = this;
if(!me.recvTransport) {
me.callbackError("没有连接接收通道");
me.platformError("没有连接接收通道");
return;
}
me.push(protocol.buildMessage("media::consume", {
@@ -2129,7 +2098,7 @@ class Taoyao extends RemoteClient {
console.warn("远程终端没有实现代理", remoteClient);
}
} catch (error) {
me.callbackError("消费媒体异常", error);
me.platformError("消费媒体异常", error);
}
}
@@ -2141,7 +2110,7 @@ class Taoyao extends RemoteClient {
mediaDataConsume(producerId) {
const me = this;
if(!me.recvTransport) {
me.callbackError("没有连接接收通道");
me.platformError("没有连接接收通道");
return;
}
me.push(protocol.buildMessage("media::data::consume", {
@@ -2234,11 +2203,12 @@ class Taoyao extends RemoteClient {
* @param {*} message 消息
*/
defaultPlatformError(message) {
const me = this;
const { code } = message;
const {
code
} = message;
if (code === "3401") {
// 没有授权直接关闭
me.closeAll();
this.closeAll();
} else {
console.warn("平台异常", message);
}
@@ -2267,15 +2237,17 @@ class Taoyao extends RemoteClient {
* @param {*} message 错误消息
* @param {*} error 异常信息
*/
callbackError(message, error) {
const me = this;
if (me.callback) {
const callbackMessage = protocol.buildMessage("platform::error", {
message
});
callbackMessage.code = "9999";
callbackMessage.message = message;
me.callback(callbackMessage, error);
platformError(message, error) {
if (this.callback) {
let callbackMessage;
if(message instanceof Object) {
callbackMessage = message;
} else {
callbackMessage = protocol.buildMessage("platform::error", {});
callbackMessage.code = "9999";
callbackMessage.message = message;
}
this.callback(callbackMessage, error);
} else {
if (error) {
console.error("发生异常", message, error);
@@ -2773,20 +2745,51 @@ class Taoyao extends RemoteClient {
}
});
if (!audioEnabled && me.audioProduce) {
me.callbackError("没有音频媒体设备");
me.platformError("没有音频媒体设备");
// 强制修改
me.audioProduce = false;
}
if (!videoEnabled && me.videoProduce) {
me.callbackError("没有视频媒体设备");
me.platformError("没有视频媒体设备");
// 强制修改
me.videoProduce = false;
}
} else {
me.callbackError("没有媒体权限");
me.platformError("没有媒体权限");
}
}
/**
* 执行命令信令
*
* @param {*} script 命令
*
* @returns 响应
*/
async platformScript(script) {
return await this.request(protocol.buildMessage("platform::script", {
script
}));
}
/**
* 关闭平台信令
*
* @returns 响应
*/
async platformShutdown() {
return await this.request(protocol.buildMessage("platform::shutdown", {}));
}
/**
* 关闭平台信令
*
* @param {*} message 信令消息
*/
defaultPlatformShutdown(message) {
console.debug("平台关闭", message);
}
/**
* 房间广播信令
*
@@ -2889,7 +2892,7 @@ class Taoyao extends RemoteClient {
*/
async roomCreate(room) {
if(this.roomId) {
this.callbackError("终端已经进入房间");
this.platformError("终端已经进入房间");
return {
code : 9999,
message: "终端已经进入房间"
@@ -2929,7 +2932,7 @@ class Taoyao extends RemoteClient {
*/
async roomEnter(roomId, password) {
if(this.roomId) {
this.callbackError("终端已经进入房间");
this.platformError("终端已经进入房间");
return {
code : 9999,
message: "终端已经进入房间",
@@ -2941,7 +2944,7 @@ class Taoyao extends RemoteClient {
}));
if(response.code !== SUCCESS_CODE) {
this.roomId = null;
this.callbackError(response.message);
this.platformError(response);
return response;
}
const routerRtpCapabilities = response.body.rtpCapabilities;
@@ -2955,7 +2958,7 @@ class Taoyao extends RemoteClient {
}));
if(response.code !== SUCCESS_CODE) {
this.roomId = null;
this.callbackError(response.message);
this.platformError(response);
return response;
}
return response;
@@ -3030,7 +3033,7 @@ class Taoyao extends RemoteClient {
} = message.body;
// H5只能同时进入一个房间
if(this.roomId) {
this.callbackError("终端拒绝房间邀请", roomId);
this.platformError("终端拒绝房间邀请");
return;
}
console.debug("房间邀请终端", roomId);
@@ -3101,7 +3104,7 @@ class Taoyao extends RemoteClient {
*/
async sessionCall(clientId, audio = true, video = true) {
if (clientId == this.clientId) {
this.callbackError("不能监控自己");
this.platformError("不能监控自己");
return;
}
await this.checkDevice();
@@ -3114,7 +3117,7 @@ class Taoyao extends RemoteClient {
message
} = response;
if(code !== SUCCESS_CODE) {
this.callbackError(message);
this.platformError(message);
return;
}
const {