handle combined participant update. (#130)

* handle combined participant update (WIP).

* always emit events for new publications.

* update info for exist participant.

* fix tests.

* update.

* Move emitWhenConnected to Room layer.
This commit is contained in:
CloudWebRTC
2022-07-04 11:11:56 +08:00
committed by GitHub
parent 8f877e98ec
commit bcfea1e625
5 changed files with 65 additions and 18 deletions
+21
View File
@@ -406,6 +406,27 @@ class Engine extends Disposable with EventsEmittable<EngineEvent> {
logger.fine('[WebRTC] stream.onRemoveTrack');
};
if (connectionState == ConnectionState.reconnecting ||
connectionState == ConnectionState.connecting) {
final track = event.track;
final receiver = event.receiver;
events.on<EngineConnectionStateUpdatedEvent>((event) async {
Timer(const Duration(milliseconds: 10), () {
events.emit(EngineTrackAddedEvent(
track: track,
stream: stream,
receiver: receiver,
));
});
});
return;
}
if (connectionState == ConnectionState.disconnected) {
logger.warning('skipping incoming track after Room disconnected');
return;
}
events.emit(EngineTrackAddedEvent(
track: event.track,
stream: stream,