feat(backend): extract audio duration during transcoding and persist to track

This commit is contained in:
2026-07-14 13:47:52 +02:00
parent d889aa63c5
commit 1711012541
8 changed files with 57 additions and 14 deletions
@@ -38,16 +38,22 @@ namespace Musify.Infrastructure.MassTransit.Activities.Audio
try
{
TimeSpan duration;
await using (var fileStream = File.OpenRead(sourceFilePath))
{
await audioTranscoder.TranscodeToAudioFileAsync(
duration = await audioTranscoder.TranscodeToAudioFileAsync(
fileStream,
workingDirectory,
executeContext.CancellationToken);
}
File.Delete(sourceFilePath);
return executeContext.Completed();
var log = new TranscodeAudioLog(workingDirectory);
return executeContext.CompletedWithVariables(log, new Dictionary<string, object>
{
[RoutingSlipVariableNames.Audio.DurationSeconds] = (int)Math.Round(duration.TotalSeconds)
} );
}
catch (Exception exception)
{