addMediaTrack method

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

Implementation

@override
Future<MediaStream> addMediaTrack(MediaStreamTrack track) {
  log('addMediaTrack', _TAG);

  if (localStream == null) {
    return Future.error(IllegalStateException(
        'Can\'t add the track cause the local media stream doesn\'t exist'));
  }

  localStream?.addTrack(track);

  return channels[publisherId]?.addTrack(track, localStream).then((value) {
        return localStream!;
      }).whenComplete(() {
        onLocalStreamReceived?.call(localStream!);
      }) ??
      Future.error(IllegalStateException(
          'Can\'t add the track cause the publisher\'s peer connection doesn\'t exist'));
}