![]() |
DSMCC
22.11.0
|
Dsmcc's Service Information Query API. More...
#include "cldsmtypes.h"
#include "dmxtypes.h"
#include "stdfuncs.h"
#include "siqfuncs.h"
#include "dsm_debug.h"
Go to the source code of this file.
Classes | |
struct | S_SiqSetup |
Macros | |
#define | UNKNOWN_AIT_TYPE 0x7FFF |
#define | UNKNOWN_AIT_VERS 0x7F |
Typedefs | |
typedef U32BIT(* | F_DvpRequestTable) (void *ref, U16BIT pid, U16BIT xid, U8BIT tid) |
SIQ requests table data - normally PMT, but could be UNT. Table data should be given to appropriate function e.g. SIQ_ProcessPMT. It should always supply it after this function is called, and then, whenever the version changes. This state should continue until F_DvpCancelTable is called. More... | |
typedef void(* | F_DvpCancelTable) (void *ref, U16BIT pid, U32BIT rid) |
Cancel request for Table data made by F_DvpRequestTable() More... | |
typedef struct s_SiqCachePat * | H_SiqCachePat |
typedef struct s_SiqCachePmt * | H_SiqCachePmt |
typedef struct s_SiqPmtTable * | H_SiqPmtTable |
Enumerations | |
enum | E_SIQ_STATUS { SIQ_ERROR, SIQ_IGNORE, SIQ_UPDATE } |
Functions | |
H_SiqInstance | SIQ_CreateInstance (S_SiqSetup *pSetup) |
Create SIQ instance. More... | |
void | SIQ_DestroyInstance (H_SiqInstance siq) |
Destroy instance created by SIQ_CreateInstance. More... | |
void | SIQ_SetDebugConfig (H_SiqInstance siq, F_Printf errPrintf, F_Printf dbgPrintf, U32BIT dbgState) |
Set Debug config for SIQ. More... | |
void | SIQ_SetDebugState (H_SiqInstance siq, U32BIT dbgState) |
Set Debug state for SIQ. More... | |
void | SIQ_SetDsmInstance (H_SiqInstance siq, H_DsmCoreInst dsm) |
Set instance handle for DSM-CC that SIQ is supporting. More... | |
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 tuning to another transport stream. 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... | |
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. This may initiate calls to DSM-CC callback functions for Load Carousel or Load Object, where states are 'aborted'. 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. 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'). More... | |
void | SIQ_CacheClearPmt (H_SiqInstance siq, U16BIT serviceId) |
Clear cached PMT information. More... | |
E_DscError | SIQ_RequestQueryStart (H_SiqInstance siq, P_SIQueryRequest pQuery, H_SIQueryRef clDsmSIQueryRef, void *clDsmSIUserData, P_SIQueryResult pResult) |
Start DSM-CC query request. Called by DSM-CC component, and given in clDsmSysCreate setup. More... | |
void | SIQ_RequestQueryStop (H_SiqInstance siq, void *queryHandle, H_SIQueryRef clDsmSIQueryRef) |
Stop DSM-CC query request. Called by DSM-CC component, and given in clDsmSysCreate setup. More... | |
E_DscError | SIQ_ServiceInfoChangeSubscribe (H_SiqInstance siq, U16BIT serviceId) |
Subscribe a component to receive notification of any changes or alterations to the service information of a specified service. Called by DSM-CC component, and given in clDsmSysCreate setup. More... | |
void | SIQ_ServiceInfoChangeUnsubscribe (H_SiqInstance siq, U16BIT serviceId) |
Unsubscribe component to previously subscribed service change or alteration updates. Called by DSM-CC component, and given in clDsmSysCreate setup. More... | |
Dsmcc's Service Information Query API.
typedef void(* F_DvpCancelTable) (void *ref, U16BIT pid, U32BIT rid) |
Cancel request for Table data made by F_DvpRequestTable()
ref | External reference or handle |
pid | PID for this table |
rid | Request Id returned by F_DvpRequestTable() |
typedef U32BIT(* F_DvpRequestTable) (void *ref, U16BIT pid, U16BIT xid, U8BIT tid) |
SIQ requests table data - normally PMT, but could be UNT. Table data should be given to appropriate function e.g. SIQ_ProcessPMT. It should always supply it after this function is called, and then, whenever the version changes. This state should continue until F_DvpCancelTable is called.
ref | External reference or handle |
pid | PID for this table |
xid | Table extension ID |
tid | Table ID (e.g. PMT is 0x02) |
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_SiqInstance SIQ_CreateInstance | ( | S_SiqSetup * | pSetup | ) |
Create SIQ instance.
S_SiqSetup | setup setup parameters |
S_SiqSetup | setup setup parameters |
void SIQ_DestroyInstance | ( | H_SiqInstance | siq | ) |
Destroy instance created by SIQ_CreateInstance.
H_SiqInstance | siq SIQ instance handle. |
H_SiqInstance | siqInstance SIQ instance handle. |
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. 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 | siq SIQ instance handle. |
U8BIT* | pmt raw PMT section data |
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_DscError SIQ_RequestQueryStart | ( | H_SiqInstance | siq, |
P_SIQueryRequest | pQuery, | ||
H_SIQueryRef | clDsmSIQueryRef, | ||
void * | clDsmSIUserData, | ||
P_SIQueryResult | pResult | ||
) |
Start DSM-CC query request. Called by DSM-CC component, and given in clDsmSysCreate setup.
H_SiqInstance | siq SIQ instance handle. |
void SIQ_RequestQueryStop | ( | H_SiqInstance | siq, |
void * | queryHandle, | ||
H_SIQueryRef | clDsmSIQueryRef | ||
) |
Stop DSM-CC query request. Called by DSM-CC component, and given in clDsmSysCreate setup.
H_SiqInstance | siq SIQ instance handle. |
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 | ( | H_SiqInstance | siq, |
U16BIT | serviceId | ||
) |
Subscribe a component to receive notification of any changes or alterations to the service information of a specified service. Called by DSM-CC component, and given in clDsmSysCreate setup.
H_SiqInstance | siq SIQ instance handle. |
U16BIT | serviceId Service to be monitored. |
void SIQ_ServiceInfoChangeUnsubscribe | ( | H_SiqInstance | siq, |
U16BIT | serviceId | ||
) |
Unsubscribe component to previously subscribed service change or alteration updates. Called by DSM-CC component, and given in clDsmSysCreate setup.
H_SiqInstance | siq SIQ instance handle. |
U16BIT | serviceId Service being monitored. |
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. This may initiate calls to DSM-CC callback functions for Load Carousel or Load Object, where states are 'aborted'.
H_SiqInstance | siq SIQ instance handle. |
U16BIT | serviceId Service Id of removed service |
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_SetDebugConfig | ( | H_SiqInstance | siq, |
F_Printf | errPrintf, | ||
F_Printf | dbgPrintf, | ||
U32BIT | dbgState | ||
) |
Set Debug config for SIQ.
H_SiqInstance | siq SIQ instance handle. |
F_Printf | errPrintf Error print function |
F_Printf | dbgPrintf Debug print function |
U32BIT | dbgState State to filter debug printing |
H_SiqInstance | siq SIQ instance handle. |
F_SiqPrintf | errPrintf Error print function |
F_SiqPrintf | dbgPrintf Debug print function |
U32BIT | dbgState State to filter debug printing |
void SIQ_SetDebugState | ( | H_SiqInstance | siq, |
U32BIT | dbgState | ||
) |
Set Debug state for SIQ.
H_SiqInstance | siq SIQ instance handle. |
U32BIT | dbgState State to filter debug printing |
void SIQ_SetDsmInstance | ( | H_SiqInstance | siq, |
H_DsmCoreInst | dsmInstance | ||
) |
Set instance handle for DSM-CC that SIQ is supporting.
H_SiqInstance | siq SIQ instance handle. |
H_DsmCoreInst | dsm DSM-CC instance being supported |
void* | siqInstance SIQ instance handle. |
H_DsmCoreInst | dsmInstance DSM-CC instance being supported |
void SIQ_TransportChanged | ( | H_SiqInstance | siq, |
U16BIT | origNetworkId, | ||
U16BIT | transportId | ||
) |
Inform SIQ when tuning to another transport stream. Not required if PAT is supplied to SIQ.
H_SiqInstance | siq SIQ instance handle. |
U16BIT | origNetworkId original network Id for transport stream |
U16BIT | transportId Id of new transport stream |
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 |