![]() |
MHEG5
18.9.0
MHEG5 Documentation
|
This file provides the control interface for MHEG5 engine. The use of this component MUST comply with the following sequence of events to ensure correct operation. More...
Go to the source code of this file.
Classes | |
struct | S_MhegConfig |
Macros | |
#define | SECTION_BUFFER_SIZE (4 * 1024) |
#define | MHEG5_MIN_SECTION_BUFFERS (100) |
#define | MHEG5_MIN_TASK_PRIORITY (4) |
#define | NVM_OVERHEAD_SIZE (2 * 1024) |
#define | NVM_STORE_SIZE_AU (64 * 1024) |
#define | NVM_STORE_SIZE_SA (512 * 1024) |
#define | AU_NVM_MINIMUM_SIZE ((1024 * 1024 * 2) + NVM_STORE_SIZE_AU + NVM_OVERHEAD_SIZE) |
#define | SA_NVM_MINIMUM_SIZE ((1024 * 1024 * 32) + NVM_STORE_SIZE_SA + NVM_OVERHEAD_SIZE) |
#define | ICS_DEFAULT_BUFFER_SIZE (3 * 1024 * 1024) |
#define | ICS_MINIMUM_BUFFER_SIZE (768 * 1024) |
#define | COLOUR_FORMAT_PALETTE 8 |
#define | COLOUR_FORMAT_ARGB4444 16 |
#define | COLOUR_FORMAT_ARGB7888 31 /* ST based platform */ |
#define | COLOUR_FORMAT_ARGB8888 32 |
Typedefs | |
typedef enum E_COUNTRY_PROFILE | E_MHEG_PROFILE |
Functions | |
E_MhegErr | MHEG5_Open (S_MhegConfig *pSetup) |
Initialise MHEG5 engine instance. The following will be performed as a result of a call to this function: More... | |
E_MhegErr | MHEG5_Close (void) |
Close MHEG engine. Free allocated MHEG5 engine memory region, and any other related resources. This is a synchronous blocking function. Must be called after MHEG5_Stop and normal use of MHEG5 engine has completed. More... | |
E_MhegErr | MHEG5_Start (S32BIT serviceIndex, E_ChannelStartMode *quietMode) |
This function starts MHEG5 engine on the current broadcast service. It will cause MHEG5 engine to start retrieving the associated service information (i.e. PMT) and launch an appropriate broadcast application. This should mean MHEG5 engine will mount an associated DSM-CC carousel for this application. If this should fail, MHEG5 engine will periodically try to mount the DSM-CC boot carousel in order to launch the default MHEG-5 auto boot application. This is a non-blocking function, which may return before completion. It should be called whenever a tuning process has completed and the external application is aware of a new broadcast service. More... | |
E_MhegErr | MHEG5_Stop (void) |
Tells MHEG5 engine to enter stop state (i.e. no broadcast service). This function should kill any currently running MHEG5 broadcast application, and release allocated memory and resources. This is a synchronous blocking function. More... | |
E_MhegErr | MHEG5_Suspend (void) |
Suspend MHEG5 engine (while there is no valid broadcast service). When the external application is performing a tune as requested by MHEG5, this function should be called as an alternative to MHEG5_Stop. This may or may not kill the running MHEG application. This suspend state will remain in effect until MHEG5_Start or MHEG5_Stop is called. This is a synchronous blocking function. More... | |
E_MhegErr | MHEG5_StopWithoutKilling (void) |
Suspend MHEG5 engine (while there is no valid broadcast service). This function should be called as an alternative to MHEG5_Stop, in cases when the CI+ host control module requests a tune and the keep_app_running flag is set to 1. In cases when keep_app_running is set to 0, or if the implemented version of host control doesn't have the keep_app_running flag, use MHEG5_Stop. This will not kill the running MHEG application. This suspend state will remain in effect until MHEG5_Start or MHEG5_Stop is called. This is a synchronous blocking function. More... | |
E_MhegErr | MHEG5_Pause (void) |
This allows MHEG5 engine to be paused whilst another application has display focus (such as an EPG). This is a synchronous blocking function. Section 16.9 of reference [1] discusses the behaviour for pausing the engine. This implementation is "Non-transparent". This may be called independently of start/stop of engine. More... | |
E_MhegErr | MHEG5_Resume (void) |
This allows Voyageer to be resumed after another application has had display focus (such as an EPG). This is a synchronous blocking function. Section 16.9 of reference [1] discusses the behaviour for pausing the engine. This implementation is "Non-transparent". This may be called independently of start/stop of engine. More... | |
E_MhegErr | MHEG5_SetScreenResolution (U16BIT screenWidth, U16BIT screenHeight) |
Sets the screen resolution to new size. This function is required when the external application wishes to change the screen resolution. This is a synchronous blocking function. It will return when MHEG5 engine has finished using the previous resolution. After returning from this function, MHEG5 engine will NOT refresh the OSD or AV until MHEG5_RestoreScreen() is called. More... | |
E_MhegErr | MHEG5_SetSurfaceThreshold (S32BIT pixels) |
Set the minimum number of pixels that force the MHEG-5 engine to release a surface immediately after it's been used (or blitted). When threshold is not applied, a surface remains until the MHEG-5 application unloads them (either directly or as part of scene/application tear-down). This function is only included in the compiled library when environment variable DTVKIT_MHEG5_SURFACE_THRESHOLD is not zero. More... | |
void | MHEG5_RestoreScreen (void) |
Refresh screen after resolution change with MHEG5_SetScreenResolution() This is a non-blocking function. More... | |
void * | MHEG5_DsmccInstance (void) |
Get the DSMCC instance handle. More... | |
E_ChannelStartMode | MHEG5_GetTuningInfoMode (S32BIT serviceIndex) |
Get the current tuning mode for the target service. This is only relevant when MHEG5 has requested a tune, and DVB has not yet tuned to that service. The return value will be the same as that given back by next call to MHEG5_Start(). More... | |
This file provides the control interface for MHEG5 engine. The use of this component MUST comply with the following sequence of events to ensure correct operation.
Definition in file mheg5_control.h.
#define AU_NVM_MINIMUM_SIZE ((1024 * 1024 * 2) + NVM_STORE_SIZE_AU + NVM_OVERHEAD_SIZE) |
Definition at line 71 of file mheg5_control.h.
#define COLOUR_FORMAT_ARGB4444 16 |
Definition at line 80 of file mheg5_control.h.
#define COLOUR_FORMAT_ARGB7888 31 /* ST based platform */ |
Definition at line 81 of file mheg5_control.h.
#define COLOUR_FORMAT_ARGB8888 32 |
Definition at line 82 of file mheg5_control.h.
#define COLOUR_FORMAT_PALETTE 8 |
Definition at line 79 of file mheg5_control.h.
#define ICS_DEFAULT_BUFFER_SIZE (3 * 1024 * 1024) |
Definition at line 75 of file mheg5_control.h.
#define ICS_MINIMUM_BUFFER_SIZE (768 * 1024) |
Definition at line 76 of file mheg5_control.h.
#define MHEG5_MIN_SECTION_BUFFERS (100) |
Definition at line 63 of file mheg5_control.h.
#define MHEG5_MIN_TASK_PRIORITY (4) |
Definition at line 66 of file mheg5_control.h.
#define NVM_OVERHEAD_SIZE (2 * 1024) |
Definition at line 68 of file mheg5_control.h.
#define NVM_STORE_SIZE_AU (64 * 1024) |
Definition at line 69 of file mheg5_control.h.
#define NVM_STORE_SIZE_SA (512 * 1024) |
Definition at line 70 of file mheg5_control.h.
#define SA_NVM_MINIMUM_SIZE ((1024 * 1024 * 32) + NVM_STORE_SIZE_SA + NVM_OVERHEAD_SIZE) |
Definition at line 72 of file mheg5_control.h.
#define SECTION_BUFFER_SIZE (4 * 1024) |
Definition at line 60 of file mheg5_control.h.
typedef enum E_COUNTRY_PROFILE E_MHEG_PROFILE |
enum E_ChannelStartMode |
Enumerator | |
---|---|
CHANNEL_START_NORMAL | |
CHANNEL_START_QUIETLY | |
CHANNEL_START_QUIET_SHOW_INFO |
Definition at line 137 of file mheg5_control.h.
enum E_COUNTRY_PROFILE |
Enumerator | |
---|---|
CPROFILE_NONE | |
CPROFILE_UK | |
CPROFILE_NZ | |
CPROFILE_AU | |
CPROFILE_HK | |
CPROFILE_SA | |
CPROFILE_ALL | |
CPROFILE_FREESAT |
Definition at line 86 of file mheg5_control.h.
enum E_MHEG5_CAPABILITES |
Definition at line 102 of file mheg5_control.h.
E_MhegErr MHEG5_Close | ( | void | ) |
Close MHEG engine. Free allocated MHEG5 engine memory region, and any other related resources. This is a synchronous blocking function. Must be called after MHEG5_Stop and normal use of MHEG5 engine has completed.
Close MHEG engine. Free allocated MHEG5 engine memory region, and any other related resources. This is a synchronous blocking function. Must be called after MHEG5_Stop and normal use of MHEG5 engine has completed.
Definition at line 541 of file glue_main.c.
void* MHEG5_DsmccInstance | ( | void | ) |
E_ChannelStartMode MHEG5_GetTuningInfoMode | ( | S32BIT | serviceIndex | ) |
Get the current tuning mode for the target service. This is only relevant when MHEG5 has requested a tune, and DVB has not yet tuned to that service. The return value will be the same as that given back by next call to MHEG5_Start().
serviceIndex | "Service Index" for the new service |
Get the current tuning mode for the target service. This is only relevant when MHEG5 has requested a tune, and DVB has not yet tuned to that service. The return value will be the same as that given back by next call to MHEG5_Start().
serviceIndex | "Service Index" for the new service |
Definition at line 934 of file mh5control.c.
E_MhegErr MHEG5_Open | ( | S_MhegConfig * | pSetup | ) |
Initialise MHEG5 engine instance. The following will be performed as a result of a call to this function:
pSetup | Pointer configuration parameters. This defines many configuration options for MHEG5 engine |
pSetup | Pointer configuration parameters. This defines many configuration options for MHEG5 |
Definition at line 361 of file glue_main.c.
E_MhegErr MHEG5_Pause | ( | void | ) |
This allows MHEG5 engine to be paused whilst another application has display focus (such as an EPG). This is a synchronous blocking function. Section 16.9 of reference [1] discusses the behaviour for pausing the engine. This implementation is "Non-transparent". This may be called independently of start/stop of engine.
This allows MHEG5 engine to be paused whilst another application has display focus (such as an EPG). This is a synchronous blocking function. Section 16.9 of reference [1] discusses the behaviour for pausing the engine. This implementation is "Non-transparent". This may be called independently of start/stop of engine.
None. |
Definition at line 1035 of file glue_main.c.
void MHEG5_RestoreScreen | ( | void | ) |
Refresh screen after resolution change with MHEG5_SetScreenResolution() This is a non-blocking function.
Refresh screen after resolution change with MHEG5_SetScreenResolution() This is a non-blocking function.
None. |
Definition at line 1159 of file glue_main.c.
E_MhegErr MHEG5_Resume | ( | void | ) |
This allows Voyageer to be resumed after another application has had display focus (such as an EPG). This is a synchronous blocking function. Section 16.9 of reference [1] discusses the behaviour for pausing the engine. This implementation is "Non-transparent". This may be called independently of start/stop of engine.
This allows Voyageer to be resumed after another application has had display focus (such as an EPG). This is a synchronous blocking function. Section 16.9 of reference [1] discusses the behaviour for pausing the engine. This implementation is "Non-transparent". This may be called independently of start/stop of engine.
None. |
Definition at line 1070 of file glue_main.c.
Sets the screen resolution to new size. This function is required when the external application wishes to change the screen resolution. This is a synchronous blocking function. It will return when MHEG5 engine has finished using the previous resolution. After returning from this function, MHEG5 engine will NOT refresh the OSD or AV until MHEG5_RestoreScreen() is called.
screenWidth | New screen width |
sreeenHeight | New screen height |
Sets the screen resolution to new size. This function is required when the external application wishes to change the screen resolution. This is a synchronous blocking function. It will return when MHEG5 engine has finished using the previous resolution. After returning from this function, MHEG5 engine will NOT refresh the OSD or AV until MHEG5_RestoreScreen() is called.
None. |
Definition at line 1115 of file glue_main.c.
Set the minimum number of pixels that force the MHEG-5 engine to release a surface immediately after it's been used (or blitted). When threshold is not applied, a surface remains until the MHEG-5 application unloads them (either directly or as part of scene/application tear-down). This function is only included in the compiled library when environment variable DTVKIT_MHEG5_SURFACE_THRESHOLD is not zero.
pixels | Number of pixels to be used as a threshold. Zero or negative number disables automatic destruction |
E_MhegErr MHEG5_Start | ( | S32BIT | serviceIndex, |
E_ChannelStartMode * | quietMode | ||
) |
This function starts MHEG5 engine on the current broadcast service. It will cause MHEG5 engine to start retrieving the associated service information (i.e. PMT) and launch an appropriate broadcast application. This should mean MHEG5 engine will mount an associated DSM-CC carousel for this application. If this should fail, MHEG5 engine will periodically try to mount the DSM-CC boot carousel in order to launch the default MHEG-5 auto boot application. This is a non-blocking function, which may return before completion. It should be called whenever a tuning process has completed and the external application is aware of a new broadcast service.
serviceIndex | "Service Index" for the new service |
quietMode | pointer to return channel change mode that MHEG5 requires of the external application. Can be NULL, if not interested in mode. |
Definition at line 659 of file glue_main.c.
E_MhegErr MHEG5_Stop | ( | void | ) |
Tells MHEG5 engine to enter stop state (i.e. no broadcast service). This function should kill any currently running MHEG5 broadcast application, and release allocated memory and resources. This is a synchronous blocking function.
Definition at line 764 of file glue_main.c.
E_MhegErr MHEG5_StopWithoutKilling | ( | void | ) |
Suspend MHEG5 engine (while there is no valid broadcast service). This function should be called as an alternative to MHEG5_Stop, in cases when the CI+ host control module requests a tune and the keep_app_running flag is set to 1. In cases when keep_app_running is set to 0, or if the implemented version of host control doesn't have the keep_app_running flag, use MHEG5_Stop. This will not kill the running MHEG application. This suspend state will remain in effect until MHEG5_Start or MHEG5_Stop is called. This is a synchronous blocking function.
Definition at line 825 of file glue_main.c.
E_MhegErr MHEG5_Suspend | ( | void | ) |
Suspend MHEG5 engine (while there is no valid broadcast service). When the external application is performing a tune as requested by MHEG5, this function should be called as an alternative to MHEG5_Stop. This may or may not kill the running MHEG application. This suspend state will remain in effect until MHEG5_Start or MHEG5_Stop is called. This is a synchronous blocking function.
Definition at line 887 of file glue_main.c.