using System.Globalization; namespace ErsatzTV.Application.Streaming; public record PtsAndDuration(long Pts, long Duration) { public static PtsAndDuration From(string ffprobeLine) { string[] split = ffprobeLine.Split("|"); var left = long.Parse(split[0], CultureInfo.InvariantCulture); if (!long.TryParse(split[1], out long right)) { // some durations are N/A, so we have to guess at something right = 10_000; } return new PtsAndDuration(left, right); } }