negotiate method

void negotiate(
  1. RTCSessionDescription description
)

Implementation

void negotiate(RTCSessionDescription description) async {
  try {
    var pc = transports[RoleSub]!.pc;
    if (pc != null) {
      await pc.setRemoteDescription(description);
      transports[RoleSub]!.candidates.forEach((c) => pc.addCandidate(c));
      transports[RoleSub]!.candidates = [];
      var answer = await pc.createAnswer({});
      await pc.setLocalDescription(answer);
      signal.answer(answer);
    }
  } catch (err) {
    log.error('negotiate: e => ${err.toString()}');
  }
}