17 #ifndef _TS2_TABLES_H_ 18 #define _TS2_TABLES_H_ 33 #define TS2_PAT_TABLE_ID 0x00 34 #define TS2_CAT_TABLE_ID 0x01 35 #define TS2_PMT_TABLE_ID 0x02 37 #define TS2_SECTION_CRC_SIZE 4 38 #define TS2_SECTION_LONG_HEADER_SIZE 8 39 #define TS2_SECTION_SHORT_HEADER_SIZE 3 127 const ATX_Byte* data,
129 ATX_Boolean payload_unit_start);
141 ATX_DataBuffer* packets,
142 ATX_UInt32* continuity_counter);
162 ATX_UInt16* pmt_pid);
166 ATX_UInt16 program_num,
167 ATX_UInt16* pmt_pid);
187 #define TS2_SectionHeader_GetSize(h) \ 188 (h)->section_syntax_indicator? \ 189 TS2_SECTION_LONG_HEADER_SIZE: \ 190 TS2_SECTION_SHORT_HEADER_SIZE TS2_SectionHeader header
Definition: Ts2Tables.h:56
Definition: Ts2Tables.h:99
ATX_List * descriptors
Definition: Ts2Tables.h:101
Definition: Ts2Tables.h:86
ATX_Result TS2_SectionHeader_Serialize(TS2_SectionHeader *header, ATX_Byte *buffer)
ATX_Result(* ParseSection)(TS2_Table *self)
Definition: Ts2Tables.h:76
Definition: Ts2Tables.h:81
TS2_EXPORT ATX_Result TS2_Table_AddPacket(TS2_Table *self, const TS2_Packet *packet)
same as TS2_Table_AddData where the packet payload is added
ATX_Result(* CheckTableId)(ATX_UInt8 table_id)
Definition: Ts2Tables.h:75
Definition: Ts2Tables.h:55
ATX_Result TS2_Table_UpdateSectionBuffer(TS2_Table *self)
TS2_EXPORT ATX_Result TS2_PAT_Construct(TS2_PAT *self)
TS2_EXPORT ATX_Result TS2_CAT_Construct(TS2_CAT *self)
TS2_Table base
Definition: Ts2Tables.h:100
void(* Destruct)(TS2_Table *self)
Definition: Ts2Tables.h:77
ATX_List * program_info_descs
Definition: Ts2Tables.h:95
ATX_UInt16 pcr_pid
Definition: Ts2Tables.h:93
TS2_Section section
Definition: Ts2Tables.h:78
ATX_Boolean TS2_Table_IsEqual(TS2_Table *self, TS2_Table *other)
Definition: Ts2Tables.h:104
ATX_List * elementary_streams
Definition: Ts2Tables.h:96
ATX_UInt16 pid
Definition: Ts2Tables.h:83
ATX_Size TS2_Section_GetPayloadSize(TS2_Section *section)
#define TS2_EXPORT
Definition: Ts2Config.h:67
ATX_Result TS2_PMT_RemoveCADescriptors(TS2_PMT *self)
ATX_Byte * buffer
Definition: Ts2Tables.h:58
Definition: Ts2Tables.h:65
Definition: Ts2Packet.h:91
TS2_EXPORT ATX_Result TS2_PMT_Construct(TS2_PMT *self)
TS2_Table base
Definition: Ts2Tables.h:87
ATX_Boolean is_complete
Definition: Ts2Tables.h:70
ATX_Result TS2_Table_AddData(TS2_Table *self, const ATX_Byte *data, ATX_Size data_size, ATX_Boolean payload_unit_start)
Definition: Ts2Tables.h:68
TS2_EXPORT ATX_Result TS2_PAT_GetFirstPMTPid(const TS2_PAT *self, ATX_UInt16 *pmt_pid)
TS2_EXPORT ATX_Result TS2_PAT_GetPMTPid(const TS2_PAT *self, ATX_UInt16 program_num, ATX_UInt16 *pmt_pid)
ATX_UInt16 program_number
Definition: Ts2Tables.h:82
ATX_Size bytes_read
Definition: Ts2Tables.h:59
TS2_EXPORT void TS2_Table_Destruct(TS2_Table *self)
Definition: Ts2Tables.h:64
ATX_Result(* UpdateSectionBuffer)(TS2_Table *self)
Definition: Ts2Tables.h:72
ATX_Byte * payload
Definition: Ts2Tables.h:57
TS2_Table base
Definition: Ts2Tables.h:105
Definition: Ts2Tables.h:91
Definition: Ts2Tables.h:63
TS2_Table base
Definition: Ts2Tables.h:92
ATX_Result TS2_Table_SerializeToPackets(TS2_Table *self, ATX_UInt16 pid, ATX_DataBuffer *packets, ATX_UInt32 *continuity_counter)
TS2_Crc_Status
Definition: Ts2Tables.h:62
ATX_UInt16 program_info_length
Definition: Ts2Tables.h:94
TS2_Crc_Status crc_status
Definition: Ts2Tables.h:71
ATX_List * programs_to_pids
Definition: Ts2Tables.h:88