[+] 视频添加

This commit is contained in:
acgist
2023-02-26 16:44:30 +08:00
parent a0ebe8c842
commit 71ada0a8ca
10 changed files with 437 additions and 86 deletions

View File

@@ -105,6 +105,7 @@ public class MediaConsumeProtocol extends ProtocolRoomAdapter implements Applica
final String streamId = producer.getStreamId() + "->" + clientId;
body.put(Constant.ROOM_ID, room.getRoomId());
body.put(Constant.CLIENT_ID, clientId);
body.put(Constant.SOURCE_ID, producer.getProduceClient().getClientId());
body.put(Constant.STREAM_ID, streamId);
body.put(Constant.PRODUCER_ID, producer.getProducerId());
body.put(Constant.TRANSPORT_ID, recvTransport.getTransportId());

View File

@@ -1,5 +1,36 @@
package com.acgist.taoyao.signal.protocol.room;
public class RoomClientListProtocol {
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.flute.media.Room;
import com.acgist.taoyao.signal.protocol.ProtocolRoomAdapter;
/**
* 房间终端列表信令
*
* @author acgist
*/
@Protocol
@Description(
flow = "终端=>信令服务->终端"
)
public class RoomClientListProtocol extends ProtocolRoomAdapter {
public static final String SIGNAL = "room::client::list";
public RoomClientListProtocol() {
super("房间终端列表信令", SIGNAL);
}
@Override
public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map<String, Object> body) {
message.setBody(room.clientStatus());
client.push(message);
}
}

View File

@@ -45,8 +45,11 @@ public class RoomEnterProtocol extends ProtocolRoomAdapter {
public static final String SIGNAL = "room::enter";
public RoomEnterProtocol() {
private final RoomClientListProtocol roomClientListProtocol;
public RoomEnterProtocol(RoomClientListProtocol roomClientListProtocol) {
super("进入房间信令", SIGNAL);
this.roomClientListProtocol = roomClientListProtocol;
}
@Override
@@ -71,6 +74,10 @@ public class RoomEnterProtocol extends ProtocolRoomAdapter {
));
room.broadcast(message);
log.info("进入房间:{} - {}", clientId, room.getRoomId());
// 推送房间用户信息
final Message roomClientListMessage = this.roomClientListProtocol.build();
roomClientListMessage.setBody(room.clientStatus());
client.push(roomClientListMessage);
}
}