externalize rtc config generation into seperate method
This commit is contained in:
parent
61fb38cd84
commit
a508a81553
|
@ -1511,6 +1511,7 @@ public class JingleRtpConnection extends AbstractJingleConnection implements Web
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initiateIceRestart() {
|
private void initiateIceRestart() {
|
||||||
|
//TODO discover new TURN/STUN credentials
|
||||||
this.stateHistory.clear();
|
this.stateHistory.clear();
|
||||||
this.webRTCWrapper.setIsReadyToReceiveIceCandidates(false);
|
this.webRTCWrapper.setIsReadyToReceiveIceCandidates(false);
|
||||||
final SessionDescription sessionDescription;
|
final SessionDescription sessionDescription;
|
||||||
|
|
|
@ -267,12 +267,7 @@ public class WebRTCWrapper {
|
||||||
.createPeerConnectionFactory();
|
.createPeerConnectionFactory();
|
||||||
|
|
||||||
|
|
||||||
final PeerConnection.RTCConfiguration rtcConfig = new PeerConnection.RTCConfiguration(iceServers);
|
final PeerConnection.RTCConfiguration rtcConfig = buildConfiguration(iceServers);
|
||||||
rtcConfig.tcpCandidatePolicy = PeerConnection.TcpCandidatePolicy.DISABLED; //XEP-0176 doesn't support tcp
|
|
||||||
rtcConfig.continualGatheringPolicy = PeerConnection.ContinualGatheringPolicy.GATHER_CONTINUALLY;
|
|
||||||
rtcConfig.sdpSemantics = PeerConnection.SdpSemantics.UNIFIED_PLAN;
|
|
||||||
rtcConfig.rtcpMuxPolicy = PeerConnection.RtcpMuxPolicy.NEGOTIATE;
|
|
||||||
rtcConfig.enableImplicitRollback = true;
|
|
||||||
final PeerConnection peerConnection = peerConnectionFactory.createPeerConnection(rtcConfig, peerConnectionObserver);
|
final PeerConnection peerConnection = peerConnectionFactory.createPeerConnection(rtcConfig, peerConnectionObserver);
|
||||||
if (peerConnection == null) {
|
if (peerConnection == null) {
|
||||||
throw new InitializationException("Unable to create PeerConnection");
|
throw new InitializationException("Unable to create PeerConnection");
|
||||||
|
@ -306,6 +301,20 @@ public class WebRTCWrapper {
|
||||||
this.peerConnection = peerConnection;
|
this.peerConnection = peerConnection;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static PeerConnection.RTCConfiguration buildConfiguration(final List<PeerConnection.IceServer> iceServers) {
|
||||||
|
final PeerConnection.RTCConfiguration rtcConfig = new PeerConnection.RTCConfiguration(iceServers);
|
||||||
|
rtcConfig.tcpCandidatePolicy = PeerConnection.TcpCandidatePolicy.DISABLED; //XEP-0176 doesn't support tcp
|
||||||
|
rtcConfig.continualGatheringPolicy = PeerConnection.ContinualGatheringPolicy.GATHER_CONTINUALLY;
|
||||||
|
rtcConfig.sdpSemantics = PeerConnection.SdpSemantics.UNIFIED_PLAN;
|
||||||
|
rtcConfig.rtcpMuxPolicy = PeerConnection.RtcpMuxPolicy.NEGOTIATE;
|
||||||
|
rtcConfig.enableImplicitRollback = true;
|
||||||
|
return rtcConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
void reconfigurePeerConnection(final List<PeerConnection.IceServer> iceServers) {
|
||||||
|
requirePeerConnection().setConfiguration(buildConfiguration(iceServers));
|
||||||
|
}
|
||||||
|
|
||||||
void restartIce() {
|
void restartIce() {
|
||||||
executorService.execute(() -> requirePeerConnection().restartIce());
|
executorService.execute(() -> requirePeerConnection().restartIce());
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue