module Data.ByteString.IsoBaseFileFormat.Boxes.TrackExtends where
import Data.ByteString.IsoBaseFileFormat.Box
import Data.ByteString.IsoBaseFileFormat.Util.FullBox
import Data.ByteString.IsoBaseFileFormat.ReExports
trackExtendsUnknownDuration :: Word32 -> Word32 -> Box (FullBox TrackExtends 0)
trackExtendsUnknownDuration trackId descrIndex = trackExtends trackId descrIndex
0 0 0 0 0 0 0 False 0
trackExtends
:: Word32
-> Word32
-> Word32
-> Word32
-> B 2
-> B 2
-> B 2
-> B 2
-> B 3
-> Bool
-> Word16
-> Box (FullBox TrackExtends 0)
trackExtends =
wrapBitBuilderBox (fullBox 0 . MkTrackExtends) (Proxy @TrackExtendsBody)
newtype TrackExtends where
MkTrackExtends :: BuilderBox -> TrackExtends
deriving (IsBoxContent)
instance IsBox TrackExtends
type instance BoxTypeSymbol TrackExtends = "trex"
type TrackExtendsBody =
"track_ID" @: FieldU32
.+: "default_sample_description_index" @: FieldU32
.+: "default_sample_duration" @: FieldU32
.+: "default_sample_size" @: FieldU32
.+: TrackExtendsDefaultSampleFlags
type TrackExtendsDefaultSampleFlags =
"reserved" @: Field 4 := 0
.+: "is_leading" @: Field 2
.+: "sample_depends_on" @: Field 2
.+: "sample_is_depended_on" @: Field 2
.+: "sample_has_redundancy" @: Field 2
.+: "sample_padding_value" @: Field 3
.+: "sample_is_non_sync_sample" @: Flag
.+: "sample_degradation_priority" @: FieldU16
.+: 'EmptyBitRecord