[*] 日常优化
This commit is contained in:
@@ -27,12 +27,12 @@ import lombok.extern.slf4j.Slf4j;
|
||||
body = {
|
||||
"""
|
||||
{
|
||||
"roomId": "房间标识",
|
||||
"roomId" : "房间标识",
|
||||
"transportId": "通道标识"
|
||||
}
|
||||
"""
|
||||
},
|
||||
flow = "终端->信令服务->媒体服务->信令服务->终端"
|
||||
flow = "终端=>信令服务->媒体服务"
|
||||
)
|
||||
public class MediaDataProduceProtocol extends ProtocolRoomAdapter {
|
||||
|
||||
@@ -65,7 +65,7 @@ public class MediaDataProduceProtocol extends ProtocolRoomAdapter {
|
||||
Constant.STREAM_ID, streamId,
|
||||
Constant.PRODUCER_ID, producerId
|
||||
));
|
||||
room.broadcast(responseMessage);
|
||||
client.push(responseMessage);
|
||||
log.info("{}生产数据:{} - {}", clientId, streamId, producerId);
|
||||
} else {
|
||||
this.logNoAdapter(clientType);
|
||||
|
||||
@@ -27,13 +27,14 @@ import lombok.extern.slf4j.Slf4j;
|
||||
@Slf4j
|
||||
@Protocol
|
||||
@Description(
|
||||
memo = "关闭通过回调实现所以不能同步响应",
|
||||
body = """
|
||||
{
|
||||
"roomId": "房间ID"
|
||||
"roomId" : "房间ID"
|
||||
"consumerId": "数据生产者ID"
|
||||
}
|
||||
""",
|
||||
flow = "终端->信令服务->媒体服务->信令服务+)终端"
|
||||
flow = "终端->信令服务->媒体服务->信令服务->终端"
|
||||
)
|
||||
public class MediaDataProducerCloseProtocol extends ProtocolRoomAdapter implements ApplicationListener<MediaDataProducerCloseEvent> {
|
||||
|
||||
@@ -46,10 +47,10 @@ public class MediaDataProducerCloseProtocol extends ProtocolRoomAdapter implemen
|
||||
@Async
|
||||
@Override
|
||||
public void onApplicationEvent(MediaDataProducerCloseEvent event) {
|
||||
final Room room = event.getRoom();
|
||||
final Room room = event.getRoom();
|
||||
final Client mediaClient = event.getMediaClient();
|
||||
final Map<String, Object> body = Map.of(
|
||||
Constant.ROOM_ID, room.getRoomId(),
|
||||
Constant.ROOM_ID, room.getRoomId(),
|
||||
Constant.PRODUCER_ID, event.getProducerId()
|
||||
);
|
||||
mediaClient.push(this.build(body));
|
||||
@@ -57,7 +58,7 @@ public class MediaDataProducerCloseProtocol extends ProtocolRoomAdapter implemen
|
||||
|
||||
@Override
|
||||
public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map<String, Object> body) {
|
||||
final String producerId = MapUtils.get(body, Constant.PRODUCER_ID);
|
||||
final String producerId = MapUtils.get(body, Constant.PRODUCER_ID);
|
||||
final DataProducer dataProducer = room.dataProducer(producerId);
|
||||
if(dataProducer == null) {
|
||||
log.debug("数据生产者无效:{} - {}", producerId, clientType);
|
||||
@@ -66,9 +67,8 @@ public class MediaDataProducerCloseProtocol extends ProtocolRoomAdapter implemen
|
||||
if(clientType.mediaClient()) {
|
||||
dataProducer.close();
|
||||
} else if(clientType.mediaServer()) {
|
||||
// TODO:路由到真实消费者
|
||||
dataProducer.remove();
|
||||
room.broadcast(message);
|
||||
dataProducer.getProducerClient().push(message);
|
||||
} else {
|
||||
this.logNoAdapter(clientType);
|
||||
}
|
||||
|
||||
@@ -19,11 +19,11 @@ import com.acgist.taoyao.signal.protocol.ProtocolRoomAdapter;
|
||||
@Description(
|
||||
body = """
|
||||
{
|
||||
"roomId": "房间ID",
|
||||
"roomId" : "房间ID",
|
||||
"producerId": "数据生产者ID"
|
||||
}
|
||||
""",
|
||||
flow = "终端=>信令服务->媒体服务->信令服务->终端"
|
||||
flow = "终端=>信令服务->媒体服务"
|
||||
)
|
||||
public class MediaDataProducerStatusProtocol extends ProtocolRoomAdapter {
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@ public class MediaProduceProtocol extends ProtocolRoomAdapter {
|
||||
Constant.STREAM_ID, streamId,
|
||||
Constant.PRODUCER_ID, producerId
|
||||
));
|
||||
room.broadcast(responseMessage);
|
||||
client.push(responseMessage);
|
||||
log.info("{}生产媒体:{} - {}", clientId, streamId, producerId);
|
||||
this.publishEvent(new MediaConsumeEvent(room, producer));
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user