libdvbpsi  0.2.2
demux.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * demux.h
3  *
4  * Copyright (C) 2001-2011 VideoLAN
5  * $Id$
6  *
7  * Authors: Johan Bilien <jobi@via.ecp.fr>
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public
11  * License as published by the Free Software Foundation; either
12  * version 2.1 of the License, or (at your option) any later version.
13  *
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  * Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this library; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22  *
23  *****************************************************************************/
24 
33 #ifndef _DVBPSI_DEMUX_H_
34 #define _DVBPSI_DEMUX_H_
35 
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
40 
41 /*****************************************************************************
42  * dvbpsi_demux_new_cb_t
43  *****************************************************************************/
51 typedef void (*dvbpsi_demux_new_cb_t) (void * p_cb_data,
52  dvbpsi_handle h_dvbpsi,
53  uint8_t i_table_id,
54  uint16_t i_extension);
55 
56 /*****************************************************************************
57  * dvbpsi_demux_subdec_cb_t
58  *****************************************************************************/
66 typedef void (*dvbpsi_demux_subdec_cb_t)
67  (dvbpsi_decoder_t* p_psi_decoder,
68  void* p_private_decoder,
69  dvbpsi_psi_section_t* p_section);
70 
71 /*****************************************************************************
72  * dvbpsi_demux_subdec_t
73  *****************************************************************************/
85 struct dvbpsi_demux_s;
86 typedef struct dvbpsi_demux_subdec_s
87 {
88  uint32_t i_id;
89  dvbpsi_demux_subdec_cb_t pf_callback;
90  void * p_cb_data;
91  struct dvbpsi_demux_subdec_s * p_next;
92 
93  void (*pf_detach)(struct dvbpsi_demux_s *, uint8_t, uint16_t);
94 
96 
97 /*****************************************************************************
98  * dvbpsi_demux_t
99  *****************************************************************************/
111 typedef struct dvbpsi_demux_s
112 {
113  dvbpsi_handle p_decoder;
115  /* New subtable callback */
117  void * p_new_cb_data;
121 
122 
123 /*****************************************************************************
124  * dvbpsi_AttachDemux
125  *****************************************************************************/
133 __attribute__((deprecated))
134 dvbpsi_handle dvbpsi_AttachDemux(dvbpsi_demux_new_cb_t pf_new_cb,
135  void * p_new_cb_data);
136 
137 /*****************************************************************************
138  * dvbpsi_DetachDemux
139  *****************************************************************************/
145 __attribute__((deprecated))
146 void dvbpsi_DetachDemux(dvbpsi_handle h_dvbpsi);
147 
148 /*****************************************************************************
149  * dvbpsi_demuxGetSubDec
150  *****************************************************************************/
160 __attribute__((deprecated))
161 dvbpsi_demux_subdec_t * dvbpsi_demuxGetSubDec(dvbpsi_demux_t * p_demux,
162  uint8_t i_table_id,
163  uint16_t i_extension);
164 /*****************************************************************************
165  * dvbpsi_Demux
166  *****************************************************************************/
174 __attribute__((deprecated))
175 void dvbpsi_Demux(dvbpsi_handle h_dvbpsi,
176  dvbpsi_psi_section_t * p_section);
177 
178 #ifdef __cplusplus
179 };
180 #endif
181 
182 #else
183 #error "Multiple inclusions of demux.h"
184 #endif
185