Typedefs |
|
typedef BOOLEAN(* | F_SIManager )(U8BIT, U32BIT, SI_TABLE_RECORD *) |
|
typedef void(* | F_EitParser )(U8BIT, U8BIT, U8BIT *, U32BIT, void *) |
|
typedef void(* | F_BatTableUpdate )(U8BIT, SI_BAT_TABLE *) |
|
typedef void(* | F_NitTableUpdate )(U8BIT, SI_NIT_TABLE *) |
|
typedef void(* | F_PmtTableUpdate )(U8BIT, SI_PMT_TABLE *, void *) |
Enumerations |
| enum | E_APP_SI_MODE {
APP_SI_MODE_NO_SI,
APP_SI_MODE_CHANNEL_SEARCH,
APP_SI_MODE_CHANNEL_SEARCH_NO_NIT,
APP_SI_MODE_STARTUP_SEARCH,
APP_SI_MODE_EVENT_SCHED_SEARCH,
APP_SI_MODE_DVB_SSU_SEARCH,
APP_SI_MODE_UPDATE,
APP_SI_MODE_CIPLUS_UPDATE,
APP_SI_MODE_CIPLUS_NO_PAT_PMT,
APP_SI_MODE_TOT_SEARCH,
APP_SI_MODE_USER_DEFINED
} |
| enum | E_SEARCH_SERVICE_TYPE { SEARCH_SERVICE_TYPE_ALL,
SEARCH_SERVICE_TYPE_FTA,
SEARCH_SERVICE_TYPE_SCRAMBLED
} |
| enum | E_APP_SI_EVENT_CODE {
APP_SI_START_MANAGER = 0x0001,
APP_SI_STOP_MANAGER = 0x0002,
APP_SI_CHANNEL_CHANGE = 0x0003,
APP_SI_PAT_RECEIVED = 0x0011,
APP_SI_PMT_RECEIVED = 0x0012,
APP_SI_SDT_RECEIVED = 0x0013,
APP_SI_NIT_RECEIVED = 0x0014,
APP_SI_EIT_RECEIVED = 0x0015,
APP_SI_TOT_RECEIVED = 0x0016,
APP_SI_TDT_RECEIVED = 0x0017,
APP_SI_CAT_RECEIVED = 0x0018,
APP_SI_RCT_RECEIVED = 0x0019,
APP_SI_AIT_RECEIVED = 0x001A,
APP_SI_BAT_RECEIVED = 0x0020,
APP_SI_PAT_TIMEOUT = 0x0031,
APP_SI_PMT_TIMEOUT = 0x0032,
APP_SI_SDT_TIMEOUT = 0x0033,
APP_SI_NIT_TIMEOUT = 0x0034,
APP_SI_EIT_TIMEOUT = 0x0035,
APP_SI_TOT_TIMEOUT = 0x0036,
APP_SI_TDT_TIMEOUT = 0x0037,
APP_SI_CAT_TIMEOUT = 0x0038,
APP_SI_SCHED_TIMEOUT = 0x0039,
APP_SI_BAT_TIMEOUT = 0x0040,
APP_SI_PMT_UPDATE = 0x0051,
APP_SI_UPDATE_DELAY_EXPIRED = 0x0052,
APP_SI_STOP_PMT_REPORTING = 0x0053,
APP_SI_USER_DEFINED_EVENT = 0x0100
} |
Functions |
| BOOLEAN | ASI_CheckForServiceChange (void) |
| | Checks whether the NIT or SDT version numbers have changed, which may indicate a change to the service lineup requiring an update service scan.
|
| void | ASI_SetSearchServiceType (E_SEARCH_SERVICE_TYPE service_type) |
| | Set the type for services that should be added during a service search.
|
| void | ASI_AddServiceToPmtList (U16BIT service_id) |
| | Add the given service id to the list of services whose PMT will be requested with a higher priority than others.
|
| void | ASI_RemoveServiceFromPmtList (U16BIT service_id) |
| | Removes the service id from the PMT priority list.
|
|
void | ASI_ClearPmtList (void) |
| | Clears all service ids from the PMT priority list.
|
| void | ASI_ProcessPmt (U8BIT path, void *s_ptr, U8BIT *pmt_data) |
| | Takes data for a raw PMT for the given service and processes it as if it had been received from the demux, also passing it to anything monitoring PMTs and CI+.
|
| void | ASI_SetEITScheduleLimit (U16BIT limit_hours) |
| | Sets the number of hours of EIT data that's kept for each service that hasn't its had EIT schedule disabled.
|
| U16BIT | ASI_GetEITScheduleLimit (void) |
| | Returns the current setting for the number of hours of EIT data that's kept.
|
| void | ASI_EnableBatCollection (BOOLEAN use_bats, U16BIT *bouquet_ids, U16BIT num_ids) |
| | Enables or disables the collection of BATs as part of the SI processing and allows the bouquet IDs of the BATs to be collected to be specified.
|
| BOOLEAN | ASI_GetDvbSsuStatus (U16BIT *onid_ptr, U16BIT *tid_ptr, U16BIT *sid_ptr) |
| | Returns whether an SSU over-the-air update is possibly available, together with the DVB triplet of the service where it can be found. The service ids are only valid if an update is available.
|
| void | ASI_RefuseSSU (BOOLEAN refuse) |
| | Sets the flag indicating whether the SSU has been refused or not.
|
| BOOLEAN | ASI_SSURefused (void) |
| | Returns the flag indicating whether the SSU was refused.
|
| void | ASI_SSUSetMandatory (BOOLEAN mandatory) |
| | Sets the flag indicating whether the SSU can be refused by the user.
|
| BOOLEAN | ASI_SSUGetMandatory (void) |
| | Returns the flag indicating whether the SSU is mandatory and so can't be refused.
|
|
void | ASI_InitialiseAppSi (void) |
| | Initialises application SI handling.
|
| void | ASI_SetAppSiMode (U8BIT path, E_APP_SI_MODE si_mode) |
| | Sets application SI mode - used before STB_DPStartSI() is called.
|
| U16BIT | ASI_GetPmtPid (U16BIT serv_id, U16BIT ts_id, U16BIT on_id) |
| | Returns the PID for the pmt of a given service (on live path)
|
|
void | ASI_StopPmtReporting (U8BIT path) |
| | Prevents the current pmt being reported (e.g. to MHEG).
|
| BOOLEAN | ASI_PmtReported (U8BIT path) |
| | Returns TRUE if pmt has been reported to third parties.
|
| void | ASI_SetStandbyState (BOOLEAN standby_state) |
| | Performs the neccessary actions for this module when entering/exiting standby according to the value passed in standby_state.
|
| void | ASI_RestartCatFilter (U8BIT path) |
| | Forces the SI demux filter collecting the CAT tables to be reset, so a previously processed version of the table won't be ignored.
|
| void | ASI_RestartSITables (U8BIT path, BOOLEAN use_standard_pids) |
| | Cancels any existing SI filters and starts a new one for the SDT, TDT, TOT, NIT, EIT (pf, pf++ and sched) and BAT SI tables.
|
| void | ASI_SetEITParserFunction (F_EitParser parser_func) |
| | Sets a callback function that will be called when parsing an EIT table and a descriptor is found that the standard code doesn't know how to parse.
|
| void | ASI_SetUpdateBatFunction (F_BatTableUpdate update_func) |
| | Sets a function that will be called when a BAT table is received during the SI processing that occurs when viewing live TV or playback.
|
| void | ASI_SetUpdateNitFunction (F_NitTableUpdate update_func) |
| | Sets a function that will be called when a NIT table is received during the SI processing that occurs when viewing live TV or playback.
|
| void | ASI_SetUpdatePmtFunction (F_PmtTableUpdate update_func) |
| | Sets a function that will be called when a PMT table is received during the SI processing that occurs when viewing live TV or playback.
|
| void | ASI_ProcessEitTable (SI_TABLE_RECORD *table_rec, BOOLEAN playback) |
| | Processes an EIT table, partial or full, and updates the events of the service it is for.
|
application level SI task
- Date:
- 01/10/2002