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 struct dvbpsi_eit_event_s dvbpsi_eit_event_t
 dvbpsi_eit_event_t type definition.
typedef struct 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.
dvbpsi_descriptor_tdvbpsi_EITEventAddDescriptor (dvbpsi_eit_event_t *p_event, uint8_t i_tag, uint8_t i_length, uint8_t *p_data)
 Add a descriptor to the EIT event.

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.
dvbpsi_descriptor_t * dvbpsi_EITEventAddDescriptor ( dvbpsi_eit_event_t p_event,
uint8_t  i_tag,
uint8_t  i_length,
uint8_t *  p_data 
)

Add a descriptor to the EIT event.

Parameters:
p_event pointer to the EIT event structure
i_tag descriptor's tag
i_length descriptor's length
p_data descriptor's data
Returns:
a pointer to the added descriptor.
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 16 Oct 2009 for libdvbpsi by  doxygen 1.6.1