eit.h File Reference

Application interface for the EIT decoder and the EIT generator. More...

Go to the source code of this file.

Data Structures

struct  dvbpsi_eit_event_s
 EIT service description structure. More...
struct  dvbpsi_eit_s
 EIT structure. More...

Defines

#define dvbpsi_NewEIT(p_eit, i_service_id, i_version, b_current_next, i_ts_id, i_network_id, i_segment_last_section_number, i_last_table_id)
 Allocate and initialize a new dvbpsi_eit_t structure.
#define dvbpsi_DeleteEIT(p_eit)
 Clean and free a dvbpsi_eit_t structure.

Typedefs

typedef dvbpsi_eit_event_s dvbpsi_eit_event_t
 dvbpsi_eit_event_t type definition.
typedef dvbpsi_eit_s dvbpsi_eit_t
 dvbpsi_eit_t type definition.
typedef void(* dvbpsi_eit_callback )(void *p_cb_data, dvbpsi_eit_t *p_new_eit)
 Callback type definition.

Functions

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)
void dvbpsi_DetachEIT (dvbpsi_demux_t *p_demux, uint8_t i_table_id, uint16_t i_extension)
 Destroy a EIT decoder.
void dvbpsi_InitEIT (dvbpsi_eit_t *p_eit, uint16_t i_service_id, uint8_t i_version, int b_current_next, uint16_t i_ts_id, uint16_t i_network_id, uint8_t i_segment_last_section_number, uint8_t i_last_table_id)
 Initialize a user-allocated dvbpsi_eit_t structure.
void dvbpsi_EmptyEIT (dvbpsi_eit_t *p_eit)
 Clean a dvbpsi_eit_t structure.
dvbpsi_eit_event_tdvbpsi_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)
 Add a service description at the end of the EIT.


Detailed Description

Application interface for the EIT decoder and the EIT generator.

>

Author:
Christophe Massiot <massiot@via.ecp.fr>
Application interface for the EIT decoder and the EIT generator. New decoded EIT are sent by callback to the application. If a table wasn't active (b_current_next == 0) and the next is the same but active (b_current_next == 1) then the event information list is empty and should be caught from the previous structure.

Define Documentation

#define dvbpsi_DeleteEIT p_eit   ) 
 

Value:

do {                                                                    \
  dvbpsi_EmptyEIT(p_eit);                                               \
  free(p_eit);                                                          \
} while(0);
Clean and free a dvbpsi_eit_t structure.

Parameters:
p_eit pointer to the EIT structure
Returns:
nothing.

#define dvbpsi_NewEIT p_eit,
i_service_id,
i_version,
b_current_next,
i_ts_id,
i_network_id,
i_segment_last_section_number,
i_last_table_id   ) 
 

Value:

do {                                                                    \
  p_eit = (dvbpsi_eit_t*)malloc(sizeof(dvbpsi_eit_t));                  \
  if(p_eit != NULL)                                                     \
    dvbpsi_InitEIT(p_eit, i_service_id, i_version, b_current_next, i_ts_id, i_network_id, i_segment_last_section_number, i_last_table_id); \
} while(0);
Allocate and initialize a new dvbpsi_eit_t structure.

Parameters:
p_eit pointer to the EIT structure
i_ts_id transport stream ID
i_version EIT version
b_current_next current next indicator
i_network_id original network id
Returns:
nothing.


Function Documentation

void dvbpsi_DetachEIT dvbpsi_demux_t p_demux,
uint8_t  i_table_id,
uint16_t  i_extension
 

Destroy a EIT decoder.

Parameters:
p_demux Subtable demultiplexor to which the decoder is attached.
i_table_id Table ID, 0x4E, 0x4F, or 0x50-0x6F.
i_extension Table ID extension, here service ID.
Returns:
nothing.

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
 

Add a service description at the end of the EIT.

Parameters:
p_eit pointer to the EIT structure
i_event_id Event ID
i_start_time Start Time
i_duration Duration
i_running_status Running status
b_free_ca Free CA flag
Returns:
a pointer to the added service description.

void dvbpsi_EmptyEIT dvbpsi_eit_t p_eit  ) 
 

Clean a dvbpsi_eit_t structure.

Parameters:
p_eit pointer to the EIT structure
Returns:
nothing.

void dvbpsi_InitEIT dvbpsi_eit_t p_eit,
uint16_t  i_service_id,
uint8_t  i_version,
int  b_current_next,
uint16_t  i_ts_id,
uint16_t  i_network_id,
uint8_t  i_segment_last_section_number,
uint8_t  i_last_table_id
 

Initialize a user-allocated dvbpsi_eit_t structure.

Parameters:
p_eit pointer to the EIT structure
i_service_id service ID
i_version EIT version
b_current_next current next indicator
i_ts_id transport stream ID
i_network_id original network id
i_segment_last_section_number segment_last_section_number
i_last_table_id i_last_table_id
Returns:
nothing.


Generated on Sat Jun 3 00:58:14 2006 for libdvbpsi by  doxygen 1.4.6