libdvbpsi 1.3.2
atsc_ett.h
Go to the documentation of this file.
1/*
2Copyright (C) 2006 Adam Charrett
3
4This library is free software; you can redistribute it and/or
5modify it under the terms of the GNU Lesser General Public
6License as published by the Free Software Foundation; either
7version 2.1 of the License, or (at your option) any later version.
8
9This library is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12Lesser General Public License for more details.
13
14You should have received a copy of the GNU Lesser General Public
15License along with this library; if not, write to the Free Software
16Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
18ett.h
19
20*/
21
28#ifndef _ATSC_ETT_H
29#define _ATSC_ETT_H
30
31#ifdef __cplusplus
32extern "C" {
33#endif
34
35/*****************************************************************************
36 * dvbpsi_atsc_ett_t
37 *****************************************************************************/
55typedef struct dvbpsi_atsc_ett_s
56{
57 /* general PSI table */
58 uint8_t i_table_id;
59 uint16_t i_extension;
63 uint8_t i_version;
65 uint8_t i_protocol;
67 /* ETT specific */
68 uint32_t i_etm_id;
71 uint32_t i_etm_length;
72 uint8_t *p_etm_data;
77
78/*****************************************************************************
79 * dvbpsi_atsc_ett_callback
80 *****************************************************************************/
86typedef void (* dvbpsi_atsc_ett_callback)(void* p_cb_data, dvbpsi_atsc_ett_t* p_new_ett);
87
88/*****************************************************************************
89 * dvbpsi_atsc_AttachETT
90 *****************************************************************************/
103bool dvbpsi_atsc_AttachETT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension,
104 dvbpsi_atsc_ett_callback pf_callback, void* p_cb_data);
105
106/*****************************************************************************
107 * dvbpsi_atsc_DetachETT
108 *****************************************************************************/
119 uint16_t i_extension);
120
121/*****************************************************************************
122 * dvbpsi_atsc_InitETT/dvbpsi_atsc_NewETT
123 *****************************************************************************/
138 uint8_t i_version, uint8_t i_protocol,
139 uint32_t i_etm_id, bool b_current_next);
140
155 uint8_t i_version, uint8_t i_protocol,
156 uint32_t i_etm_id, bool b_current_next);
157
158/*****************************************************************************
159 * dvbpsi_atsc_EmptyETT/dvbpsi_atsc_DeleteETT
160 *****************************************************************************/
168
176
177#ifdef __cplusplus
178};
179#endif
180
181#endif
void(* dvbpsi_atsc_ett_callback)(void *p_cb_data, dvbpsi_atsc_ett_t *p_new_ett)
Callback type definition.
Definition atsc_ett.h:86
void dvbpsi_atsc_DetachETT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension)
Destroy a ETT decoder.
void dvbpsi_atsc_DeleteETT(dvbpsi_atsc_ett_t *p_ett)
Clean and free a dvbpsi_atsc_ett_t structure.
void dvbpsi_atsc_InitETT(dvbpsi_atsc_ett_t *p_ett, uint8_t i_table_id, uint16_t i_extension, uint8_t i_version, uint8_t i_protocol, uint32_t i_etm_id, bool b_current_next)
Initialize a user-allocated dvbpsi_atsc_ett_t structure.
dvbpsi_atsc_ett_t * dvbpsi_atsc_NewETT(uint8_t i_table_id, uint16_t i_extension, uint8_t i_version, uint8_t i_protocol, uint32_t i_etm_id, bool b_current_next)
Allocate and initialize a new dvbpsi_atsc_ett_t structure. Use ObjectRefDec to delete it.
struct dvbpsi_atsc_ett_s dvbpsi_atsc_ett_t
dvbpsi_atsc_ett_t type definition.
void dvbpsi_atsc_EmptyETT(dvbpsi_atsc_ett_t *p_ett)
Clean a dvbpsi_atsc_ett_t structure.
bool dvbpsi_atsc_AttachETT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension, dvbpsi_atsc_ett_callback pf_callback, void *p_cb_data)
Creation and initialization of a ETT decoder.
uint8_t i_table_id
Definition sis.h:1
uint8_t i_version
Definition sis.h:5
bool b_current_next
Definition sis.h:8
uint16_t i_extension
Definition sis.h:2
ATSC ETT structure.
Definition atsc_ett.h:56
bool b_current_next
Definition atsc_ett.h:64
uint8_t i_table_id
Definition atsc_ett.h:58
uint32_t i_etm_id
Definition atsc_ett.h:68
uint32_t i_etm_length
Definition atsc_ett.h:71
dvbpsi_descriptor_t * p_first_descriptor
Definition atsc_ett.h:75
uint8_t i_version
Definition atsc_ett.h:63
uint8_t i_protocol
Definition atsc_ett.h:65
uint16_t i_extension
Definition atsc_ett.h:59
uint8_t * p_etm_data
Definition atsc_ett.h:72
Descriptor structure.
Definition descriptor.h:83
DVBPSI handle structure.
Definition dvbpsi.h:143