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

Safe HaskellNone
LanguageHaskell2010

Data.ByteString.Mp4.Boxes.ElementaryStreamDescriptor

Contents

Synopsis

Esd Box

newtype Esd Source #

Constructors

Esd BuilderBox 

Instances

esdBox :: forall record rendered. (BitStringBuilderHoley (Proxy rendered) EsdBox, rendered ~ RenderEsDescr record) => Proxy record -> ToBitStringBuilder (Proxy rendered) EsdBox Source #

esdBoxHoley :: forall record r rendered. (BitStringBuilderHoley (Proxy rendered) r, rendered ~ RenderEsDescr record) => Proxy record -> Holey EsdBox r (ToBitStringBuilder (Proxy rendered) r) Source #

Esd Record

data ESDescriptor :: IsA (FieldValue "esId" Nat) -> Maybe (IsA (FieldValue "depEsId" Nat)) -> Maybe (IsA (BitRecordField (MkFieldCustom :: BitField ASizedString ASizedString (urlSize :: Nat)))) -> Maybe (IsA (FieldValue "ocrEsId" Nat)) -> IsA (FieldValue "streamPrio" Nat) -> IsA (Descriptor DecoderConfigDescr) -> IsA (Descriptor SLConfigDescr) -> IsA (Descriptor ES_Descr) Source #

Instances

type Eval (Descriptor 3 ES_Descr) (ESDescriptor len esId depEsId url ocrEsId streamPrio decConfig slConfig) Source # 
type Eval (Descriptor 3 ES_Descr) (ESDescriptor len esId depEsId url ocrEsId streamPrio decConfig slConfig) = MkDescriptor 3 ES_Descr ((:+:) ((:+:) ((:+:) ((:+:) ((.+:) Word16 * Nat 16 MkFieldU16 ((:~) "esId" Word16 * Nat 16 MkFieldU16 ((@:) Word16 * Nat 16 MkFieldU16 "esId" FieldU16) esId) ((.+:) Bool * Bool 1 MkFieldFlag ((@:) Bool * Bool 1 MkFieldFlag "depEsIdFlag" (FlagJust (IsA Type (FieldValue * "depEsId" Nat)) depEsId)) ((.+:) Bool * Bool 1 MkFieldFlag ((@:) Bool * Bool 1 MkFieldFlag "urlFlag" (FlagJust (IsA Type (BitRecordField ASizedString * ASizedString len (MkFieldCustom * ASizedString ASizedString len))) url)) ((.+:) Bool * Bool 1 MkFieldFlag ((@:) Bool * Bool 1 MkFieldFlag "ocrEsIdFlag" (FlagJust (IsA Type (FieldValue * "ocrEsId" Nat)) ocrEsId)) ((.+:) (B 5) * Nat 5 (MkFieldBits 5) ((:~) "streamPrio" (B 5) * Nat 5 (MkFieldBits 5) ((@:) (B 5) * Nat 5 (MkFieldBits 5) "streamPriority" (Field 5)) streamPrio) ((:+?) "depEsId" Word16 * Nat 16 MkFieldU16 ((@:) Word16 * Nat 16 MkFieldU16 "depEsId" FieldU16) depEsId)))))) (Eval BitRecord (OptionalRecordOf (IsA Type (BitRecordField ASizedString * ASizedString len (MkFieldCustom * ASizedString ASizedString len))) (Fun1 * BitRecord (IsA Type (BitRecordField ASizedString * ASizedString len (MkFieldCustom * ASizedString ASizedString len))) (RecordField ASizedString * ASizedString len (MkFieldCustom * ASizedString ASizedString len))) url))) ((:+?) "ocrEsId" Word16 * Nat 16 MkFieldU16 ((@:) Word16 * Nat 16 MkFieldU16 "ocrEsId" FieldU16) ocrEsId)) (($~) (Descriptor 4 DecoderConfigDescr) BitRecord (BitRecordOfDescriptor 4 DecoderConfigDescr) (Eval (Descriptor 4 DecoderConfigDescr) decConfig))) (($~) (Descriptor 6 SLConfigDescr) BitRecord (BitRecordOfDescriptor 6 SLConfigDescr) (Eval (Descriptor 6 SLConfigDescr) slConfig)))

type ESDescriptorMp4File esId decConfigDescr = ESDescriptor esId Nothing Nothing Nothing DefaultStreamPrio decConfigDescr Mp4SyncLayerDescriptor Source #

ISO-14496-14 section 3.1.2 defines restrictions of the elementary stream descriptor. TODO seperate this and other modules so theres the same seperation as in between the parts of the standard.