FFMpegCore/FFMpegCore/FFMPEG/Argument/FFArgumentBuilder.cs
Malte Rosenbjerg 7b2a419c10 Cleanup
Former-commit-id: 46bc75c6d1
2020-02-27 21:12:48 +01:00

24 lines
903 B
C#

using System;
using System.Linq;
namespace FFMpegCore.FFMPEG.Argument
{
/// <summary>
/// Builds parameters string from <see cref="ArgumentContainer"/> that would be passed to ffmpeg process
/// </summary>
public class FFArgumentBuilder : IArgumentBuilder
{
/// <summary>
/// Builds parameters string from <see cref="ArgumentContainer"/> that would be passed to ffmpeg process
/// </summary>
/// <param name="container">Container of arguments</param>
/// <returns>Parameters string</returns>
public string BuildArguments(ArgumentContainer container)
{
if (!container.ContainsInputOutput())
throw new ArgumentException("No input or output parameter found", nameof(container));
return string.Join(" ", container.Select(argument => argument.Value.GetStringValue()));
}
}
}