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.BaseDescriptor

Contents

Synopsis

Static base constructor

data Descriptor :: ClassTag n -> Type where Source #

Abstract class of descriptors as recognized by ISO/IEC 14496-1 (Systems). A specifc descriptor is identified by the ClassTag.

Constructors

MkDescriptor :: BitRecord -> Descriptor tag 

Instances

type Eval (Descriptor 6 SLConfigDescr) Mp4SyncLayerDescriptor Source # 
type ($~) (Descriptor tagInd tag) BitRecord (BitRecordOfDescriptor tagInd tag) (MkDescriptor tagInd tag body) Source # 
type Eval (Descriptor 20 ProfileLevelIndicationIndexDescr) (ProfileLevelIndicationIndexDescriptor val) Source # 
type ($~) (DecoderSpecificInfo ot st) (Descriptor 5 DecSpecificInfo) (DescriptorOfDecoderSpecificInfo ot st) (MkDecoderSpecificInfo ot st body) Source # 
type Eval (Descriptor 4 DecoderConfigDescr) (DecoderConfigDescriptor ot st di ps) Source # 
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)))

data BitRecordOfDescriptor :: IsA (Descriptor c :-> BitRecord) Source #

Instances

type ($~) (Descriptor tagInd tag) BitRecord (BitRecordOfDescriptor tagInd tag) (MkDescriptor tagInd tag body) Source # 

type family GetClassTag (c :: ClassTag n) :: Nat where ... Source #

Equations

GetClassTag (c :: ClassTag n) = n 

data ClassTag tag where Source #

Base Descriptor Class Tags TODO rename to xxxTag

Constructors

ObjectDescr :: ClassTag 1 
InitialObjectDescr :: ClassTag 2 
ES_Descr :: ClassTag 3 
DecoderConfigDescr :: ClassTag 4 
DecSpecificInfo :: ClassTag 5 
SLConfigDescr :: ClassTag 6 
ContentIdentDescr :: ClassTag 7 
SupplContentIdentDescr :: ClassTag 8 
IPI_DescrPointer :: ClassTag 9 
IPMP_DescrPointer :: ClassTag 10 
IPMP_Descr :: ClassTag 11 
QoS_Descr :: ClassTag 12 
RegistrationDescr :: ClassTag 13 
ES_ID_Ref :: ClassTag 15 
MP4_IOD_ :: ClassTag 16 
MP4_OD_ :: ClassTag 17 
IPL_DescrPointerRef :: ClassTag 18 
ExtensionProfileLevelDescr :: ClassTag 19 
ProfileLevelIndicationIndexDescr :: ClassTag 20 
ContentClassificationDescr :: ClassTag 64 
KeyWordDescr :: ClassTag 65 
RatingDescr :: ClassTag 66 
LanguageDescr :: ClassTag 67 
ShortTextualDescr :: ClassTag 68 
ExpandedTextualDescr :: ClassTag 69 
ContentCreatorNameDescr :: ClassTag 70 
ContentCreationDateDescr :: ClassTag 71 
OCICreatorNameDescr :: ClassTag 72 
OCICreationDateDescr :: ClassTag 73 
SmpteCameraPositionDescr :: ClassTag 74 
SegmentDescr :: ClassTag 75 
MediaTimeDescr :: ClassTag 76 
IPMP_ToolsListDescr :: ClassTag 96 
IPMP_Tool :: ClassTag 97 
M4MuxTimingDescr :: ClassTag 98 
M4MuxCodeTableDescr :: ClassTag 99 
ExtSLConfigDescr :: ClassTag 100 
M4MuxBufferSizeDescr :: ClassTag 101 
M4MuxIdentDescr :: ClassTag 102 
DependencyPointer :: ClassTag 103 
DependencyMarker :: ClassTag 104 
M4MuxChannelDescr :: ClassTag 105 
ExtDescrTag :: forall n. (106 <= n, n <= 254) => ClassTag n 
OCIDescrTag :: forall n. (64 <= n, n <= 95) => ClassTag n