libdvbpsi  2.0.0-git
MPEG Transport Stream PSI table parser
atsc_vct.h
Go to the documentation of this file.
1 /*
2 Copyright (C) 2006 Adam Charrett
3 
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8 
9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13 
14 You should have received a copy of the GNU Lesser General Public
15 License along with this library; if not, write to the Free Software
16 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 
18 vct.h
19 
20 Decode PSIP Virtual Channel Table.
21 
22 */
23 
30 #ifndef _ATSC_VCT_H
31 #define _ATSC_VCT_H
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37 /*****************************************************************************
38  * dvbpsi_atsc_vct_channel_t
39  *****************************************************************************/
51 {
52  uint8_t i_short_name[14];
53  uint16_t i_major_number;
54  uint16_t i_minor_number;
56  uint8_t i_modulation;
57  uint32_t i_carrier_freq;
58  uint16_t i_channel_tsid;
59  uint16_t i_program_number;
60  uint8_t i_etm_location;
65  bool b_hidden;
66  bool b_hide_guide;
68  uint8_t i_service_type;
69  uint16_t i_source_id;
75 
76 /*****************************************************************************
77  * dvbpsi_atsc_vct_t
78  *****************************************************************************/
89 typedef struct dvbpsi_atsc_vct_s
90 {
91  uint8_t i_table_id;
92  uint16_t i_extension;
94  uint8_t i_version;
96  uint8_t i_protocol;
97  bool b_cable_vct;
103 
104 /*****************************************************************************
105  * dvbpsi_vct_callback
106  *****************************************************************************/
112 typedef void (* dvbpsi_atsc_vct_callback)(void* p_priv, dvbpsi_atsc_vct_t* p_new_vct);
113 
114 /*****************************************************************************
115  * dvbpsi_atsc_vct_attach
116  *****************************************************************************/
129 bool dvbpsi_atsc_vct_attach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
130  uint16_t i_extension, dvbpsi_atsc_vct_callback pf_vct_callback,
131  void* p_priv);
132 
142 __attribute__((deprecated,unused))
143 inline bool dvbpsi_atsc_AttachVCT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
144  uint16_t i_extension, dvbpsi_atsc_vct_callback pf_vct_callback,
145  void* p_priv)
146 {
147  return dvbpsi_atsc_vct_attach(p_dvbpsi, i_table_id, i_extension,
148  pf_vct_callback, p_priv);
149 }
150 
151 /*****************************************************************************
152  * dvbpsi_atsc_vct_detach
153  *****************************************************************************/
164 void dvbpsi_atsc_vct_detach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension);
165 
173 __attribute__((deprecated,unused))
174 inline void dvbpsi_atsc_DetachVCT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension)
175 {
176  dvbpsi_atsc_vct_detach(p_dvbpsi, i_table_id, i_extension);
177 }
178 
179 /*****************************************************************************
180  * dvbpsi_atsc_vct_init
181  *****************************************************************************/
196 void dvbpsi_atsc_vct_init(dvbpsi_atsc_vct_t* p_vct, uint8_t i_table_id,
197  uint16_t i_extension, uint8_t i_protocol, bool b_cable_vct,
198  uint8_t i_version, bool b_current_next);
199 
210 __attribute__((deprecated,unused))
211 inline void dvbpsi_atsc_InitVCT(dvbpsi_atsc_vct_t* p_vct, uint8_t i_table_id,
212  uint16_t i_extension, uint8_t i_protocol, bool b_cable_vct,
213  uint8_t i_version, bool b_current_next)
214 {
215  dvbpsi_atsc_vct_init(p_vct, i_table_id, i_extension, i_protocol, b_cable_vct,
216  i_version, b_current_next);
217 }
218 
219 /*****************************************************************************
220  * dvbpsi_atsc_vct_new
221  *****************************************************************************/
235 dvbpsi_atsc_vct_t *dvbpsi_atsc_vct_new(uint8_t i_table_id, uint16_t i_extension,
236  uint8_t i_protocol, bool b_cable_vct, uint8_t i_version,
237  bool b_current_next);
238 
249 __attribute__((deprecated,unused))
250 inline dvbpsi_atsc_vct_t *dvbpsi_atsc_NewVCT(uint8_t i_table_id, uint16_t i_extension,
251  uint8_t i_protocol, bool b_cable_vct, uint8_t i_version, bool b_current_next)
252 {
253  return dvbpsi_atsc_vct_new(i_table_id, i_extension, i_protocol,
254  b_cable_vct, i_version, b_current_next);
255 }
256 
257 /*****************************************************************************
258  * dvbpsi_atsc_vct_empty
259  *****************************************************************************/
267 
274 __attribute__((deprecated,unused))
275 inline void dvbpsi_atsc_EmptyVCT(dvbpsi_atsc_vct_t *p_vct)
276 {
277  dvbpsi_atsc_vct_empty(p_vct);
278 }
279 
280 /*****************************************************************************
281  * dvbpsi_atsc_vct_delete
282  *****************************************************************************/
290 
297 __attribute__((deprecated,unused))
298 inline void dvbpsi_atsc_DeleteVCT(dvbpsi_atsc_vct_t *p_vct)
299 {
300  dvbpsi_atsc_vct_delete(p_vct);
301 }
302 #ifdef __cplusplus
303 };
304 #endif
305 
306 #endif
void dvbpsi_atsc_vct_delete(dvbpsi_atsc_vct_t *p_vct)
Clean and free a dvbpsi_vct_t structure.
void dvbpsi_atsc_vct_detach(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension)
Destroy a VCT decoder.
struct dvbpsi_atsc_vct_channel_s dvbpsi_atsc_vct_channel_t
dvbpsi_atsc_vct_channel_t type definition.
void dvbpsi_atsc_vct_empty(dvbpsi_atsc_vct_t *p_vct)
Clean a dvbpsi_vct_t structure.
void dvbpsi_atsc_vct_init(dvbpsi_atsc_vct_t *p_vct, uint8_t i_table_id, uint16_t i_extension, uint8_t i_protocol, bool b_cable_vct, uint8_t i_version, bool b_current_next)
Initialize a user-allocated dvbpsi_atsc_vct_t structure.
void(* dvbpsi_atsc_vct_callback)(void *p_priv, dvbpsi_atsc_vct_t *p_new_vct)
Callback type definition.
Definition: atsc_vct.h:112
dvbpsi_atsc_vct_t * dvbpsi_atsc_vct_new(uint8_t i_table_id, uint16_t i_extension, uint8_t i_protocol, bool b_cable_vct, uint8_t i_version, bool b_current_next)
Allocate and initialize a new dvbpsi_vct_t structure.
__attribute__((deprecated, unused)) inline bool dvbpsi_atsc_AttachVCT(dvbpsi_t *p_dvbpsi
dvbpsi_atsc_AttachVCT is deprecated use
Definition: atsc_vct.h:274
struct dvbpsi_atsc_vct_s dvbpsi_atsc_vct_t
dvbpsi_atsc_vct_t type definition.
VCT channel structure.
Definition: atsc_vct.h:51
uint8_t i_short_name[14]
Definition: atsc_vct.h:52
struct dvbpsi_atsc_vct_channel_s * p_next
Definition: atsc_vct.h:73
bool b_access_controlled
Definition: atsc_vct.h:61
uint8_t i_modulation
Definition: atsc_vct.h:56
bool b_path_select
Definition: atsc_vct.h:62
uint16_t i_source_id
Definition: atsc_vct.h:69
dvbpsi_descriptor_t * p_first_descriptor
Definition: atsc_vct.h:71
uint8_t i_etm_location
Definition: atsc_vct.h:60
bool b_hidden
Definition: atsc_vct.h:65
uint16_t i_program_number
Definition: atsc_vct.h:59
bool b_out_of_band
Definition: atsc_vct.h:63
uint32_t i_carrier_freq
Definition: atsc_vct.h:57
uint16_t i_channel_tsid
Definition: atsc_vct.h:58
bool b_hide_guide
Definition: atsc_vct.h:66
uint8_t i_service_type
Definition: atsc_vct.h:68
uint16_t i_major_number
Definition: atsc_vct.h:53
uint16_t i_minor_number
Definition: atsc_vct.h:54
VCT structure.
Definition: atsc_vct.h:90
uint8_t i_table_id
Definition: atsc_vct.h:91
dvbpsi_atsc_vct_channel_t * p_first_channel
Definition: atsc_vct.h:100
uint8_t i_protocol
Definition: atsc_vct.h:96
bool b_current_next
Definition: atsc_vct.h:95
uint8_t i_version
Definition: atsc_vct.h:94
uint16_t i_extension
Definition: atsc_vct.h:92
bool b_cable_vct
Definition: atsc_vct.h:97
dvbpsi_descriptor_t * p_first_descriptor
Definition: atsc_vct.h:99
Descriptor structure.
Definition: descriptor.h:83
DVBPSI handle structure.
Definition: dvbpsi.h:143