![]() |
MHEG5
18.9.0
MHEG5 Documentation
|
MHEG5 Main task. More...
#include "stb_os.h"
#include "glue_memory.h"
#include "glue_debug.h"
#include "glue_queue.h"
#include "glue_timers.h"
#include "glue_main.h"
#include "mheg5_control.h"
#include "dvb_service.h"
#include "glue_dsmcc.h"
#include "mh5control.h"
#include "mh5support.h"
#include "glue_events.h"
#include "mg_osd.h"
Go to the source code of this file.
Classes | |
struct | s_pp_list |
Macros | |
#define | MAIN_STACK_SIZE 0x2000 |
#define | PRG_DONE_NONE 0 |
#define | PRG_DONE_INIT 1 |
#define | PRG_DONE_GRAPHICS 2 |
#define | PRG_DONE_MEMORY 3 |
#define | PRG_DONE_SYNCS 4 |
#define | PRG_DONE_QUEUE 5 |
#define | PRG_DONE_DSMCC 6 |
#define | PRG_DONE_MAIN 7 |
#define | PRG_DONE_TIMERS 8 |
#define | PRG_DONE_HTTP 9 |
#define | PRG_DONE_MHEG5 10 |
#define | MAX_PP_FUNCS 4 |
Typedefs | |
typedef struct s_pp_list | S_PP_LIST |
Enumerations | |
enum | E_ApiStatus { VS_STOPPED, VS_TUNING, VS_RUNNING, VS_REBOOT } |
Functions | |
BOOLEAN | MH5GlueIsStarted (void) |
void | MH5GlueDoneRebootMessage (void) |
void | MH5GlueSetMainPostFunc (F_MainProcess func) |
void | MH5GlueAddPostProcessFunc (F_PostProcess func) |
E_MhegErr | MHEG5_Open (S_MhegConfig *pSetup) |
Initialise MHEG5 instance. The following will be performed as a result of a call to this function: More... | |
E_MhegErr | MHEG5_Close (void) |
Free allocated memory region, and any other related resources. This is a synchronous blocking function. Must be called after MHEG5_Stop and normal use of the MHEG5 is 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_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_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_Reboot (void) |
Reboots MHEG5 Engine This function has the same effect as calling these two: MHEG5_Stop( STOP_ACTION_CLEAR_DSMCC ); MHEG5_Start( current_service_dvb_locator ); Only this is a little more efficient process. This is a not synchronous blocking function. More... | |
BOOLEAN | MH5GlueActiveState (void) |
E_MhegErr | MHEG5_Pause (void) |
Pause MHEG-5 engine. More... | |
E_MhegErr | MHEG5_Resume (void) |
Resume MHEG-5 engine. More... | |
E_MhegErr | MHEG5_SetScreenResolution (U16BIT screenWidth, U16BIT screenHeight) |
Reset OSD resolution for MHEG-5 engine. More... | |
void | MHEG5_RestoreScreen (void) |
Restore MHEG OSD after reset of resolution for MHEG-5 engine. More... | |
E_MhegErr | MHEG5_SetActiveState (BOOLEAN newActiveState) |
Set the active state for the MHEG-5 engine. When the active state is True, the MHEG-5 engine processes synchronous and asynchronous events as normal. When it is False, the MHEG-5 engine these events will be queued, but not processed. This allows the MHEG-5 component to be paused whilst another application has display focus (such as an EPG). This is a synchronous blocking function. Section 6.9 of reference [1] discusses the behaviour for pausing the MHEG-5 engine. This implementation is "Non-transparent". More... | |
void | MHEG5GetDefaultService (S_DVB_LOCATOR *dvb_locator) |
U16BIT | MHEG5DefaultServiceId (void) |
S32BIT | MHEG5GetCurrentServiceIndex (void) |
#define MAIN_STACK_SIZE 0x2000 |
Definition at line 53 of file glue_main.c.
#define MAX_PP_FUNCS 4 |
Definition at line 71 of file glue_main.c.
#define PRG_DONE_DSMCC 6 |
Definition at line 61 of file glue_main.c.
#define PRG_DONE_GRAPHICS 2 |
Definition at line 57 of file glue_main.c.
#define PRG_DONE_HTTP 9 |
Definition at line 64 of file glue_main.c.
#define PRG_DONE_INIT 1 |
Definition at line 56 of file glue_main.c.
#define PRG_DONE_MAIN 7 |
Definition at line 62 of file glue_main.c.
#define PRG_DONE_MEMORY 3 |
Definition at line 58 of file glue_main.c.
#define PRG_DONE_MHEG5 10 |
Definition at line 65 of file glue_main.c.
#define PRG_DONE_NONE 0 |
Definition at line 55 of file glue_main.c.
#define PRG_DONE_QUEUE 5 |
Definition at line 60 of file glue_main.c.
#define PRG_DONE_SYNCS 4 |
Definition at line 59 of file glue_main.c.
#define PRG_DONE_TIMERS 8 |
Definition at line 63 of file glue_main.c.
enum E_ApiStatus |
Enumerator | |
---|---|
VS_STOPPED | |
VS_TUNING | |
VS_RUNNING | |
VS_REBOOT |
Definition at line 81 of file glue_main.c.
BOOLEAN MH5GlueActiveState | ( | void | ) |
Definition at line 993 of file glue_main.c.
void MH5GlueAddPostProcessFunc | ( | F_PostProcess | func | ) |
Definition at line 275 of file glue_main.c.
void MH5GlueDoneRebootMessage | ( | void | ) |
Definition at line 250 of file glue_main.c.
BOOLEAN MH5GlueIsStarted | ( | void | ) |
Definition at line 241 of file glue_main.c.
void MH5GlueSetMainPostFunc | ( | F_MainProcess | func | ) |
Definition at line 261 of file glue_main.c.
E_MhegErr MHEG5_Close | ( | void | ) |
Free allocated memory region, and any other related resources. This is a synchronous blocking function. Must be called after MHEG5_Stop and normal use of the MHEG5 is 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.
E_MhegErr MHEG5_Open | ( | S_MhegConfig * | pSetup | ) |
Initialise MHEG5 instance. The following will be performed as a result of a call to this function:
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 |
Definition at line 361 of file glue_main.c.
E_MhegErr MHEG5_Pause | ( | void | ) |
Pause MHEG-5 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.
E_MhegErr MHEG5_Reboot | ( | void | ) |
Reboots MHEG5 Engine This function has the same effect as calling these two: MHEG5_Stop( STOP_ACTION_CLEAR_DSMCC ); MHEG5_Start( current_service_dvb_locator ); Only this is a little more efficient process. This is a not synchronous blocking function.
Reboots MHGE5 Engine This function has the same effect as calling these two: MHEG5_Stop( STOP_ACTION_CLEAR_DSMCC ); MHEG5_Start( current_service_dvb_locator ); Only this is a little more efficient process. This is a not synchronous blocking function.
Definition at line 956 of file glue_main.c.
void MHEG5_RestoreScreen | ( | void | ) |
Restore MHEG OSD after reset of resolution for MHEG-5 engine.
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 | ) |
Resume MHEG-5 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.
Set the active state for the MHEG-5 engine. When the active state is True, the MHEG-5 engine processes synchronous and asynchronous events as normal. When it is False, the MHEG-5 engine these events will be queued, but not processed. This allows the MHEG-5 component to be paused whilst another application has display focus (such as an EPG). This is a synchronous blocking function. Section 6.9 of reference [1] discusses the behaviour for pausing the MHEG-5 engine. This implementation is "Non-transparent".
newActiveState | New setting of the MHEG-5 engine active state. |
Definition at line 1181 of file glue_main.c.
Reset OSD resolution for MHEG-5 engine.
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.
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.
U16BIT MHEG5DefaultServiceId | ( | void | ) |
Definition at line 1191 of file glue_main.c.
S32BIT MHEG5GetCurrentServiceIndex | ( | void | ) |
Definition at line 1196 of file glue_main.c.
void MHEG5GetDefaultService | ( | S_DVB_LOCATOR * | dvb_locator | ) |
Definition at line 1186 of file glue_main.c.