0
|
1 #ifndef TS_COMMON_TYPES_H
|
|
2 #define TS_COMMON_TYPES_H
|
|
3
|
|
4 #include "portable.h"
|
|
5
|
|
6 typedef struct {
|
|
7 int32_t sync; /* 0- 7 : 8 bits */
|
|
8 int32_t transport_error_indicator; /* 8- 8 : 1 bit */
|
|
9 int32_t payload_unit_start_indicator; /* 9- 9 : 1 bit */
|
|
10 int32_t transport_priority; /* 10-10 : 1 bits */
|
|
11 int32_t pid; /* 11-23 : 13 bits */
|
|
12 int32_t transport_scrambling_control; /* 24-25 : 2 bits */
|
|
13 int32_t adaptation_field_control; /* 26-27 : 2 bits */
|
|
14 int32_t continuity_counter; /* 28-31 : 4 bits */
|
|
15 } TS_HEADER;
|
|
16
|
|
17 typedef struct {
|
|
18 int32_t table_id; /* 0- 7 : 8 bits */
|
|
19 int32_t section_syntax_indicator; /* 8- 8 : 1 bit */
|
|
20 int32_t private_indicator; /* 9- 9 : 1 bit */
|
|
21 int32_t section_length; /* 12-23 : 12 bits */
|
|
22 int32_t table_id_extension; /* 24-39 : 16 bits */
|
|
23 int32_t version_number; /* 42-46 : 5 bits */
|
|
24 int32_t current_next_indicator; /* 47-57 : 1 bit */
|
|
25 int32_t section_number; /* 48-55 : 8 bits */
|
|
26 int32_t last_section_number; /* 56-63 : 8 bits */
|
|
27 } TS_SECTION_HEADER;
|
|
28
|
|
29 typedef struct {
|
|
30 TS_SECTION_HEADER hdr;
|
|
31 uint8_t *raw;
|
|
32 uint8_t *data;
|
|
33 uint8_t *tail;
|
|
34 } TS_SECTION;
|
|
35
|
|
36 #endif /* TS_COMMON_TYPES_H */
|