libdvbpsi 0.2.0
|
00001 /***************************************************************************** 00002 * dvbpsi.h 00003 * Copyright (C) 2001-2011 VideoLAN 00004 * $Id$ 00005 * 00006 * Authors: Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr> 00007 * 00008 * This library is free software; you can redistribute it and/or 00009 * modify it under the terms of the GNU Lesser General Public 00010 * License as published by the Free Software Foundation; either 00011 * version 2.1 of the License, or (at your option) any later version. 00012 * 00013 * This library is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 * Lesser General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU Lesser General Public 00019 * License along with this library; if not, write to the Free Software 00020 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00021 * 00022 *****************************************************************************/ 00023 00033 #ifndef _DVBPSI_DVBPSI_H_ 00034 #define _DVBPSI_DVBPSI_H_ 00035 00036 #define DVBPSI_VERSION 0.2.0 00037 #define DVBPSI_VERSION_INT ((0<<16)+(2<<8)+0) 00038 00039 #ifdef __cplusplus 00040 extern "C" { 00041 #endif 00042 00043 00044 /***************************************************************************** 00045 * dvbpsi_handle 00046 *****************************************************************************/ 00051 typedef struct dvbpsi_decoder_s * dvbpsi_handle __attribute__((depreceated)); 00052 00053 00054 /***************************************************************************** 00055 * dvbpsi_PushPacket 00056 *****************************************************************************/ 00066 __attribute__((deprecated)) 00067 void dvbpsi_PushPacket(dvbpsi_handle h_dvbpsi, uint8_t* p_data); 00068 00069 00070 /***************************************************************************** 00071 * The following definitions are just here to allow external decoders but 00072 * shouldn't be used for any other purpose. 00073 *****************************************************************************/ 00074 00079 typedef struct dvbpsi_psi_section_s dvbpsi_psi_section_t; 00080 00081 00082 /***************************************************************************** 00083 * dvbpsi_callback 00084 *****************************************************************************/ 00090 typedef void (* dvbpsi_callback)(dvbpsi_handle p_decoder, 00091 dvbpsi_psi_section_t* p_section); 00092 00093 00094 /***************************************************************************** 00095 * dvbpsi_decoder_t 00096 *****************************************************************************/ 00108 typedef struct dvbpsi_decoder_s 00109 { 00110 dvbpsi_callback pf_callback; 00113 void * p_private_decoder; 00116 int i_section_max_size; 00120 uint8_t i_continuity_counter; 00122 int b_discontinuity; 00125 dvbpsi_psi_section_t * p_current_section; 00126 int i_need; 00127 int b_complete_header; 00130 } dvbpsi_decoder_t; 00131 00132 00133 #ifdef __cplusplus 00134 }; 00135 #endif 00136 00137 #else 00138 #error "Multiple inclusions of dvbpsi.h" 00139 #endif