HbbTv  17.9.0
Open source HBBTV engine
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
Data Structures | Enumerations | Functions
hbbtv_sif_service.h File Reference

System Interface, Service. More...

#include "techtype.h"
#include "hbbtv_types.h"
#include "hbbtv_sif_types.h"

Go to the source code of this file.

Data Structures

struct  S_HBBTV_TIME
 
struct  S_HBBTV_MEDIA_ASSET
 
struct  S_HBBTV_EVENT_DETAILS
 
struct  S_HBBTV_SERVICE_DETAILS
 

Enumerations

enum  E_HBBTV_SDT_SERVICE_TYPE {
  SDT_TYPE_TV = 0x01, SDT_TYPE_RADIO = 0x02, SDT_TYPE_AVC_RADIO = 0x0a, SDT_TYPE_DATA = 0x0c,
  SDT_TYPE_MPEG2_HD = 0x11, SDT_TYPE_AVC_SD_TV = 0x16, SDT_TYPE_HD_TV = 0x19
}
 

Functions

U8BIT HBBTV_GetDemuxPath (void)
 Retrieve demux resource reference to be used by the DSMCC to collect broadcast carousel data from platform section filters. More...
 
E_HBBTV_ERR HBBTV_GetEventDetails (S32BIT service_index, BOOLEAN porf, S_HBBTV_EVENT_DETAILS *details)
 Retrieves information about the present or following event on a service. More...
 
void HBBTV_ReleaseEventDetails (S_HBBTV_EVENT_DETAILS *details)
 Releases data allocated by HBBTV_GetEventDetails (e.g. String data). More...
 
E_HBBTV_ERR HBBTV_GetLCNLocator (U32BIT lcn, S_HBBTV_DVB_LOCATOR *p_dvb_locator)
 Retrieves the DVB locator information for a given LCN. More...
 
E_HBBTV_ERR HBBTV_GetNetworkID (U32BIT lcn, U16BIT *nid)
 Retrieves a service Network ID. The correct implementation of this function is not mandatory for HbbTV 1.2.1. This function is used to implement the channel's nid property as defined in OIPF vol. 5, section 7.13.11.2. More...
 
E_HBBTV_ERR HBBTV_GetMajorChannel (U32BIT lcn, U16BIT *major_channel)
 Retrieves a service Major Channel number. The correct implementation of this function is not mandatory for HbbTV 1.2.1. This function is used to implement the channel's majorChannel property as defined in OIPF vol. 5, section 7.13.11.2. More...
 
E_HBBTV_ERR HBBTV_ObtainComponentList (S_HBBTV_DVB_LOCATOR *locator, E_HBBTV_COMPONENT_TYPE type, U32BIT *num_ptr, S_HBBTV_COMPONENT_DETAILS **list_ptr)
 Retrieves the list of components available for a service. Provided HBBTV_OK is returned, the HbbTV engine will call HBBTV_ReleaseComponentList to release allocated data on the same task and immediately after it has copied the data. More...
 
void HBBTV_ReleaseComponentList (U32BIT num, S_HBBTV_COMPONENT_DETAILS *list_ptr)
 Releases data allocated by HBBTV_ObtainComponentList (e.g. String data). Always called immediately after the HbbTV engine has copied data. More...
 
E_HBBTV_ERR HBBTV_ObtainEventList (U32BIT service_index, U32BIT *num_ptr, S_HBBTV_EVENT_DETAILS **list_ptr)
 
void HBBTV_ReleaseEventList (U32BIT num, S_HBBTV_EVENT_DETAILS *list_ptr)
 Release data allocated by HBBTV_ObtainEventList(e.g. String data). Always called immediately after the HbbTV engine has copied the data. More...
 
E_HBBTV_ERR HBBTV_ObtainServiceList (U32BIT *num_ptr, S_HBBTV_SERVICE_DETAILS **list_ptr)
 Retrieves Service list information. Provided HBBTV_OK is returned, the HbbTV engine will call HBBTV_ReleaseServiceList to release allocated data on the same task and immediately after it has copied the data. More...
 
void HBBTV_ReleaseServiceList (U32BIT num, S_HBBTV_SERVICE_DETAILS *list_ptr)
 Releases data allocated by HBBTV_ObtainServiceList (e.g. String data). Always called immediately after the HbbTV engine has copied data. More...
 
E_HBBTV_ERR HBBTV_GetServiceDetails (U16BIT service_lcn, S_HBBTV_SERVICE_DETAILS *details)
 Retrieves information about the indicated service. Provided HBBTV_OK is returned, the HbbTV engine will call HBBTV_ReleaseServiceDetails to release allocated data on the same task and immediately after it has copied the data. More...
 
void HBBTV_ReleaseServiceDetails (S_HBBTV_SERVICE_DETAILS *details)
 Releases data allocated by HBBTV_ReleaseServiceDetails (e.g. String data). Always called immediately after the HbbTV engine has copied data. More...
 
U8BIT * HBBTV_GetEventSIDescriptorData (S_HBBTV_DVB_LOCATOR *dvb_locator, U16BIT event_id, U8BIT desc_tag_id, S32BIT ext_desc_tag_id, U16BIT *desc_len)
 Retrieves raw SI descriptor data with the defined descriptor tag id, and optionally the extended descriptor tag id, for an event on a service. The data must be freed using HBBTV_ReleaseEventSIDescriptorData. More...
 
void HBBTV_ReleaseEventSIDescriptorData (U8BIT *desc_data, U16BIT desc_len)
 Frees event SI descriptor data returned through a call to HBBTV_GetEventSIDescriptorData. More...
 
BOOLEAN HBBTV_GetServiceLocked (U16BIT service_lcn)
 Retrieves the locked status of the specified service. The correct implementation of this function is not mandatory for HbbTV 1.2.1. It is used to implement the channel's locked property as defined in OIPF vol. 5, section 7.13.11.2. More...
 
BOOLEAN HBBTV_GetServiceRunning (U16BIT service_lcn)
 Retrieves the running status flag of the specified service as broadcast in the SDT or EIT. The correct implementation of this function is not mandatory for HbbTV 1.2.1. It is used to implement the channel's runningStatus property as defined in Freesat OPAL v1.0, section 14.6.15. More...
 

Detailed Description

System Interface, Service.

Date
January 2014
Author
Sergio Panseri

Function Documentation

U8BIT HBBTV_GetDemuxPath ( void  )

Retrieve demux resource reference to be used by the DSMCC to collect broadcast carousel data from platform section filters.

Returns
U8BIT demux resource path
E_HBBTV_ERR HBBTV_GetEventDetails ( S32BIT  service_index,
BOOLEAN  porf,
S_HBBTV_EVENT_DETAILS details 
)

Retrieves information about the present or following event on a service.

Parameters
service_indexReceiver dependent identifier for the required service
porfIndicates whether the present or following event should be retrieved, TRUE = present, FALSE = following
detailsPointer to S_HBBTV_EVENT_DETAILS structure to place required event information (this will NOT be NULL)
Returns
- HBBTV_OK on success
  • HBBTV_ERR_BAD_PARAMETER if service_index is invalid
  • HBBTV_ERR_OTHER otherwise.
U8BIT* HBBTV_GetEventSIDescriptorData ( S_HBBTV_DVB_LOCATOR dvb_locator,
U16BIT  event_id,
U8BIT  desc_tag_id,
S32BIT  ext_desc_tag_id,
U16BIT *  desc_len 
)

Retrieves raw SI descriptor data with the defined descriptor tag id, and optionally the extended descriptor tag id, for an event on a service. The data must be freed using HBBTV_ReleaseEventSIDescriptorData.

Parameters
dvb_locatorPointer to S_HBBTV_DVB_LOCATOR containing the original network id, transport id and service id of the service to be queried
event_idId of the event to be queried
desc_tag_idDescriptor tag id to be returned
ext_desc_tag_idExtended descriptor tag id to be returned, or negative if not relevant
desc_lenLength of the returned data, or 0 if no data is returned
Returns
Pointer to an allocated buffer containing a copy of the data for the descriptor. If there are multiple descriptors with the same tag id then they will all be returned. NULL is returned if the descriptor isn't found.
E_HBBTV_ERR HBBTV_GetLCNLocator ( U32BIT  lcn,
S_HBBTV_DVB_LOCATOR p_dvb_locator 
)

Retrieves the DVB locator information for a given LCN.

Parameters
lcnThe LCN for the channel in question
p_dvb_locatorThe DVB locator structure
Returns
- HBBTV_OK on success
  • HBBTV_ERR_BAD_PARAMETER invalid parameter
  • HBBTV_ERR_OTHER controlling application specific error
E_HBBTV_ERR HBBTV_GetMajorChannel ( U32BIT  lcn,
U16BIT *  major_channel 
)

Retrieves a service Major Channel number. The correct implementation of this function is not mandatory for HbbTV 1.2.1. This function is used to implement the channel's majorChannel property as defined in OIPF vol. 5, section 7.13.11.2.

Parameters
lcnService logical channel number
major_channelPointer to the variable containing the Major Channel number. The value returned in major_channel is expected to be -1 if no Major Channel number is assigned to the service.
Returns
- HBBTV_OK on success
  • HBBTV_ERR_BAD_PARAMETER invalid parameter
  • HBBTV_ERR_OTHER controlling application specific error
E_HBBTV_ERR HBBTV_GetNetworkID ( U32BIT  lcn,
U16BIT *  nid 
)

Retrieves a service Network ID. The correct implementation of this function is not mandatory for HbbTV 1.2.1. This function is used to implement the channel's nid property as defined in OIPF vol. 5, section 7.13.11.2.

Parameters
lcnService logical channel number
nidPointer to the variable containing the Network ID
Returns
- HBBTV_OK on success
  • HBBTV_ERR_BAD_PARAMETER invalid parameter
  • HBBTV_ERR_OTHER controlling application specific error
E_HBBTV_ERR HBBTV_GetServiceDetails ( U16BIT  service_lcn,
S_HBBTV_SERVICE_DETAILS details 
)

Retrieves information about the indicated service. Provided HBBTV_OK is returned, the HbbTV engine will call HBBTV_ReleaseServiceDetails to release allocated data on the same task and immediately after it has copied the data.

Parameters
service_lcnService LCN
detailsPointer to S_HBBTV_SERVICE_DETAILS structure to place required service information (this will NOT be NULL)
Returns
- HBBTV_OK on success
  • HBBTV_ERR_OTHER otherwise.
BOOLEAN HBBTV_GetServiceLocked ( U16BIT  service_lcn)

Retrieves the locked status of the specified service. The correct implementation of this function is not mandatory for HbbTV 1.2.1. It is used to implement the channel's locked property as defined in OIPF vol. 5, section 7.13.11.2.

Parameters
service_lcnService LCN
Returns
TRUE if the parental control system prevents the channel from being viewed (e.g. when a pin needs to be entered by the user).
BOOLEAN HBBTV_GetServiceRunning ( U16BIT  service_lcn)

Retrieves the running status flag of the specified service as broadcast in the SDT or EIT. The correct implementation of this function is not mandatory for HbbTV 1.2.1. It is used to implement the channel's runningStatus property as defined in Freesat OPAL v1.0, section 14.6.15.

Parameters
service_lcnService LCN
Returns
TRUE if the the service is marked as running, FALSE otherwise.
E_HBBTV_ERR HBBTV_ObtainComponentList ( S_HBBTV_DVB_LOCATOR locator,
E_HBBTV_COMPONENT_TYPE  type,
U32BIT *  num_ptr,
S_HBBTV_COMPONENT_DETAILS **  list_ptr 
)

Retrieves the list of components available for a service. Provided HBBTV_OK is returned, the HbbTV engine will call HBBTV_ReleaseComponentList to release allocated data on the same task and immediately after it has copied the data.

Parameters
locatorDVB locator identifying a service (Not NULL)
typeRequired component type
num_ptrPointer to number of components (Not NULL)
list_ptrPointer to S_HBBTV_COMPONENT_DETAILS Pointer (Not NULL)
Returns
- HBBTV_OK on success
  • HBBTV_ERR_BAD_PARAMETER invalid parameter
  • HBBTV_ERR_OTHER controlling application specific error
E_HBBTV_ERR HBBTV_ObtainEventList ( U32BIT  service_index,
U32BIT *  num_ptr,
S_HBBTV_EVENT_DETAILS **  list_ptr 
)

@ brief Retrieves Event list information for a Service. Provided HBBTV_OK is returned, the HbbTV engine will call HBBTV_ReleaseEventList to release allocated data on the same task and immediately after it has copied the data.

Parameters
service_indexReceiver dependent identifier for the required service
num_ptrPointer to number of events (Not NULL)
list_ptrPointer to S_HBBTV_EVENT_DETAILS Pointer (Not NULL)
Returns
- HBBTV_OK on success
  • HBBTV_ERR_BAD_PARAMETER invalid parameter
  • HBBTV_ERR_OTHER controlling application specific error
E_HBBTV_ERR HBBTV_ObtainServiceList ( U32BIT *  num_ptr,
S_HBBTV_SERVICE_DETAILS **  list_ptr 
)

Retrieves Service list information. Provided HBBTV_OK is returned, the HbbTV engine will call HBBTV_ReleaseServiceList to release allocated data on the same task and immediately after it has copied the data.

Parameters
num_ptrPointer to number of services (Not NULL)
list_ptrPointer to S_HBBTV_SERVICE_DETAILS Pointer (Not NULL)
Returns
- HBBTV_OK on success
  • HBBTV_ERR_BAD_PARAMETER invalid parameter
  • HBBTV_ERR_OTHER controlling application specific error
void HBBTV_ReleaseComponentList ( U32BIT  num,
S_HBBTV_COMPONENT_DETAILS list_ptr 
)

Releases data allocated by HBBTV_ObtainComponentList (e.g. String data). Always called immediately after the HbbTV engine has copied data.

Parameters
numNumber of elements in the list
list_ptrPointer to S_HBBTV_COMPONENT_DETAILS
void HBBTV_ReleaseEventDetails ( S_HBBTV_EVENT_DETAILS details)

Releases data allocated by HBBTV_GetEventDetails (e.g. String data).

Parameters
detailsPointer to S_HBBTV_EVENT_DETAILS
void HBBTV_ReleaseEventList ( U32BIT  num,
S_HBBTV_EVENT_DETAILS list_ptr 
)

Release data allocated by HBBTV_ObtainEventList(e.g. String data). Always called immediately after the HbbTV engine has copied the data.

Parameters
numNumber of elements in the list
list_ptrPointer to S_HBBTV_EVENT_DETAILS
void HBBTV_ReleaseEventSIDescriptorData ( U8BIT *  desc_data,
U16BIT  desc_len 
)

Frees event SI descriptor data returned through a call to HBBTV_GetEventSIDescriptorData.

Parameters
desc_dataPointer to data to be freed
desc_lenLength of the descriptor data
void HBBTV_ReleaseServiceDetails ( S_HBBTV_SERVICE_DETAILS details)

Releases data allocated by HBBTV_ReleaseServiceDetails (e.g. String data). Always called immediately after the HbbTV engine has copied data.

Parameters
detailsPointer to S_HBBTV_SERVICE_DETAILS
void HBBTV_ReleaseServiceList ( U32BIT  num,
S_HBBTV_SERVICE_DETAILS list_ptr 
)

Releases data allocated by HBBTV_ObtainServiceList (e.g. String data). Always called immediately after the HbbTV engine has copied data.

Parameters
numNumber of elements in the list
list_ptrPointer to S_HBBTV_SERVICE_DETAILS