![]() |
DVBCore
22.3.0
Open Source DVB Engine
|
STB layer SI filter handling. More...
#include <stdio.h>#include <string.h>#include <techtype.h>#include <dbgfuncs.h>#include "stberc.h"#include "stbhwdmx.h"#include "stbhwos.h"#include "stbllist.h"#include "stbheap.h"#include "stbdpc.h"#include "stbsic.h"#include "stbsiflt.h"#include "stbsipmt.h"#include "ca_glue.h"Classes | |
| struct | table_list_entry |
| struct | filter_status |
| struct | cntrl_task_msg |
Typedefs | |
| typedef struct table_list_entry | TABLE_LIST_ENTRY |
| typedef struct filter_status | FILTER_STATUS |
| typedef struct cntrl_task_msg | CNTRL_TASK_MSG |
Functions | |
| void | STB_SITerrInitialise (void) |
| Initialises STB layer SI engine - terrestrial version. | |
| void | STB_SITerrSendEvent (U8BIT path, U32BIT events) |
| Sends an event to STB layer SI Terrestrial engine. More... | |
| E_STB_SI_STATUS | STB_SITerrGetStatus (U8BIT path) |
| Reads the SI status. More... | |
| void | STB_SIRegisterPmtObserver (F_PmtObserver func_ptr) |
| Registers a function to be called when the PMT changes. More... | |
| void | STB_SIUnregisterPmtObserver (F_PmtObserver func_ptr) |
| Registers a function to be called when the PMT changes. More... | |
| F_AppSiEventHandler | STB_SIRegisterAppSiEventHandler (void(*func_ptr)(U8BIT, E_APP_SI_EVENT_TYPE)) |
| Registers a function to be called to handle SI events. More... | |
| void * | STB_SIRequestTable (U8BIT path, U16BIT pid, U8BIT tid_match, U8BIT tid_mask, E_SI_TABLE_FORMAT_TYPE format, U16BIT expected_tables, U16BIT xtid_match, U16BIT xtid_mask, E_SI_REQUEST_TYPE req_type, U16BIT buff_size, BOOLEAN crc, BOOLEAN low_priority, void(*callback)(void *, U32BIT, SI_TABLE_RECORD *), U32BIT ret_param) |
| Sets up filter for SI table. More... | |
| void | STB_SICancelTableRequest (void *filter_handle) |
| Stops filtering for SI table. More... | |
| void | STB_SIModifyTableRequest (void *filter_handle, U8BIT tid_match, U8BIT tid_mask, U16BIT xtid_match, U16BIT xtid_mask, U16BIT expected_tables) |
| modifies the section filtering on an existing filter More... | |
| void | STB_SIRestartTableRequest (void *filter_handle) |
| restarts the section filtering on an existing filter without changing and pid or match/mask filter settings More... | |
| void | STB_SIReleaseTableRecord (SI_TABLE_RECORD *table_rec) |
| Frees the memory used in a table record passed to the application. More... | |
| void | STB_SISearchComplete (U8BIT path, BOOLEAN success, void *event_data, U32BIT data_size) |
| Indicates SI search is complete. More... | |
| void | STB_SIReportCurrentPmt (U16BIT service_id, SI_TABLE_RECORD *table_rec, BOOLEAN new_serv, BOOLEAN new_pmt_version) |
| Reports current pmt has arrived so that it can be passed on to interested parties. More... | |
| BOOLEAN | STB_SIReportCat (SI_TABLE_RECORD *table_rec) |
| Reports the CAT has been received so it can be passed on to other modules. More... | |
| BOOLEAN | STB_SIReportBat (SI_TABLE_RECORD *table_rec) |
| Reports the BAT has been received so it can be passed on to other modules. More... | |
| BOOLEAN | STB_SIReportNit (SI_TABLE_RECORD *table_rec) |
| Reports the NIT has been received so it can be passed on to other modules. More... | |
STB layer SI filter handling.
| void STB_SICancelTableRequest | ( | void * | filter_handle | ) |
Stops filtering for SI table.
| filter_handle |
| void STB_SIModifyTableRequest | ( | void * | filter_handle, |
| U8BIT | tid_match, | ||
| U8BIT | tid_mask, | ||
| U16BIT | xtid_match, | ||
| U16BIT | xtid_mask, | ||
| U16BIT | expected_tables | ||
| ) |
modifies the section filtering on an existing filter
| filter_handle | - handle of the filter to be modified |
| tid_match | - required match byte for the tid in the match/mask filter |
| tid_mask | - required mask byte for the tid in the match/mask filter |
| xtid_match | - required match byte for the extended tid in the match/mask filter |
| xtid_mask | - required mask byte for the extended tid in the match/mask filter |
| expected_tables | - number of tables expected. Used to decide when multi-table filter is complete |
| F_AppSiEventHandler STB_SIRegisterAppSiEventHandler | ( | void(*)(U8BIT, E_APP_SI_EVENT_TYPE) | func_ptr | ) |
Registers a function to be called to handle SI events.
| func_ptr | function being registered to handle SI events |
| void STB_SIRegisterPmtObserver | ( | F_PmtObserver | func_ptr | ) |
Registers a function to be called when the PMT changes.
| func_ptr | - pointer to the function to be called |
| void STB_SIReleaseTableRecord | ( | SI_TABLE_RECORD * | table_rec | ) |
Frees the memory used in a table record passed to the application.
| table_rec | - pointer to the table record to be freed |
| BOOLEAN STB_SIReportBat | ( | SI_TABLE_RECORD * | table_rec | ) |
Reports the BAT has been received so it can be passed on to other modules.
| table_rec | - table record containing the BAT section data |
| BOOLEAN STB_SIReportCat | ( | SI_TABLE_RECORD * | table_rec | ) |
Reports the CAT has been received so it can be passed on to other modules.
| table_rec | - table record containing the CAT section data |
| void STB_SIReportCurrentPmt | ( | U16BIT | service_id, |
| SI_TABLE_RECORD * | table_rec, | ||
| BOOLEAN | new_serv, | ||
| BOOLEAN | new_pmt_version | ||
| ) |
Reports current pmt has arrived so that it can be passed on to interested parties.
| table_rec | - table record containing the pmt details |
| new_serv | - if TRUE this pmt is for a new service, if FALSE it is a new version for the same service as last time. |
| BOOLEAN STB_SIReportNit | ( | SI_TABLE_RECORD * | table_rec | ) |
Reports the NIT has been received so it can be passed on to other modules.
| table_rec | - table record containing the NIT section data |
| void* STB_SIRequestTable | ( | U8BIT | path, |
| U16BIT | pid, | ||
| U8BIT | tid_match, | ||
| U8BIT | tid_mask, | ||
| E_SI_TABLE_FORMAT_TYPE | format, | ||
| U16BIT | expected_tables, | ||
| U16BIT | xtid_match, | ||
| U16BIT | xtid_mask, | ||
| E_SI_REQUEST_TYPE | req_type, | ||
| U16BIT | buff_size, | ||
| BOOLEAN | crc, | ||
| BOOLEAN | low_priority, | ||
| void(*)(void *, U32BIT, SI_TABLE_RECORD *) | callback, | ||
| U32BIT | ret_param | ||
| ) |
Sets up filter for SI table.
| path | - the demux path to use |
| pid | - required pid |
| tid_match | - required match byte for the tid in the match/mask filter |
| tid_mask | - required mask byte for the tid in the match/mask filter |
| format | - format of the table i.e. single or multiple section |
| expected_tables | - number of tables expected. Used to decide when multi-table filter is complete |
| xtid_match | - required match byte for the extended tid in the match/mask filter |
| xtid_mask | - required mask byte for the extended tid in the match/mask filter |
| req_type | - ONE_SHOT or CONTINUOUS request |
| buff_size | - size of buffer to be used |
| crc | - TRUE if crc checking required, FALSE otherwise |
| low_priority | - TRUE if request is lower priority |
| callback | - pointer to callback function for return of table |
| ret_param | - parameter to be returned to callback function |
| void STB_SIRestartTableRequest | ( | void * | filter_handle | ) |
restarts the section filtering on an existing filter without changing and pid or match/mask filter settings
| filter_handle | - handle of the filter to be modified |
| void STB_SISearchComplete | ( | U8BIT | path, |
| BOOLEAN | success, | ||
| void * | event_data, | ||
| U32BIT | data_size | ||
| ) |
Indicates SI search is complete.
| path | - the path for which searching is complete |
| E_STB_SI_STATUS STB_SITerrGetStatus | ( | U8BIT | path | ) |
Reads the SI status.
| U8BIT | path - the ID of the decode path to use |
| void STB_SITerrSendEvent | ( | U8BIT | path, |
| U32BIT | events | ||
| ) |
Sends an event to STB layer SI Terrestrial engine.
| U32BIT | events - event mask |
| void STB_SIUnregisterPmtObserver | ( | F_PmtObserver | func_ptr | ) |
Registers a function to be called when the PMT changes.
| func_ptr | - pointer to the function to be called |
1.8.11