-- | Sum of the total base media time in the timescale from the movie header box. module Data.ByteString.IsoBaseFileFormat.Boxes.TrackFragBaseMediaDecodeTime where import Data.ByteString.IsoBaseFileFormat.Box import Data.ByteString.IsoBaseFileFormat.Util.FullBox import Data.ByteString.IsoBaseFileFormat.Util.Time import GHC.TypeLits -- * @tfdt@ Box -- | Construct a 'TrackFragBaseMediaDecodeTime box. trackFragBaseMediaDecodeTime -- TODO allow 64 bit variant :: KnownNat version => TS version "track-fragment-base-media-decode-time" -> Box (FullBox (TrackFragBaseMediaDecodeTime version) version) trackFragBaseMediaDecodeTime = fullBox 0 . TrackFragBaseMediaDecodeTime -- | Track fragment media base decode time newtype TrackFragBaseMediaDecodeTime (version :: Nat) where TrackFragBaseMediaDecodeTime :: TS version "track-fragment-base-media-decode-time" -> TrackFragBaseMediaDecodeTime version deriving (IsBoxContent) instance IsBox (TrackFragBaseMediaDecodeTime v) type instance BoxTypeSymbol (TrackFragBaseMediaDecodeTime v) = "tfdt" -- | Return the static size of the empty box trackFragBaseMediaDecodeTimeStaticSize64 :: Num a => a trackFragBaseMediaDecodeTimeStaticSize64 = fromBoxSize 0 (boxSize (trackFragBaseMediaDecodeTime (TSv1 0)))