00001 /* 00002 Copyright (C) 2012 Yonathan Yusim 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Lesser General Public 00006 License as published by the Free Software Foundation; either 00007 version 2.1 of the License, or (at your option) any later version. 00008 00009 This library is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 Lesser General Public License for more details. 00013 00014 You should have received a copy of the GNU Lesser General Public 00015 License along with this library; if not, write to the Free Software 00016 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00017 00018 dr_a1.h 00019 00020 Service Location Descriptor. 00021 00022 */ 00023 00030 #ifndef _DVBPSI_DR_A1_H_ 00031 #define _DVBPSI_DR_A1_H_ 00032 00033 #ifdef __cplusplus 00034 extern "C" 00035 { 00036 #endif 00037 00038 00039 typedef struct dvbpsi_service_location_element_s 00040 { 00041 uint8_t i_stream_type; 00042 uint16_t i_elementary_pid; 00043 char i_iso_639_code[3]; 00044 } dvbpsi_service_location_element_t; 00045 00046 /***************************************************************************** 00047 * dvbpsi_service_location_dr_s 00048 *****************************************************************************/ 00060 typedef struct dvbpsi_service_location_dr_s 00061 { 00062 uint16_t i_pcr_pid; 00063 uint8_t i_number_elements; 00065 dvbpsi_service_location_element_t elements[0xff]; 00067 } dvbpsi_service_location_dr_t; 00068 00069 00070 /***************************************************************************** 00071 * dvbpsi_DecodeServiceDataDr 00072 *****************************************************************************/ 00081 dvbpsi_service_location_dr_t 00082 *dvbpsi_DecodeServiceLocationDr (dvbpsi_descriptor_t * p_descriptor); 00083 00084 #if 0 00085 /***************************************************************************** 00086 * dvbpsi_GenServiceDataDr 00087 *****************************************************************************/ 00098 dvbpsi_descriptor_t *dvbpsi_GenServiceLocationDr (dvbpsi_service_dr_t * 00099 p_decoded, 00100 bool b_duplicate); 00101 #endif 00102 00103 00104 #ifdef __cplusplus 00105 } 00106 #endif 00107 00108 #else 00109 #error "Multiple inclusions of dr_a1.h" 00110 #endif