getValidMediaStream method

Future<MediaStream?> getValidMediaStream(
  1. MediaStream? mediaStream
)

Implementation

Future<MediaStream?> getValidMediaStream(MediaStream? mediaStream) async {
  if (mediaStream == null) {
    return null;
  }

  if (isMediaStreamValid(mediaStream)) {
    return mediaStream;
    // ignore: unnecessary_type_check
  } else if (mediaStream is! MediaStream) {
    _logger.i('Creating MediaStream to add received tracks.');
    MediaStream stream = await createLocalMediaStream('myStream');
    mediaStream.getTracks().forEach((track) {
      stream.addTrack(track);
    });

    if (isMediaStreamValid(stream)) {
      return stream;
    }
  }
  return null;
}