isobmff-builder-0.11.2.0: src/Data/ByteString/IsoBaseFileFormat/Boxes/TrackFragBaseMediaDecodeTime.hs
-- | 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)))