public async Task <bool> Render( ThumbnailsRenderContext ctx, ThumbnailsRenderFileInfo fileInfo, ThumbnailsRenderOption option) { await _fileService.ReadFileStream(fileInfo.FileHandle, videoStream => { using var formatContext = new FormatContext(videoStream); var attachedPicStream = formatContext.FindAttachedPicStream(); if (attachedPicStream != null) { DrawAttachedPicture(ctx, attachedPicStream); } else { var audioStream = formatContext.FindBestAudioStream(); if (audioStream == null) { throw new InvalidDataException("No audio stream found"); } DrawWaves(ctx, audioStream); } return(ValueTask.FromResult(true)); }); return(true); }