[*] 逻辑优化
This commit is contained in:
@@ -94,10 +94,12 @@ public class ClientWrapper implements AutoCloseable {
|
|||||||
private Transport recvTransport;
|
private Transport recvTransport;
|
||||||
/**
|
/**
|
||||||
* 生产者
|
* 生产者
|
||||||
|
* 生产者里面的消费者是其他终端消费当前终端的消费者
|
||||||
*/
|
*/
|
||||||
private final Map<String, Producer> producers;
|
private final Map<String, Producer> producers;
|
||||||
/**
|
/**
|
||||||
* 消费者
|
* 消费者
|
||||||
|
* 当前终端消费其他终端的消费者
|
||||||
*/
|
*/
|
||||||
private final Map<String, Consumer> consumers;
|
private final Map<String, Consumer> consumers;
|
||||||
/**
|
/**
|
||||||
@@ -154,7 +156,7 @@ public class ClientWrapper implements AutoCloseable {
|
|||||||
*/
|
*/
|
||||||
public void remove(ClientWrapper wrapper) {
|
public void remove(ClientWrapper wrapper) {
|
||||||
this.consumers.entrySet().stream()
|
this.consumers.entrySet().stream()
|
||||||
.filter(v -> v.getValue().getConsumeClient() == wrapper)
|
.filter(v -> v.getValue().getProducer().getProduceClient() == wrapper)
|
||||||
.map(Map.Entry::getKey)
|
.map(Map.Entry::getKey)
|
||||||
.forEach(this.consumers::remove);
|
.forEach(this.consumers::remove);
|
||||||
// TODO:资源释放
|
// TODO:资源释放
|
||||||
|
|||||||
@@ -117,9 +117,13 @@ public class MediaConsumeProtocol extends ProtocolRoomAdapter implements Applica
|
|||||||
if(consumeClientWrapper.consume(producer)) {
|
if(consumeClientWrapper.consume(producer)) {
|
||||||
// TODO:回调媒体服务准备完成
|
// TODO:回调媒体服务准备完成
|
||||||
if(log.isDebugEnabled()) {
|
if(log.isDebugEnabled()) {
|
||||||
log.debug("已经消费:{}", consumeClientWrapper.getClientId(), producer.getStreamId());
|
log.debug("已经消费媒体:{} - {}", consumeClientWrapper.getClientId(), producer.getStreamId());
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
|
} else {
|
||||||
|
if(log.isDebugEnabled()) {
|
||||||
|
log.debug("消费媒体:{} - {}", consumeClientWrapper.getClientId(), producer.getStreamId());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
final String clientId = consumeClientWrapper.getClientId();
|
final String clientId = consumeClientWrapper.getClientId();
|
||||||
final String streamId = producer.getStreamId() + "->" + clientId;
|
final String streamId = producer.getStreamId() + "->" + clientId;
|
||||||
|
|||||||
Reference in New Issue
Block a user