fix: set forceRelay if server response is enabled. (#251)

This commit is contained in:
CloudWebRTC
2023-03-08 10:27:59 +08:00
committed by GitHub
parent c74e6777d8
commit 2c72d6fd73
+8 -19
View File
@@ -279,7 +279,7 @@ class Engine extends Disposable with EventsEmittable<EngineEvent> {
} }
Future<void> _configurePeerConnections( Future<void> _configurePeerConnections(
{required lk_models.ClientConfigSetting forceRelay, {required lk_models.ClientConfigSetting serverResponseForceRelay,
required List<RTCIceServer> serverProvidedIceServers}) async { required List<RTCIceServer> serverProvidedIceServers}) async {
if (publisher != null || subscriber != null) { if (publisher != null || subscriber != null) {
logger.warning('Already configured'); logger.warning('Already configured');
@@ -297,23 +297,11 @@ class Engine extends Disposable with EventsEmittable<EngineEvent> {
.copyWith(iceServers: serverProvidedIceServers); .copyWith(iceServers: serverProvidedIceServers);
} }
// set forceRelay // set forceRelay if server response is enabled
if (rtcConfiguration.iceTransportPolicy == null) { if (serverResponseForceRelay == lk_models.ClientConfigSetting.ENABLED) {
switch (forceRelay) { rtcConfiguration = rtcConfiguration.copyWith(
case lk_models.ClientConfigSetting.ENABLED: iceTransportPolicy: RTCIceTransportPolicy.relay,
rtcConfiguration = rtcConfiguration.copyWith( );
iceTransportPolicy: RTCIceTransportPolicy.relay,
);
break;
case lk_models.ClientConfigSetting.DISABLED:
rtcConfiguration = rtcConfiguration.copyWith(
iceTransportPolicy: RTCIceTransportPolicy.all,
);
break;
case lk_models.ClientConfigSetting.UNSET:
// do nothing
break;
}
} }
publisher = await Transport.create(_peerConnectionCreate, publisher = await Transport.create(_peerConnectionCreate,
@@ -723,7 +711,8 @@ class Engine extends Disposable with EventsEmittable<EngineEvent> {
'forceRelay: $event.response.clientConfiguration.forceRelay'); 'forceRelay: $event.response.clientConfiguration.forceRelay');
await _configurePeerConnections( await _configurePeerConnections(
forceRelay: event.response.clientConfiguration.forceRelay, serverResponseForceRelay:
event.response.clientConfiguration.forceRelay,
serverProvidedIceServers: _serverProvidedIceServers); serverProvidedIceServers: _serverProvidedIceServers);
if (!_subscriberPrimary) { if (!_subscriberPrimary) {