fix: set forceRelay if server response is enabled. (#251)
This commit is contained in:
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user