libdvbpsi  2.0.0-git
MPEG Transport Stream PSI table parser
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  * Jean-Paul Saman <jpsaman@videolan.org>
9  *
10  * This library is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU Lesser General Public
12  * License as published by the Free Software Foundation; either
13  * version 2.1 of the License, or (at your option) any later version.
14  *
15  * This library is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  * Lesser General Public License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public
21  * License along with this library; if not, write to the Free Software
22  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23  *
24  *****************************************************************************/
25 
35 #ifndef _DVBPSI_DEMUX_H_
36 #define _DVBPSI_DEMUX_H_
37 
38 #ifdef __cplusplus
39 extern "C" {
40 #endif
41 
42 /*****************************************************************************
43  * dvbpsi_demux_new_cb_t
44  *****************************************************************************/
52 typedef void (*dvbpsi_demux_new_cb_t) (dvbpsi_t *p_dvbpsi,
53  uint8_t i_table_id,
54  uint16_t i_extension,
55  void * p_cb_data);
63 typedef void (*dvbpsi_demux_gather_cb_t) (dvbpsi_t *p_dvbpsi,
64  dvbpsi_decoder_t *p_decoder,
65  dvbpsi_psi_section_t *p_section);
73 typedef void (*dvbpsi_demux_detach_cb_t) (dvbpsi_t *p_dvbpsi,
74  uint8_t i_table_id,
75  uint16_t i_extension);
77 /*****************************************************************************
78  * dvbpsi_demux_subdec_t
79  *****************************************************************************/
85 
86 /*****************************************************************************
87  * dvbpsi_demux_s
88  *****************************************************************************/
94 
95 
96 /*****************************************************************************
97  * dvbpsi_AttachDemux
98  *****************************************************************************/
108 __attribute__((deprecated,unused))
109 bool dvbpsi_AttachDemux(dvbpsi_t * p_dvbpsi,
110  dvbpsi_demux_new_cb_t pf_new_cb,
111  void * p_new_cb_data);
112 
113 /*****************************************************************************
114  * dvbpsi_DetachDemux
115  *****************************************************************************/
122 __attribute__((deprecated,unused))
123 void dvbpsi_DetachDemux(dvbpsi_t *p_dvbpsi);
124 
125 /*****************************************************************************
126  * dvbpsi_demuxGetSubDec
127  *****************************************************************************/
137 __attribute__((deprecated,unused))
138 dvbpsi_demux_subdec_t * dvbpsi_demuxGetSubDec(dvbpsi_demux_t * p_demux,
139  uint8_t i_table_id,
140  uint16_t i_extension);
141 
142 /*****************************************************************************
143  * dvbpsi_Demux
144  *****************************************************************************/
152 __attribute__((deprecated,unused))
153 void dvbpsi_Demux(dvbpsi_t *p_dvbpsi, dvbpsi_psi_section_t *p_section);
154 
155 /*****************************************************************************
156  * dvbpsi_NewDemuxSubDecoder
157  *****************************************************************************/
172 __attribute__((deprecated,unused))
173 dvbpsi_demux_subdec_t *dvbpsi_NewDemuxSubDecoder(const uint8_t i_table_id,
174  const uint16_t i_extension,
175  dvbpsi_demux_detach_cb_t pf_detach,
176  dvbpsi_demux_gather_cb_t pf_gather,
177  dvbpsi_decoder_t *p_decoder);
178 
179 /*****************************************************************************
180  * dvbpsi_DeleteDemuxSubDecoder
181  *****************************************************************************/
188 __attribute__((deprecated,unused))
189 void dvbpsi_DeleteDemuxSubDecoder(dvbpsi_demux_subdec_t *p_subdec);
190 
191 /*****************************************************************************
192  * dvbpsi_AttachDemuxSubDecoder
193  *****************************************************************************/
201 __attribute__((deprecated,unused))
202 void dvbpsi_AttachDemuxSubDecoder(dvbpsi_demux_t *p_demux, dvbpsi_demux_subdec_t *p_subdec);
203 
204 /*****************************************************************************
205  * dvbpsi_DetachDemuxSubDecoder
206  *****************************************************************************/
214 __attribute__((deprecated,unused))
215 void dvbpsi_DetachDemuxSubDecoder(dvbpsi_demux_t *p_demux, dvbpsi_demux_subdec_t *p_subdec);
216 
217 #ifdef __cplusplus
218 };
219 #endif
220 
221 #else
222 #error "Multiple inclusions of demux.h"
223 #endif
void(* dvbpsi_demux_gather_cb_t)(dvbpsi_t *p_dvbpsi, dvbpsi_decoder_t *p_decoder, dvbpsi_psi_section_t *p_section)
Callback used for gathering psi sections on behalf of subtable decoders.
Definition: demux.h:63
__attribute__((deprecated, unused)) bool dvbpsi_AttachDemux(dvbpsi_t *p_dvbpsi
dvbpsi_atsc_DetachEIT is deprecated use
Definition: atsc_eit.h:257
void(* dvbpsi_demux_detach_cb_t)(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension)
Callback used for detaching subtable decoder from demuxer.
Definition: demux.h:73
dvbpsi_t dvbpsi_demux_t
dvbpsi_demux_t type definition is deprecated
Definition: demux.h:93
void(* dvbpsi_demux_new_cb_t)(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension, void *p_cb_data)
Callback used in case of a new subtable detected.
Definition: demux.h:52
dvbpsi_decoder_t dvbpsi_demux_subdec_t
dvbpsi_demux_subdec_t is deprecated
Definition: demux.h:84
PSI decoder structure.
Definition: dvbpsi.h:293
PSI section structure.
Definition: psi.h:69
DVBPSI handle structure.
Definition: dvbpsi.h:143