module Data.ByteString.IsoBaseFileFormat.Boxes.ChunkOffset where
import Data.ByteString.IsoBaseFileFormat.ReExports
import Data.ByteString.IsoBaseFileFormat.Box
import Data.ByteString.IsoBaseFileFormat.Util.BoxFields
import Data.ByteString.IsoBaseFileFormat.Util.FullBox
chunkOffset32 :: [StcoEntry32] -> Box ChunkOffset32
chunkOffset32 = fullBox 0 . ChunkOffsetTable . ListContent
chunkOffset64 :: [StcoEntry64] -> Box ChunkOffset64
chunkOffset64 = fullBox 0 . ChunkOffsetTable . ListContent
type ChunkOffset32 = FullBox ChunkOffsetTable32 0
type ChunkOffset64 = FullBox ChunkOffsetTable64 0
type ChunkOffsetTable32 = ChunkOffsetTable StcoEntry32
type ChunkOffsetTable64 = ChunkOffsetTable StcoEntry64
newtype ChunkOffsetTable stcoEntry =
ChunkOffsetTable (ListContent (U32 "entry_count") stcoEntry)
deriving (Default, IsBoxContent)
type StcoEntry32 = U32 "chunk_offset"
type StcoEntry64 = U64 "chunk_offset"
type instance BoxTypeSymbol ChunkOffsetTable32 = "stco"
type instance BoxTypeSymbol ChunkOffsetTable64 = "co64"
instance IsBox ChunkOffsetTable32
instance IsBox ChunkOffsetTable64