-- | This module re-exports all modules needed to build /ISOBMFF/ documents. module Data.ByteString.IsoBaseFileFormat.Boxes (module Data.ByteString.IsoBaseFileFormat.Boxes, module X) where import Data.ByteString.IsoBaseFileFormat.Boxes.Box as X import Data.ByteString.IsoBaseFileFormat.Boxes.BoxFields as X import Data.ByteString.IsoBaseFileFormat.Boxes.FileType as X import Data.ByteString.IsoBaseFileFormat.Boxes.FullBox as X import Data.ByteString.IsoBaseFileFormat.Boxes.Handler as X import Data.ByteString.IsoBaseFileFormat.Boxes.Media as X import Data.ByteString.IsoBaseFileFormat.Boxes.MediaData as X import Data.ByteString.IsoBaseFileFormat.Boxes.MediaHeader as X import Data.ByteString.IsoBaseFileFormat.Boxes.MediaInformation as X import Data.ByteString.IsoBaseFileFormat.Boxes.Movie as X import Data.ByteString.IsoBaseFileFormat.Boxes.MovieHeader as X import Data.ByteString.IsoBaseFileFormat.Boxes.ProgressiveDownloadInformation as X import Data.ByteString.IsoBaseFileFormat.Boxes.Language as X import Data.ByteString.IsoBaseFileFormat.Boxes.Skip as X import Data.ByteString.IsoBaseFileFormat.Boxes.SpecificMediaHeader as X import Data.ByteString.IsoBaseFileFormat.Boxes.Time as X import Data.ByteString.IsoBaseFileFormat.Boxes.Track as X import Data.ByteString.IsoBaseFileFormat.Boxes.TrackHeader as X import Data.ByteString.IsoBaseFileFormat.Boxes.Versioned as X import qualified Data.ByteString.Lazy as BL import Data.Int as X import Data.Kind as X (Type, Constraint) import Data.Maybe as X import Data.Type.Bool as X import Data.Type.Equality as X import Text.Printf as X import Data.Default as X -- * MediaFiles -- | The toplevel container for all boxes of a media file. data MediaFile brand where MediaFile :: (ValidTopLevel brand ts) => Boxes brand ts -> MediaFile brand -- | Generate a lazy 'ByteString' with the contents of a 'MediaFile' packMediaFile :: MediaFile brand -> BL.ByteString packMediaFile (MediaFile bs) = toLazyByteString (boxBuilder bs)