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
39extern "C" {
40#endif
41
42/*****************************************************************************
43 * dvbpsi_demux_new_cb_t
44 *****************************************************************************/
52typedef 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);
63typedef void (*dvbpsi_demux_gather_cb_t) (dvbpsi_t *p_dvbpsi,
64 dvbpsi_decoder_t *p_decoder,
65 dvbpsi_psi_section_t *p_section);
73typedef 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))
109bool 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))
123void dvbpsi_DetachDemux(dvbpsi_t *p_dvbpsi);
124
125/*****************************************************************************
126 * dvbpsi_demuxGetSubDec
127 *****************************************************************************/
137__attribute__((deprecated,unused))
138dvbpsi_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))
153void dvbpsi_Demux(dvbpsi_t *p_dvbpsi, dvbpsi_psi_section_t *p_section);
154
155/*****************************************************************************
156 * dvbpsi_NewDemuxSubDecoder
157 *****************************************************************************/
172__attribute__((deprecated,unused))
173dvbpsi_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))
189void dvbpsi_DeleteDemuxSubDecoder(dvbpsi_demux_subdec_t *p_subdec);
190
191/*****************************************************************************
192 * dvbpsi_AttachDemuxSubDecoder
193 *****************************************************************************/
201__attribute__((deprecated,unused))
202void dvbpsi_AttachDemuxSubDecoder(dvbpsi_demux_t *p_demux, dvbpsi_demux_subdec_t *p_subdec);
203
204/*****************************************************************************
205 * dvbpsi_DetachDemuxSubDecoder
206 *****************************************************************************/
214__attribute__((deprecated,unused))
215void 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_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_decoder_t dvbpsi_demux_subdec_t
dvbpsi_demux_subdec_t is deprecated
Definition demux.h:84
dvbpsi_t dvbpsi_demux_t
dvbpsi_demux_t type definition is deprecated
Definition demux.h:93
__attribute__((deprecated, unused)) bool dvbpsi_AttachDemux(dvbpsi_t *p_dvbpsi
dvbpsi_AttachDemux is deprecated use
Definition atsc_eit.h:257
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
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
PSI decoder structure.
Definition dvbpsi.h:293
PSI section structure.
Definition psi.h:69
DVBPSI handle structure.
Definition dvbpsi.h:143