| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Data.ByteString.IsoBaseFileFormat.Boxes.FullBox
Description
Full Boxes
- data FullBox version t
- fullBox :: (IsBoxType' t, ValidBoxes t ts, BoxContent t ~ FullBox version c) => BoxVersion version -> BoxFlags 24 -> c -> Boxes ts -> Box' t
- closedFullBox :: (IsBoxType' t, ValidBoxes t '[], BoxContent t ~ FullBox version c) => BoxVersion version -> BoxFlags 24 -> c -> Box' t
- type BoxVersion v = Template (U8 "fullbox-version") v
- newtype BoxFlags bits = BoxFlags Integer
- data Versioned v0 v1 version where
- V0 :: IsBoxContent v0 => v0 -> Versioned v0 v1 0
- V1 :: IsBoxContent v1 => v1 -> Versioned v0 v1 1
Documentation
data FullBox version t Source #
A FullBox contains an extra version and a flags field. In this
implementation it is wrapped around the rest of the box content. This
enforces that the FullBox header fields are always at the beginning - at
least as long as this module hides the FullBox constructor ;)
Instances
| (KnownNat version, IsBoxContent t) => IsBoxContent (FullBox Nat version t) Source # | |
fullBox :: (IsBoxType' t, ValidBoxes t ts, BoxContent t ~ FullBox version c) => BoxVersion version -> BoxFlags 24 -> c -> Boxes ts -> Box' t Source #
Create a FullBox from a BoxVersion and BoxFlags
closedFullBox :: (IsBoxType' t, ValidBoxes t '[], BoxContent t ~ FullBox version c) => BoxVersion version -> BoxFlags 24 -> c -> Box' t Source #
Create a FullBox from a BoxVersion and BoxFlags without nested boxes.
type BoxVersion v = Template (U8 "fullbox-version") v Source #
The box version (in a FullBox) is a single byte
newtype BoxFlags bits Source #
In addition to a BoxVersion there can be 24 bits for custom flags etc in
a FullBox.
data Versioned v0 v1 version where Source #
Two alternative representations based on a version index. Use this for box content that can be either 32 or 64 bit.
Constructors
| V0 :: IsBoxContent v0 => v0 -> Versioned v0 v1 0 | |
| V1 :: IsBoxContent v1 => v1 -> Versioned v0 v1 1 |
Instances
| IsBoxContent (Versioned v0 v1 version) Source # | |