DSMCC  17.9.0
 All Data Structures Files Functions Typedefs
Data Structures | Macros | Typedefs | Functions
dsm_control.h File Reference

DSM-CC API functions to control DSM-CC instance. More...

#include "siqfuncs.h"
#include "dmxtypes.h"
#include "dsm_types.h"
#include "stdfuncs.h"

Go to the source code of this file.

Data Structures

struct  s_DsmccConfig
 

Macros

#define obtainSiDirect   controlFlags
 
#define GET_PMT_DIRECT_FROM_HW_FLAG   (1 << 0)
 
#define DISABLE_AUTO_CACHING_FLAG   (2 << 0)
 

Typedefs

typedef void(* F_CarouselLoad )(H_ObjCarousel hOC, E_OCLoadStatus result, U32BIT carouselId)
 
typedef struct s_DsmccConfig S_DsmccConfig
 

Functions

H_DsmControl DSMCC_Open (S_DsmccConfig *config)
 Open DSM-CC and create controling instance. More...
 
void DSMCC_Close (H_DsmControl instance)
 Close DSM-CC controling instance, and destroy all resources. More...
 
BOOLEAN DSMCC_Start (H_DsmControl instance, S_DvbLocator *locator, U32BIT boot_carousel_id, DMXREF dmxref)
 The function is depreciated. It starts DSM-CC controlling instance, and will start search for a boot carousel on service specified by locator. The search depends on 'boot_carousel_id' parameter. When boot carousel id is set to INVALID_CAROUSEL_ID, DSM-CC will attempt to start on a carousel which the client recognises in callback function 'parseDataBroadcastId'. Even when the PMT does not contain a recognised data broadcast id, DSMCC_Start() will return TRUE, and the DSM-CC will keep trying to load a boot carousel. When boot carousel id is set to a specific value or UNKNOWN_CAROUSEL_ID and a carousel of the required ID is not present, either DSMCC_Start() will return FALSE or 'carouselLoad' callback will be passed a result of OC_LOAD_ABORTED_ERROR. When boot carousel id is set to UNKNOWN_CAROUSEL_ID, DSM-CC will attempt to start on whatever carousel is signalled in PMT for that service. More...
 
void DSMCC_SetTunedTransportInfo (H_DsmControl instance, U16BIT onet_id, U16BIT tran_id, DMXREF dmxref)
 Inform DSMCC instance of the tuned transport details. This must be called before calling DSMCC_StartFs() or DSMCC_StartSsu() More...
 
BOOLEAN DSMCC_StartFs (H_DsmControl instance, U16BIT service_id, U32BIT carousel_id)
 Start DSM-CC controlling instance. This must follow call to DSMCC_SetTunedTransportInfo. The function will start search for an Object Carousel on the specified service. The search depends on the value given 'carousel_id' parameter. When carousel id is set to INVALID_CAROUSEL_ID, DSM-CC will attempt to start on a carousel which the client recognises in callback function 'parseDataBroadcastId'. Even when the PMT does not contain a recognised data broadcast id, this function will return TRUE, and the DSM-CC will keep searching. When the carousel id is set to a specific value or UNKNOWN_CAROUSEL_ID and a carousel of the required ID is not present, either this function will return FALSE or 'carouselLoad' callback will be passed a result of OC_LOAD_ABORTED_ERROR. When carousel id is set to UNKNOWN_CAROUSEL_ID, DSM-CC will attempt to start on whatever carousel is signalled in PMT for that service. More...
 
BOOLEAN DSMCC_StartSsu (H_DsmControl instance, U16BIT service_id, U32BIT oui)
 Start DSM-CC controling instance. This must follow call to DSMCC_SetTunedTransportInfo. The function will start loading Update Carousel for SSU on specified service. More...
 
BOOLEAN DSMCC_StartSsuWithPid (H_DsmControl instance, U16BIT pid, U32BIT oui)
 Start DSM-CC controling instance. This must follow call to DSMCC_SetTunedTransportInfo. The function will start loading Update Carousel for SSU on a single specified PID. More...
 
void DSMCC_Stop (H_DsmControl instance, E_DsmRstMode mode)
 Stop DSM-CC controling instance. Causes all carousels to unload. More...
 
void DSMCC_Reboot (H_DsmControl instance)
 Reboot DSM-CC controling instance. Causes all carousels to unload and initiate search for boot carousel. More...
 
H_ObjCarousel DSMCC_CurrentCarousel (H_DsmControl dsmctrl)
 Get currently loaded carousel handle. More...
 
U32BIT DSMCC_CurrentCarouselId (H_DsmControl dsmctrl)
 Get currently loaded carousel ID. More...
 
BOOLEAN DSMCC_SetCurrentCarousel (H_DsmControl dsmctrl, H_ObjCarousel hOC)
 Set current carousel. This does not unload any previously loaded carousels. More...
 
void DSMCC_UnloadCarousel (H_DsmControl dsmctrl, H_ObjCarousel hOC, E_DsmRstMode mode)
 Unload specified Carousel. More...
 
void DSMCC_SiqCacheClearPmt (H_DsmControl dsmctrl, U16BIT serviceId)
 Clear cached PMT for particular service. More...
 
const char * DSMCC_VersionString (void)
 Returns version major.minor.patch as string. More...
 
H_DsmControl DSMCC_FindInstance (U16BIT serviceId, DMXREF dmxref)
 Find DSMCC instance that has beed started on specified service. More...
 
void DSMCC_SetFileSystemCacheLimit (H_DsmControl dsmctrl, U32BIT cacheSize)
 Set limit of DSMCC dynamic memory usage for file system caching This function overrides the default size is 6 MB. If this size is less than the currently allocated memory size, then it will release file system data until limit is reached - but only releasing data not currently in used by the client. More...
 
void DSMCC_SsuUnloadModule (H_DsmControl dsmctrl, H_DsmCarousel hCarousel, U32BIT moduleRef)
 Unload SSU module. This is intended to be called once the client has finished saving the data for this module. More...
 

Detailed Description

DSM-CC API functions to control DSM-CC instance.

Date
23/01/2013
Author
Adam Sturtridge

Definition in file dsm_control.h.

Function Documentation

void DSMCC_Close ( H_DsmControl  dsmctrl)

Close DSM-CC controling instance, and destroy all resources.

Parameters
dsmctrlDSM control instance handle
Returns
void

Definition at line 1580 of file dsm_control.c.

H_ObjCarousel DSMCC_CurrentCarousel ( H_DsmControl  dsmctrl)

Get currently loaded carousel handle.

Parameters
dsmctrlDSM control instance handle
Returns
carousel handle - NULL if none loaded
Parameters
H_DsmControldsmctrl DSM control instance handle
Returns
H_ObjCarousel carousel handle - NULL if none loaded

Definition at line 1887 of file dsm_control.c.

U32BIT DSMCC_CurrentCarouselId ( H_DsmControl  dsmctrl)

Get currently loaded carousel ID.

Parameters
dsmctrlDSM control instance handle
Returns
carousel id - INVALID_CAROUSEL_ID if none loaded
Parameters
H_DsmControldsmctrl DSM control instance handle
Returns
U32BIT carousel id - INVALID_CAROUSEL_ID if none loaded

Definition at line 1901 of file dsm_control.c.

H_DsmControl DSMCC_FindInstance ( U16BIT  serviceId,
DMXREF  dmxref 
)

Find DSMCC instance that has beed started on specified service.

Parameters
serviceIdService on which DSMCC is started
dmxrefdemux reference used for HW section filtering
Returns
H_DsmControl instance handle, or NULL if not found

Definition at line 2031 of file dsm_control.c.

H_DsmControl DSMCC_Open ( S_DsmccConfig config)

Open DSM-CC and create controling instance.

Parameters
configConfiguration of control instance.
Returns
H_DsmControl instance handle
Parameters
S_DsmccConfig*config Configuration of control instance.
Returns
void

Definition at line 1507 of file dsm_control.c.

void DSMCC_Reboot ( H_DsmControl  dsmctrl)

Reboot DSM-CC controling instance. Causes all carousels to unload and initiate search for boot carousel.

Parameters
instanceDSM control instance handle
Returns
void
Parameters
H_DsmControlinstance DSM control instance handle
Returns
void

Definition at line 1833 of file dsm_control.c.

BOOLEAN DSMCC_SetCurrentCarousel ( H_DsmControl  dsmctrl,
H_ObjCarousel  hOC 
)

Set current carousel. This does not unload any previously loaded carousels.

Parameters
dsmctrlDSM control instance handle
hOCHandle to carousel
Returns
BOOLEAN - TRUE if success (i.e. had valid carousel handle)
Parameters
H_DsmControldsmctrl DSM control instance handle
H_ObjCarouselhOC Handle to carousel
Returns
BOOLEAN - TRUE if success (i.e. had valid carousel handle)

Definition at line 1920 of file dsm_control.c.

void DSMCC_SetFileSystemCacheLimit ( H_DsmControl  dsmctrl,
U32BIT  cacheSize 
)

Set limit of DSMCC dynamic memory usage for file system caching This function overrides the default size is 6 MB. If this size is less than the currently allocated memory size, then it will release file system data until limit is reached - but only releasing data not currently in used by the client.

Parameters
dsmctrlDSM control instance handle.
cacheSizeSize in bytes (minimum of 1 MB)
Returns
void

Definition at line 1995 of file dsm_control.c.

void DSMCC_SetTunedTransportInfo ( H_DsmControl  dsmctrl,
U16BIT  onet_id,
U16BIT  tran_id,
DMXREF  dmxref 
)

Inform DSMCC instance of the tuned transport details. This must be called before calling DSMCC_StartFs() or DSMCC_StartSsu()

Parameters
instanceDSM control instance handle
onet_idOriginal Network Id.
tran_idTransport ID for the transport stream.
DMXREFdmxref demux reference to be used in section filter API
Returns
BOOLEAN - TRUE if success
Parameters
dsmctrlDSM control instance handle
onet_idOriginal Network Id.
tran_idTransport ID for the transport stream.
DMXREFdmxref demux reference to be used in section filter API
Returns
BOOLEAN - TRUE if success

Definition at line 1653 of file dsm_control.c.

void DSMCC_SiqCacheClearPmt ( H_DsmControl  dsmctrl,
U16BIT  serviceId 
)

Clear cached PMT for particular service.

Parameters
dsmctrlDSM control instance handle.
serviceIdService whose PMT needs to be cleared
Returns
void
Parameters
H_DsmControldsmctrl DSM control instance handle.
U16BITserviceId Service whose PMT needs to be cleared
Returns
void

Definition at line 2008 of file dsm_control.c.

void DSMCC_SsuUnloadModule ( H_DsmControl  dsmctrl,
H_DsmCarousel  hCarousel,
U32BIT  moduleRef 
)

Unload SSU module. This is intended to be called once the client has finished saving the data for this module.

Parameters
dsmctrlDSM control instance handle.
hCarouselHandle to the DSMCC Update Carousel
moduleRefReference to a module
Returns
void

Unload SSU module. This is intended to be called once the client has finished saving the data for this module.

Parameters
dsmctrlDSM control instance handle.
hCarouselHandle to the DSMCC Update Carousel
moduleRefReference to a module
Returns
void

Definition at line 1970 of file dsm_control.c.

BOOLEAN DSMCC_Start ( H_DsmControl  dsmctrl,
S_DvbLocator locator,
U32BIT  boot_carousel_id,
DMXREF  dmxref 
)

The function is depreciated. It starts DSM-CC controlling instance, and will start search for a boot carousel on service specified by locator. The search depends on 'boot_carousel_id' parameter. When boot carousel id is set to INVALID_CAROUSEL_ID, DSM-CC will attempt to start on a carousel which the client recognises in callback function 'parseDataBroadcastId'. Even when the PMT does not contain a recognised data broadcast id, DSMCC_Start() will return TRUE, and the DSM-CC will keep trying to load a boot carousel. When boot carousel id is set to a specific value or UNKNOWN_CAROUSEL_ID and a carousel of the required ID is not present, either DSMCC_Start() will return FALSE or 'carouselLoad' callback will be passed a result of OC_LOAD_ABORTED_ERROR. When boot carousel id is set to UNKNOWN_CAROUSEL_ID, DSM-CC will attempt to start on whatever carousel is signalled in PMT for that service.

Parameters
instanceDSM control instance handle
locatorDVB location of service.
boot_carousel_idcarousel id - INVALID_CAROUSEL_ID, or UNKNOWN_CAROUSEL_ID, or a specific value.
DMXREFdmxref demux reference to be used in section filter API
Returns
BOOLEAN - TRUE if success

The function is depreciated. It starts DSM-CC controlling instance, and will start search for a boot carousel on service specified by locator. The search depends on 'boot_carousel_id' parameter. When boot carousel id is set to INVALID_CAROUSEL_ID, DSM-CC will attempt to start on a carousel which the client recognises in callback function 'parseDataBroadcastId'. Even when the PMT does not contain a recognised data broadcast id, DSMCC_Start() will return TRUE, and the DSM-CC will keep trying to load a boot carousel. When boot carousel id is set to a specific value or UNKNOWN_CAROUSEL_ID and a carousel of the required ID is not present, either DSMCC_Start() will return FALSE or 'carouselLoad' callback will be passed a result of OC_LOAD_ABORTED_ERROR. When boot carousel id is set to UNKNOWN_CAROUSEL_ID, DSM-CC will attempt to start on whatever carousel is signalled in PMT for that service.

Parameters
dsmctrlDSM control instance handle
locatorDVB location of service.
boot_carousel_idcarousel id - INVALID_CAROUSEL_ID, or UNKNOWN_CAROUSEL_ID, or a specific value.
DMXREFdmxref demux reference to be used in section filter API
Returns
BOOLEAN - TRUE if success

Definition at line 1636 of file dsm_control.c.

BOOLEAN DSMCC_StartFs ( H_DsmControl  dsmctrl,
U16BIT  service_id,
U32BIT  carousel_id 
)

Start DSM-CC controlling instance. This must follow call to DSMCC_SetTunedTransportInfo. The function will start search for an Object Carousel on the specified service. The search depends on the value given 'carousel_id' parameter. When carousel id is set to INVALID_CAROUSEL_ID, DSM-CC will attempt to start on a carousel which the client recognises in callback function 'parseDataBroadcastId'. Even when the PMT does not contain a recognised data broadcast id, this function will return TRUE, and the DSM-CC will keep searching. When the carousel id is set to a specific value or UNKNOWN_CAROUSEL_ID and a carousel of the required ID is not present, either this function will return FALSE or 'carouselLoad' callback will be passed a result of OC_LOAD_ABORTED_ERROR. When carousel id is set to UNKNOWN_CAROUSEL_ID, DSM-CC will attempt to start on whatever carousel is signalled in PMT for that service.

Parameters
instanceDSM control instance handle
service_idService Id.
carousel_idCarousel Id
Returns
BOOLEAN - TRUE if success
Parameters
dsmctrlDSM control instance handle
service_idService Id.
carousel_idCarousel Id
Returns
BOOLEAN - TRUE if success

Definition at line 1688 of file dsm_control.c.

BOOLEAN DSMCC_StartSsu ( H_DsmControl  dsmctrl,
U16BIT  service_id,
U32BIT  oui 
)

Start DSM-CC controling instance. This must follow call to DSMCC_SetTunedTransportInfo. The function will start loading Update Carousel for SSU on specified service.

Parameters
instanceDSM control instance handle
service_idService Id.
ouiManufacturer's OUI
Returns
BOOLEAN - TRUE if success
Parameters
dsmctrlDSM control instance handle
service_idService Id.
ouiManufacturer's OUI
Returns
BOOLEAN - TRUE if success

Definition at line 1731 of file dsm_control.c.

BOOLEAN DSMCC_StartSsuWithPid ( H_DsmControl  dsmctrl,
U16BIT  pid,
U32BIT  oui 
)

Start DSM-CC controling instance. This must follow call to DSMCC_SetTunedTransportInfo. The function will start loading Update Carousel for SSU on a single specified PID.

Parameters
instanceDSM control instance handle
pidPID on which to find all SSU data
ouiManufacturer's OUI
Returns
BOOLEAN - TRUE if success
Parameters
dsmctrlDSM control instance handle
pidPID on which to find all SSU data
ouiManufacturer's OUI
Returns
BOOLEAN - TRUE if success

Definition at line 1761 of file dsm_control.c.

void DSMCC_Stop ( H_DsmControl  dsmctrl,
E_DsmRstMode  mode 
)

Stop DSM-CC controling instance. Causes all carousels to unload.

Parameters
dsmctrlDSM control instance handle
modeMode of operation when unloading
Returns
void
Parameters
H_DsmControldsmctrl DSM control instance handle
E_DsmRstModemode Mode of operation when unloading
Returns
void

Definition at line 1783 of file dsm_control.c.

void DSMCC_UnloadCarousel ( H_DsmControl  dsmctrl,
H_ObjCarousel  hOC,
E_DsmRstMode  mode 
)

Unload specified Carousel.

Parameters
dsmctrlDSM control instance handle
hOCHandle to carousel
modeMode of operation when unloading
Returns
void
Parameters
H_DsmControldsmctrl DSM control instance handle
H_ObjCarouselhOC Handle to carousel
E_DsmRstModemode Mode of operation when unloading
Returns
void

Definition at line 1945 of file dsm_control.c.

const char* DSMCC_VersionString ( void  )

Returns version major.minor.patch as string.

Returns
a version string

Definition at line 2020 of file dsm_control.c.