Safe guard against crashing

Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
Mario Danic 2018-01-16 05:33:58 +01:00
parent 90b5055fb2
commit 02c115d49b

View file

@ -74,21 +74,25 @@ public class MagicPeerConnectionWrapper {
this.localSession = localSession;
this.localMediaStream = mediaStream;
peerConnection = peerConnectionFactory.createPeerConnection(iceServerList, mediaConstraints,
new MagicPeerConnectionObserver());
peerConnection.addStream(localMediaStream);
this.sessionId = sessionId;
this.mediaConstraints = mediaConstraints;
magicSdpObserver = new MagicSdpObserver();
hasInitiated = sessionId.compareTo(localSession) < 0;
if (hasInitiated) {
DataChannel.Init init = new DataChannel.Init();
init.negotiated = false;
magicDataChannel = peerConnection.createDataChannel("status", init);
magicDataChannel.registerObserver(new MagicDataChannelObserver());
peerConnection.createOffer(magicSdpObserver, mediaConstraints);
peerConnection = peerConnectionFactory.createPeerConnection(iceServerList, mediaConstraints,
new MagicPeerConnectionObserver());
if (peerConnection != null) {
peerConnection.addStream(localMediaStream);
if (hasInitiated) {
DataChannel.Init init = new DataChannel.Init();
init.negotiated = false;
magicDataChannel = peerConnection.createDataChannel("status", init);
magicDataChannel.registerObserver(new MagicDataChannelObserver());
peerConnection.createOffer(magicSdpObserver, mediaConstraints);
}
}
}