in src/main/java/com/amazonaws/kinesisvideo/demoapp/activity/WebRtcActivity.java [269:282]
private void handlePendingIceCandidates(String clientId) {
// Add any pending ICE candidates from the queue for the client ID
Log.d(TAG, "Pending ice candidates found? " + pendingIceCandidatesMap.get(clientId));
Queue<IceCandidate> pendingIceCandidatesQueueByClientId = pendingIceCandidatesMap.get(clientId);
while(pendingIceCandidatesQueueByClientId != null && !pendingIceCandidatesQueueByClientId.isEmpty()) {
final IceCandidate iceCandidate = pendingIceCandidatesQueueByClientId.peek();
final PeerConnection peer = peerConnectionFoundMap.get(clientId);
final boolean addIce = peer.addIceCandidate(iceCandidate);
Log.d(TAG, "Added ice candidate after SDP exchange " + iceCandidate + " " + (addIce ? "Successfully" : "Failed"));
pendingIceCandidatesQueueByClientId.remove();
}
// After sending pending ICE candidates, the client ID's peer connection need not be tracked
pendingIceCandidatesMap.remove(clientId);
}