module Data.ByteString.IsoBaseFileFormat.Boxes.SampleEntry where
import Data.ByteString.IsoBaseFileFormat.Boxes.Box
import Data.ByteString.IsoBaseFileFormat.Boxes.Handler
import Data.ByteString.IsoBaseFileFormat.Boxes.BoxFields
data family SampleEntry (handlertype :: HandlerType) (format :: k)
sampleEntry
:: forall (handlertype :: HandlerType) (format :: k)
. U16 "data_reference_index"
-> SampleEntry handlertype format
-> Box (SampleEntry handlertype format)
sampleEntry i c = Box (SampleEntryFields (Constant :+ i :+ c))
newtype SampleEntryFields a where
SampleEntryFields
:: Constant (U8Arr "reserved" 6) '[0,0,0,0,0,0]
:+ U16 "data_reference_index"
:+ a
-> SampleEntryFields a
deriving instance IsBoxContent a => IsBoxContent (SampleEntryFields a)
deriving instance Default a => Default (SampleEntryFields a)
data MatchSampleEntry (handlerType :: HandlerType)
type instance
IsRuleConform (Box (SampleEntry g' f)) (MatchSampleEntry g) =
HandlerTypeCode g' == HandlerTypeCode g
type instance
BoxTypeSymbol (SampleEntry handlertype format) = BoxTypeSymbol format
instance (IsBoxContent (SampleEntry handlertype format)
,KnownSymbol (BoxTypeSymbol (SampleEntry handlertype format)))
=> IsBox (SampleEntry handlertype format) where
type BoxContent (SampleEntry handlertype format) =
SampleEntryFields (SampleEntry handlertype format)