module Data.ByteString.IsoBaseFileFormat.Boxes.SampleDescription where
import Data.ByteString.IsoBaseFileFormat.Box
import Data.ByteString.IsoBaseFileFormat.Util.FullBox
import Data.ByteString.IsoBaseFileFormat.Util.BoxFields
import Data.Singletons.Prelude.List (Length)
import Data.ByteString.IsoBaseFileFormat.ReExports
newtype SampleDescription =
  SampleDescription (U32 "entry_count")
  deriving (Default,IsBoxContent)
sampleDescription
  :: (KnownNat (Length ts))
  => Boxes ts
  -> Box (ContainerBox (FullBox SampleDescription 0) ts)
sampleDescription bs =
  containerBox (FullBox 0 $ SampleDescription (typeListLength bs))
               bs
instance IsBox SampleDescription
type instance BoxTypeSymbol SampleDescription = "stsd"