bat.h   bat.h 
skipping to change at line 262 skipping to change at line 262
* \fn dvbpsi_psi_section_t* dvbpsi_bat_sections_generate(dvbpsi_t *p_dvbps i, dvbpsi_bat_t* p_bat) * \fn dvbpsi_psi_section_t* dvbpsi_bat_sections_generate(dvbpsi_t *p_dvbps i, dvbpsi_bat_t* p_bat)
* \brief BAT generator * \brief BAT generator
* \param p_dvbpsi handle to dvbpsi with attached decoder * \param p_dvbpsi handle to dvbpsi with attached decoder
* \param p_bat BAT structure * \param p_bat BAT structure
* \return a pointer to the list of generated PSI sections. * \return a pointer to the list of generated PSI sections.
* *
* Generate BAT sections based on the dvbpsi_bat_t structure. * Generate BAT sections based on the dvbpsi_bat_t structure.
************************************************************************** ***/ ************************************************************************** ***/
dvbpsi_psi_section_t *dvbpsi_bat_sections_generate(dvbpsi_t *p_dvbpsi, dvbp si_bat_t * p_bat); dvbpsi_psi_section_t *dvbpsi_bat_sections_generate(dvbpsi_t *p_dvbpsi, dvbp si_bat_t * p_bat);
/**************************************************************************
***
* deprecated API's
**************************************************************************
***/
__attribute__((deprecated))
int dvbpsi_AttachBAT(dvbpsi_decoder_t * p_psi_decoder, uint8_t i_table_id,
uint16_t i_extension, dvbpsi_bat_callback pf_callback,
void* p_cb_data);
__attribute__((deprecated))
void dvbpsi_DetachBAT(dvbpsi_demux_t * p_demux, uint8_t i_table_id,
uint16_t i_extension);
__attribute__((deprecated))
void dvbpsi_InitBAT(dvbpsi_bat_t *p_bat, uint16_t i_bouquet_id, uint8_t i_v
ersion,
int b_current_next);
__attribute__((deprecated))
void dvbpsi_EmptyBAT(dvbpsi_bat_t *p_bat);
__attribute__((deprecated))
dvbpsi_psi_section_t *dvbpsi_GenBATSections(dvbpsi_bat_t *p_bat);
__attribute__((deprecated))
dvbpsi_bat_ts_t *dvbpsi_BATAddTS(dvbpsi_bat_t* p_bat,
uint16_t i_ts_id, uint16_t i_orig_network_
id);
__attribute__((deprecated))
dvbpsi_descriptor_t *dvbpsi_BATBouquetAddDescriptor(
dvbpsi_bat_t *p_bat,
uint8_t i_tag, uint8_t i_len
gth,
uint8_t *p_data);
__attribute__((deprecated))
dvbpsi_descriptor_t *dvbpsi_BATTSAddDescriptor(
dvbpsi_bat_ts_t *p_ts,
uint8_t i_tag, uint8_t i_len
gth,
uint8_t *p_data);
#ifdef __cplusplus #ifdef __cplusplus
}; };
#endif #endif
#else #else
#error "Multiple inclusions of bat.h" #error "Multiple inclusions of bat.h"
#endif #endif
 End of changes. 1 change blocks. 
37 lines changed or deleted 0 lines changed or added


 cat.h   cat.h 
skipping to change at line 182 skipping to change at line 182
* \fn dvbpsi_psi_section_t* dvbpsi_cat_sections_generate(dvbpsi_t *p_dvbps i, dvbpsi_cat_t* p_cat) * \fn dvbpsi_psi_section_t* dvbpsi_cat_sections_generate(dvbpsi_t *p_dvbps i, dvbpsi_cat_t* p_cat)
* \brief CAT generator * \brief CAT generator
* \param p_dvbpsi handle to dvbpsi with attached decoder * \param p_dvbpsi handle to dvbpsi with attached decoder
* \param p_cat CAT structure * \param p_cat CAT structure
* \return a pointer to the list of generated PSI sections. * \return a pointer to the list of generated PSI sections.
* *
* Generate CAT sections based on the dvbpsi_cat_t structure. * Generate CAT sections based on the dvbpsi_cat_t structure.
*/ */
dvbpsi_psi_section_t* dvbpsi_cat_sections_generate(dvbpsi_t *p_dvbpsi, dvbp si_cat_t* p_cat); dvbpsi_psi_section_t* dvbpsi_cat_sections_generate(dvbpsi_t *p_dvbpsi, dvbp si_cat_t* p_cat);
/**************************************************************************
***
* deprecated API's
**************************************************************************
***/
__attribute__((deprecated))
dvbpsi_handle dvbpsi_AttachCAT(dvbpsi_cat_callback pf_callback,
void* p_cb_data);
__attribute__((deprecated))
void dvbpsi_DetachCAT(dvbpsi_handle h_dvbpsi);
__attribute__((deprecated))
void dvbpsi_InitCAT(dvbpsi_cat_t* p_cat,
uint8_t i_version, int b_current_next);
__attribute__((deprecated))
void dvbpsi_EmptyCAT(dvbpsi_cat_t* p_cat);
__attribute__((deprecated))
dvbpsi_descriptor_t* dvbpsi_CATAddDescriptor(dvbpsi_cat_t* p_cat,
uint8_t i_tag, uint8_t i_lengt
h,
uint8_t* p_data);
__attribute__((deprecated))
dvbpsi_psi_section_t* dvbpsi_GenCATSections(dvbpsi_cat_t* p_cat);
#ifdef __cplusplus #ifdef __cplusplus
}; };
#endif #endif
#else #else
#error "Multiple inclusions of cat.h" #error "Multiple inclusions of cat.h"
#endif #endif
 End of changes. 1 change blocks. 
23 lines changed or deleted 0 lines changed or added


 demux.h   demux.h 
skipping to change at line 243 skipping to change at line 243
************************************************************************** ***/ ************************************************************************** ***/
/*! /*!
* \fn void dvbpsi_DetachDemuxSubDecoder(dvbpsi_demux_t *p_demux, dvbpsi_de mux_subdec_t *p_subdec) * \fn void dvbpsi_DetachDemuxSubDecoder(dvbpsi_demux_t *p_demux, dvbpsi_de mux_subdec_t *p_subdec)
* \brief Detach a subtable decoder from the given demux pointer. * \brief Detach a subtable decoder from the given demux pointer.
* \param p_demux pointer to dvbpsi_demux_t * \param p_demux pointer to dvbpsi_demux_t
* \param p_subdec pointer to dvbpsi_demux_subdec_t * \param p_subdec pointer to dvbpsi_demux_subdec_t
* \return nothing * \return nothing
*/ */
void dvbpsi_DetachDemuxSubDecoder(dvbpsi_demux_t *p_demux, dvbpsi_demux_sub dec_t *p_subdec); void dvbpsi_DetachDemuxSubDecoder(dvbpsi_demux_t *p_demux, dvbpsi_demux_sub dec_t *p_subdec);
/**************************************************************************
***
* deprecated API's
**************************************************************************
***/
#if 0
__attribute__((deprecated))
dvbpsi_handle dvbpsi_AttachDemux(dvbpsi_demux_new_cb_t pf_new_cb,
void * p_new_cb_data);
__attribute__((deprecated))
void dvbpsi_DetachDemux(dvbpsi_handle h_dvbpsi);
__attribute__((deprecated))
dvbpsi_demux_subdec_t * dvbpsi_demuxGetSubDec(dvbpsi_demux_t * p_demux,
uint8_t i_table_id,
uint16_t i_extension)
;
__attribute__((deprecated))
void dvbpsi_Demux(dvbpsi_handle h_dvbpsi, dvbpsi_psi_section_t * p_section)
;
#endif
#ifdef __cplusplus #ifdef __cplusplus
}; };
#endif #endif
#else #else
#error "Multiple inclusions of demux.h" #error "Multiple inclusions of demux.h"
#endif #endif
 End of changes. 1 change blocks. 
21 lines changed or deleted 0 lines changed or added


 dr.h   dr.h 
skipping to change at line 67 skipping to change at line 67
#include "dr_47.h" #include "dr_47.h"
#include "dr_48.h" #include "dr_48.h"
#include "dr_49.h" #include "dr_49.h"
#include "dr_4a.h" #include "dr_4a.h"
#include "dr_4b.h" #include "dr_4b.h"
#include "dr_4d.h" #include "dr_4d.h"
#include "dr_4e.h" #include "dr_4e.h"
#include "dr_4f.h" #include "dr_4f.h"
#include "dr_50.h" #include "dr_50.h"
#include "dr_52.h" #include "dr_52.h"
#include "dr_54.h"
#include "dr_55.h" #include "dr_55.h"
#include "dr_56.h" #include "dr_56.h"
#include "dr_58.h" #include "dr_58.h"
#include "dr_59.h" #include "dr_59.h"
#include "dr_5a.h" #include "dr_5a.h"
#include "dr_62.h" #include "dr_62.h"
#include "dr_66.h" #include "dr_66.h"
#include "dr_69.h" #include "dr_69.h"
#include "dr_7c.h" #include "dr_7c.h"
#include "dr_73.h" #include "dr_73.h"
 End of changes. 1 change blocks. 
0 lines changed or deleted 1 lines changed or added


 dr_45.h   dr_45.h 
skipping to change at line 63 skipping to change at line 63
* \typedef struct dvbpsi_vbidata_line_s dvbpsi_vbidata_line_t * \typedef struct dvbpsi_vbidata_line_s dvbpsi_vbidata_line_t
* \brief dvbpsi_vbidata_line_t type definition. * \brief dvbpsi_vbidata_line_t type definition.
*/ */
typedef struct dvbpsi_vbidata_line_s typedef struct dvbpsi_vbidata_line_s
{ {
uint8_t i_parity; /*!< parity bit (1 bits) */ uint8_t i_parity; /*!< parity bit (1 bits) */
uint8_t i_line_offset; /*!< line offset (5 bits) */ uint8_t i_line_offset; /*!< line offset (5 bits) */
} dvbpsi_vbidata_line_t; } dvbpsi_vbidata_line_t;
/*!
* \def DVBPSI_VBIDATA_LINE_DR_MAX
* \brief Maximum number of dvbpsi_vbidata_line_t entries present in
* @see dvbpsi_vbidata_t
*/
#define DVBPSI_VBIDATA_LINE_DR_MAX 255
/************************************************************************** *** /************************************************************************** ***
* dvbpsi_vbidata_t * dvbpsi_vbidata_t
************************************************************************** ***/ ************************************************************************** ***/
/*! /*!
* \struct dvbpsi_vbidata_s * \struct dvbpsi_vbidata_s
* \brief one VBI data structure. * \brief one VBI data structure.
* *
* This structure is used since vbi_descriptor will contain several * This structure is used since vbi_descriptor will contain several
* of these structures * of these structures
*/ */
skipping to change at line 85 skipping to change at line 92
* \brief dvbpsi_vbidata_t type definition. * \brief dvbpsi_vbidata_t type definition.
*/ */
typedef struct dvbpsi_vbidata_s typedef struct dvbpsi_vbidata_s
{ {
uint8_t i_data_service_id; /*!< data service id (8 bits) * / uint8_t i_data_service_id; /*!< data service id (8 bits) * /
uint8_t i_lines; /*!< number of lines */ uint8_t i_lines; /*!< number of lines */
dvbpsi_vbidata_line_t p_lines[255]; /*!< VBI lines data */ dvbpsi_vbidata_line_t p_lines[255]; /*!< VBI lines data */
} dvbpsi_vbidata_t; } dvbpsi_vbidata_t;
/*!
* \def DVBPSI_VBI_DR_MAX
* \brief Maximum number of dvbpsi_vbidata_t entries present in
* @see dvbpsi_vbi_dr_t
*/
#define DVBPSI_VBI_DR_MAX 85
/************************************************************************** *** /************************************************************************** ***
* dvbpsi_vbi_dr_t * dvbpsi_vbi_dr_t
************************************************************************** ***/ ************************************************************************** ***/
/*! /*!
* \struct dvbpsi_vbi_dr_s * \struct dvbpsi_vbi_dr_s
* \brief "teletext" descriptor structure. * \brief "teletext" descriptor structure.
* *
* This structure is used to store a decoded "VBI data" * This structure is used to store a decoded "VBI data"
* descriptor. (ETSI EN 300 468 version 1.7.1 section 6.2.46). * descriptor. (ETSI EN 300 468 version 1.7.1 section 6.2.46).
*/ */
/*! /*!
* \typedef struct dvbpsi_vbi_dr_s dvbpsi_vbi_dr_t * \typedef struct dvbpsi_vbi_dr_s dvbpsi_vbi_dr_t
* \brief dvbpsi_vbi_dr_t type definition. * \brief dvbpsi_vbi_dr_t type definition.
*/ */
typedef struct dvbpsi_vbi_dr_s typedef struct dvbpsi_vbi_dr_s
{ {
uint8_t i_services_number; /*!< service number */ uint8_t i_services_number; /*!< service number */
dvbpsi_vbidata_t p_services[85]; /*!< services table */ dvbpsi_vbidata_t p_services[DVBPSI_VBI_DR_MAX]; /*!< services table */
} dvbpsi_vbi_dr_t; } dvbpsi_vbi_dr_t;
/************************************************************************** *** /************************************************************************** ***
* dvbpsi_DecodeVBIDataDr * dvbpsi_DecodeVBIDataDr
************************************************************************** ***/ ************************************************************************** ***/
/*! /*!
* \fn dvbpsi_vbi_dr_t * dvbpsi_DecodeVBIDataDr( * \fn dvbpsi_vbi_dr_t * dvbpsi_DecodeVBIDataDr(
dvbpsi_descriptor_t * p_descriptor) dvbpsi_descriptor_t * p_descriptor)
* \brief "VBI data" descriptor decoder. * \brief "VBI data" descriptor decoder.
 End of changes. 3 change blocks. 
1 lines changed or deleted 15 lines changed or added


 dr_55.h   dr_55.h 
skipping to change at line 61 skipping to change at line 61
* \typedef struct dvbpsi_parental_rating_s dvbpsi_parental_rating_t * \typedef struct dvbpsi_parental_rating_s dvbpsi_parental_rating_t
* \brief dvbpsi_parental_rating_t type definition. * \brief dvbpsi_parental_rating_t type definition.
*/ */
typedef struct dvbpsi_parental_rating_s typedef struct dvbpsi_parental_rating_s
{ {
uint32_t i_country_code; /*!< country code of parental rating */ uint32_t i_country_code; /*!< country code of parental rating */
uint8_t i_rating; /*!< parental rating */ uint8_t i_rating; /*!< parental rating */
} dvbpsi_parental_rating_t; } dvbpsi_parental_rating_t;
/*!
* \def DVBPSI_PARENTAL_RATING_DR_MAX
* \brief Maximum number of dvbpsi_parental_rating_t entries present in
* @see dvbpsi_parental_rating_t
*/
#define DVBPSI_PARENTAL_RATING_DR_MAX 64
/************************************************************************** *** /************************************************************************** ***
* dvbpsi_parental_rating_dr_t * dvbpsi_parental_rating_dr_t
************************************************************************** ***/ ************************************************************************** ***/
/*! /*!
* \struct dvbpsi_parental_rating_dr_s * \struct dvbpsi_parental_rating_dr_s
* \brief "parental_rating" descriptor structure. * \brief "parental_rating" descriptor structure.
* *
* This structure is used to store a decoded "parental_rating" * This structure is used to store a decoded "parental_rating"
* descriptor. (ETSI EN 300 468 section 6.2.26). * descriptor. (ETSI EN 300 468 section 6.2.26).
*/ */
/*! /*!
* \typedef struct dvbpsi_parental_rating_dr_s dvbpsi_parental_rating_dr_t * \typedef struct dvbpsi_parental_rating_dr_s dvbpsi_parental_rating_dr_t
* \brief dvbpsi_parental_rating_dr_t type definition. * \brief dvbpsi_parental_rating_dr_t type definition.
*/ */
typedef struct dvbpsi_parental_rating_dr_s typedef struct dvbpsi_parental_rating_dr_s
{ {
uint8_t i_ratings_number; /*!< number of rating * / uint8_t i_ratings_number; /*!< number of rating * /
dvbpsi_parental_rating_t p_parental_rating[64]; /*!< parental rating ta dvbpsi_parental_rating_t
ble */ p_parental_rating[DVBPSI_PARENTAL_RATING_DR_MAX]; /*!< pare
ntal rating table */
} dvbpsi_parental_rating_dr_t; } dvbpsi_parental_rating_dr_t;
/************************************************************************** *** /************************************************************************** ***
* dvbpsi_DecodeParentalRatingDataDr * dvbpsi_DecodeParentalRatingDataDr
************************************************************************** ***/ ************************************************************************** ***/
/*! /*!
* \fn dvbpsi_parental_rating_dr_t * dvbpsi_DecodeParentalRatingDr( * \fn dvbpsi_parental_rating_dr_t * dvbpsi_DecodeParentalRatingDr(
dvbpsi_descriptor_t * p_descriptor) dvbpsi_descriptor_t * p_descriptor)
* \brief "parental_rating" descriptor decoder. * \brief "parental_rating" descriptor decoder.
 End of changes. 2 change blocks. 
2 lines changed or deleted 10 lines changed or added


 dr_56.h   dr_56.h 
skipping to change at line 65 skipping to change at line 65
*/ */
typedef struct dvbpsi_teletextpage_s typedef struct dvbpsi_teletextpage_s
{ {
uint8_t i_iso6392_language_code[3]; /*!< ISO 6392 Language codes (2 4 bits) */ uint8_t i_iso6392_language_code[3]; /*!< ISO 6392 Language codes (2 4 bits) */
uint8_t i_teletext_type; /*!< teletext type (5 bits) */ uint8_t i_teletext_type; /*!< teletext type (5 bits) */
uint8_t i_teletext_magazine_number; /*!< teletext magazine number ( 3 bits) */ uint8_t i_teletext_magazine_number; /*!< teletext magazine number ( 3 bits) */
uint8_t i_teletext_page_number; /*!< teletext page number (8 bi ts) */ uint8_t i_teletext_page_number; /*!< teletext page number (8 bi ts) */
} dvbpsi_teletextpage_t; } dvbpsi_teletextpage_t;
/*!
* \def DVBPSI_TELETEXT_DR_MAX
* \brief Maximum number of dvbpsi_teletextpage_t entries present in
* @see dvbpsi_teletext_dr_t
*/
#define DVBPSI_TELETEXT_DR_MAX 64
/************************************************************************** *** /************************************************************************** ***
* dvbpsi_teletext_dr_t * dvbpsi_teletext_dr_t
************************************************************************** ***/ ************************************************************************** ***/
/*! /*!
* \struct dvbpsi_teletext_dr_s * \struct dvbpsi_teletext_dr_s
* \brief "teletext" descriptor structure. * \brief "teletext" descriptor structure.
* *
* This structure is used to store a decoded "teletext" * This structure is used to store a decoded "teletext"
* descriptor. (ETSI EN 300 468 version 1.7.1 section 6.2.42 and 6.2.47). * descriptor. (ETSI EN 300 468 version 1.7.1 section 6.2.42 and 6.2.47).
*/ */
/*! /*!
* \typedef struct dvbpsi_teletext_dr_s dvbpsi_teletext_dr_t * \typedef struct dvbpsi_teletext_dr_s dvbpsi_teletext_dr_t
* \brief dvbpsi_teletext_dr_t type definition. * \brief dvbpsi_teletext_dr_t type definition.
*/ */
typedef struct dvbpsi_teletext_dr_s typedef struct dvbpsi_teletext_dr_s
{ {
uint8_t i_pages_number; /*!< number of pages */ uint8_t i_pages_number; /*!< number of pag
dvbpsi_teletextpage_t p_pages[64]; /*!< teletext pages */ es */
dvbpsi_teletextpage_t p_pages[DVBPSI_TELETEXT_DR_MAX]; /*!< teletext page
s */
} dvbpsi_teletext_dr_t; } dvbpsi_teletext_dr_t;
/************************************************************************** *** /************************************************************************** ***
* dvbpsi_DecodeTeletextDataDr * dvbpsi_DecodeTeletextDataDr
************************************************************************** ***/ ************************************************************************** ***/
/*! /*!
* \fn dvbpsi_teletext_dr_t * dvbpsi_DecodeTeletextDr( * \fn dvbpsi_teletext_dr_t * dvbpsi_DecodeTeletextDr(
dvbpsi_descriptor_t * p_descriptor) dvbpsi_descriptor_t * p_descriptor)
* \brief "teletext" descriptor decoder. * \brief "teletext" descriptor decoder.
 End of changes. 2 change blocks. 
2 lines changed or deleted 11 lines changed or added


 dr_58.h   dr_58.h 
skipping to change at line 67 skipping to change at line 67
{ {
uint8_t i_country_code[3]; /*!< country_code */ uint8_t i_country_code[3]; /*!< country_code */
uint8_t i_country_region_id; /*!< country_region_id */ uint8_t i_country_region_id; /*!< country_region_id */
uint8_t i_local_time_offset_polarity; /*!< local_time_offset_polari ty */ uint8_t i_local_time_offset_polarity; /*!< local_time_offset_polari ty */
uint16_t i_local_time_offset; /*!< local_time_offset */ uint16_t i_local_time_offset; /*!< local_time_offset */
uint64_t i_time_of_change; /*!< time_of_change */ uint64_t i_time_of_change; /*!< time_of_change */
uint16_t i_next_time_offset; /*!< next_time_offset */ uint16_t i_next_time_offset; /*!< next_time_offset */
} dvbpsi_local_time_offset_t; } dvbpsi_local_time_offset_t;
/*!
* \def DVBPSI_LOCAL_TIME_OFFSET_DR_MAX
* \brief Maximum number of dvbpsi_local_time_offset_t entries present in
* @see dvbpsi_local_time_offset_dr_t
*/
#define DVBPSI_LOCAL_TIME_OFFSET_DR_MAX 19
/************************************************************************** *** /************************************************************************** ***
* dvbpsi_local_time_offset_dr_t * dvbpsi_local_time_offset_dr_t
************************************************************************** ***/ ************************************************************************** ***/
/*! /*!
* \struct dvbpsi_local_time_offset_dr_s * \struct dvbpsi_local_time_offset_dr_s
* \brief "local time offset" descriptor structure. * \brief "local time offset" descriptor structure.
* *
* This structure is used to store a decoded "local time offset" * This structure is used to store a decoded "local time offset"
* descriptor. (ETSI EN 300 468 section 6.2.19). * descriptor. (ETSI EN 300 468 section 6.2.19).
*/ */
/*! /*!
* \typedef struct dvbpsi_local_time_offset_dr_s dvbpsi_local_time_offset_d r_t * \typedef struct dvbpsi_local_time_offset_dr_s dvbpsi_local_time_offset_d r_t
* \brief dvbpsi_local_time_offset_dr_t type definition. * \brief dvbpsi_local_time_offset_dr_t type definition.
*/ */
typedef struct dvbpsi_local_time_offset_dr_s typedef struct dvbpsi_local_time_offset_dr_s
{ {
uint8_t i_local_time_offsets_number; /*!< local time off set number */ uint8_t i_local_time_offsets_number; /*!< local time off set number */
dvbpsi_local_time_offset_t p_local_time_offset[19]; /*!< local time off dvbpsi_local_time_offset_t
set */ p_local_time_offset[DVBPSI_LOCAL_TIME_OFFSET_DR_MAX]; /*!< l
ocal time offset */
} dvbpsi_local_time_offset_dr_t; } dvbpsi_local_time_offset_dr_t;
/************************************************************************** *** /************************************************************************** ***
* dvbpsi_DecodeLocalTimeOffsetDr * dvbpsi_DecodeLocalTimeOffsetDr
************************************************************************** ***/ ************************************************************************** ***/
/*! /*!
* \fn dvbpsi_local_time_offset_dr_t * dvbpsi_DecodeLocalTimeOffsetDr( * \fn dvbpsi_local_time_offset_dr_t * dvbpsi_DecodeLocalTimeOffsetDr(
dvbpsi_descriptor_t * p_descriptor) dvbpsi_descriptor_t * p_descriptor)
* \brief "local time offset" descriptor decoder. * \brief "local time offset" descriptor decoder.
 End of changes. 2 change blocks. 
2 lines changed or deleted 10 lines changed or added


 dr_59.h   dr_59.h 
skipping to change at line 64 skipping to change at line 64
*/ */
typedef struct dvbpsi_subtitle_s typedef struct dvbpsi_subtitle_s
{ {
uint8_t i_iso6392_language_code[3]; /*!< ISO 6392 language code */ uint8_t i_iso6392_language_code[3]; /*!< ISO 6392 language code */
uint8_t i_subtitling_type; /*!< subtitling type */ uint8_t i_subtitling_type; /*!< subtitling type */
uint16_t i_composition_page_id; /*!< composition page id */ uint16_t i_composition_page_id; /*!< composition page id */
uint16_t i_ancillary_page_id; /*!< ancillayr page id */ uint16_t i_ancillary_page_id; /*!< ancillayr page id */
} dvbpsi_subtitle_t; } dvbpsi_subtitle_t;
/*!
* \def DVBPSI_SUBTITLING_DR_MAX
* \brief Maximum number of dvbpsi_subtitle_t entries present in
* @see dvbpsi_subtitling_dr_t
*/
#define DVBPSI_SUBTITLING_DR_MAX 20
/************************************************************************** *** /************************************************************************** ***
* dvbpsi_subtitling_dr_t * dvbpsi_subtitling_dr_t
************************************************************************** ***/ ************************************************************************** ***/
/*! /*!
* \struct dvbpsi_subtitling_dr_s * \struct dvbpsi_subtitling_dr_s
* \brief "subtitling" descriptor structure. * \brief "subtitling" descriptor structure.
* *
* This structure is used to store a decoded "subtitling" * This structure is used to store a decoded "subtitling"
* descriptor. (ETSI EN 300 468 section 6.2.30). * descriptor. (ETSI EN 300 468 section 6.2.30).
*/ */
/*! /*!
* \typedef struct dvbpsi_subtitling_dr_s dvbpsi_subtitling_dr_t * \typedef struct dvbpsi_subtitling_dr_s dvbpsi_subtitling_dr_t
* \brief dvbpsi_subtitling_dr_t type definition. * \brief dvbpsi_subtitling_dr_t type definition.
*/ */
typedef struct dvbpsi_subtitling_dr_s typedef struct dvbpsi_subtitling_dr_s
{ {
uint8_t i_subtitles_number; /*!< subtiles number */ uint8_t i_subtitles_number; /*!< subtiles number */
dvbpsi_subtitle_t p_subtitle[20]; /*!< subtitles */ dvbpsi_subtitle_t p_subtitle[DVBPSI_SUBTITLING_DR_MAX]; /*!< subtitles */
} dvbpsi_subtitling_dr_t; } dvbpsi_subtitling_dr_t;
/************************************************************************** *** /************************************************************************** ***
* dvbpsi_DecodeSubtitlingDataDr * dvbpsi_DecodeSubtitlingDataDr
************************************************************************** ***/ ************************************************************************** ***/
/*! /*!
* \fn dvbpsi_subtitling_dr_t * dvbpsi_DecodeSubtitlingDr( * \fn dvbpsi_subtitling_dr_t * dvbpsi_DecodeSubtitlingDr(
dvbpsi_descriptor_t * p_descriptor) dvbpsi_descriptor_t * p_descriptor)
* \brief "subtitling" descriptor decoder. * \brief "subtitling" descriptor decoder.
 End of changes. 2 change blocks. 
1 lines changed or deleted 8 lines changed or added


 dr_76.h   dr_76.h 
skipping to change at line 87 skipping to change at line 87
*/ */
typedef struct dvbpsi_crid_entry_s typedef struct dvbpsi_crid_entry_s
{ {
uint8_t i_type; /*!< content type */ uint8_t i_type; /*!< content type */
uint8_t i_location; /*!< content location */ uint8_t i_location; /*!< content location */
union union
{ {
uint8_t path[253]; /*!< content path */ uint8_t path[253]; /*!< content path */
uint16_t ref; /*!< content reference */ uint16_t ref; /*!< content reference */
} value; /*!< content specific value */ } value; /*!< content specific value */
}dvbpsi_crid_entry_t; } dvbpsi_crid_entry_t;
/*!
* \def DVBPSI_CRID_ENTRY_DR_MAX
* \brief Maximum number of dvbpsi_crid_entry_t entries present in
* @see dvbpsi_content_id_dr_t
*/
#define DVBPSI_CRID_ENTRY_DR_MAX 85
/************************************************************************** *** /************************************************************************** ***
* dvbpsi_content_id_dr_s * dvbpsi_content_id_dr_s
************************************************************************** ***/ ************************************************************************** ***/
/*! /*!
* \struct dvbpsi_content_id_dr_s * \struct dvbpsi_content_id_dr_s
* \brief Content Identifier Descriptor * \brief Content Identifier Descriptor
* *
* This structure is used to store a decoded Content Identifier descriptor. * This structure is used to store a decoded Content Identifier descriptor.
*/ */
/*! /*!
* \typedef struct dvbpsi_content_id_dr_s dvbpsi_content_id_dr_t * \typedef struct dvbpsi_content_id_dr_s dvbpsi_content_id_dr_t
* \brief dvbpsi_content_id_dr_t type definition. * \brief dvbpsi_content_id_dr_t type definition.
*/ */
typedef struct dvbpsi_content_id_dr_s typedef struct dvbpsi_content_id_dr_s
{ {
uint8_t i_number_of_entries; /*!< Number of CRID entries present. */ uint8_t i_number_of_entries; /*!< Number of CRID entries present. */
dvbpsi_crid_entry_t p_entries[85];/*!< Array of CRID entries. */ dvbpsi_crid_entry_t p_entries[DVBPSI_CRID_ENTRY_DR_MAX];/*!< Array of C
}dvbpsi_content_id_dr_t; RID entries. */
} dvbpsi_content_id_dr_t;
/************************************************************************** *** /************************************************************************** ***
* dvbpsi_DecodeLCNDr * dvbpsi_DecodeLCNDr
************************************************************************** ***/ ************************************************************************** ***/
/*! /*!
* \fn dvbpsi_content_id_dr_s dvbpsi_DecodeContentIdDr(dvbpsi_descriptor_t *p_descriptor) * \fn dvbpsi_content_id_dr_s dvbpsi_DecodeContentIdDr(dvbpsi_descriptor_t *p_descriptor)
* \brief Decode a Content Identifier descriptor (tag 0x76) * \brief Decode a Content Identifier descriptor (tag 0x76)
* \param p_descriptor Raw descriptor to decode. * \param p_descriptor Raw descriptor to decode.
* \return NULL if the descriptor could not be decoded or a pointer to a * \return NULL if the descriptor could not be decoded or a pointer to a
* dvbpsi_content_id_dr_t structure. * dvbpsi_content_id_dr_t structure.
 End of changes. 2 change blocks. 
3 lines changed or deleted 11 lines changed or added


 dvbpsi.h   dvbpsi.h 
skipping to change at line 38 skipping to change at line 38
* Jean-Paul Saman <jpsaman@videolan.org> * Jean-Paul Saman <jpsaman@videolan.org>
* \brief Application interface for all DVB/PSI decoders. * \brief Application interface for all DVB/PSI decoders.
* *
* Application interface for all DVB/PSI decoders. The generic decoder * Application interface for all DVB/PSI decoders. The generic decoder
* structure is public so that external decoders are allowed. * structure is public so that external decoders are allowed.
*/ */
#ifndef _DVBPSI_DVBPSI_H_ #ifndef _DVBPSI_DVBPSI_H_
#define _DVBPSI_DVBPSI_H_ #define _DVBPSI_DVBPSI_H_
#define DVBPSI_VERSION 1.0.0 /*!< Human readible DVBPSI v #define DVBPSI_VERSION 1.1.0 /*!< Human readible DVBPSI v
ersion*/ ersion*/
#define DVBPSI_VERSION_INT ((1<<16)+(0<<8)+0) /*!< Machine readible DVBPSI #define DVBPSI_VERSION_INT ((1<<16)+(1<<8)+0) /*!< Machine readible DVBPSI
version */ version */
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/************************************************************************** *** /************************************************************************** ***
* Helper for GCC version checks borrowed from VLC. * Helper for GCC version checks borrowed from VLC.
************************************************************************** ***/ ************************************************************************** ***/
/*! /*!
* \def DVBPSI_GCC_VERSION(maj,min) * \def DVBPSI_GCC_VERSION(maj,min)
skipping to change at line 353 skipping to change at line 353
* \fn bool dvbpsi_decoder_present(dvbpsi_t *p_dvbpsi); * \fn bool dvbpsi_decoder_present(dvbpsi_t *p_dvbpsi);
* \brief Determines if a decoder has been attached to dvbpsi_t handle * \brief Determines if a decoder has been attached to dvbpsi_t handle
* \param p_dvbpsi handle to dvbpsi with attached decoder * \param p_dvbpsi handle to dvbpsi with attached decoder
* \return true when decoder is attached, else it will return false. * \return true when decoder is attached, else it will return false.
* *
* Determines if a decoder is attached to this dvbpsi_t handle. When the dv bpsi * Determines if a decoder is attached to this dvbpsi_t handle. When the dv bpsi
* handle is invalid the fuction will return false. * handle is invalid the fuction will return false.
*/ */
bool dvbpsi_decoder_present(dvbpsi_t *p_dvbpsi); bool dvbpsi_decoder_present(dvbpsi_t *p_dvbpsi);
/**************************************************************************
***
* deprecated API's
**************************************************************************
***/
/*!
* \typedef struct dvbpsi_decoder_s * dvbpsi_handle
* \brief deprecated dvbpsi handle. It is replaced by a dvbpsi_t type.
*/
typedef struct dvbpsi_decoder_s * dvbpsi_handle;// __attribute__((deprecate
d));
/* dvbpsi.h */
/*!
* \fn __attribute__((deprecated)) void dvbpsi_PushPacket(dvbpsi_handle h_d
vbpsi, uint8_t* p_data)
* \brief function is deprecated and should no longer be used. Use
* function dvbpsi_packet_push() instead.
* \param h_dvbpsi handle to dvbpsi_s struct
* \param p_data pointer to TS packet data (usually188 bytes)
*/
/*!
* \def dvbpsi_PushPacket(h,p) dvbpsi_packet_push(h,p)
* \brief backwards compatibility wrapper around dvbpsi_packet_push()
*/
__attribute__((deprecated))
void dvbpsi_PushPacket(dvbpsi_handle h_dvbpsi, uint8_t* p_data);
#define dvbpsi_PushPacket(h,p) dvbpsi_packet_push(h,p)
#ifdef __cplusplus #ifdef __cplusplus
}; };
#endif #endif
#else #else
#error "Multiple inclusions of dvbpsi.h" #error "Multiple inclusions of dvbpsi.h"
#endif #endif
 End of changes. 2 change blocks. 
33 lines changed or deleted 4 lines changed or added


 eit.h   eit.h 
skipping to change at line 62 skipping to change at line 62
* \typedef struct dvbpsi_eit_service_s dvbpsi_eit_event_t * \typedef struct dvbpsi_eit_service_s dvbpsi_eit_event_t
* \brief dvbpsi_eit_event_t type definition. * \brief dvbpsi_eit_event_t type definition.
*/ */
typedef struct dvbpsi_eit_event_s typedef struct dvbpsi_eit_event_s
{ {
uint16_t i_event_id; /*!< event_id */ uint16_t i_event_id; /*!< event_id */
uint64_t i_start_time; /*!< start_time */ uint64_t i_start_time; /*!< start_time */
uint32_t i_duration; /*!< duration */ uint32_t i_duration; /*!< duration */
uint8_t i_running_status; /*!< Running status */ uint8_t i_running_status; /*!< Running status */
bool b_free_ca; /*!< Free CA mode flag */ bool b_free_ca; /*!< Free CA mode flag */
bool b_nvod; /*!< Unscheduled NVOD E vent */
uint16_t i_descriptors_length; /*!< Descriptors loop uint16_t i_descriptors_length; /*!< Descriptors loop
length */ length */
dvbpsi_descriptor_t * p_first_descriptor; /*!< First of the follo wing dvbpsi_descriptor_t * p_first_descriptor; /*!< First of the follo wing
DVB descriptors */ DVB descriptors */
struct dvbpsi_eit_event_s * p_next; /*!< next element of struct dvbpsi_eit_event_s * p_next; /*!< next element of
the list */ the list */
} dvbpsi_eit_event_t; } dvbpsi_eit_event_t;
skipping to change at line 240 skipping to change at line 241
* \param i_event_descriptor_length The descriptors loop length in bytes of * \param i_event_descriptor_length The descriptors loop length in bytes of
all descriptors for this event. all descriptors for this event.
* \return a pointer to the added service description. * \return a pointer to the added service description.
*/ */
dvbpsi_eit_event_t* dvbpsi_eit_event_add(dvbpsi_eit_t* p_eit, dvbpsi_eit_event_t* dvbpsi_eit_event_add(dvbpsi_eit_t* p_eit,
uint16_t i_event_id, uint64_t i_start_time, uint32_t i_duration, uint16_t i_event_id, uint64_t i_start_time, uint32_t i_duration,
uint8_t i_running_status, bool b_free_ca, uint8_t i_running_status, bool b_free_ca,
uint16_t i_event_descriptor_length); uint16_t i_event_descriptor_length);
/************************************************************************** *** /************************************************************************** ***
* dvbpsi_eit_nvod_event_add
**************************************************************************
***/
/*!
* \fn dvbpsi_eit_event_t* dvbpsi_eit_nvod_event_add(dvbpsi_eit_t* p_eit,
uint16_t i_event_id,
uint32_t i_duration,
bool b_free_ca,
uint16_t i_event_descriptor_l
ength)
* \brief Add a NVOD service description at the end of the EIT.
* \param p_eit pointer to the EIT structure
* \param i_event_id Event ID
* \param i_duration Duration
* \param b_free_ca Free CA flag
* \param i_event_descriptor_length The descriptors loop length in bytes of
all descriptors for this event.
* \return a pointer to the added service description.
*/
dvbpsi_eit_event_t* dvbpsi_eit_nvod_event_add(dvbpsi_eit_t* p_eit,
uint16_t i_event_id, uint32_t i_duration, bool b_free_ca,
uint16_t i_event_descriptor_length);
/**************************************************************************
***
* dvbpsi_eit_event_descriptor_add * dvbpsi_eit_event_descriptor_add
************************************************************************** ***/ ************************************************************************** ***/
/*! /*!
* \fn dvbpsi_descriptor_t* dvbpsi_eit_event_descriptor_add( * \fn dvbpsi_descriptor_t* dvbpsi_eit_event_descriptor_add(
dvbpsi_eit_event_t* p_event, dvbpsi_eit_event_t* p_event,
uint8_t i_tag, uint8_t i_len gth, uint8_t i_tag, uint8_t i_len gth,
uint8_t* p_data) uint8_t* p_data)
* \brief Add a descriptor to the EIT event. * \brief Add a descriptor to the EIT event.
* \param p_event pointer to the EIT event structure * \param p_event pointer to the EIT event structure
* \param i_tag descriptor's tag * \param i_tag descriptor's tag
skipping to change at line 276 skipping to change at line 299
* uint8_t i_table_id); * uint8_t i_table_id);
* \brief Generate a EIT section based on the information provided in p_eit . * \brief Generate a EIT section based on the information provided in p_eit .
* \param p_dvbpsi pointer to Subtable demultiplexor to which the EIT decod er is attached. * \param p_dvbpsi pointer to Subtable demultiplexor to which the EIT decod er is attached.
* \param p_eit pointer to EIT information to include in the PSI secion * \param p_eit pointer to EIT information to include in the PSI secion
* \param i_table_id the EIT table id to use * \param i_table_id the EIT table id to use
* \return a pointer to a new PSI section * \return a pointer to a new PSI section
*/ */
dvbpsi_psi_section_t *dvbpsi_eit_sections_generate(dvbpsi_t *p_dvbpsi, dvbp si_eit_t *p_eit, dvbpsi_psi_section_t *dvbpsi_eit_sections_generate(dvbpsi_t *p_dvbpsi, dvbp si_eit_t *p_eit,
uint8_t i_table_id); uint8_t i_table_id);
/**************************************************************************
***
* deprecated API's
**************************************************************************
***/
__attribute__((deprecated))
int dvbpsi_AttachEIT(dvbpsi_decoder_t * p_psi_decoder, uint8_t i_table_id,
uint16_t i_extension, dvbpsi_eit_callback pf_callback,
void* p_cb_data);
__attribute__((deprecated))
void dvbpsi_DetachEIT(dvbpsi_demux_t * p_demux, uint8_t i_table_id,
uint16_t i_extension);
__attribute__((deprecated))
void dvbpsi_InitEIT(dvbpsi_eit_t* p_eit, uint16_t i_service_id, uint8_t i_v
ersion,
int b_current_next, uint16_t i_ts_id, uint16_t i_networ
k_id,
uint8_t i_segment_last_section_number,
uint8_t i_last_table_id);
__attribute__((deprecated)) void dvbpsi_EmptyEIT(dvbpsi_eit_t* p_eit);
__attribute__((deprecated))
dvbpsi_descriptor_t* dvbpsi_EITEventAddDescriptor(dvbpsi_eit_event_t* p_eve
nt,
uint8_t i_tag, uint8_t i_
length,
uint8_t* p_data);
__attribute__((deprecated))
dvbpsi_eit_event_t* dvbpsi_EITAddEvent(dvbpsi_eit_t* p_eit,
uint16_t i_event_id, uint64_t i_start_time, uint32_t i_duration,
uint8_t i_running_status, int b_free_ca);
#ifdef __cplusplus #ifdef __cplusplus
}; };
#endif #endif
#else #else
#error "Multiple inclusions of eit.h" #error "Multiple inclusions of eit.h"
#endif #endif
 End of changes. 3 change blocks. 
31 lines changed or deleted 26 lines changed or added


 nit.h   nit.h 
skipping to change at line 263 skipping to change at line 263
* \param p_dvbpsi handle to dvbpsi with attached decoder * \param p_dvbpsi handle to dvbpsi with attached decoder
* \param p_nit NIT structure * \param p_nit NIT structure
* \param i_table_id table id, 0x40 = actual network / 0x41 = other network * \param i_table_id table id, 0x40 = actual network / 0x41 = other network
* \return a pointer to the list of generated PSI sections. * \return a pointer to the list of generated PSI sections.
* *
* Generate NIT sections based on the dvbpsi_nit_t structure. * Generate NIT sections based on the dvbpsi_nit_t structure.
*/ */
dvbpsi_psi_section_t* dvbpsi_nit_sections_generate(dvbpsi_t* p_dvbpsi, dvbp si_nit_t* p_nit, dvbpsi_psi_section_t* dvbpsi_nit_sections_generate(dvbpsi_t* p_dvbpsi, dvbp si_nit_t* p_nit,
uint8_t i_table_id); uint8_t i_table_id);
/**************************************************************************
***
* deprecated API's
**************************************************************************
***/
__attribute__((deprecated))
int dvbpsi_AttachNIT(dvbpsi_decoder_t * p_psi_decoder, uint8_t i_table_id,
uint16_t i_extension, dvbpsi_nit_callback pf_callback,
void* p_cb_data);
__attribute__((deprecated))
void dvbpsi_DetachNIT(dvbpsi_demux_t * p_demux, uint8_t i_table_id,
uint16_t i_extension);
__attribute__((deprecated))
void dvbpsi_InitNIT(dvbpsi_nit_t* p_nit, uint16_t i_network_id,
uint8_t i_version, int b_current_next);
__attribute__((deprecated)) void dvbpsi_EmptyNIT(dvbpsi_nit_t* p_nit);
__attribute__((deprecated))
dvbpsi_descriptor_t* dvbpsi_NITAddDescriptor(dvbpsi_nit_t* p_nit,
uint8_t i_tag, uint8_t i_lengt
h,
uint8_t* p_data);
__attribute__((deprecated))
dvbpsi_nit_ts_t* dvbpsi_NITAddTS(dvbpsi_nit_t* p_nit,
uint16_t i_ts_id, uint16_t i_orig_network_
id);
__attribute__((deprecated))
dvbpsi_descriptor_t* dvbpsi_NITTSAddDescriptor(dvbpsi_nit_ts_t* p_ts,
uint8_t i_tag, uint8_t i_len
gth,
uint8_t* p_data);
__attribute__((deprecated))
dvbpsi_psi_section_t* dvbpsi_GenNITSections(dvbpsi_nit_t* p_nit,
uint8_t i_table_id);
#ifdef __cplusplus #ifdef __cplusplus
}; };
#endif #endif
#else #else
#error "Multiple inclusions of nit.h" #error "Multiple inclusions of nit.h"
#endif #endif
 End of changes. 1 change blocks. 
34 lines changed or deleted 0 lines changed or added


 pat.h   pat.h 
skipping to change at line 139 skipping to change at line 139
* \fn void dvbpsi_pat_init(dvbpsi_pat_t* p_pat, uint16_t i_ts_id, * \fn void dvbpsi_pat_init(dvbpsi_pat_t* p_pat, uint16_t i_ts_id,
uint8_t i_version, bool b_current_next) uint8_t i_version, bool b_current_next)
* \brief Initialize a user-allocated dvbpsi_pat_t structure. * \brief Initialize a user-allocated dvbpsi_pat_t structure.
* \param p_pat pointer to the PAT structure * \param p_pat pointer to the PAT structure
* \param i_ts_id transport stream ID * \param i_ts_id transport stream ID
* \param i_version PAT version * \param i_version PAT version
* \param b_current_next current next indicator * \param b_current_next current next indicator
* \return nothing. * \return nothing.
*/ */
void dvbpsi_pat_init(dvbpsi_pat_t* p_pat, uint16_t i_ts_id, uint8_t i_versi on, void dvbpsi_pat_init(dvbpsi_pat_t* p_pat, uint16_t i_ts_id, uint8_t i_versi on,
bool b_current_next); bool b_current_next);
/*! /*!
* \fn dvbpsi_pat_t *dvbpsi_pat_new(uint16_t i_ts_id, uint8_t i_version, * \fn dvbpsi_pat_t *dvbpsi_pat_new(uint16_t i_ts_id, uint8_t i_version,
* bool b_current_next); * bool b_current_next);
* \brief Allocate and initialize a new dvbpsi_pat_t structure. * \brief Allocate and initialize a new dvbpsi_pat_t structure.
* \param i_ts_id transport stream ID * \param i_ts_id transport stream ID
* \param i_version PAT version * \param i_version PAT version
* \param b_current_next current next indicator * \param b_current_next current next indicator
* \return p_pat pointer to the PAT structure * \return p_pat pointer to the PAT structure
*/ */
skipping to change at line 185 skipping to change at line 185
* \fn dvbpsi_pat_program_t* dvbpsi_pat_program_add(dvbpsi_pat_t* p_pat, * \fn dvbpsi_pat_program_t* dvbpsi_pat_program_add(dvbpsi_pat_t* p_pat,
uint16_t i_number, uint16_t i_number,
uint16_t i_pid) uint16_t i_pid)
* \brief Add a program at the end of the PAT. * \brief Add a program at the end of the PAT.
* \param p_pat pointer to the PAT structure * \param p_pat pointer to the PAT structure
* \param i_number program number * \param i_number program number
* \param i_pid PID of the NIT/PMT * \param i_pid PID of the NIT/PMT
* \return a pointer to the added program. * \return a pointer to the added program.
*/ */
dvbpsi_pat_program_t* dvbpsi_pat_program_add(dvbpsi_pat_t* p_pat, dvbpsi_pat_program_t* dvbpsi_pat_program_add(dvbpsi_pat_t* p_pat,
uint16_t i_number, uint16_t i_pi d); uint16_t i_number, uint16_t i_ pid);
/************************************************************************** *** /************************************************************************** ***
* dvbpsi_pat_sections_generate * dvbpsi_pat_sections_generate
************************************************************************** ***/ ************************************************************************** ***/
/*! /*!
* \fn dvbpsi_psi_section_t* dvbpsi_pat_sections_generate(dvbpsi_t *p_dvbps i, dvbpsi_pat_t* p_pat, * \fn dvbpsi_psi_section_t* dvbpsi_pat_sections_generate(dvbpsi_t *p_dvbps i, dvbpsi_pat_t* p_pat,
int i_max_pps); int i_max_pps);
* \brief PAT generator. * \brief PAT generator.
* \param p_dvbpsi handle to dvbpsi with attached decoder * \param p_dvbpsi handle to dvbpsi with attached decoder
* \param p_pat pointer to the PAT structure * \param p_pat pointer to the PAT structure
* \param i_max_pps limitation of the number of program in each section * \param i_max_pps limitation of the number of program in each section
* (max: 253). * (max: 253).
* \return a pointer to the list of generated PSI sections. * \return a pointer to the list of generated PSI sections.
* *
* Generate PAT sections based on the dvbpsi_pat_t structure. * Generate PAT sections based on the dvbpsi_pat_t structure.
*/ */
dvbpsi_psi_section_t* dvbpsi_pat_sections_generate(dvbpsi_t *p_dvbpsi, dvbpsi_psi_section_t* dvbpsi_pat_sections_generate(dvbpsi_t *p_dvbpsi,
dvbpsi_pat_t* p_pat, int i_max_ pps); dvbpsi_pat_t* p_pat, int i_max_ pps);
/**************************************************************************
***
* deprecated API's
**************************************************************************
***/
__attribute__((deprecated))
dvbpsi_handle dvbpsi_AttachPAT(dvbpsi_pat_callback pf_callback,
void* p_cb_data);
__attribute__((deprecated)) void dvbpsi_DetachPAT(dvbpsi_handle h_dvbpsi);
__attribute__((deprecated))
void dvbpsi_InitPAT(dvbpsi_pat_t* p_pat, uint16_t i_ts_id, uint8_t i_versio
n,
int b_current_next);
__attribute__((deprecated)) void dvbpsi_EmptyPAT(dvbpsi_pat_t* p_pat);
__attribute__((deprecated))
dvbpsi_pat_program_t* dvbpsi_PATAddProgram(dvbpsi_pat_t* p_pat,
uint16_t i_number, uint16_t i_pi
d);
__attribute__((deprecated))
dvbpsi_psi_section_t* dvbpsi_GenPATSections(dvbpsi_pat_t* p_pat, int i_max_
pps);
#ifdef __cplusplus #ifdef __cplusplus
}; };
#endif #endif
#else #else
#error "Multiple inclusions of pat.h" #error "Multiple inclusions of pat.h"
#endif #endif
 End of changes. 3 change blocks. 
24 lines changed or deleted 2 lines changed or added


 pmt.h   pmt.h 
skipping to change at line 256 skipping to change at line 256
dvbpsi_pmt_t* p_pmt) dvbpsi_pmt_t* p_pmt)
* \brief PMT generator * \brief PMT generator
* \param p_dvbpsi handle to dvbpsi with attached decoder * \param p_dvbpsi handle to dvbpsi with attached decoder
* \param p_pmt PMT structure * \param p_pmt PMT structure
* \return a pointer to the list of generated PSI sections. * \return a pointer to the list of generated PSI sections.
* *
* Generate PMT sections based on the dvbpsi_pmt_t structure. * Generate PMT sections based on the dvbpsi_pmt_t structure.
*/ */
dvbpsi_psi_section_t* dvbpsi_pmt_sections_generate(dvbpsi_t *p_dvbpsi, dvbp si_pmt_t* p_pmt); dvbpsi_psi_section_t* dvbpsi_pmt_sections_generate(dvbpsi_t *p_dvbpsi, dvbp si_pmt_t* p_pmt);
/**************************************************************************
***
* deprecated API's
**************************************************************************
***/
__attribute__((deprecated))
dvbpsi_handle dvbpsi_AttachPMT(uint16_t i_program_number,
dvbpsi_pmt_callback pf_callback,
void* p_cb_data);
__attribute__((deprecated)) void dvbpsi_DetachPMT(dvbpsi_handle h_dvbpsi);
__attribute__((deprecated))
void dvbpsi_InitPMT(dvbpsi_pmt_t* p_pmt, uint16_t i_program_number,
uint8_t i_version, int b_current_next, uint16_t i_pcr_p
id);
__attribute__((deprecated)) void dvbpsi_EmptyPMT(dvbpsi_pmt_t* p_pmt);
__attribute__((deprecated))
dvbpsi_descriptor_t* dvbpsi_PMTAddDescriptor(dvbpsi_pmt_t* p_pmt,
uint8_t i_tag, uint8_t i_lengt
h,
uint8_t* p_data);
__attribute__((deprecated))
dvbpsi_pmt_es_t* dvbpsi_PMTAddES(dvbpsi_pmt_t* p_pmt,
uint8_t i_type, uint16_t i_pid);
__attribute__((deprecated))
dvbpsi_descriptor_t* dvbpsi_PMTESAddDescriptor(dvbpsi_pmt_es_t* p_es,
uint8_t i_tag, uint8_t i_len
gth,
uint8_t* p_data);
__attribute__((deprecated))
dvbpsi_psi_section_t* dvbpsi_GenPMTSections(dvbpsi_pmt_t* p_pmt);
#ifdef __cplusplus #ifdef __cplusplus
}; };
#endif #endif
#else #else
#error "Multiple inclusions of pmt.h" #error "Multiple inclusions of pmt.h"
#endif #endif
 End of changes. 1 change blocks. 
31 lines changed or deleted 0 lines changed or added


 psi.h   psi.h 
skipping to change at line 127 skipping to change at line 127
* \return nothing. * \return nothing.
*/ */
void dvbpsi_DeletePSISections(dvbpsi_psi_section_t * p_section); void dvbpsi_DeletePSISections(dvbpsi_psi_section_t * p_section);
/************************************************************************** *** /************************************************************************** ***
* dvbpsi_CheckPSISection * dvbpsi_CheckPSISection
************************************************************************** ***/ ************************************************************************** ***/
/*! /*!
* \fn bool dvbpsi_CheckPSISection(dvbpsi_t *p_dvbpsi, dvbpsi_psi_section_t *p_section, * \fn bool dvbpsi_CheckPSISection(dvbpsi_t *p_dvbpsi, dvbpsi_psi_section_t *p_section,
const uint8_t table_id, const char *psz_table_n ame) const uint8_t table_id, const char *psz_table_n ame)
* \brief Check if PSI section has the expected table_id and it the syntax * \brief Check if PSI section has the expected table_id. Call this functio
indicator n only for
* is true. * PSI sections that have a CRC32 (@see dvbpsi_has_CRC32() function)
* \param p_dvbpsi pointer to dvbpsi library handle * \param p_dvbpsi pointer to dvbpsi library handle
* \param p_section pointer to the PSI section structure * \param p_section pointer to the PSI section structure
* \param table_id expected table id * \param table_id expected table id
* \param psz_table_name table name to use when reporting errors. * \param psz_table_name table name to use when reporting errors.
* \return boolean value (false if the section did not pass the tests). * \return boolean value (false if the section did not pass the tests).
*/ */
bool dvbpsi_CheckPSISection(dvbpsi_t *p_dvbpsi, dvbpsi_psi_section_t *p_sec tion, bool dvbpsi_CheckPSISection(dvbpsi_t *p_dvbpsi, dvbpsi_psi_section_t *p_sec tion,
const uint8_t table_id, const char *psz_table_n ame); const uint8_t table_id, const char *psz_table_n ame);
/************************************************************************** *** /************************************************************************** ***
* dvbpsi_ValidPSISection * dvbpsi_ValidPSISection
************************************************************************** ***/ ************************************************************************** ***/
/*! /*!
* \fn bool dvbpsi_ValidPSISection(dvbpsi_psi_section_t* p_section) * \fn bool dvbpsi_ValidPSISection(dvbpsi_psi_section_t* p_section)
* \brief Validity check of a PSI section. * \brief Validity check of a PSI section, make sure to call this function
on
* tables that have a CRC32 (@see dvbpsi_has_CRC32() function)
* \param p_section pointer to the PSI section structure * \param p_section pointer to the PSI section structure
* \return boolean value (false if the section is not valid). * \return boolean value (false if the section is not valid).
* *
* Check the CRC_32 if the section has b_syntax_indicator set. * Check the CRC_32 if the section has b_syntax_indicator set.
*/ */
bool dvbpsi_ValidPSISection(dvbpsi_psi_section_t* p_section); bool dvbpsi_ValidPSISection(dvbpsi_psi_section_t* p_section);
/************************************************************************** *** /************************************************************************** ***
* dvbpsi_BuildPSISection * dvbpsi_BuildPSISection
************************************************************************** ***/ ************************************************************************** ***/
/*! /*!
* \fn void dvbpsi_BuildPSISection(dvbpsi_t *p_dvbpsi, dvbpsi_psi_section_t * p_section) * \fn void dvbpsi_BuildPSISection(dvbpsi_t *p_dvbpsi, dvbpsi_psi_section_t * p_section)
* \brief Build a valid section based on the information in the structure. * \brief Build a valid section based on the information in the structure.
* \param p_dvbpsi dvbpsi handle * \param p_dvbpsi dvbpsi handle
* \param p_section pointer to the PSI section structure * \param p_section pointer to the PSI section structure
* \return nothing. * \return nothing.
*/ */
void dvbpsi_BuildPSISection(dvbpsi_t *p_dvbpsi, dvbpsi_psi_section_t* p_sec tion); void dvbpsi_BuildPSISection(dvbpsi_t *p_dvbpsi, dvbpsi_psi_section_t* p_sec tion);
/**************************************************************************
***
* dvbpsi_CalculateCRC32
**************************************************************************
***/
/*!
* \fn void dvbpsi_CalculateCRC32(dvbpsi_psi_section_t *p_section);
* \brief Calculate the CRC32 field accourding to ISO/IEC 13818-1,
* ITU-T Rec H.222.0 or ETSI EN 300 468 v1.13.1.
* \param p_section pointer to PSI section, make sure p_payload_end does no
t
* include the CRC32 field.
* \return nothing.
*/
void dvbpsi_CalculateCRC32(dvbpsi_psi_section_t *p_section);
/**************************************************************************
***
* dvbpsi_has_CRC32
**************************************************************************
***/
/*!
* \fn static inline bool dvbpsi_has_CRC32(dvbpsi_psi_section_t *p_section)
* \brief Check if this table_id has a CRC32 field accourding to ISO/IEC 13
818-1,
* ITU-T Rec H.222.0 or ETSI EN 300 468 v1.13.1.
* \param p_section pointer to decoded PSI section
* \return false if PSI section has no CRC32 according to the specification
,
* true otherwise.
*/
static inline bool dvbpsi_has_CRC32(dvbpsi_psi_section_t *p_section)
{
if ((p_section->i_table_id == (uint8_t) 0x70) /* TDT (has no CRC 32) */
||
(p_section->i_table_id == (uint8_t) 0x71) /* RST (has no CRC 32) */
||
(p_section->i_table_id == (uint8_t) 0x72) /* ST (has no CRC 32) */
||
(p_section->i_table_id == (uint8_t) 0x7E))/* DIT (has no CRC 32) */
return false;
return (p_section->b_syntax_indicator || (p_section->i_table_id == 0x73
));
}
#ifdef __cplusplus #ifdef __cplusplus
}; };
#endif #endif
#else #else
#error "Multiple inclusions of psi.h" #error "Multiple inclusions of psi.h"
#endif #endif
 End of changes. 3 change blocks. 
4 lines changed or deleted 52 lines changed or added


 sdt.h   sdt.h 
skipping to change at line 256 skipping to change at line 256
dvbpsi_sdt_t * p_sdt) dvbpsi_sdt_t * p_sdt)
* \brief SDT generator * \brief SDT generator
* \param p_dvbpsi handle to dvbpsi with attached decoder * \param p_dvbpsi handle to dvbpsi with attached decoder
* \param p_sdt SDT structure * \param p_sdt SDT structure
* \return a pointer to the list of generated PSI sections. * \return a pointer to the list of generated PSI sections.
* *
* Generate SDT sections based on the dvbpsi_sdt_t structure. * Generate SDT sections based on the dvbpsi_sdt_t structure.
*/ */
dvbpsi_psi_section_t *dvbpsi_sdt_sections_generate(dvbpsi_t *p_dvbpsi, dvbp si_sdt_t * p_sdt); dvbpsi_psi_section_t *dvbpsi_sdt_sections_generate(dvbpsi_t *p_dvbpsi, dvbp si_sdt_t * p_sdt);
/**************************************************************************
***
* deprecated API's
**************************************************************************
***/
__attribute__((deprecated))
int dvbpsi_AttachSDT(dvbpsi_decoder_t * p_psi_decoder, uint8_t i_table_id,
uint16_t i_extension, dvbpsi_sdt_callback pf_callback,
void* p_cb_data);
__attribute__((deprecated))
void dvbpsi_DetachSDT(dvbpsi_demux_t * p_demux, uint8_t i_table_id,
uint16_t i_extension);
__attribute__((deprecated))
void dvbpsi_InitSDT(dvbpsi_sdt_t *p_sdt, uint16_t i_ts_id, uint8_t i_versio
n,
int b_current_next, uint16_t i_network_id);
__attribute__((deprecated)) void dvbpsi_EmptySDT(dvbpsi_sdt_t *p_sdt);
__attribute__((deprecated))
dvbpsi_sdt_service_t *dvbpsi_SDTAddService(dvbpsi_sdt_t* p_sdt,
uint16_t i_service_id, int b_eit_schedule, int b_eit_present,
uint8_t i_running_status, int b_free_ca);
__attribute__((deprecated))
dvbpsi_descriptor_t *dvbpsi_SDTServiceAddDescriptor(
dvbpsi_sdt_service_t *p_serv
ice,
uint8_t i_tag, uint8_t i_len
gth,
uint8_t *p_data);
__attribute__((deprecated))
dvbpsi_psi_section_t *dvbpsi_GenSDTSections(dvbpsi_sdt_t * p_sdt);
#ifdef __cplusplus #ifdef __cplusplus
}; };
#endif #endif
#else #else
#error "Multiple inclusions of sdt.h" #error "Multiple inclusions of sdt.h"
#endif #endif
 End of changes. 1 change blocks. 
31 lines changed or deleted 0 lines changed or added


 sis.h   sis.h 
skipping to change at line 466 skipping to change at line 466
* \fn dvbpsi_psi_section_t *dvbpsi_sis_sections_generate(dvbpsi_t *p_dvbps i, dvbpsi_sis_t * p_sis); * \fn dvbpsi_psi_section_t *dvbpsi_sis_sections_generate(dvbpsi_t *p_dvbps i, dvbpsi_sis_t * p_sis);
* \brief SIS generator * \brief SIS generator
* \param p_dvbpsi handle to dvbpsi with attached decoder * \param p_dvbpsi handle to dvbpsi with attached decoder
* \param p_sis SIS structure * \param p_sis SIS structure
* \return a pointer to the list of generated PSI sections. * \return a pointer to the list of generated PSI sections.
* *
* Generate SIS sections based on the dvbpsi_sis_t structure. * Generate SIS sections based on the dvbpsi_sis_t structure.
*/ */
dvbpsi_psi_section_t *dvbpsi_sis_sections_generate(dvbpsi_t *p_dvbpsi, dvbp si_sis_t * p_sis); dvbpsi_psi_section_t *dvbpsi_sis_sections_generate(dvbpsi_t *p_dvbpsi, dvbp si_sis_t * p_sis);
/**************************************************************************
***
* deprecated API's
**************************************************************************
***/
__attribute__((deprecated))
int dvbpsi_AttachSIS(dvbpsi_decoder_t * p_psi_decoder, uint8_t i_table_id,
uint16_t i_extension, dvbpsi_sis_callback pf_callback,
void* p_cb_data);
__attribute__((deprecated))
void dvbpsi_DetachSIS(dvbpsi_demux_t * p_demux, uint8_t i_table_id,
uint16_t i_extension);
__attribute__((deprecated))
void dvbpsi_InitSIS(dvbpsi_sis_t *p_sis, uint8_t i_protocol_version);
__attribute__((deprecated)) void dvbpsi_EmptySIS(dvbpsi_sis_t *p_sis);
__attribute__((deprecated))
dvbpsi_descriptor_t *dvbpsi_SISAddDescriptor( dvbpsi_sis_t *p_sis,
uint8_t i_tag, uint8_t i_leng
th,
uint8_t *p_data);
__attribute__((deprecated))
dvbpsi_psi_section_t *dvbpsi_GenSISSections(dvbpsi_sis_t * p_sis);
#ifdef __cplusplus #ifdef __cplusplus
}; };
#endif #endif
#else #else
#error "Multiple inclusions of sis.h" #error "Multiple inclusions of sis.h"
#endif #endif
 End of changes. 1 change blocks. 
23 lines changed or deleted 0 lines changed or added


 tot.h   tot.h 
skipping to change at line 71 skipping to change at line 71
uint16_t i_extension; /*!< subtable id */ uint16_t i_extension; /*!< subtable id */
/* Subtable specific */ /* Subtable specific */
uint8_t i_version; /*!< version_number */ uint8_t i_version; /*!< version_number */
bool b_current_next; /*!< current_next_indicat or */ bool b_current_next; /*!< current_next_indicat or */
uint64_t i_utc_time; /*!< UTC_time */ uint64_t i_utc_time; /*!< UTC_time */
dvbpsi_descriptor_t * p_first_descriptor; /*!< descriptor list */ dvbpsi_descriptor_t * p_first_descriptor; /*!< descriptor list */
uint32_t i_crc; /*!< CRC_32 (TOT only) */
} __attribute__((packed)) dvbpsi_tot_t; } __attribute__((packed)) dvbpsi_tot_t;
/************************************************************************** *** /************************************************************************** ***
* dvbpsi_tot_callback * dvbpsi_tot_callback
************************************************************************** ***/ ************************************************************************** ***/
/*! /*!
* \typedef void (* dvbpsi_tot_callback)(void* p_cb_data, * \typedef void (* dvbpsi_tot_callback)(void* p_cb_data,
dvbpsi_tot_t* p_new_tot) dvbpsi_tot_t* p_new_tot)
* \brief Callback type definition. * \brief Callback type definition.
*/ */
skipping to change at line 200 skipping to change at line 198
* \fn dvbpsi_psi_section_t* dvbpsi_tot_sections_generate(dvbpsi_t *p_dvbps i, dvbpsi_tot_t* p_tot) * \fn dvbpsi_psi_section_t* dvbpsi_tot_sections_generate(dvbpsi_t *p_dvbps i, dvbpsi_tot_t* p_tot)
* \brief TDT/TOT generator * \brief TDT/TOT generator
* \param p_dvbpsi handle to dvbpsi with attached decoder * \param p_dvbpsi handle to dvbpsi with attached decoder
* \param p_tot TDT/TOT structure * \param p_tot TDT/TOT structure
* \return a pointer to the list of generated PSI sections. * \return a pointer to the list of generated PSI sections.
* *
* Generate TDT/TOT sections based on the dvbpsi_tot_t structure. * Generate TDT/TOT sections based on the dvbpsi_tot_t structure.
*/ */
dvbpsi_psi_section_t* dvbpsi_tot_sections_generate(dvbpsi_t* p_dvbpsi, dvbp si_tot_t* p_tot); dvbpsi_psi_section_t* dvbpsi_tot_sections_generate(dvbpsi_t* p_dvbpsi, dvbp si_tot_t* p_tot);
/**************************************************************************
***
* deprecated API's
**************************************************************************
***/
__attribute__((deprecated))
int dvbpsi_AttachTOT(dvbpsi_decoder_t * p_psi_decoder, uint8_t i_table_id,
uint16_t i_extension,
dvbpsi_tot_callback pf_callback, void* p_cb_data);
__attribute__((deprecated))
void dvbpsi_DetachTOT(dvbpsi_demux_t * p_demux, uint8_t i_table_id,
uint16_t i_extension);
__attribute__((deprecated))
void dvbpsi_NewTOT(dvbpsi_tot_t* p_tot, uint64_t i_utc_time);
__attribute__((deprecated)) void dvbpsi_DeleteTOT(dvbpsi_tot_t* p_tot);
__attribute__((deprecated))
dvbpsi_descriptor_t* dvbpsi_TOTAddDescriptor(dvbpsi_tot_t* p_tot,
uint8_t i_tag, uint8_t i_lengt
h,
uint8_t* p_data);
__attribute__((deprecated))
dvbpsi_psi_section_t* dvbpsi_GenTOTSections(dvbpsi_tot_t* p_tot);
#ifdef __cplusplus #ifdef __cplusplus
}; };
#endif #endif
#else #else
#error "Multiple inclusions of tot.h" #error "Multiple inclusions of tot.h"
#endif #endif
 End of changes. 2 change blocks. 
25 lines changed or deleted 0 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/