handleRemoteCandidate method

void handleRemoteCandidate(
  1. String callId,
  2. String candidateStr,
  3. String? sdpMid,
  4. int? sdpMLineIndex,
)

Handles remote ICE candidates received via WebSocket

Implementation

void handleRemoteCandidate(
  String callId,
  String candidateStr,
  String? sdpMid,
  int? sdpMLineIndex,
) async {
  final session = _sessions[_selfId];
  if (session?.peerConnection != null) {
    try {
      final candidate = RTCIceCandidate(
        candidateStr,
        sdpMid,
        sdpMLineIndex,
      );
      await session!.peerConnection!.addCandidate(candidate);
      GlobalLogger().i(
        'Web Peer :: Added remote candidate: $candidateStr',
      );
    } catch (e) {
      GlobalLogger().e(
        'Web Peer :: Error adding remote candidate: $e',
      );
    }
  }
}