33 #define GET_SIGNAL_STATUS(quality, strength) (((quality) << 8) | (strength)) 34 #define BAD_SIGNAL_STATUS 0xffff 36 #define GET_SIGNAL_QUALITY(status) ((status) >> 8) 37 #define GET_SIGNAL_STRENGTH(status) ((status) & 0xff) 46 APP_SI_MODE_CHANNEL_SEARCH,
47 APP_SI_MODE_CHANNEL_SEARCH_NO_NIT,
48 APP_SI_MODE_STARTUP_SEARCH,
49 APP_SI_MODE_EVENT_PF_SEARCH,
50 APP_SI_MODE_EVENT_SCHED_SEARCH,
51 APP_SI_MODE_EVENT_PF_SCHED_SEARCH,
52 APP_SI_MODE_DVB_SSU_SEARCH,
54 APP_SI_MODE_CIPLUS_UPDATE,
55 APP_SI_MODE_CIPLUS_NO_PAT_PMT,
56 APP_SI_MODE_TOT_SEARCH,
57 APP_SI_MODE_USER_DEFINED
62 SEARCH_SERVICE_TYPE_ADVANCED_CODEC = 0x0001,
63 SEARCH_SERVICE_TYPE_HD = 0x0002,
64 SEARCH_SERVICE_TYPE_HEVC = 0x0004,
66 SEARCH_SERVICE_TYPE_FREE_TO_AIR = 0x4000,
67 SEARCH_SERVICE_TYPE_ENCRYPTED = 0x8000,
69 SEARCH_SERVICE_TYPE_FTA = (SEARCH_SERVICE_TYPE_FREE_TO_AIR | 0x3fff),
70 SEARCH_SERVICE_TYPE_SCRAMBLED = (SEARCH_SERVICE_TYPE_ENCRYPTED | 0x3fff),
71 SEARCH_SERVICE_TYPE_ALL = 0xffff
72 } E_SEARCH_SERVICE_TYPE;
77 APP_SI_START_MANAGER = 0x0001,
78 APP_SI_STOP_MANAGER = 0x0002,
79 APP_SI_CHANNEL_CHANGE = 0x0003,
81 APP_SI_PAT_RECEIVED = 0x0011,
82 APP_SI_PMT_RECEIVED = 0x0012,
83 APP_SI_SDT_RECEIVED = 0x0013,
84 APP_SI_NIT_RECEIVED = 0x0014,
85 APP_SI_EIT_RECEIVED = 0x0015,
86 APP_SI_TOT_RECEIVED = 0x0016,
87 APP_SI_TDT_RECEIVED = 0x0017,
88 APP_SI_CAT_RECEIVED = 0x0018,
89 APP_SI_RCT_RECEIVED = 0x0019,
90 APP_SI_AIT_RECEIVED = 0x001A,
91 APP_SI_BAT_RECEIVED = 0x0020,
93 APP_SI_PAT_TIMEOUT = 0x0031,
94 APP_SI_PMT_TIMEOUT = 0x0032,
95 APP_SI_SDT_TIMEOUT = 0x0033,
96 APP_SI_NIT_TIMEOUT = 0x0034,
97 APP_SI_EIT_TIMEOUT = 0x0035,
98 APP_SI_TOT_TIMEOUT = 0x0036,
99 APP_SI_TDT_TIMEOUT = 0x0037,
100 APP_SI_CAT_TIMEOUT = 0x0038,
101 APP_SI_SCHED_TIMEOUT = 0x0039,
102 APP_SI_BAT_TIMEOUT = 0x0040,
104 APP_SI_PMT_UPDATE = 0x0051,
105 APP_SI_UPDATE_DELAY_EXPIRED = 0x0052,
106 APP_SI_STOP_PMT_REPORTING = 0x0053,
108 APP_SI_USER_DEFINED_EVENT = 0x0100
109 } E_APP_SI_EVENT_CODE;
113 APP_SI_EIT_JOURNAL_TYPE_CLEAR,
114 APP_SI_EIT_JOURNAL_TYPE_ADD,
115 APP_SI_EIT_JOURNAL_TYPE_DELETE,
116 APP_SI_EIT_JOURNAL_TYPE_UPDATE,
117 APP_SI_EIT_JOURNAL_TYPE_EXPIRE
118 } E_APP_SI_EIT_JOURNAL_TYPE;
122 E_APP_SI_EIT_JOURNAL_TYPE type;
126 U16BIT allocated_lcn;
134 typedef void (*F_EitParser)(U8BIT, U8BIT, U8BIT *, U32BIT,
void *);
139 typedef void (*F_SdtTableUpdate)(U8BIT,
SI_SDT_TABLE *, SI_TABLE_RECORD *);
227 U16BIT *tid_ptr, U16BIT *sid_ptr);
274 U16BIT
ASI_GetPmtPid(U16BIT serv_id, U16BIT ts_id, U16BIT on_id);
BOOLEAN ASI_SSUGetMandatory(void)
Returns the flag indicating whether the SSU is mandatory and so can't be refused. ...
Definition: ap_si.c:9991
void ASI_StopPmtReporting(U8BIT path)
Prevents the current pmt being reported (e.g. to MHEG).
Definition: ap_si.c:9845
void ASI_NotifyEitSchedUpdate(void *serv_ptr, U16BIT event_id, E_APP_SI_EIT_JOURNAL_TYPE type)
Calls the EIT schedule update callback function, if one has been registered, with details of the serv...
Definition: ap_si.c:10813
void ASI_AllowDatabaseUpdates(E_STB_DP_SIGNAL_TYPE signal_type, BOOLEAN allow)
Sets whether updates should be allowed to the service database from standard SI tables that are recei...
Definition: ap_si.c:10869
BOOLEAN ASI_CheckForServiceChange(E_STB_DP_SIGNAL_TYPE tuner_type)
Checks whether the NIT or SDT version numbers have changed, which may indicate a change to the servic...
Definition: ap_si.c:10006
void ASI_SSUSetMandatory(BOOLEAN mandatory)
Sets the flag indicating whether the SSU can be refused by the user.
Definition: ap_si.c:9980
Definition: stbsitab.h:689
void ASI_InitialiseAppSi(void)
Initialises application SI handling.
Definition: ap_si.c:9610
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 di...
Definition: ap_si.c:10324
void ASI_RestartTotFilter(U8BIT path)
Forces the SI demux filter collecting the TOT tables to be reset, so a previously processed versions ...
Definition: ap_si.c:10129
void ASI_RestartTdtFilter(U8BIT path)
Forces the SI demux filter collecting the TDT tables to be reset, so a previously processed versions ...
Definition: ap_si.c:10149
void ASI_RegisterEitSchedUpdateCallback(F_EitSchedUpdateCB sched_update_callback)
Registers a function that will be called whenever an EIT event is added, updated, deleted or expires ...
Definition: ap_si.c:10797
Definition: stbsitab.h:403
void ASI_SetUpdateSdtFunction(F_SdtTableUpdate update_func)
Sets a function that will be called when an SDT table is received.
Definition: ap_si.c:10675
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 d...
Definition: ap_si.c:10276
BOOLEAN ASI_DatabaseUpdatesAllowed(E_STB_DP_SIGNAL_TYPE signal_type)
Returns whether service database updates are allowed for the given signal type.
Definition: ap_si.c:10900
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 t...
Definition: ap_si.c:10180
void * ASI_GetNextOTALocation(void *network, void *prev_location, U16BIT *onid_ptr, U16BIT *tid_ptr, U16BIT *sid_ptr)
Returns the DVB triplet for the next location containing a possible OTA update.
Definition: ap_si.c:9905
Definition: stbsiflt.h:84
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)
Definition: ap_si.c:9813
void ASI_ProcessTotTable(SI_TABLE_RECORD *table_rec)
Processes the TOT table record to extract data for the database.
Definition: ap_si.c:10698
void ASI_ClearPmtList(void)
Clears all service ids from the PMT priority list.
Definition: ap_si.c:10250
void ASI_RestartSdtFilter(U8BIT path)
Forces the SI demux filter collecting the SDT tables to be reset, so a previously processed versions ...
Definition: ap_si.c:10089
void ASI_SetActiveNetworkId(U16BIT network_id)
Sets the network ID to be used for all future requests to get an NIT. If this value isn't set...
Definition: ap_si.c:10846
Header file - macros and function prototypes for public use.
void ASI_SetStandbyState(BOOLEAN standby_state)
Performs the neccessary actions for this module when entering/exiting standby according to the value ...
Definition: ap_si.c:9871
void ASI_SetUpdateEitFunction(F_EitTableUpdate update_func)
Sets a function that will be called when an EIT table is received.
Definition: ap_si.c:10642
U16BIT ASI_GetEITScheduleLimit(void)
Returns the current setting for the number of hours of EIT data that's kept.
Definition: ap_si.c:10338
void ASI_RestartNitFilter(U8BIT path)
Forces the SI demux filter collecting the NIT tables to be reset, so a previously processed version o...
Definition: ap_si.c:10067
void ASI_RestartCatFilter(U8BIT path)
Forces the SI demux filter collecting the CAT tables to be reset, so a previously processed version o...
Definition: ap_si.c:10045
void ASI_RestartBatFilter(U8BIT path)
Forces the SI demux filter collecting the BAT tables to be reset, so a previously processed versions ...
Definition: ap_si.c:10109
void ASI_SetAppSiMode(U8BIT path, E_APP_SI_MODE si_mode)
Sets application SI mode - used before STB_DPStartSI() is called.
Definition: ap_si.c:9775
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...
Definition: ap_si.c:10395
void ASI_RemoveServiceFromPmtList(U16BIT service_id)
Removes the service id from the PMT priority list.
Definition: ap_si.c:10215
void ASI_SetUpdateBatFunction(F_BatTableUpdate update_func)
Sets a function that will be called when a BAT table is received.
Definition: ap_si.c:10631
Definition: stbsitab.h:792
System Wide Global Technical Data Type Definitions.
void ASI_ProcessTdtTable(SI_TABLE_RECORD *table_rec)
Processes the TDT table record to extract data for the database.
Definition: ap_si.c:10762
void ASI_SetUpdatePmtFunction(F_PmtTableUpdate update_func)
Sets a function that will be called when a PMT table is received.
Definition: ap_si.c:10664
void ASI_RefuseSSU(BOOLEAN refuse)
Sets the flag indicating whether the SSU has been refused or not.
Definition: ap_si.c:9971
BOOLEAN ASI_SSURefused(void)
Returns the flag indicating whether the SSU was refused.
Definition: ap_si.c:9962
BOOLEAN ASI_PmtReported(U8BIT path)
Returns TRUE if pmt has been reported to third parties.
Definition: ap_si.c:9858
Definition: stbsitab.h:892
void ASI_SetUpdateNitFunction(F_NitTableUpdate update_func)
Sets a function that will be called when an NIT table is received.
Definition: ap_si.c:10653
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...
Definition: ap_si.c:10353
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...
Definition: ap_si.c:10687
void ASI_SetEITParserFunction(F_EitParser parser_func)
Sets a function that will be called when parsing an EIT table and a descriptor is found that the stan...
Definition: ap_si.c:10620
void ASI_SetSearchServiceType(E_SEARCH_SERVICE_TYPE service_type)
Set the type for services that should be added during a service search.
Definition: ap_si.c:10168
Header file - macros and function prototypes for public use.