[*] 日常优化

This commit is contained in:
acgist
2023-09-25 07:42:19 +08:00
parent 69b5bedd07
commit 809a938867
4 changed files with 89 additions and 49 deletions

View File

@@ -883,44 +883,38 @@ class Taoyao {
// consumer.observer.on("score", fn(score));
consumer.on("score", (score) => {
console.debug("消费者评分", consumer.id, streamId, score);
me.push(
protocol.buildMessage("media::consumer::score", {
roomId : roomId,
me.push(protocol.buildMessage("media::consumer::score", {
score,
roomId,
consumerId: consumer.id,
score : score,
})
);
}));
});
// consumer.observer.on("layerschange", fn(layers));
consumer.on("layerschange", (layers) => {
console.debug("消费者空间层和时间层改变", consumer.id, streamId, layers);
me.push(
protocol.buildMessage("media::consumer::layers::change", {
roomId : roomId,
me.push(protocol.buildMessage("media::consumer::layers::change", {
roomId,
consumerId : consumer.id,
spatialLayer : layers ? layers.spatialLayer : null,
temporalLayer: layers ? layers.temporalLayer : null,
})
);
}));
});
consumer.observer.on("close", () => {
if(room.consumers.delete(consumer.id)) {
console.info("消费者关闭", consumer.id, streamId);
me.push(
protocol.buildMessage("media::consumer::close", {
roomId : roomId,
me.push(protocol.buildMessage("media::consumer::close", {
roomId,
consumerId: consumer.id
})
);
}));
} else {
console.debug("消费者关闭(无效)", consumer.id, streamId);
console.debug("消费者关闭(消费者无效)", consumer.id, streamId);
}
});
consumer.observer.on("pause", () => {
console.debug("消费者暂停", consumer.id, streamId);
me.push(
protocol.buildMessage("media::consumer::pause", {
roomId : roomId,
roomId,
consumerId: consumer.id
})
);
@@ -929,7 +923,7 @@ class Taoyao {
console.debug("消费者恢复", consumer.id, streamId);
me.push(
protocol.buildMessage("media::consumer::resume", {
roomId : roomId,
roomId,
consumerId: consumer.id
})
);
@@ -940,21 +934,19 @@ class Taoyao {
// console.info("消费者跟踪事件trace", consumer.id, streamId, trace);
// });
// 等待终端准备就绪可以不用等待直接使用push方法
await me.request(
protocol.buildMessage("media::consume", {
roomId : roomId,
clientId : clientId,
sourceId : sourceId,
streamId : streamId,
producerId : producerId,
await me.request(protocol.buildMessage("media::consume", {
roomId,
clientId,
sourceId,
streamId,
producerId,
consumerId : consumer.id,
kind : consumer.kind,
type : consumer.type,
appData : producer.appData,
rtpParameters : consumer.rtpParameters,
producerPaused: consumer.producerPaused,
})
);
}));
await consumer.resume();
consumer.localPaused = false;
})()

View File

@@ -1642,15 +1642,6 @@ class Taoyao extends RemoteClient {
}
}
/**
* 媒体消费者评分信令
*
* @param {*} message 信令消息
*/
defaultMediaConsumerScore(message) {
console.debug("消费者评分", message);
}
/**
* 消费媒体信令
*
@@ -1757,6 +1748,15 @@ class Taoyao extends RemoteClient {
}
}
/**
* 媒体消费者评分信令
*
* @param {*} message 信令消息
*/
defaultMediaConsumerScore(message) {
console.debug("消费者评分", message);
}
/**
* 修改最佳空间层和时间层信令
*

View File

@@ -0,0 +1,47 @@
package com.acgist.taoyao.signal.protocol.media;
import java.util.Map;
import com.acgist.taoyao.boot.annotation.Description;
import com.acgist.taoyao.boot.annotation.Protocol;
import com.acgist.taoyao.boot.model.Message;
import com.acgist.taoyao.signal.client.Client;
import com.acgist.taoyao.signal.client.ClientType;
import com.acgist.taoyao.signal.party.room.Room;
import com.acgist.taoyao.signal.protocol.ProtocolRoomAdapter;
/**
* 消费者空间层和时间层改变信令
*
* @author acgist
*/
@Protocol
@Description(
body = """
{
"roomId" : "房间ID"
"consumerId" : "消费者ID",
"spatialLayer" : 最佳空间层,
"temporalLayer": 最佳时间层
}
""",
flow = "媒体服务->信令服务+)终端"
)
public class MediaConsumerLayersChangeProtocol extends ProtocolRoomAdapter {
public static final String SIGNAL = "media::consumer::layers::change";
protected MediaConsumerLayersChangeProtocol() {
super("消费者空间层和时间层改变信令", SIGNAL);
}
@Override
public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map<String, Object> body) {
if(clientType.isMedia()) {
room.broadcast(message);
} else {
this.logNoAdapter(clientType);
}
}
}

View File

@@ -24,7 +24,8 @@ import com.acgist.taoyao.signal.protocol.ProtocolRoomAdapter;
"consumerId": "消费者ID",
"priority" : 优先级1~255
}
"""
""",
flow = "终端->信令服务->媒体服务"
)
public class MediaConsumerSetPriorityProtocol extends ProtocolRoomAdapter {