DSM-CC SI support.
More...
#include <string.h>
#include "stb_os.h"
#include "stb_filter.h"
#include "dsm_control.h"
#include "dm_debug.h"
#include "dsm_si.h"
|
#define | PAT_PID 0 |
|
#define | PAT_TID 0 |
|
#define | PMT_TID 2 |
|
#define | TIMEOUT_PAT 700 |
|
#define | TIMEOUT_PMT 1000 |
|
#define | TIMEOUT_DEFAULT 0x7FFF |
|
#define | INVALID_DMX 0xFF |
|
#define | DSI_RQST_MAGIC 0xBA000000 |
|
#define | dsmctrl dsi->ctrl |
|
|
U32BIT | TimeoutPeriod (U8BIT tid) |
|
S_TableRequest * | FindTableRqst (H_DsiInstance dsi, U16BIT pid, U16BIT xid, U8BIT tid) |
|
H_DsiInstance | DSI_CreateInstance (H_DsmControl ctrl, F_FILTER_CALLBACK cbfunc, S_DsmccConfig *config) |
| Create instance of DSI. More...
|
|
void | DSI_DestroyInstance (H_DsiInstance dsi) |
| Destroy instance created by SIQ_CreateInstance. More...
|
|
BOOLEAN | DSI_Start (H_DsiInstance dsi, U16BIT transId, DMXREF dmxref) |
| Start getting SI data from Demux. More...
|
|
void | DSI_Stop (H_DsiInstance dsi) |
| Stop getting SI data from Demux. More...
|
|
U32BIT | DSI_RequestTable (H_DsiInstance dsi, U16BIT pid, U16BIT xid, U8BIT tid) |
| Request Table data. It supplies Table soon after the call to this function, and then, whenever the Table version changes. This state continues until DSI_CancelTable is called. More...
|
|
void | DSI_CancelTable (H_DsiInstance dsi, U16BIT pid, U32BIT rid) |
| Cancel request for table data made by DSI_RequestTable() More...
|
|
U32BIT | DSI_CheckRequests (H_DsiInstance dsi, U32BIT now) |
| Check outstanding PMT (and PAT) requests to see whether any need to be refreshed. More...
|
|
BOOLEAN | DSI_RequireTable (H_DsiInstance dsi, U8BIT *hdr, U16BIT *pXid, U8BIT *pVer) |
| Check whether SI table section data is required. More...
|
|
DSM-CC SI support.
- Date
- 24 April 2014
- Author
- Adam Sturtridge
void DSI_CancelTable |
( |
H_DsiInstance |
dsi, |
|
|
U16BIT |
pid, |
|
|
U32BIT |
rid |
|
) |
| |
Check outstanding PMT (and PAT) requests to see whether any need to be refreshed.
- Parameters
-
- Returns
- U32BIT time when need to call this function again
Create instance of DSI.
- Parameters
-
cbfunc | Function to process SI section data |
config | Configuration of DSM-CC |
- Returns
- DSI Instance handle
Destroy instance created by SIQ_CreateInstance.
- Parameters
-
H_DsiInstance | dsi DSI instance handle. |
- Returns
U32BIT DSI_RequestTable |
( |
H_DsiInstance |
dsi, |
|
|
U16BIT |
pid, |
|
|
U16BIT |
xid, |
|
|
U8BIT |
tid |
|
) |
| |
Request Table data. It supplies Table soon after the call to this function, and then, whenever the Table version changes. This state continues until DSI_CancelTable is called.
- Parameters
-
dsi | DSI instance handle |
pid | PID for this table |
xid | Table extension ID |
tid | Table ID (e.g. PMT is 0x02) |
- Returns
- zero is failure, non-zero is success
BOOLEAN DSI_RequireTable |
( |
H_DsiInstance |
dsi, |
|
|
U8BIT * |
hdr, |
|
|
U16BIT * |
pXid, |
|
|
U8BIT * |
pVer |
|
) |
| |
Check whether SI table section data is required.
- Parameters
-
dsi | DSI instance handle |
data | pointer to section data (starting at table Id byte |
pXid | pointer to return table extension |
pVer | pointer to return table version |
- Returns
- BOOLEAN - TRUE if required, otherwise FALSE
BOOLEAN DSI_Start |
( |
H_DsiInstance |
dsi, |
|
|
U16BIT |
transId, |
|
|
DMXREF |
dmxref |
|
) |
| |
Start getting SI data from Demux.
- Parameters
-
dsi | DSI instance handle. |
transId | Transport stream ID |
dmxref | Demux reference handle |
- Returns
Stop getting SI data from Demux.
- Parameters
-
H_DsiInstance | dsi DSI instance handle. |
- Returns