From 032021a72ff57f45eb334ac18f565fd29551f734 Mon Sep 17 00:00:00 2001 From: acgist <289547414@qq.com> Date: Sat, 26 Aug 2023 10:39:00 +0800 Subject: [PATCH] =?UTF-8?q?[*]=20=E6=97=A5=E5=B8=B8=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../acgist/taoyao/client/signal/Taoyao.java | 2 +- taoyao-client-web/src/components/Taoyao.js | 61 +++++++++---------- .../taoyao/signal/client/ClientType.java | 19 ++++-- .../protocol/client/ClientConfigProtocol.java | 2 +- .../client/ClientRegisterProtocol.java | 2 +- .../media/MediaAudioVolumeProtocol.java | 2 +- .../protocol/media/MediaConsumeProtocol.java | 4 +- .../media/MediaConsumerCloseProtocol.java | 4 +- .../media/MediaConsumerPauseProtocol.java | 4 +- .../MediaConsumerRequestKeyFrameProtocol.java | 2 +- .../media/MediaConsumerResumeProtocol.java | 4 +- .../media/MediaConsumerScoreProtocol.java | 2 +- ...diaConsumerSetPreferredLayersProtocol.java | 2 +- .../MediaConsumerSetPriorityProtocol.java | 2 +- .../media/MediaConsumerStatusProtocol.java | 2 +- .../media/MediaDataConsumeProtocol.java | 4 +- .../media/MediaDataConsumerCloseProtocol.java | 4 +- .../MediaDataConsumerStatusProtocol.java | 2 +- .../media/MediaDataProduceProtocol.java | 2 +- .../media/MediaDataProducerCloseProtocol.java | 4 +- .../MediaDataProducerStatusProtocol.java | 2 +- .../media/MediaIceRestartProtocol.java | 2 +- .../protocol/media/MediaProduceProtocol.java | 2 +- .../media/MediaProducerCloseProtocol.java | 4 +- .../media/MediaProducerPauseProtocol.java | 4 +- .../media/MediaProducerResumeProtocol.java | 4 +- .../media/MediaProducerScoreProtocol.java | 2 +- .../media/MediaProducerStatusProtocol.java | 2 +- .../MediaRouterRtpCapabilitiesProtocol.java | 2 +- .../media/MediaTransportCloseProtocol.java | 4 +- .../media/MediaTransportStatusProtocol.java | 2 +- .../MediaTransportWebRtcConnectProtocol.java | 2 +- .../MediaTransportWebRtcCreateProtocol.java | 2 +- .../MediaVideoOrientationChangeProtocol.java | 2 +- .../protocol/room/RoomCloseProtocol.java | 4 +- .../protocol/room/RoomCreateProtocol.java | 2 +- .../protocol/room/RoomEnterProtocol.java | 2 +- .../protocol/room/RoomExpelProtocol.java | 2 +- .../protocol/room/RoomInviteProtocol.java | 2 +- .../protocol/room/RoomLeaveProtocol.java | 8 ++- .../protocol/room/RoomListProtocol.java | 3 + 41 files changed, 103 insertions(+), 86 deletions(-) diff --git a/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/signal/Taoyao.java b/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/signal/Taoyao.java index 12070b0..1322055 100644 --- a/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/signal/Taoyao.java +++ b/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/signal/Taoyao.java @@ -1093,7 +1093,7 @@ public final class Taoyao implements ITaoyao { final String clientId = MapUtils.get(body, "clientId"); final Room room = this.rooms.get(roomId); if(room == null) { - Log.w(Taoyao.class.getSimpleName(), "无效房间:" + roomId); + Log.w(Taoyao.class.getSimpleName(), "离开房间(无效房间):" + roomId); return; } room.closeRemoteClient(clientId); diff --git a/taoyao-client-web/src/components/Taoyao.js b/taoyao-client-web/src/components/Taoyao.js index c279482..19056f9 100644 --- a/taoyao-client-web/src/components/Taoyao.js +++ b/taoyao-client-web/src/components/Taoyao.js @@ -2444,37 +2444,6 @@ class Taoyao extends RemoteClient { await me.mediaProduce(); } - /** - * 离开房间 - */ - roomLeave() { - const me = this; - me.push(protocol.buildMessage("room::leave", { - roomId: me.roomId - })); - me.closeRoomMedia(); - } - - /** - * 离开房间信令 - * - * @param {*} message - */ - defaultRoomLeave(message) { - const me = this; - const { clientId } = message.body; - if(clientId === me.clientId) { - me.closeRoomMedia(); - } else if(me.remoteClients.has(clientId)) { - const remoteClient = me.remoteClients.get(clientId); - remoteClient.close(); - me.remoteClients.delete(clientId); - console.debug("终端离开房间", clientId); - } else { - console.debug("离开终端无效", clientId); - } - } - /** * 媒体回调 * @@ -3018,6 +2987,36 @@ class Taoyao extends RemoteClient { } } + /** + * 离开房间信令 + */ + roomLeave() { + this.push(protocol.buildMessage("room::leave", { + roomId: this.roomId + })); + this.closeRoomMedia(); + } + + /** + * 离开房间信令 + * + * @param {*} message 信令消息 + */ + defaultRoomLeave(message) { + const { clientId } = message.body; + if(clientId === this.clientId) { + this.closeRoomMedia(); + console.debug("终端离开房间", clientId); + } else if(this.remoteClients.has(clientId)) { + const remoteClient = this.remoteClients.get(clientId); + remoteClient.close(); + this.remoteClients.delete(clientId); + console.debug("终端离开房间", clientId); + } else { + console.debug("终端已经离开", clientId); + } + } + /** * 房间列表信令 * diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/client/ClientType.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/client/ClientType.java index 9169ec0..c5f9422 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/client/ClientType.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/client/ClientType.java @@ -30,6 +30,10 @@ public enum ClientType { * 手机APP、平板APP */ MOBILE("移动端"), + /** + * 应用服务 + */ + SERVER("应用服务"), /** * 其他智能终端 */ @@ -47,7 +51,7 @@ public enum ClientType { /** * @return 是否是媒体终端 */ - public boolean mediaClient() { + public boolean isClient() { return this == WEB || this == CAMERA || @@ -57,9 +61,16 @@ public enum ClientType { /** * @return 是否是媒体服务 */ - public boolean mediaServer() { + public boolean isMedia() { return this == MEDIA; } + + /** + * @return 是否是应用服务 + */ + public boolean isServer() { + return this == SERVER; + } /** * @param value 类型 @@ -81,13 +92,13 @@ public enum ClientType { */ public static final ClientType[] MEDIA_CLIENT_TYPE = - Stream.of(ClientType.values()).filter(ClientType::mediaClient).toArray(ClientType[]::new); + Stream.of(ClientType.values()).filter(ClientType::isClient).toArray(ClientType[]::new); /** * 媒体服务类型列表 */ public static final ClientType[] MEDIA_SERVER_TYPE = - Stream.of(ClientType.values()).filter(ClientType::mediaServer).toArray(ClientType[]::new); + Stream.of(ClientType.values()).filter(ClientType::isMedia).toArray(ClientType[]::new); } diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/client/ClientConfigProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/client/ClientConfigProtocol.java index 17a9c96..2bb4aba 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/client/ClientConfigProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/client/ClientConfigProtocol.java @@ -74,7 +74,7 @@ public class ClientConfigProtocol extends ProtocolClientAdapter implements Appli // 日期时间 config.put(Constant.DATETIME, DateUtils.format(LocalDateTime.now(), DateTimeStyle.YYYYMMDDHH24MMSS)); // 媒体终端:媒体配置 - if(clientType.mediaClient()) { + if(clientType.isClient()) { config.put(Constant.MEDIA, this.mediaProperties); config.put(Constant.WEBRTC, this.webrtcProperties); } else { diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/client/ClientRegisterProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/client/ClientRegisterProtocol.java index 5d9b927..1486b7b 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/client/ClientRegisterProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/client/ClientRegisterProtocol.java @@ -98,7 +98,7 @@ public class ClientRegisterProtocol extends ProtocolClientAdapter { // 终端上线事件 this.publishEvent(new ClientOnlineEvent(client)); // 媒体服务注册:创建房间事件 - if(clientType.mediaServer()) { + if(clientType.isMedia()) { this.publishEvent(new MediaServerRegisterEvent(client)); } } diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaAudioVolumeProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaAudioVolumeProtocol.java index 0ac14e6..804a0db 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaAudioVolumeProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaAudioVolumeProtocol.java @@ -41,7 +41,7 @@ public class MediaAudioVolumeProtocol extends ProtocolRoomAdapter { @Override public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map body) { - if(clientType.mediaServer()) { + if(clientType.isMedia()) { room.broadcast(message); } else { this.logNoAdapter(clientType); diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumeProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumeProtocol.java index d7485e9..aa10e63 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumeProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumeProtocol.java @@ -91,10 +91,10 @@ public class MediaConsumeProtocol extends ProtocolRoomAdapter implements Applica public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map body) { final String producerId = MapUtils.get(body, Constant.PRODUCER_ID); final Producer producer = room.producer(producerId); - if(clientType.mediaClient()) { + if(clientType.isClient()) { // 主动请求消费 || 消费通道准备就绪 this.consume(room, room.clientWrapper(client), producer, message); - } else if(clientType.mediaServer()) { + } else if(clientType.isMedia()) { // 媒体通道准备就绪 final String kind = MapUtils.get(body, Constant.KIND); final String streamId = MapUtils.get(body, Constant.STREAM_ID); diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerCloseProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerCloseProtocol.java index d904f66..ab3367e 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerCloseProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerCloseProtocol.java @@ -68,9 +68,9 @@ public class MediaConsumerCloseProtocol extends ProtocolRoomAdapter implements A log.debug("消费者无效:{} - {}", consumerId, clientType); return; } - if(clientType.mediaClient()) { + if(clientType.isClient()) { consumer.close(); - } else if(clientType.mediaServer()) { + } else if(clientType.isMedia()) { consumer.remove(); consumer.getConsumerClient().push(message); } else { diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerPauseProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerPauseProtocol.java index c9e2d47..5debb9b 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerPauseProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerPauseProtocol.java @@ -63,9 +63,9 @@ public class MediaConsumerPauseProtocol extends ProtocolRoomAdapter implements A log.debug("消费者无效:{} - {}", consumerId, clientType); return; } - if(clientType.mediaClient()) { + if(clientType.isClient()) { consumer.pause(); - } else if(clientType.mediaServer()) { + } else if(clientType.isMedia()) { consumer.getConsumerClient().push(message); } else { this.logNoAdapter(clientType); diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerRequestKeyFrameProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerRequestKeyFrameProtocol.java index d5d23cb..1ae18ab 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerRequestKeyFrameProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerRequestKeyFrameProtocol.java @@ -37,7 +37,7 @@ public class MediaConsumerRequestKeyFrameProtocol extends ProtocolRoomAdapter { @Override public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map body) { - if(clientType.mediaClient()) { + if(clientType.isClient()) { body.put(Constant.CLIENT_ID, clientId); mediaClient.push(message); } else { diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerResumeProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerResumeProtocol.java index e3ad72f..96117ab 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerResumeProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerResumeProtocol.java @@ -63,9 +63,9 @@ public class MediaConsumerResumeProtocol extends ProtocolRoomAdapter implements log.debug("消费者无效:{} - {}", consumerId, clientType); return; } - if(clientType.mediaClient()) { + if(clientType.isClient()) { consumer.resume(); - } else if(clientType.mediaServer()) { + } else if(clientType.isMedia()) { consumer.getConsumerClient().push(message); } else { this.logNoAdapter(clientType); diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerScoreProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerScoreProtocol.java index 7a1460c..d75adf8 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerScoreProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerScoreProtocol.java @@ -40,7 +40,7 @@ public class MediaConsumerScoreProtocol extends ProtocolRoomAdapter { @Override public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map body) { - if(clientType.mediaServer()) { + if(clientType.isMedia()) { room.broadcast(message); } else { this.logNoAdapter(clientType); diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerSetPreferredLayersProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerSetPreferredLayersProtocol.java index 22ce2ea..f45bd80 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerSetPreferredLayersProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerSetPreferredLayersProtocol.java @@ -44,7 +44,7 @@ public class MediaConsumerSetPreferredLayersProtocol extends ProtocolRoomAdapter @Override public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map body) { - if(clientType.mediaClient()) { + if(clientType.isClient()) { mediaClient.push(message); } else { this.logNoAdapter(clientType); diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerSetPriorityProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerSetPriorityProtocol.java index cacaeec..9870abe 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerSetPriorityProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerSetPriorityProtocol.java @@ -35,7 +35,7 @@ public class MediaConsumerSetPriorityProtocol extends ProtocolRoomAdapter { @Override public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map body) { - if(clientType.mediaClient()) { + if(clientType.isClient()) { mediaClient.push(message); } else { this.logNoAdapter(clientType); diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerStatusProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerStatusProtocol.java index 52ad7ae..a8b6b40 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerStatusProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaConsumerStatusProtocol.java @@ -35,7 +35,7 @@ public class MediaConsumerStatusProtocol extends ProtocolRoomAdapter { @Override public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map body) { - if(clientType.mediaClient()) { + if(clientType.isClient()) { client.push(mediaClient.request(message)); } else { this.logNoAdapter(clientType); diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataConsumeProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataConsumeProtocol.java index 9290bb5..b9c2ec8 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataConsumeProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataConsumeProtocol.java @@ -57,7 +57,7 @@ public class MediaDataConsumeProtocol extends ProtocolRoomAdapter { if(dataProducer == null) { throw MessageCodeException.of("没有提供数据生产:" + producerId); } - if(clientType.mediaClient()) { + if(clientType.isClient()) { final ClientWrapper dataConsumerClientWrapper = room.clientWrapper(client); final String dataConsumerClientId = dataConsumerClientWrapper.getClientId(); final ClientWrapper dataProducerClientWrapper = dataProducer.getProducerClient(); @@ -73,7 +73,7 @@ public class MediaDataConsumeProtocol extends ProtocolRoomAdapter { body.put(Constant.RTP_CAPABILITIES, dataConsumerClientWrapper.getRtpCapabilities()); body.put(Constant.SCTP_CAPABILITIES, dataConsumerClientWrapper.getSctpCapabilities()); mediaClient.push(message); - } else if(clientType.mediaServer()) { + } else if(clientType.isMedia()) { final String streamId = MapUtils.get(body, Constant.STREAM_ID); final String consumerId = MapUtils.get(body, Constant.CONSUMER_ID); final String dataConsumerClientId = MapUtils.get(body, Constant.CLIENT_ID); diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataConsumerCloseProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataConsumerCloseProtocol.java index 6656aab..37c49e4 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataConsumerCloseProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataConsumerCloseProtocol.java @@ -68,9 +68,9 @@ public class MediaDataConsumerCloseProtocol extends ProtocolRoomAdapter implemen log.debug("数据消费者无效:{} - {}", consumerId, clientType); return; } - if(clientType.mediaClient()) { + if(clientType.isClient()) { dataConsumer.close(); - } else if(clientType.mediaServer()) { + } else if(clientType.isMedia()) { dataConsumer.remove(); dataConsumer.getConsumerClient().push(message); } else { diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataConsumerStatusProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataConsumerStatusProtocol.java index 627b805..0e75763 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataConsumerStatusProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataConsumerStatusProtocol.java @@ -35,7 +35,7 @@ public class MediaDataConsumerStatusProtocol extends ProtocolRoomAdapter { @Override public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map body) { - if(clientType.mediaClient()) { + if(clientType.isClient()) { client.push(mediaClient.request(message)); } else { this.logNoAdapter(clientType); diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataProduceProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataProduceProtocol.java index 6eb893d..58b1fb0 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataProduceProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataProduceProtocol.java @@ -44,7 +44,7 @@ public class MediaDataProduceProtocol extends ProtocolRoomAdapter { @Override public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map body) { - if(clientType.mediaClient()) { + if(clientType.isClient()) { final String streamId = Constant.STREAM_ID_PRODUCER.apply(Constant.DATA, clientId); body.put(Constant.CLIENT_ID, clientId); body.put(Constant.STREAM_ID, streamId); diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataProducerCloseProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataProducerCloseProtocol.java index b0f849b..db04702 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataProducerCloseProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataProducerCloseProtocol.java @@ -64,9 +64,9 @@ public class MediaDataProducerCloseProtocol extends ProtocolRoomAdapter implemen log.debug("数据生产者无效:{} - {}", producerId, clientType); return; } - if(clientType.mediaClient()) { + if(clientType.isClient()) { dataProducer.close(); - } else if(clientType.mediaServer()) { + } else if(clientType.isMedia()) { dataProducer.remove(); dataProducer.getProducerClient().push(message); } else { diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataProducerStatusProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataProducerStatusProtocol.java index c636de8..90f9fae 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataProducerStatusProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataProducerStatusProtocol.java @@ -35,7 +35,7 @@ public class MediaDataProducerStatusProtocol extends ProtocolRoomAdapter { @Override public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map body) { - if(clientType.mediaClient()) { + if(clientType.isClient()) { client.push(mediaClient.request(message)); } else { this.logNoAdapter(clientType); diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaIceRestartProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaIceRestartProtocol.java index 77b1a5c..875241d 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaIceRestartProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaIceRestartProtocol.java @@ -44,7 +44,7 @@ public class MediaIceRestartProtocol extends ProtocolRoomAdapter { @Override public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map body) { - if(clientType.mediaClient()) { + if(clientType.isClient()) { client.push(mediaClient.request(message)); } else { this.logNoAdapter(clientType); diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaProduceProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaProduceProtocol.java index 49e92b5..bdd4c6e 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaProduceProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaProduceProtocol.java @@ -47,7 +47,7 @@ public class MediaProduceProtocol extends ProtocolRoomAdapter { @Override public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map body) { - if(clientType.mediaClient()) { + if(clientType.isClient()) { final String kind = MapUtils.get(body, Constant.KIND); final String streamId = Constant.STREAM_ID_PRODUCER.apply(kind, clientId); body.put(Constant.CLIENT_ID, clientId); diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaProducerCloseProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaProducerCloseProtocol.java index 495d986..1c9e2d7 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaProducerCloseProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaProducerCloseProtocol.java @@ -64,9 +64,9 @@ public class MediaProducerCloseProtocol extends ProtocolRoomAdapter implements A log.debug("生产者无效:{} - {}", producerId, clientType); return; } - if(clientType.mediaClient()) { + if(clientType.isClient()) { producer.close(); - } else if(clientType.mediaServer()) { + } else if(clientType.isMedia()) { producer.remove(); producer.getProducerClient().push(message); } else { diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaProducerPauseProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaProducerPauseProtocol.java index 278143b..2e78776 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaProducerPauseProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaProducerPauseProtocol.java @@ -61,9 +61,9 @@ public class MediaProducerPauseProtocol extends ProtocolRoomAdapter implements A log.debug("生产者无效:{} - {}", producerId, clientType); return; } - if(clientType.mediaClient()) { + if(clientType.isClient()) { producer.pause(); - } else if(clientType.mediaServer()) { + } else if(clientType.isMedia()) { producer.getProducerClient().push(message); } else { this.logNoAdapter(clientType); diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaProducerResumeProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaProducerResumeProtocol.java index 608ee08..0f9ff22 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaProducerResumeProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaProducerResumeProtocol.java @@ -61,9 +61,9 @@ public class MediaProducerResumeProtocol extends ProtocolRoomAdapter implements log.debug("生产者无效:{} - {}", producerId, clientType); return; } - if(clientType.mediaClient()) { + if(clientType.isClient()) { producer.resume(); - } else if(clientType.mediaServer()) { + } else if(clientType.isMedia()) { producer.getProducerClient().push(message); } else { this.logNoAdapter(clientType); diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaProducerScoreProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaProducerScoreProtocol.java index ef665f9..5be0061 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaProducerScoreProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaProducerScoreProtocol.java @@ -38,7 +38,7 @@ public class MediaProducerScoreProtocol extends ProtocolRoomAdapter { @Override public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map body) { - if(clientType.mediaServer()) { + if(clientType.isMedia()) { room.broadcast(message); } else { this.logNoAdapter(clientType); diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaProducerStatusProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaProducerStatusProtocol.java index 5eebb3c..a6f61d8 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaProducerStatusProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaProducerStatusProtocol.java @@ -35,7 +35,7 @@ public class MediaProducerStatusProtocol extends ProtocolRoomAdapter { @Override public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map body) { - if(clientType.mediaClient()) { + if(clientType.isClient()) { client.push(mediaClient.request(message)); } else { this.logNoAdapter(clientType); diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaRouterRtpCapabilitiesProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaRouterRtpCapabilitiesProtocol.java index 26f4607..fcab7ca 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaRouterRtpCapabilitiesProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaRouterRtpCapabilitiesProtocol.java @@ -48,7 +48,7 @@ public class MediaRouterRtpCapabilitiesProtocol extends ProtocolRoomAdapter { @Override public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map body) { - if(clientType.mediaClient()) { + if(clientType.isClient()) { client.push(room.requestMedia(message)); } else { this.logNoAdapter(clientType); diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaTransportCloseProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaTransportCloseProtocol.java index e024802..a9c5a30 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaTransportCloseProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaTransportCloseProtocol.java @@ -64,9 +64,9 @@ public class MediaTransportCloseProtocol extends ProtocolRoomAdapter implements log.debug("通道无效:{} - {}", transportId, clientType); return; } - if(clientType.mediaClient()) { + if(clientType.isClient()) { transport.close(); - } else if(clientType.mediaServer()) { + } else if(clientType.isMedia()) { transport.remove(); transport.getClient().push(message); } else { diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaTransportStatusProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaTransportStatusProtocol.java index af05130..075d9a9 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaTransportStatusProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaTransportStatusProtocol.java @@ -35,7 +35,7 @@ public class MediaTransportStatusProtocol extends ProtocolRoomAdapter { @Override public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map body) { - if(clientType.mediaClient()) { + if(clientType.isClient()) { client.push(mediaClient.request(message)); } else { this.logNoAdapter(clientType); diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaTransportWebRtcConnectProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaTransportWebRtcConnectProtocol.java index 667eaa8..1abe485 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaTransportWebRtcConnectProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaTransportWebRtcConnectProtocol.java @@ -43,7 +43,7 @@ public class MediaTransportWebRtcConnectProtocol extends ProtocolRoomAdapter { @Override public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map body) { - if(clientType.mediaClient()) { + if(clientType.isClient()) { final Message response = room.requestMedia(message); final Map responseBody = response.body(); client.push(response); diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaTransportWebRtcCreateProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaTransportWebRtcCreateProtocol.java index 2663d54..420c095 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaTransportWebRtcCreateProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaTransportWebRtcCreateProtocol.java @@ -62,7 +62,7 @@ public class MediaTransportWebRtcCreateProtocol extends ProtocolRoomAdapter { @Override public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map body) { - if(clientType.mediaClient()) { + if(clientType.isClient()) { body.put(Constant.CLIENT_ID, clientId); final Message response = room.requestMedia(message); final Map responseBody = response.body(); diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaVideoOrientationChangeProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaVideoOrientationChangeProtocol.java index 66d906d..e5e8c61 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaVideoOrientationChangeProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaVideoOrientationChangeProtocol.java @@ -37,7 +37,7 @@ public class MediaVideoOrientationChangeProtocol extends ProtocolRoomAdapter { @Override public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map body) { - if(clientType.mediaServer()) { + if(clientType.isMedia()) { room.broadcast(message); } else { this.logNoAdapter(clientType); diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomCloseProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomCloseProtocol.java index 3563ab1..ab60620 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomCloseProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomCloseProtocol.java @@ -46,9 +46,9 @@ public class RoomCloseProtocol extends ProtocolRoomAdapter implements Applicatio @Override public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map body) { - if(clientType.mediaClient()) { + if(clientType.isClient()) { room.close(); - } else if(clientType.mediaServer()) { + } else if(clientType.isMedia()) { room.remove(); room.broadcast(message); } else { diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomCreateProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomCreateProtocol.java index a9300d7..387204a 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomCreateProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomCreateProtocol.java @@ -61,7 +61,7 @@ public class RoomCreateProtocol extends ProtocolClientAdapter implements Applica @Override public void execute(String clientId, ClientType clientType, Client client, Message message, Map body) { - if(clientType.mediaClient()) { + if(clientType.isClient()) { // WEB同步创建房间 final Room room = this.roomManager.create( MapUtils.get(body, Constant.NAME), diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomEnterProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomEnterProtocol.java index cd69fc1..161dba4 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomEnterProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomEnterProtocol.java @@ -76,7 +76,7 @@ public class RoomEnterProtocol extends ProtocolRoomAdapter { @Override public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map body) { - if(clientType.mediaClient()) { + if(clientType.isClient()) { this.enter(clientId, room, client, message, body); } else { this.logNoAdapter(clientType); diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomExpelProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomExpelProtocol.java index db4f487..8f41e21 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomExpelProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomExpelProtocol.java @@ -37,7 +37,7 @@ public class RoomExpelProtocol extends ProtocolRoomAdapter { @Override public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map body) { - if(clientType.mediaClient()) { + if(clientType.isClient()) { final String expelClientId = MapUtils.get(body, Constant.CLIENT_ID); room.unicast(expelClientId, message); // 如果需要强制提出 diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomInviteProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomInviteProtocol.java index 6781e86..59bdd1d 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomInviteProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomInviteProtocol.java @@ -38,7 +38,7 @@ public class RoomInviteProtocol extends ProtocolRoomAdapter { @Override public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map body) { - if(clientType.mediaClient()) { + if(clientType.isClient()) { final String inviteClientId = MapUtils.get(body, Constant.CLIENT_ID); body.put(Constant.PASSWORD, room.getPassword()); this.clientManager.unicast(inviteClientId, message); diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomLeaveProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomLeaveProtocol.java index 5088452..115350a 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomLeaveProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomLeaveProtocol.java @@ -24,6 +24,10 @@ import com.acgist.taoyao.signal.protocol.ProtocolRoomAdapter; @Description( body = """ { + "roomId": "房间ID" + } + { + "roomId" : "房间ID" "clientId": "离开终端ID" } """, @@ -43,7 +47,7 @@ public class RoomLeaveProtocol extends ProtocolRoomAdapter implements Applicatio @Async @Override public void onApplicationEvent(RoomLeaveEvent event) { - final Room room = event.getRoom(); + final Room room = event.getRoom(); final Client client = event.getClient(); final Map body = Map.of( Constant.ROOM_ID, room.getRoomId(), @@ -54,7 +58,7 @@ public class RoomLeaveProtocol extends ProtocolRoomAdapter implements Applicatio @Override public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map body) { - if(clientType.mediaClient()) { + if(clientType.isClient()) { room.leave(client); } else { this.logNoAdapter(clientType); diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomListProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomListProtocol.java index 4818579..06685d2 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomListProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/room/RoomListProtocol.java @@ -17,6 +17,9 @@ import com.acgist.taoyao.signal.protocol.ProtocolClientAdapter; @Protocol @Description( body = """ + { + "roomId": "房间ID" + } [ { "name" : "房间名称",