Commit dfc818d3 authored by Francois Cartegnie's avatar Francois Cartegnie Committed by Jean-Paul Saman

differenciate NVOD EIT

parent b036dc2c
......@@ -222,6 +222,8 @@ dvbpsi_eit_event_t* dvbpsi_eit_event_add(dvbpsi_eit_t* p_eit,
p_event->i_duration = i_duration;
p_event->i_running_status = i_running_status;
p_event->b_free_ca = b_free_ca;
p_event->b_nvod = ( (i_start_time & 0xFFFFF000) == 0xFFFFF000
&& i_running_status == 0x0 );
p_event->p_next = NULL;
p_event->i_descriptors_length = i_event_descriptor_length;
p_event->p_first_descriptor = NULL;
......@@ -238,6 +240,19 @@ dvbpsi_eit_event_t* dvbpsi_eit_event_add(dvbpsi_eit_t* p_eit,
return p_event;
}
/*****************************************************************************
* dvbpsi_eit_nvod_event_add
*****************************************************************************
* Add an NVOD event description at the end of the EIT.
*****************************************************************************/
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)
{
return dvbpsi_eit_event_add(p_eit, i_event_id, 0xFFFFF000, i_duration,
0x0, b_free_ca, i_event_descriptor_length);
}
/*****************************************************************************
* dvbpsi_eit_event_descriptor_add
*****************************************************************************
......
......@@ -59,6 +59,7 @@ typedef struct dvbpsi_eit_event_s
uint32_t i_duration; /*!< duration */
uint8_t i_running_status; /*!< Running status */
bool b_free_ca; /*!< Free CA mode flag */
bool b_nvod; /*!< Unscheduled NVOD Event */
uint16_t i_descriptors_length; /*!< Descriptors loop
length */
dvbpsi_descriptor_t * p_first_descriptor; /*!< First of the following
......@@ -236,6 +237,28 @@ dvbpsi_eit_event_t* dvbpsi_eit_event_add(dvbpsi_eit_t* p_eit,
uint8_t i_running_status, bool b_free_ca,
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_length)
* \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
*****************************************************************************/
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment