isobmff-0.14.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 :: Extends (Descriptor ES_Descr)) (rendered :: BitRecord). (HasFunctionBuilder BitBuilder (Proxy rendered), rendered ~ RenderEsDescr record) => Proxy record -> ToFunction BitBuilder (Proxy rendered) EsdBox Source #

esdBoxHoley :: forall (record :: Extends (Descriptor ES_Descr)) r (rendered :: BitRecord). (HasFunctionBuilder BitBuilder (Proxy rendered), rendered ~ RenderEsDescr record) => Proxy record -> FunctionBuilder EsdBox r (ToFunction BitBuilder (Proxy rendered) r) Source #

Esd Record

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

Instances
type From (ESDescriptor esId depEsId url ocrEsId streamPrio decConfig slConfig :: Descriptor ES_Descr -> Type) Source # 
Instance details

Defined in Data.ByteString.Mp4.Boxes.ElementaryStreamDescriptor

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