libdvbpsi
1.3.0
|
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 * dvbpsi_service_location_element_s 00040 *****************************************************************************/ 00051 typedef struct dvbpsi_service_location_element_s 00052 { 00053 uint8_t i_stream_type; 00054 uint16_t i_elementary_pid; 00055 char i_iso_639_code[3]; 00056 } dvbpsi_service_location_element_t; 00057 00058 /***************************************************************************** 00059 * dvbpsi_service_location_dr_s 00060 *****************************************************************************/ 00072 typedef struct dvbpsi_service_location_dr_s 00073 { 00074 uint16_t i_pcr_pid; 00075 uint8_t i_number_elements; 00077 dvbpsi_service_location_element_t elements[0xff]; 00079 } dvbpsi_service_location_dr_t; 00080 00081 00082 /***************************************************************************** 00083 * dvbpsi_DecodeServiceLocationDr 00084 *****************************************************************************/ 00093 dvbpsi_service_location_dr_t 00094 *dvbpsi_DecodeServiceLocationDr (dvbpsi_descriptor_t * p_descriptor); 00095 00096 /***************************************************************************** 00097 * dvbpsi_GenServiceLocationDr 00098 *****************************************************************************/ 00109 dvbpsi_descriptor_t* dvbpsi_GenServiceLocationDr( 00110 dvbpsi_service_location_dr_t* p_decoded, 00111 bool b_duplicate); 00112 00113 00114 #ifdef __cplusplus 00115 } 00116 #endif 00117 00118 #else 00119 #error "Multiple inclusions of dr_a1.h" 00120 #endif