add RawArgument.cs

Former-commit-id: 5643544a3b
This commit is contained in:
weihanli 2020-04-28 12:26:42 +08:00
parent c1393697a3
commit 9ffa2cb28a
2 changed files with 33 additions and 12 deletions

View file

@ -9,10 +9,10 @@ namespace FFMpegCore.Test
[TestClass]
public class ArgumentBuilderTest : BaseTest
{
List<string> concatFiles = new List<string>
private List<string> concatFiles = new List<string>
{ "1.mp4", "2.mp4", "3.mp4", "4.mp4"};
FFArgumentBuilder builder;
private FFArgumentBuilder builder;
public ArgumentBuilderTest() : base()
{
@ -31,7 +31,6 @@ private string GetArgumentsString(params Argument[] args)
return builder.BuildArguments(container);
}
[TestMethod]
public void Builder_BuildString_IO_1()
{
@ -68,7 +67,6 @@ public void Builder_BuildString_Concat()
{
var container = new ArgumentContainer { new ConcatArgument(concatFiles), new OutputArgument("output.mp4") };
var str = builder.BuildArguments(container);
Assert.AreEqual(str, "-i \"concat:1.mp4|2.mp4|3.mp4|4.mp4\" \"output.mp4\"");
@ -82,7 +80,6 @@ public void Builder_BuildString_Copy_Audio()
Assert.AreEqual(str, "-i \"input.mp4\" -c:a copy \"output.mp4\"");
}
[TestMethod]
public void Builder_BuildString_Copy_Video()
{
@ -210,7 +207,6 @@ public void Builder_BuildString_Threads_2()
Assert.AreEqual(str, $"-i \"input.mp4\" -threads {Environment.ProcessorCount} \"output.mp4\"");
}
[TestMethod]
public void Builder_BuildString_Codec()
{
@ -228,10 +224,21 @@ public void Builder_BuildString_Codec_Override()
}
[TestMethod]
public void Builder_BuildString_Duration() {
public void Builder_BuildString_Duration()
{
var str = GetArgumentsString(new DurationArgument(TimeSpan.FromSeconds(20)));
Assert.AreEqual(str, "-i \"input.mp4\" -t 00:00:20 \"output.mp4\"");
}
[TestMethod]
public void Builder_BuildString_Raw()
{
var str = GetArgumentsString(new RawArgument(null));
Assert.AreEqual(str, "-i \"input.mp4\" \"output.mp4\"");
str = GetArgumentsString(new RawArgument("-acodec copy"));
Assert.AreEqual(str, "-i \"input.mp4\" -acodec copy \"output.mp4\"");
}
}
}

View file

@ -0,0 +1,14 @@
namespace FFMpegCore.FFMPEG.Argument
{
public class RawArgument : Argument<string>
{
public RawArgument(string argument) : base(argument)
{
}
public override string GetStringValue()
{
return Value ?? string.Empty;
}
}
}