17 #ifndef _TS2_DESCRIPTORS_H_ 18 #define _TS2_DESCRIPTORS_H_ 28 #define TS2_DESCRIPTOR_HEADER_SIZE 2 30 #define TS2_VIDEO_STREAM_DESCRIPTOR_TAG 2 31 #define TS2_AUDIO_STREAM_DESCRIPTOR_TAG 3 32 #define TS2_REGISTRATION_DESCRIPTOR_TAG 5 33 #define TS2_CA_DESCRIPTOR_TAG 9 34 #define TS2_DOVI_VIDEO_STREAM_DESCRIPTOR_TAG 176 36 #define TS2_DOVI_FORMAT_IDENTIFIER 0x444F5649 38 #define TS2_DOVI_FLAG_RPU_PRESENT 0x04 39 #define TS2_DOVI_FLAG_EL_PRESENT 0x02 40 #define TS2_DOVI_FLAG_BL_PRESENT 0x01 42 #define TS2_DOVI_RPU_PRESENT(flag) ((flag & TS2_DOVI_FLAG_RPU_PRESENT) > 0) 43 #define TS2_DOVI_EL_PRESENT(flag) ((flag & TS2_DOVI_FLAG_EL_PRESENT) > 0) 44 #define TS2_DOVI_BL_PRESENT(flag) ((flag & TS2_DOVI_FLAG_BL_PRESENT) > 0) 125 ATX_Boolean as_generic,
151 const ATX_Byte* private_data,
152 ATX_Size private_data_size,
166 #define TS2_Descriptor_Destroy(self) (self)->Destroy(self) 172 #define TS2_Descriptor_GetSize(self) ((self)->length + 2) 174 #define TS2_CADescriptor_GetPrivateDataSize(self) \ 175 (ATX_Size)((self->base.length - 4)) 177 #define TS2_RegistrationDescriptor_GetAdditionalInfoSize(self) \ 178 (ATX_Size)((self->base.length - 4)) 180 #define TS2_VideoStreamDescriptor_Mpeg1OnlyFlag(vdesc) ((vdesc)->flags & 0x04) Definition: Ts2Descriptors.h:109
Definition: Ts2Descriptors.h:106
ATX_Byte version_minor
Definition: Ts2Descriptors.h:92
ATX_Size TS2_DescriptorList_GetSize(ATX_List *descs)
Definition: Ts2Descriptors.h:111
ATX_Result(* SerializeFields)(TS2_Descriptor *self, ATX_Byte *buffer)
Definition: Ts2Descriptors.h:59
TS2_Descriptor base
Definition: Ts2Descriptors.h:100
ATX_Result TS2_Descriptor_Parse(const ATX_Byte *data, ATX_Size *data_size, TS2_DescriptorType desc_type, ATX_Boolean as_generic, TS2_Descriptor **desc)
ATX_Result TS2_CADescriptor_Create(ATX_UInt16 system_id, ATX_UInt16 pid, const ATX_Byte *private_data, ATX_Size private_data_size, TS2_CADescriptor **ca_desc)
ATX_UInt16 pid
Definition: Ts2Descriptors.h:79
ATX_UInt8 length
Definition: Ts2Descriptors.h:54
ATX_UInt8 optional_info
Definition: Ts2Descriptors.h:73
ATX_UInt16 system_id
Definition: Ts2Descriptors.h:78
ATX_Byte level
Definition: Ts2Descriptors.h:94
TS2_Descriptor base
Definition: Ts2Descriptors.h:64
Definition: Ts2Descriptors.h:83
ATX_Byte profile
Definition: Ts2Descriptors.h:93
ATX_Byte * additional_identification_info
Definition: Ts2Descriptors.h:86
ATX_UInt8 profile_and_level_indication
Definition: Ts2Descriptors.h:72
ATX_UInt8 tag
Definition: Ts2Descriptors.h:53
TS2_Descriptor base
Definition: Ts2Descriptors.h:90
void TS2_DescriptorList_Destroy(ATX_List *descs)
Definition: Ts2Descriptors.h:68
TS2_Descriptor base
Definition: Ts2Descriptors.h:77
ATX_UInt8 flags
Definition: Ts2Descriptors.h:70
ATX_Byte * private_data
Definition: Ts2Descriptors.h:80
Definition: Ts2Descriptors.h:108
Definition: Ts2Descriptors.h:89
ATX_Byte * data
Definition: Ts2Descriptors.h:101
TS2_Descriptor base
Definition: Ts2Descriptors.h:84
ATX_UInt32 format_identifier
Definition: Ts2Descriptors.h:85
Definition: Ts2Descriptors.h:99
ATX_Result TS2_DescriptorList_Serialize(ATX_List *descs, ATX_Byte *buffer)
Definition: Ts2Descriptors.h:63
ATX_UInt8 flags
Definition: Ts2Descriptors.h:65
ATX_UInt16 dependency_pid
Definition: Ts2Descriptors.h:96
Definition: Ts2Descriptors.h:51
Definition: Ts2Descriptors.h:107
ATX_Boolean is_generic
Definition: Ts2Descriptors.h:55
ATX_UInt8 flags
Definition: Ts2Descriptors.h:95
TS2_Descriptor base
Definition: Ts2Descriptors.h:69
ATX_Byte version_major
Definition: Ts2Descriptors.h:91
Definition: Ts2Descriptors.h:110
void(* Destroy)(TS2_Descriptor *self)
Definition: Ts2Descriptors.h:58
Definition: Ts2Descriptors.h:76
TS2_DescriptorType
Definition: Ts2Descriptors.h:105
ATX_Result TS2_Descriptor_Serialize(TS2_Descriptor *self, ATX_Byte *buffer)
Serialize the descriptor.