mirror of
https://github.com/rosenbjerg/FFMpegCore.git
synced 2024-11-10 08:34:12 +01:00
commit
09f1d6e655
2 changed files with 12 additions and 1 deletions
|
@ -40,5 +40,9 @@ public override string GetStringValue()
|
|||
{
|
||||
return string.Join(" ", Value.Select(v => ArgumentStringifier.Input(v)));
|
||||
}
|
||||
public VideoInfo[] GetAsVideoInfo()
|
||||
{
|
||||
return Value.Select(v => new VideoInfo(v)).ToArray();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -436,14 +436,21 @@ public VideoInfo ReplaceAudio(VideoInfo source, FileInfo audio, FileInfo output,
|
|||
|
||||
public VideoInfo Convert(ArgumentContainer arguments)
|
||||
{
|
||||
var args = ArgumentBuilder.BuildArguments(arguments);
|
||||
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))
|
||||
{
|
||||
throw new FFMpegException(FFMpegExceptionType.Operation, "Could not replace the video audio.");
|
||||
}
|
||||
|
||||
_totalTime = TimeSpan.MinValue;
|
||||
|
||||
return new VideoInfo(output);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue