startUpload method

Future<void> startUpload({
  1. ProgressCallback? onProgress,
  2. dynamic onComplete(
    1. CloudflareStreamVideo? cloudflareStreamVideo
    )?,
  3. dynamic onTimeout()?,
})

Start or resume an upload in chunks It throws ProtocolException on server error

Implementation

Future<void> startUpload({
  dio.ProgressCallback? onProgress,
  Function(CloudflareStreamVideo? cloudflareStreamVideo)? onComplete,
  Function()? onTimeout,
}) {
  return _tusClient.startUpload(
    onProgress: (count, total, response) {
      onProgress?.call(count, total);
    },
    onComplete: (response) {
      if (onComplete != null) {
        final streamMediaId = response.headers[Params.streamMediaIdKC] ?? '';
        if (streamMediaId.isNotEmpty) {
          _dataUploadDraft = _dataUploadDraft.copyWith(id: streamMediaId);
        }
        final cloudflareStreamVideo = (_dataUploadDraft.id.isEmpty
                ? CloudflareStreamVideo.fromUrl(_dataUploadDraft.uploadURL)
                : CloudflareStreamVideo(
                    id: _dataUploadDraft.id,
                  ))
            ?.copyWith(readyToStream: true);
        onComplete(cloudflareStreamVideo);
      }
    },
    onTimeout: onTimeout,
  );
}