Fixed ffmpeg GetSize() when output has multiple lines

This commit is contained in:
N00MKRAD
2021-03-22 21:21:55 +01:00
parent 9055194f9b
commit 6a5cd569b3

View File

@@ -105,14 +105,19 @@ namespace Flowframes
public static Size GetSize(string inputFile)
{
Logger.Log($"GetSize('{inputFile}')", true, false, "ffmpeg");
string args = $" -v panic -select_streams v:0 -show_entries stream=width,height -of csv=s=x:p=0 {inputFile.Wrap()}";
string output = GetFfprobeOutput(args);
string[] outputLines = GetFfprobeOutput(args).SplitIntoLines();
if (output.Length > 4 && output.Contains("x"))
foreach(string line in outputLines)
{
string[] numbers = output.Split('x');
if (!line.Contains("x") || line.Trim().Length < 3)
continue;
string[] numbers = line.Split('x');
return new Size(numbers[0].GetInt(), numbers[1].GetInt());
}
return new Size(0, 0);
}