| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Data.ByteString.IsoBaseFileFormat.Boxes.FullBox
Description
Full Boxes
- data FullBox version t where
- FullBox :: BoxVersion version -> BoxFlags 24 -> t -> FullBox version t
- fullBox :: (IsBoxType t, ValidContainerBox brand t ts, BoxContent t ~ FullBox version c) => BoxVersion version -> BoxFlags 24 -> c -> Boxes brand ts -> Box brand t
- closedFullBox :: (IsBoxType t, ValidBox brand t, BoxContent t ~ FullBox version c) => BoxVersion version -> BoxFlags 24 -> c -> Box brand t
- type BoxVersion v = Template (U8 "fullbox-version") v
- newtype BoxFlags bits = BoxFlags Integer
Documentation
data FullBox version t where 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 ;)
Constructors
| FullBox :: BoxVersion version -> BoxFlags 24 -> t -> FullBox version t |
Instances
| (KnownNat version, IsBoxContent t) => IsBoxContent (FullBox Nat version t) Source # | |
fullBox :: (IsBoxType t, ValidContainerBox brand t ts, BoxContent t ~ FullBox version c) => BoxVersion version -> BoxFlags 24 -> c -> Boxes brand ts -> Box brand t Source #
Create a FullBox from a BoxVersion and BoxFlags
closedFullBox :: (IsBoxType t, ValidBox brand t, BoxContent t ~ FullBox version c) => BoxVersion version -> BoxFlags 24 -> c -> Box brand 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.