![]() |
DSMCC
22.3.0
|
Service Information Query: cache functionality. More...
#include <string.h>
#include "siq_debug.h"
#include "siq_cache.h"
#include "siq_main.h"
#include "cldsmcc.h"
Classes | |
struct | s_SiqCachePat |
struct | s_SiqCachePmt |
Macros | |
#define | SIQ_DEFAULT_PMT_TOTAL 64 |
#define | VERSION_CHANGED 0xff |
#define | PMT_TID 0x02 |
Typedefs | |
typedef struct s_SiqCachePat | S_SiqCachePat |
typedef struct s_SiqCachePmt | S_SiqCachePmt |
Functions | |
BOOLEAN | SIQ_CacheInit (S_SiqInstance *siq) |
void | SIQ_CacheExit (S_SiqInstance *siq) |
void | SIQ_UpdatePat (H_SiqInstance siq, U8BIT *dptr) |
Provide SIQ with latest PAT data. Calling this function is optional. However, if not used, then the platform must use SIQ_ServiceRemoved and SIQ_TransportChanged. More... | |
void | SIQ_TransportChanged (H_SiqInstance siq, U16BIT origNetworkId, U16BIT transportId) |
Inform SIQ when a demux is tuning to another transport stream. Not required if PAT is supplied to SIQ. More... | |
void | SIQ_ServiceRemoved (H_SiqInstance siq, U16BIT serviceId) |
Inform SIQ when a service has been removed from PAT. Not required if PAT is supplied to SIQ. More... | |
E_SIQ_STATUS | SIQ_RequirePmt (H_SiqInstance siq, U8BIT *pmt, U16BIT *pSid, U8BIT *pVer) |
Ask SIQ whether PMT section data is required. It assumes CRC has been checked and is passing valid PMT sections So the first byte of data must be PMT table id (i.e. 0x02). If SIQ does not receive PAT then this function adds SIQ knowledge of the service. More... | |
H_SiqPmtTable | SIQ_ParsePmt (H_SiqInstance siq, U8BIT *pmt) |
Provide PMT section data to SIQ. It assumes CRC has been checked and is passing valid PMT sections So the first byte of data must be PMT table id (i.e. 0x02). If SIQ does not receive PAT then this function adds SIQ knowledge of the service. More... | |
void | SIQ_ProcessPmt (H_SiqInstance siq, H_SiqPmtTable hNewTable, U16BIT serviceId, U8BIT version) |
Provide PMT section data to SIQ. It assumes CRC has been checked and is passing valid PMT sections So the first byte of data must be PMT table id (i.e. 0x02). If SIQ does not receive PAT then this function adds SIQ knowledge of the service. More... | |
H_SiqPmtTable | SIQ_CacheRetrievePmt (S_SiqInstance *siq, U16BIT serviceId, U32BIT *gettingPmt) |
void | SIQ_CacheClearPmt (H_SiqInstance siq, U16BIT serviceId) |
Clear cached PMT information. More... | |
void | SIQ_CacheClear (S_SiqInstance *siq) |
E_DscError | SIQ_ServiceInfoChangeSubscribe (S_SiqInstance *siq, U16BIT serviceId) |
Subscribe a component to receive notification of any changes or alterations to the service information of a specified service. More... | |
void | SIQ_ServiceInfoChangeUnsubscribe (S_SiqInstance *siq, U16BIT serviceId) |
Unsubscribe component to previously subscribed service change or alteration updates. More... | |
Service Information Query: cache functionality.
void SIQ_CacheClearPmt | ( | H_SiqInstance | siq, |
U16BIT | serviceId | ||
) |
Clear cached PMT information.
H_SiqInstance | siq SIQ instance handle. |
U16BIT | serviceId Service whose PMT needs to be cleared |
H_SiqPmtTable SIQ_ParsePmt | ( | H_SiqInstance | siq, |
U8BIT * | pmt | ||
) |
Provide PMT section data to SIQ. It assumes CRC has been checked and is passing valid PMT sections So the first byte of data must be PMT table id (i.e. 0x02). If SIQ does not receive PAT then this function adds SIQ knowledge of the service.
H_SiqInstance | siqInstance SIQ instance handle. |
U8BIT* | pmt raw PMT section data |
void SIQ_ProcessPmt | ( | H_SiqInstance | siq, |
H_SiqPmtTable | hNewTable, | ||
U16BIT | serviceId, | ||
U8BIT | version | ||
) |
Provide PMT section data to SIQ. It assumes CRC has been checked and is passing valid PMT sections So the first byte of data must be PMT table id (i.e. 0x02). If SIQ does not receive PAT then this function adds SIQ knowledge of the service.
Provide PMT section data to SIQ. It assumes CRC has been checked and is passing valid PMT sections So the first byte of data must be PMT table id (i.e. 0x02). If SIQ does not receive PAT then this function adds SIQ knowledge of the service. This may initiate calls to F_ParseDataBcastId(), and may be followed by DSM-CC callback functions for Load Carousel or Load Object, where states can be any (including 'aborted').
H_SiqInstance | siqInstance SIQ instance handle. |
U8BIT* | pmt raw PMT section data |
E_SIQ_STATUS SIQ_RequirePmt | ( | H_SiqInstance | siq, |
U8BIT * | pmt, | ||
U16BIT * | pSid, | ||
U8BIT * | pVer | ||
) |
Ask SIQ whether PMT section data is required. It assumes CRC has been checked and is passing valid PMT sections So the first byte of data must be PMT table id (i.e. 0x02). If SIQ does not receive PAT then this function adds SIQ knowledge of the service.
H_SiqInstance | siq SIQ instance handle. |
U8BIT* | pmt raw PMT section data header |
E_DscError SIQ_ServiceInfoChangeSubscribe | ( | S_SiqInstance * | siq, |
U16BIT | serviceId | ||
) |
Subscribe a component to receive notification of any changes or alterations to the service information of a specified service.
H_DsmCoreInst | instance DMSM-CC instance handle. |
U16BIT | service_id Service to monitor. |
void SIQ_ServiceInfoChangeUnsubscribe | ( | S_SiqInstance * | siq, |
U16BIT | serviceId | ||
) |
Unsubscribe component to previously subscribed service change or alteration updates.
H_DsmCoreInst | instance DMSM-CC instance handle. |
U16BIT | service_id Service to monitor. |
void SIQ_ServiceRemoved | ( | H_SiqInstance | siq, |
U16BIT | serviceId | ||
) |
Inform SIQ when a service has been removed from PAT. Not required if PAT is supplied to SIQ.
Inform SIQ when a service has been removed from PAT. Not required if PAT is supplied to SIQ. This may initiate calls to DSM-CC callback functions for Load Carousel or Load Object, where states are 'aborted'.
H_SiqInstance | siqInstance SIQ instance handle. |
U16BIT | serviceId Service Id of removed service |
void SIQ_TransportChanged | ( | H_SiqInstance | siq, |
U16BIT | origNetworkId, | ||
U16BIT | transportId | ||
) |
Inform SIQ when a demux is tuning to another transport stream. Not required if PAT is supplied to SIQ.
Inform SIQ when tuning to another transport stream. Not required if PAT is supplied to SIQ.
H_SiqInstance | siqInstance SIQ instance handle. |
U16BIT | transportId Id of new transport stream |
void SIQ_UpdatePat | ( | H_SiqInstance | siq, |
U8BIT * | dptr | ||
) |
Provide SIQ with latest PAT data. Calling this function is optional. However, if not used, then the platform must use SIQ_ServiceRemoved and SIQ_TransportChanged.
H_SiqInstance | siq SIQ instance handle. |
U8BIT* | dptr PAT section data |