isobmff-0.13.0.0: A parser and generator for the ISO-14496-12/14 base media file format

Safe HaskellNone
LanguageHaskell2010

Data.ByteString.Mp4.Boxes.ElementaryStreamDescriptor

Contents

Synopsis

Esd Box

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

esdBoxHoley :: forall (record :: IsA (Descriptor ES_Descr)) r (rendered :: BitRecord). (BitStringBuilderHoley (Proxy rendered) r, rendered ~ RenderEsDescr record) => Proxy record -> FunctionBuilder 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 (ESDescriptor esId depEsId url ocrEsId streamPrio decConfig slConfig :: A (Descriptor ES_Descr) -> Type) Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.ElementaryStreamDescriptor

type Eval (ESDescriptor esId depEsId url ocrEsId streamPrio decConfig slConfig :: A (Descriptor ES_Descr) -> Type) = (MkDescriptor ((((((("esId" @: FieldU16) :~ esId) .+: (("depEsIdFlag" @: FlagJust depEsId) .+: (("urlFlag" @: FlagJust url) .+: (("ocrEsIdFlag" @: FlagJust ocrEsId) .+: ((("streamPriority" @: Field 5) :~ streamPrio) .+: (("depEsId" @: FieldU16) :+? depEsId)))))) :+: Eval (OptionalRecordOf (Fun1 (RecordField :: IsA (BitRecordField (MkFieldCustom :: BitField ASizedString ASizedString len)) -> A BitRecord -> Type)) url)) :+: (("ocrEsId" @: FieldU16) :+? ocrEsId)) :+: ((BitRecordOfDescriptor :: A (Descriptor DecoderConfigDescr :-> BitRecord) -> Type) $~ Eval decConfig)) :+: ((BitRecordOfDescriptor :: A (Descriptor SLConfigDescr :-> BitRecord) -> Type) $~ Eval slConfig)) :: Descriptor ES_Descr)

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.