[*] 日常优化

This commit is contained in:
acgist
2023-09-25 07:42:19 +08:00
parent 69b5bedd07
commit 809a938867
4 changed files with 89 additions and 49 deletions

View File

@@ -883,44 +883,38 @@ class Taoyao {
// consumer.observer.on("score", fn(score)); // consumer.observer.on("score", fn(score));
consumer.on("score", (score) => { consumer.on("score", (score) => {
console.debug("消费者评分", consumer.id, streamId, score); console.debug("消费者评分", consumer.id, streamId, score);
me.push( me.push(protocol.buildMessage("media::consumer::score", {
protocol.buildMessage("media::consumer::score", { score,
roomId : roomId, roomId,
consumerId: consumer.id, consumerId: consumer.id,
score : score, }));
})
);
}); });
// consumer.observer.on("layerschange", fn(layers)); // consumer.observer.on("layerschange", fn(layers));
consumer.on("layerschange", (layers) => { consumer.on("layerschange", (layers) => {
console.debug("消费者空间层和时间层改变", consumer.id, streamId, layers); console.debug("消费者空间层和时间层改变", consumer.id, streamId, layers);
me.push( me.push(protocol.buildMessage("media::consumer::layers::change", {
protocol.buildMessage("media::consumer::layers::change", { roomId,
roomId : roomId, consumerId : consumer.id,
consumerId : consumer.id, spatialLayer : layers ? layers.spatialLayer : null,
spatialLayer : layers ? layers.spatialLayer : null, temporalLayer: layers ? layers.temporalLayer : null,
temporalLayer: layers ? layers.temporalLayer : null, }));
})
);
}); });
consumer.observer.on("close", () => { consumer.observer.on("close", () => {
if(room.consumers.delete(consumer.id)) { if(room.consumers.delete(consumer.id)) {
console.info("消费者关闭", consumer.id, streamId); console.info("消费者关闭", consumer.id, streamId);
me.push( me.push(protocol.buildMessage("media::consumer::close", {
protocol.buildMessage("media::consumer::close", { roomId,
roomId : roomId, consumerId: consumer.id
consumerId: consumer.id }));
})
);
} else { } else {
console.debug("消费者关闭(无效)", consumer.id, streamId); console.debug("消费者关闭(消费者无效)", consumer.id, streamId);
} }
}); });
consumer.observer.on("pause", () => { consumer.observer.on("pause", () => {
console.debug("消费者暂停", consumer.id, streamId); console.debug("消费者暂停", consumer.id, streamId);
me.push( me.push(
protocol.buildMessage("media::consumer::pause", { protocol.buildMessage("media::consumer::pause", {
roomId : roomId, roomId,
consumerId: consumer.id consumerId: consumer.id
}) })
); );
@@ -929,7 +923,7 @@ class Taoyao {
console.debug("消费者恢复", consumer.id, streamId); console.debug("消费者恢复", consumer.id, streamId);
me.push( me.push(
protocol.buildMessage("media::consumer::resume", { protocol.buildMessage("media::consumer::resume", {
roomId : roomId, roomId,
consumerId: consumer.id consumerId: consumer.id
}) })
); );
@@ -940,21 +934,19 @@ class Taoyao {
// console.info("消费者跟踪事件trace", consumer.id, streamId, trace); // console.info("消费者跟踪事件trace", consumer.id, streamId, trace);
// }); // });
// 等待终端准备就绪可以不用等待直接使用push方法 // 等待终端准备就绪可以不用等待直接使用push方法
await me.request( await me.request(protocol.buildMessage("media::consume", {
protocol.buildMessage("media::consume", { roomId,
roomId : roomId, clientId,
clientId : clientId, sourceId,
sourceId : sourceId, streamId,
streamId : streamId, producerId,
producerId : producerId, consumerId : consumer.id,
consumerId : consumer.id, kind : consumer.kind,
kind : consumer.kind, type : consumer.type,
type : consumer.type, appData : producer.appData,
appData : producer.appData, rtpParameters : consumer.rtpParameters,
rtpParameters : consumer.rtpParameters, producerPaused: consumer.producerPaused,
producerPaused: consumer.producerPaused, }));
})
);
await consumer.resume(); await consumer.resume();
consumer.localPaused = false; consumer.localPaused = false;
})() })()

View File

@@ -1642,15 +1642,6 @@ class Taoyao extends RemoteClient {
} }
} }
/**
* 媒体消费者评分信令
*
* @param {*} message 信令消息
*/
defaultMediaConsumerScore(message) {
console.debug("消费者评分", message);
}
/** /**
* 消费媒体信令 * 消费媒体信令
* *
@@ -1757,6 +1748,15 @@ class Taoyao extends RemoteClient {
} }
} }
/**
* 媒体消费者评分信令
*
* @param {*} message 信令消息
*/
defaultMediaConsumerScore(message) {
console.debug("消费者评分", message);
}
/** /**
* 修改最佳空间层和时间层信令 * 修改最佳空间层和时间层信令
* *

View File

@@ -0,0 +1,47 @@
package com.acgist.taoyao.signal.protocol.media;
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.party.room.Room;
import com.acgist.taoyao.signal.protocol.ProtocolRoomAdapter;
/**
* 消费者空间层和时间层改变信令
*
* @author acgist
*/
@Protocol
@Description(
body = """
{
"roomId" : "房间ID"
"consumerId" : "消费者ID",
"spatialLayer" : 最佳空间层,
"temporalLayer": 最佳时间层
}
""",
flow = "媒体服务->信令服务+)终端"
)
public class MediaConsumerLayersChangeProtocol extends ProtocolRoomAdapter {
public static final String SIGNAL = "media::consumer::layers::change";
protected MediaConsumerLayersChangeProtocol() {
super("消费者空间层和时间层改变信令", SIGNAL);
}
@Override
public void execute(String clientId, ClientType clientType, Room room, Client client, Client mediaClient, Message message, Map<String, Object> body) {
if(clientType.isMedia()) {
room.broadcast(message);
} else {
this.logNoAdapter(clientType);
}
}
}

View File

@@ -24,7 +24,8 @@ import com.acgist.taoyao.signal.protocol.ProtocolRoomAdapter;
"consumerId": "消费者ID", "consumerId": "消费者ID",
"priority" : 优先级1~255 "priority" : 优先级1~255
} }
""" """,
flow = "终端->信令服务->媒体服务"
) )
public class MediaConsumerSetPriorityProtocol extends ProtocolRoomAdapter { public class MediaConsumerSetPriorityProtocol extends ProtocolRoomAdapter {