using System.Globalization;

namespace ErsatzTV.Application.Streaming;

public record PtsTime(long Value)
{
    public static readonly PtsTime Zero = new(0);

    public static PtsTime From(string ffprobeLine)
    {
        string[] split = ffprobeLine.Split("|");
        var ptsTime = long.Parse(split[0], CultureInfo.InvariantCulture);
        if (long.TryParse(split[1], CultureInfo.InvariantCulture, out long duration))
        {
            ptsTime += duration;
        }

        return new PtsTime(ptsTime);
    }
}
