public DocumentClipDescriptor(uint clipId, TimeSpan inTimeOffset, BdViFormat format, BdViFrameRate rate, SyncSubtitleList ssls) { Format = format; Rate = rate; ClipId = clipId; InTimeOffset = inTimeOffset; if (ssls == null) { Tracks = new List <EsTrackDescriptor>(); EsGroups = new List <EsGroup>(); } else { Tracks = (from iTracks in ssls.EsTracks select new EsTrackDescriptor(ssls.EsGroups, iTracks)).ToList(); EsGroups = ssls.EsGroups; } }
private static TimeSpan TimeFromFrameCount(int frames, BdViFrameRate rate) { return(TimeSpan.FromSeconds(frames / rate.ToDouble())); }
public DocumentClipDescriptor(uint clipId, TimeSpan inTimeOffset, BdViFormat format, BdViFrameRate rate) : this(clipId, inTimeOffset, format, rate, null) { }
private static uint FrameCountFromTime(TimeSpan syncOffset, BdViFrameRate rate) { return(Convert.ToUInt32(rate.ToDouble() * syncOffset.TotalSeconds)); }