connect method

  1. @override
Future<void> connect()
override

Implementation

@override
Future<void> connect() async {
  _sig ??= _IonSFUGRPCSignal(connector, this);
  await _sig?.connect();

  _sfu = Client(_sig!, config);
  _sfu.transports = {
    RolePub:
        await Transport.create(role: RolePub, signal: _sig!, config: config),
    RoleSub:
        await Transport.create(role: RoleSub, signal: _sig!, config: config)
  };

  _sfu.signal.onready = () async {
    if (_sfu.initialized == false) {
      _sfu.initialized = true;
    }
  };

  _sfu.ontrack = (MediaStreamTrack track, RemoteStream stream) =>
      ontrack?.call(track, stream);
  _sfu.ondatachannel =
      (RTCDataChannel channel) => ondatachannel?.call(channel);
  _sfu.onspeaker = (list) => onspeaker?.call(list);
}