isobmff-builder-0.10.5.0: A (bytestring-) builder for the ISO-14496-12 base media file format

Safe HaskellNone
LanguageHaskell2010

Data.ByteString.IsoBaseFileFormat.Boxes.SampleEntry

Description

Connect a sample description to a data reference via an index into the data reference entry table.

Synopsis

Documentation

data family SampleEntry (handlertype :: HandlerType) (format :: k) Source #

Specific sample entries must provide an instance for this data family. The format parameter will be used as BoxTypeSymbol.

Instances

Default (SampleEntry * VideoTrack (VideoCoding c)) # 
Default (SampleEntry * AudioTrack (AudioCoding c)) # 
IsBoxContent (SampleEntry * VideoTrack (VideoCoding c)) Source # 
IsBoxContent (SampleEntry * AudioTrack (AudioCoding c)) Source # 
(IsBoxContent (SampleEntry k handlertype format), KnownSymbol (BoxTypeSymbol * (SampleEntry k handlertype format))) => IsBox (SampleEntry k handlertype format) Source # 

Associated Types

type BoxContent (SampleEntry k handlertype format) :: * Source #

Methods

toBoxType :: proxy (SampleEntry k handlertype format) -> BoxType Source #

data SampleEntry k HintTrack Source #

Protocol specific data. To create HintSampleEntrys a protocol specific HintFields instance must be provided

data SampleEntry * VideoTrack (VideoCoding c) Source #

Fields if visual sample entries. A depth of 0x0018 means colour image with no alpha. The horizresolution and vertresolution of 0x00480000 means 72 dpi. The frame_count indicates the number of video frames per sample.

data SampleEntry * VideoTrack (VideoCoding c) = VideoSampleEntry ((:+) (U16 Symbol "pre_defined") ((:+) (Constant * Nat (U16 Symbol "reserved") 0) ((:+) (U16 Symbol "width") ((:+) (U16 Symbol "height") ((:+) (Template Nat (U32 Symbol "horizresolution") 4718592) ((:+) (Template Nat (U32 Symbol "vertresolution") 4718592) ((:+) (Constant * Nat (U32 Symbol "reserved") 0) ((:+) (Template Nat (U16 Symbol "frame_count") 1) ((:+) (FixSizeText 32 "compressorname") ((:+) (Template Nat (U16 Symbol "depth") 24) ((:+) (Template Nat (I16 Symbol "pre_defined") 65535) ((:+) (Maybe (Box CleanAperture)) ((:+) (Maybe (Box PixelAspectRatio)) [Box SomeColourInformation])))))))))))))
data SampleEntry * AudioTrack (AudioCoding c) Source #

Fields if audio sample entries

data SampleEntry * AudioTrack (AudioCoding c) = AudioSampleEntry ((:+) (Constant * [Nat] (U32Arr Symbol "reserved" 2) ((:) Nat 0 ((:) Nat 0 ([] Nat)))) ((:+) (Template Nat (U16 Symbol "channelcount") 2) ((:+) (Template Nat (U16 Symbol "samplesize") 16) ((:+) (U16 Symbol "pre_defined") ((:+) (Constant * Nat (U16 Symbol "reserved") 0) (Template Nat (U32 Symbol "samplerate") (* DefaultSoundSamplerate 65536)))))))
type IsRuleConform * * (Box (SampleEntry k g' f)) (MatchSampleEntry g) Source # 
type BoxTypeSymbol * (SampleEntry k handlertype format) Source # 
type BoxTypeSymbol * (SampleEntry k handlertype format) = BoxTypeSymbol k format
type BoxContent (SampleEntry k handlertype format) Source # 
type BoxContent (SampleEntry k handlertype format) = SampleEntryFields (SampleEntry k handlertype format)

sampleEntry :: forall handlertype format. U16 "data_reference_index" -> SampleEntry handlertype format -> Box (SampleEntry handlertype format) Source #

Create a SampleEntry Box from the data reference index and the HandlerType specific SampleEntry instance.

newtype SampleEntryFields a where Source #

A common header for all specific sample entries, the BoxContent of the abstract SampleEntry is SampleEntryFields (SampleEntry h f).

Constructors

SampleEntryFields :: (Constant (U8Arr "reserved" 6) '[0, 0, 0, 0, 0, 0] :+ (U16 "data_reference_index" :+ a)) -> SampleEntryFields a 

data MatchSampleEntry handlerType Source #

Use this in IsMediaFileFormats BoxLayout to range over any specific SampleEntry, disregarding the second parameter (that indicates low-level format, protocol or codec characteristics).