public async Task Write(Stream fileStream)
        {
            string wavIntermediate = Path.Combine(outputDirectoryProvider.GetOutputDirectory(), Guid.NewGuid() + ".wav");

            try
            {
                {
                    await waveStream.Write(wavIntermediate);

                    await progressReporter.ReportProgress(0.97, JobProgressStatus.InProgress, "Converting WAV to MP3");

                    await using var audioFileReader = new AudioFileReader(wavIntermediate);
                    await using var writer          = new LameMP3FileWriter(fileStream, audioFileReader.WaveFormat, LAMEPreset.ABR_320);
                    await audioFileReader.CopyToAsync(writer);
                } // dispose it before reporting complete
                await progressReporter.ReportProgress(1, JobProgressStatus.Complete, "File created successfully");
            }
            finally
            {
                if (File.Exists(wavIntermediate))
                {
                    try { File.Delete(wavIntermediate); } catch (Exception) { }
                }
            }
        }