DSMCC  15.3.1
include/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

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.
void DSMCC_Close (H_DsmControl instance)
 Close DSM-CC controling instance, and destroy all resources.
BOOLEAN DSMCC_Start (H_DsmControl instance, S_DvbLocator *locator, U32BIT boot_carousel_id, DMXREF dmxref)
 Start DSM-CC controling instance. This will start search for a boot carousel on service specified by locator. The search depends on the value given '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.
void DSMCC_Stop (H_DsmControl instance, E_DsmRstMode mode)
 Stop DSM-CC controling instance. Causes all carousels to unload.
void DSMCC_Reboot (H_DsmControl instance)
 Reboot DSM-CC controling instance. Causes all carousels to unload and initiate search for boot carousel.
H_ObjCarousel DSMCC_CurrentCarousel (H_DsmControl dsmctrl)
 Get currently loaded carousel handle.
U32BIT DSMCC_CurrentCarouselId (H_DsmControl dsmctrl)
 Get currently loaded carousel ID.
BOOLEAN DSMCC_SetCurrentCarousel (H_DsmControl dsmctrl, H_ObjCarousel hOC)
 Set current carousel. This does not unload any previously loaded carousels.
void DSMCC_UnloadCarousel (H_DsmControl dsmctrl, H_ObjCarousel hOC, E_DsmRstMode mode)
 Unload specified Carousel.
void DSMCC_SiqCacheClearPmt (H_DsmControl dsmctrl, U16BIT serviceId)
 Clear cached PMT for particular service.
const char * DSMCC_VersionString (void)
 Returns version major.minor.patch as string.
H_DsmControl DSMCC_FindInstance (U16BIT serviceId, DMXREF dmxref)
 Find DSMCC instance that has beed started on specified service.
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.

Detailed Description

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

Date:
23/01/2013
Author:
Adam Sturtridge

Function Documentation

void DSMCC_Close ( H_DsmControl  dsmctrl)

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

Parameters:
dsmctrlDSM control instance handle
Returns:
void
Parameters:
H_DsmControldsmctrl DSM control instance handle
Returns:
void
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

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
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

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
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
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)
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
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
BOOLEAN DSMCC_Start ( H_DsmControl  dsmctrl,
S_DvbLocator locator,
U32BIT  boot_carousel_id,
DMXREF  dmxref 
)

Start DSM-CC controling instance. This will start search for a boot carousel on service specified by locator. The search depends on the value given '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

Start DSM-CC controling instance. This will start search for a boot carousel on service specified by locator. The search depends on the value given '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
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
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
const char* DSMCC_VersionString ( void  )

Returns version major.minor.patch as string.

Returns:
a version string
 All Data Structures Files Functions Typedefs