createPeerConnection method

  1. @override
Future<RTCPeerConnection> createPeerConnection(
  1. Map<String, dynamic> configuration, [
  2. Map<String, dynamic>? constraints
])
override

Implementation

@override
Future<RTCPeerConnection> createPeerConnection(
    Map<String, dynamic> configuration,
    [Map<String, dynamic>? constraints]) async {
  final constr = (constraints != null && constraints.isNotEmpty)
      ? constraints
      : {
          'mandatory': {},
          'optional': [
            {'DtlsSrtpKeyAgreement': true},
          ],
        };
  final jsRtcPc = web.RTCPeerConnection(
      jsify({...constr, ...configuration}) as web.RTCConfiguration);
  final _peerConnectionId = base64Encode(jsRtcPc.toString().codeUnits);
  return RTCPeerConnectionWeb(_peerConnectionId, jsRtcPc);
}