view arib25v023/arib25/src/ts_section_parser.h @ 51:c915076353ae

backout 23b6f99f65b2 for now. it may cause scheduling while atomic operation.
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Sat, 29 Aug 2009 04:26:33 +0900
parents 6801fe7e04ff
children
line wrap: on
line source

#ifndef TS_SECTION_PARSER_H
#define TS_SECTION_PARSER_H

#include "ts_common_types.h"

typedef struct {
	int64_t total;      /* total received section count      */
	int64_t unique;     /* unique section count              */
	int64_t error;      /* crc and other error section count */
} TS_SECTION_PARSER_STAT;

typedef struct {

	void *private_data;

	void (* release)(void *parser);

	int (* reset)(void *parser);

	int (* put)(void *parser, TS_HEADER *hdr, uint8_t *data, int size);
	int (* get)(void *parser, TS_SECTION *sect);
	int (* ret)(void *parser, TS_SECTION *sect);

	int (* get_count)(void *parser);
	
	int (* get_stat)(void *parser, TS_SECTION_PARSER_STAT *stat);
	
} TS_SECTION_PARSER;

#ifdef __cplusplus
extern "C" {
#endif

extern TS_SECTION_PARSER *create_ts_section_parser();

#ifdef __cplusplus
}
#endif

#endif /* TS_SECTION_PARSER_H */