CSharpRTMP.Core.MediaFormats.mp4.Movie.GetTimescale C# (CSharp) Method

GetTimescale() public method

public GetTimescale ( ) : uint
return uint
        public uint GetTimescale() => Tracks.Select(x=>x.TrackMetaData.Timescale).Aggregate((current, timescale) => Gcd(timescale, current));

Usage Example

Example #1
0
 private AtomEDTS CreateEdts(ITrack track, Movie movie)
 {
     if (track.Edits?.Count > 0)
     {
         AtomELST elst = new AtomELST {
             Version = 0
         };
         // quicktime won't play file when version = 1
         elst.Entries = track.Edits.Select(x => new AtomELST.Entry(elst, (long)System.Math.Round(x.SegmentDuration * movie.GetTimescale()), x.MediaTime * track.TrackMetaData.Timescale / x.TimeScale, x.MediaRate)).ToList();
         AtomEDTS edts = new AtomEDTS();
         edts.AddAtom(elst);
         return(edts);
     }
     return(null);
 }