[*] 调整逻辑

This commit is contained in:
acgist
2022-11-20 20:12:31 +08:00
parent cf476b842b
commit 8a19192f1d
11 changed files with 56 additions and 63 deletions

View File

@@ -273,6 +273,8 @@
### 关闭直播信令3001
### 直播广播信令3002
### 直播终端列表信令3997
### 直播状态信令3998
@@ -331,6 +333,8 @@
广播
### 会议广播信令4006
### 会议终端列表信令4997
### 会议状态信令4998

View File

@@ -1,8 +1,6 @@
package com.acgist.taoyao.signal.client;
import com.acgist.taoyao.boot.model.Message;
import com.acgist.taoyao.signal.media.ClientMediaPublisher;
import com.acgist.taoyao.signal.media.ClientMediaSubscriber;
/**
* 终端会话
@@ -23,16 +21,6 @@ public interface ClientSession extends AutoCloseable {
*/
ClientSessionStatus status();
/**
* @return 终端媒体发布者
*/
ClientMediaPublisher publisher();
/**
* @return 终端媒体订阅者
*/
ClientMediaSubscriber subscriber();
/**
* 推送消息
*

View File

@@ -2,9 +2,6 @@ package com.acgist.taoyao.signal.client;
import org.apache.commons.lang3.StringUtils;
import com.acgist.taoyao.signal.media.ClientMediaPublisher;
import com.acgist.taoyao.signal.media.ClientMediaSubscriber;
/**
* 会话适配器
*
@@ -32,22 +29,12 @@ public abstract class ClientSessionAdapter<T extends AutoCloseable> implements C
* 终端状态
*/
protected ClientSessionStatus status;
/**
* 终端媒体发布者
*/
protected ClientMediaPublisher publisher;
/**
* 终端媒体订阅者
*/
protected ClientMediaSubscriber subscriber;
protected ClientSessionAdapter(T instance) {
this.time = System.currentTimeMillis();
this.instance = instance;
this.authorized = false;
this.status = new ClientSessionStatus();
this.publisher = new ClientMediaPublisher();
this.subscriber = new ClientMediaSubscriber();
}
@Override
@@ -60,16 +47,6 @@ public abstract class ClientSessionAdapter<T extends AutoCloseable> implements C
return this.status;
}
@Override
public ClientMediaPublisher publisher() {
return this.publisher;
}
@Override
public ClientMediaSubscriber subscriber() {
return this.subscriber;
}
@Override
public boolean timeout(long timeout) {
return !this.authorized && System.currentTimeMillis() - this.time > timeout;

View File

@@ -0,0 +1,19 @@
package com.acgist.taoyao.signal.media;
import java.util.List;
import com.acgist.taoyao.signal.media.router.Router;
public interface RouterManager {
void bindId();
List<Router> from();
List<Router> to();
void fromRouteTo(String from, String to);
void fromOrTo(String sn);
}

View File

@@ -0,0 +1,12 @@
package com.acgist.taoyao.signal.media.processor;
/**
* 媒体处理:混音、美颜等等
*
* 处理完成发送订阅者
*
* @author acgist
*/
public interface Processor {
}

View File

@@ -1,10 +0,0 @@
package com.acgist.taoyao.signal.media.router;
/**
* 终端媒体流路由(推流->拉流)
*
* @author acgist
*/
public interface ClientMediaStreamRouter {
}

View File

@@ -1,10 +0,0 @@
package com.acgist.taoyao.signal.media.router;
import com.acgist.taoyao.signal.media.stream.ClientMediaStream;
public class ClientMediaStreamRouterAdapter {
ClientMediaStream source;
ClientMediaStream target;
}

View File

@@ -0,0 +1,16 @@
package com.acgist.taoyao.signal.media.router;
/**
* 直播会议路由绑定
*
* 发布者->订阅者
*
* @author acgist
*/
public interface Router {
void from();
void to();
}

View File

@@ -1,4 +1,4 @@
package com.acgist.taoyao.signal.media;
package com.acgist.taoyao.signal.media.stream;
/**
* 终端媒体操作

View File

@@ -1,16 +1,16 @@
package com.acgist.taoyao.signal.media;
package com.acgist.taoyao.signal.media.stream;
import java.io.IOException;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import com.acgist.taoyao.signal.media.stream.ClientMediaStream;
import lombok.extern.slf4j.Slf4j;
/**
* 终端媒体流发布者终端推流
*
* 通过处理器发送给订阅者
*
* @author acgist
*/
@Slf4j
@@ -21,7 +21,6 @@ public class ClientMediaPublisher implements ClientMediaHandler {
*/
private Map<String, ClientMediaStream> streams = new ConcurrentHashMap<>();
/**
* 发布
*

View File

@@ -1,10 +1,8 @@
package com.acgist.taoyao.signal.media;
package com.acgist.taoyao.signal.media.stream;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import com.acgist.taoyao.signal.media.stream.ClientMediaStream;
/**
* 终端媒体订阅者终端拉流
*