* cleanup scanner project * cleanup infrastructure projects * cleanup ffmpeg project * cleanup core project * cleanup app project * cleanup main project * update dependencies * code cleanup
20 lines
546 B
C#
20 lines
546 B
C#
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);
|
|
}
|
|
}
|