Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
Mario Danic 2017-11-29 11:29:01 +01:00
parent 6bb853ee02
commit 6cad0660d2

View File

@ -49,9 +49,7 @@ public class MagicPeerConnectionWrapper {
private static PeerConnection peerConnection; private static PeerConnection peerConnection;
List<IceCandidate> iceCandidates = new ArrayList<>(); List<IceCandidate> iceCandidates = new ArrayList<>();
private List<PeerConnection.IceServer> iceServers; private List<PeerConnection.IceServer> iceServers;
private List<NCIceCandidate> localCandidates = new ArrayList<>();
private String sessionId; private String sessionId;
private String localSession;
private String nick; private String nick;
private MediaConstraints mediaConstraints; private MediaConstraints mediaConstraints;
private DataChannel magicDataChannel; private DataChannel magicDataChannel;
@ -78,23 +76,12 @@ public class MagicPeerConnectionWrapper {
} }
this.sessionId = sessionId; this.sessionId = sessionId;
this.localSession = localSession;
this.mediaConstraints = mediaConstraints; this.mediaConstraints = mediaConstraints;
magicSdpObserver = new MagicSdpObserver(); magicSdpObserver = new MagicSdpObserver();
} }
public void sendLocalCandidates() {
for (NCIceCandidate ncIceCandidate : localCandidates) {
EventBus.getDefault().post(new SessionDescriptionSendEvent(null, sessionId,
"candidate", ncIceCandidate));
}
localCandidates = new ArrayList<>();
}
public void drainIceCandidates() { public void drainIceCandidates() {
for (IceCandidate iceCandidate : iceCandidates) { for (IceCandidate iceCandidate : iceCandidates) {
@ -212,12 +199,6 @@ public class MagicPeerConnectionWrapper {
ncIceCandidate.setSdpMid(iceCandidate.sdpMid); ncIceCandidate.setSdpMid(iceCandidate.sdpMid);
ncIceCandidate.setSdpMLineIndex(iceCandidate.sdpMLineIndex); ncIceCandidate.setSdpMLineIndex(iceCandidate.sdpMLineIndex);
ncIceCandidate.setCandidate(iceCandidate.sdp); ncIceCandidate.setCandidate(iceCandidate.sdp);
/*if (peerConnection.getRemoteDescription() == null) {
localCandidates.add(ncIceCandidate);
} else {
EventBus.getDefault().post(new SessionDescriptionSendEvent(null, sessionId,
"candidate", ncIceCandidate));
}*/
EventBus.getDefault().post(new SessionDescriptionSendEvent(null, sessionId, EventBus.getDefault().post(new SessionDescriptionSendEvent(null, sessionId,
"candidate", ncIceCandidate)); "candidate", ncIceCandidate));
} }
@ -229,15 +210,15 @@ public class MagicPeerConnectionWrapper {
@Override @Override
public void onAddStream(MediaStream mediaStream) { public void onAddStream(MediaStream mediaStream) {
videoOn = mediaStream.videoTracks.size() == 1; videoOn = mediaStream.videoTracks != null && mediaStream.videoTracks.size() == 1;
audioOn = mediaStream.audioTracks.size() == 1; audioOn = mediaStream.audioTracks != null && mediaStream.audioTracks.size() == 1;
EventBus.getDefault().post(new MediaStreamEvent(mediaStream, sessionId)); EventBus.getDefault().post(new MediaStreamEvent(mediaStream, sessionId));
} }
@Override @Override
public void onRemoveStream(MediaStream mediaStream) { public void onRemoveStream(MediaStream mediaStream) {
videoOn = mediaStream.videoTracks.size() == 1; videoOn = mediaStream.videoTracks != null && mediaStream.videoTracks.size() == 1;
audioOn = mediaStream.audioTracks.size() == 1; audioOn = mediaStream.audioTracks != null && mediaStream.audioTracks.size() == 1;
} }
@Override @Override
@ -294,7 +275,6 @@ public class MagicPeerConnectionWrapper {
peerConnection.getLocalDescription().type.canonicalForm(), null)); peerConnection.getLocalDescription().type.canonicalForm(), null));
} else if (peerConnection.getRemoteDescription() != null) { } else if (peerConnection.getRemoteDescription() != null) {
drainIceCandidates(); drainIceCandidates();
sendLocalCandidates();
} }
} }
} }