DSMCC  15.3.1
source/dsmain/src/dsm_si.c File Reference

DSM-CC SI support. More...

#include <string.h>
#include "stb_os.h"
#include "stb_filter.h"
#include "dsm_control.h"
#include "dm_debug.h"
#include "dsm_si.h"

Data Structures

struct  s_pmtrequest
struct  s_DsiInstance

Defines

#define PAT_PID   0
#define PAT_TID   0
#define PMT_TID   2
#define PAT_TIMEOUT   700
#define PMT_TIMEOUT   1000

Typedefs

typedef struct s_pmtrequest S_PmtRequest
typedef struct s_DsiInstance S_DsiInstance

Functions

S_PmtRequestFindPmtRqst (H_DsiInstance dsi, U16BIT serviceId)
H_DsiInstance DSI_CreateInstance (F_FILTER_CALLBACK cbfunc, S_DsmccConfig *config)
 Create instance of DSI.
void DSI_DestroyInstance (H_DsiInstance dsi)
 Destroy instance created by SIQ_CreateInstance.
BOOLEAN DSI_Start (H_DsiInstance dsi, DMXREF dmxref)
 Start getting SI data from Demux.
void DSI_Stop (H_DsiInstance dsi)
 Stop getting SI data from Demux.
BOOLEAN DSI_RequestPmt (H_DsiInstance dsi, U16BIT serviceId, U16BIT pmtpid)
 Request PMT data to be supplied to SIQ for this service. It supplies PMT soon after the call to this function, and then, whenever the PMT version changes. This state continues until DSI_CancelPmt is called.
void DSI_CancelPmt (H_DsiInstance dsi, U16BIT serviceId)
 Cancel request for PMT data made by DSI_RequestPmt()
U32BIT DSI_CheckRequests (H_DsiInstance dsi, U32BIT now)
 Check outstanding PMT (and PAT) requests to see whether any need to be refreshed.
BOOLEAN DSI_RequireTable (H_DsiInstance dsi, U8BIT *hdr, U16BIT *pSid, U8BIT *pVer)
 Check whether SI table section data is required.

Detailed Description

DSM-CC SI support.

Date:
24 April 2014
Author:
Adam Sturtridge

Function Documentation

void DSI_CancelPmt ( H_DsiInstance  dsi,
U16BIT  serviceId 
)

Cancel request for PMT data made by DSI_RequestPmt()

Parameters:
dmxrefDemux handle used by DVB stack
serviceIdService no longer requiring PMT updates.
Returns:
void
U32BIT DSI_CheckRequests ( H_DsiInstance  dsi,
U32BIT  now 
)

Check outstanding PMT (and PAT) requests to see whether any need to be refreshed.

Parameters:
dsiDSI instance handle
Returns:
U32BIT time when need to call this function again
H_DsiInstance DSI_CreateInstance ( F_FILTER_CALLBACK  cbfunc,
S_DsmccConfig config 
)

Create instance of DSI.

Parameters:
cbfuncFunction to process SI section data
configConfiguration of DSM-CC
Returns:
DSI Instance handle

Destroy instance created by SIQ_CreateInstance.

Parameters:
H_DsiInstancedsi DSI instance handle.
Returns:
BOOLEAN DSI_RequestPmt ( H_DsiInstance  dsi,
U16BIT  serviceId,
U16BIT  pmtpid 
)

Request PMT data to be supplied to SIQ for this service. It supplies PMT soon after the call to this function, and then, whenever the PMT version changes. This state continues until DSI_CancelPmt is called.

Parameters:
dmxrefDemux handle used by DVB stack
serviceIdService that SIQ requires PMT updates.
pmtpidPID for PMT of the service
Returns:
zero is failure, non-zero is success
BOOLEAN DSI_RequireTable ( H_DsiInstance  dsi,
U8BIT *  hdr,
U16BIT *  pSid,
U8BIT *  pVer 
)

Check whether SI table section data is required.

Parameters:
dsiDSI instance handle
datapointer to section data (starting at table Id byte
pXidpointer to return table extension
pVerpointer to return table version
Returns:
BOOLEAN - TRUE if required, otherwise FALSE
BOOLEAN DSI_Start ( H_DsiInstance  dsi,
DMXREF  dmxref 
)

Start getting SI data from Demux.

Parameters:
H_DsiInstancedsi DSI instance handle.
DMXREFdmxref Demux reference handle
Returns:
void DSI_Stop ( H_DsiInstance  dsi)

Stop getting SI data from Demux.

Parameters:
H_DsiInstancedsi DSI instance handle.
Returns:
 All Data Structures Files Functions Typedefs