0
|
1 #ifndef TS_SECTION_PARSER_H
|
|
2 #define TS_SECTION_PARSER_H
|
|
3
|
|
4 #include "ts_common_types.h"
|
|
5
|
|
6 typedef struct {
|
|
7 int64_t total; /* total received section count */
|
|
8 int64_t unique; /* unique section count */
|
|
9 int64_t error; /* crc and other error section count */
|
|
10 } TS_SECTION_PARSER_STAT;
|
|
11
|
|
12 typedef struct {
|
|
13
|
|
14 void *private_data;
|
|
15
|
|
16 void (* release)(void *parser);
|
|
17
|
|
18 int (* reset)(void *parser);
|
|
19
|
|
20 int (* put)(void *parser, TS_HEADER *hdr, uint8_t *data, int size);
|
|
21 int (* get)(void *parser, TS_SECTION *sect);
|
|
22 int (* ret)(void *parser, TS_SECTION *sect);
|
|
23
|
|
24 int (* get_count)(void *parser);
|
|
25
|
|
26 int (* get_stat)(void *parser, TS_SECTION_PARSER_STAT *stat);
|
|
27
|
|
28 } TS_SECTION_PARSER;
|
|
29
|
|
30 #ifdef __cplusplus
|
|
31 extern "C" {
|
|
32 #endif
|
|
33
|
|
34 extern TS_SECTION_PARSER *create_ts_section_parser();
|
|
35
|
|
36 #ifdef __cplusplus
|
|
37 }
|
|
38 #endif
|
|
39
|
|
40 #endif /* TS_SECTION_PARSER_H */
|