|
@@ -36,6 +36,22 @@ void ts_section_data_free(struct ts_section_header **psection_data) {
|
36
|
36
|
}
|
37
|
37
|
}
|
38
|
38
|
|
|
39
|
+void ts_section_data_copy(struct ts_section_header *src, struct ts_section_header *dst) {
|
|
40
|
+ if (!src || !dst)
|
|
41
|
+ return;
|
|
42
|
+ uint8_t *section_data = dst->section_data;
|
|
43
|
+ uint8_t *packet_data = dst->packet_data;
|
|
44
|
+
|
|
45
|
+ memcpy(section_data, src->section_data, 4096);
|
|
46
|
+ memcpy(packet_data , src->packet_data, 5120);
|
|
47
|
+ *dst = *src;
|
|
48
|
+
|
|
49
|
+ dst->section_data = section_data;
|
|
50
|
+ dst->packet_data = packet_data;
|
|
51
|
+
|
|
52
|
+ ts_section_header_set_private_vars(dst);
|
|
53
|
+}
|
|
54
|
+
|
39
|
55
|
// Fill CRC of the section data after secdata_size bytes
|
40
|
56
|
uint32_t ts_section_data_calculate_crc(uint8_t *section_data, int secdata_size) {
|
41
|
57
|
uint32_t check_crc = ts_crc32(section_data, secdata_size);
|