Defines |
#define | KILOBYTES(n) (n << 10) |
#define | MEGABYTES(n) (n << 20) |
#define | INITERR(x,...) |
#define | INITWRN(x,...) |
Functions |
H_SfmInstance | SFM_CreateInstance (S_SfmSetup *pSetup) |
| Create Section Filter Manager instance, using setup structure.
|
void | SFM_DestroyInstance (H_SfmInstance sfm, void **pSfmMtx, void **pCchMtx, void **pBufMtx) |
| Destroy Section Filter Manager instance, and return mutexes so that they may be destroyed by client.
|
void | SFM_SetDebugConfig (H_SfmInstance sfm, F_Printf errPrintf, F_Printf dbgPrintf, U32BIT dbgState) |
| This allows controlling software to reconfigure SFM debug output.
|
void | SFM_SetDebugState (H_SfmInstance sfm, U32BIT dbgState) |
| This allows controlling software to reconfigure SFM debug output.
|
void | SFM_SetDsmInstance (H_SfmInstance sfm, clDsmInstHandle_t dsmcc) |
| Set instance handle for DSM-CC that SFM is supporting.
|
void | SFM_SetDemuxHandle (H_SfmInstance sfm, DMXREF demux) |
| Set handle to be passed to F_DvpFilterSetup and F_DvpFilterRemove.
|
E_SFM_STATUS | SFM_RequireSection (H_SfmInstance sfm, PIDFILT pfid, U8BIT *pHeader, void **phBuffer) |
| This function performs minimal checking of section header data to find out whether SFM requires this section. Number of header bytes required is SECTION_HEADER_LENGTH. It assumes CRC has been checked and is passing valid DSM-CC sections So the first byte of data must be table id 0x3B, 0x3C or 0x3D. Note for multi-tasking: this function uses mutex locking to protect shared data with SFM_AddSectionFilter and SFM_DelSectionFilter. It does NOT call any DSM-CC core functions.
|
void | SFM_ProcessSection (H_SfmInstance sfm, U8BIT *pSection, void *hBuffer) |
| Process required section buffer. This should only be called after calling SFM_RequireSection and with it returning SFM_UPDATE_... This function calls DSM-CC core functions.
|
Section Filter Manager: main functions.
- Date:
- 16th October 2013
- Author:
- Adam Sturtridge
This function performs minimal checking of section header data to find out whether SFM requires this section. Number of header bytes required is SECTION_HEADER_LENGTH. It assumes CRC has been checked and is passing valid DSM-CC sections So the first byte of data must be table id 0x3B, 0x3C or 0x3D. Note for multi-tasking: this function uses mutex locking to protect shared data with SFM_AddSectionFilter and SFM_DelSectionFilter. It does NOT call any DSM-CC core functions.
This function performs minimal checking of section header data to find out whether SFM requires this section. Number of header bytes required is SECTION_HEADER_LENGTH. It assumes CRC has been checked and is passing valid DSM-CC sections So the first byte of data must be table id 0x3B, 0x3C or 0x3D. Note for multi-tasking: this function uses mutex locking to protect shared data with SFM_DsmccFilterAlloc and SFM_DsmccFilterDelete. It does NOT call any DSM-CC core functions.
- Parameters:
-
H_SfmInstance | sfm SFM instance handle. |
PIDFILT | pfid PID filter with incoming section |
U8BIT* | pHeader Pointer to section header (min 8 bytes) |
void** | phBuffer Pointer to SFM section buffer handle |
- Returns:
- E_SFM_STATUS - status of required update