addMediaTrack method

  1. @override
Future<MediaStream> addMediaTrack(
  1. MediaStreamTrack track
)
inherited

Implementation

@override
Future<MediaStream> addMediaTrack(MediaStreamTrack track) {
  if (localStream == null) {
    return Future.error(IllegalStateException(
        'Can\'t add the track cause the local media stream doesn\'t exist'));
  }

  return Future.wait(channels
          .map((userId, peerConnection) => MapEntry(
                userId,
                peerConnection.addTrack(track, localStream),
              ))
          .values)
      .then((_) {
    localStream?.addTrack(track);
    onLocalStreamReceived?.call(localStream!);
    return localStream!;
  });
}