Merge pull request #36 from Crydsch/master

Fix progress event output
This commit is contained in:
Malte Rosenbjerg 2020-02-11 18:06:23 +01:00 committed by GitHub
commit 09f1d6e655
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 1 deletions

View file

@ -40,5 +40,9 @@ public override string GetStringValue()
{ {
return string.Join(" ", Value.Select(v => ArgumentStringifier.Input(v))); return string.Join(" ", Value.Select(v => ArgumentStringifier.Input(v)));
} }
public VideoInfo[] GetAsVideoInfo()
{
return Value.Select(v => new VideoInfo(v)).ToArray();
}
} }
} }

View file

@ -436,14 +436,21 @@ public VideoInfo ReplaceAudio(VideoInfo source, FileInfo audio, FileInfo output,
public VideoInfo Convert(ArgumentContainer arguments) public VideoInfo Convert(ArgumentContainer arguments)
{ {
var args = ArgumentBuilder.BuildArguments(arguments);
var output = ((OutputArgument)arguments[typeof(OutputArgument)]).GetAsFileInfo(); var output = ((OutputArgument)arguments[typeof(OutputArgument)]).GetAsFileInfo();
var sources = ((InputArgument)arguments[typeof(InputArgument)]).GetAsVideoInfo();
// Sum duration of all sources
_totalTime = TimeSpan.Zero;
foreach (var source in sources)
_totalTime += source.Duration;
if (!RunProcess(arguments, output)) if (!RunProcess(arguments, output))
{ {
throw new FFMpegException(FFMpegExceptionType.Operation, "Could not replace the video audio."); throw new FFMpegException(FFMpegExceptionType.Operation, "Could not replace the video audio.");
} }
_totalTime = TimeSpan.MinValue;
return new VideoInfo(output); return new VideoInfo(output);
} }