Section Filter Manager: main functions. More...
Go to the source code of this file.
Macros | |
| #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. More... | |
| 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. More... | |
| void | SFM_SetDebugConfig (H_SfmInstance sfm, F_Printf errPrintf, F_Printf dbgPrintf, U32BIT dbgState) |
| This allows controlling software to reconfigure SFM debug output. More... | |
| void | SFM_SetDebugState (H_SfmInstance sfm, U32BIT dbgState) |
| This allows controlling software to reconfigure SFM debug output. More... | |
| void | SFM_SetDsmInstance (H_SfmInstance sfm, H_DsmCoreInst dsmcc) |
| Set instance handle for DSM-CC that SFM is supporting. More... | |
| void | SFM_SetDemuxHandle (H_SfmInstance sfm, DMXREF demux) |
| Set handle to be passed to F_DvpFilterSetup and F_DvpFilterRemove. More... | |
| 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. More... | |
| 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. More... | |
| #define INITERR | ( | x, | |
| ... | |||
| ) |
Definition at line 36 of file sfm_main.c.
| #define INITWRN | ( | x, | |
| ... | |||
| ) |
Definition at line 39 of file sfm_main.c.
| H_SfmInstance SFM_CreateInstance | ( | S_SfmSetup * | pSetup | ) |
Create Section Filter Manager instance, using setup structure.
| S_SfmSetup | setup setup parameters |
Definition at line 62 of file sfm_main.c.
| 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.
| H_SfmInstance | sfm SFM instance handle. |
| void** | pSfmMtx Pointer to sfmMutex provided in setup |
| void** | pCchMtx Pointer to cacheMutex provided in setup |
| void** | pBufMtx Pointer to bufferMutex provided in setup |
Definition at line 161 of file sfm_main.c.
| 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.
Process required section buffer. This should only be called after SFM_RequireSection has returned SFM_UPDATE_HIGH or SFM_UPDATE_LOW. This function must be called in the normal DSM-CC thread environment, because it calls DSM-CC core functions.
| H_SfmInstance | sfm SFM instance handle. |
| U8BIT* | pSection Pointer to whole section data buffer |
| void* | hBuffer SFM section handle returned by SFM_RequireSection |
Definition at line 299 of file sfm_main.c.
| 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.
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.
| 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 |
Definition at line 257 of file sfm_main.c.
| void SFM_SetDebugConfig | ( | H_SfmInstance | sfm, |
| F_Printf | errPrintf, | ||
| F_Printf | dbgPrintf, | ||
| U32BIT | dbgState | ||
| ) |
This allows controlling software to reconfigure SFM debug output.
| H_SfmInstance | sfm SFM instance handle. |
| F_SfmPrintf | errPrintf Error print function |
| F_SfmPrintf | dbgPrintf Debug print function |
| U32BIT | dbgState State to filter debug printing |
Definition at line 192 of file sfm_main.c.
| void SFM_SetDebugState | ( | H_SfmInstance | sfm, |
| U32BIT | dbgState | ||
| ) |
This allows controlling software to reconfigure SFM debug output.
| H_SfmInstance | sfm SFM instance handle. |
| U32BIT | dbgState State to filter debug printing |
Definition at line 209 of file sfm_main.c.
| void SFM_SetDemuxHandle | ( | H_SfmInstance | sfm, |
| DMXREF | demux | ||
| ) |
Set handle to be passed to F_DvpFilterSetup and F_DvpFilterRemove.
| H_SfmInstance | sfm SFM instance handle. |
| DMXREF | demux Demux handle used by platform |
Definition at line 233 of file sfm_main.c.
| void SFM_SetDsmInstance | ( | H_SfmInstance | sfm, |
| H_DsmCoreInst | dsmcc | ||
| ) |
Set instance handle for DSM-CC that SFM is supporting.
| H_SfmInstance | sfm SFM instance handle. |
| H_DsmCoreInst | dsmcc DSM-CC instance being supported |
Definition at line 220 of file sfm_main.c.
1.8.6