You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.7 KiB
57 lines
1.7 KiB
4 months ago
|
/*
|
||
|
* Copyright (c) Hisilicon Technologies Co., Ltd. 2006-2021. All rights reserved.
|
||
|
* Description: adp_demux module external output.
|
||
|
* Author: Hisilicon
|
||
|
* Create: 2006-06-05
|
||
|
*/
|
||
|
|
||
|
#ifndef __ADP_DEMUX_EXT_H__
|
||
|
#define __ADP_DEMUX_EXT_H__
|
||
|
|
||
|
#include <pthread.h>
|
||
|
#include "td_type.h"
|
||
|
#include "uapi_demux.h"
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
#if __cplusplus
|
||
|
extern "C" {
|
||
|
#endif /* __cplusplus */
|
||
|
#endif /* __cplusplus */
|
||
|
|
||
|
#define MAX_SECTION_LEN 4096
|
||
|
#define MAX_SECTION_NUM 64
|
||
|
#define INVALID_PORT_DMX_ID 0xFFFF
|
||
|
#define MAX_IP_THREAD_CNT 16
|
||
|
#define MAX_FILE_THREAD_CNT 16
|
||
|
|
||
|
typedef td_s32 (*t_commsectioncallback)(const td_u8 *buffer, td_s32 buffer_length, td_u8 *section_struct);
|
||
|
|
||
|
typedef struct {
|
||
|
td_u32 tspid; /* TSPID */
|
||
|
td_u32 buf_size; /* hareware BUFFER request */
|
||
|
|
||
|
td_u8 section_type; /* section type, 0-section 1-PES */
|
||
|
td_u8 crcflag; /* channel CRC open flag, 0-not open; 1-open */
|
||
|
|
||
|
td_u8 match[DMX_FILTER_MAX_DEPTH];
|
||
|
td_u8 mask[DMX_FILTER_MAX_DEPTH];
|
||
|
td_u8 negate[DMX_FILTER_MAX_DEPTH];
|
||
|
td_u16 filter_depth; /* filtrate depth, 0xff-data use all the user set, otherwise, use DVB algorithm(fixme) */
|
||
|
|
||
|
td_u32 time_out; /* timeout, in second. 0-permanent wait */
|
||
|
|
||
|
t_commsectioncallback fun_section_fun_callback; /* section end callback */
|
||
|
td_u8 *section_struct;
|
||
|
} dmx_data_filter;
|
||
|
|
||
|
td_s32 dmx_section_start_data_filter(td_u32 dmx_id, const dmx_data_filter *data_filter);
|
||
|
td_s32 dmx_section_start_data_filter_ext(td_u32 dmx_id, const dmx_data_filter *data_filter, td_bool tee_enable);
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
#if __cplusplus
|
||
|
}
|
||
|
#endif /* __cplusplus */
|
||
|
#endif /* __cplusplus */
|
||
|
|
||
|
#endif /* __ADP_DEMUX_EXT_H__ */
|