DSMCC  17.9.0
 All Data Structures Files Functions Typedefs
Macros | Typedefs | Enumerations | Functions
siq_pmt.c File Reference

Service Information Query: PMT parsing functionality. More...

#include <string.h>
#include "siq_debug.h"
#include "siq_main.h"
#include "siq_pmt.h"
#include "cldsmcc.h"

Go to the source code of this file.

Macros

#define DBC_ID_SSU   0x000A
 
#define DBC_ID_MHEG5   0x0106
 
#define DBC_ID_OAD   0x0111
 
#define DBC_ID_HBBTV   0x0123
 
#define DBC_ID_MHP0   0x00F0
 
#define DBC_ID_MHP1   0x00F1
 
#define DVB_OUI   0x00015A
 

Typedefs

typedef struct s_SsuInfo * P_SsuInfo
 
typedef struct s_SsuInfo S_SsuInfo
 
typedef struct s_PmtStream S_PmtStream
 
typedef struct s_Deferred S_Deferred
 
typedef struct s_SiqPmtTable S_SiqPmtTable
 

Enumerations

enum  E_STREAM_TYPE {
  ST_VIDEO1 = 0x01, ST_VIDEO2 = 0x02, ST_AUDIO1 = 0x03, ST_AUDIO2 = 0x04,
  ST_PRIVATE = 0x05, ST_PES_PRV = 0x06, ST_MHEG = 0x07, ST_DATA_A = 0x0a,
  ST_DATA_B = 0x0b, ST_DATA_C = 0x0c, ST_DATA_D = 0x0d, ST_AUX = 0x0e,
  ST_AAC = 0x0f, ST_HEAAC = 0x11, ST_H264 = 0x1b
}
 
enum  E_SsuUpdType { SUT_PROPRIETORY, SUT_SIMPLE_SSU, SUT_WITH_UNT, SUT_RETURN_UNT }
 
enum  { APP_TYP_MHEG5 = 0x0008, APP_TYP_HBBTV = 0x0010 }
 
enum  {
  CAROUSEL_ID_DESCRIPTOR = 0x13, DEFERRED_ASSOC_DESCRIPTOR = 0x15, STREAM_ID_DESCRIPTOR = 0x52, DATA_BROADCAST_ID_DESCRIPTOR = 0x66,
  APP_SIGNALLING_DESCRIPTOR = 0x6f
}
 

Functions

void ParseSystemSoftwareUpdateInfo (S_SiqInstance *siq, S_PmtStream *pStream, U8BIT *dptr, U8BIT dlen, U8BIT **pxtr_ptr)
 
H_SiqPmtTable SIQ_PmtCreateTable (S_SiqInstance *siq, U8BIT *data)
 Create PMT structure for monitoring (life-cycle, NB_Info) More...
 
void SIQ_PmtDestroyTable (S_SiqInstance *siq, H_SiqPmtTable table)
 Destroy PMT structure created by PMT_CreateTable. More...
 
void SIQ_PmtProcessQuery (S_SiqInstance *siq, P_SIQueryRequest pQuery, H_SiqPmtTable hpmt, P_SIQueryResult pResult)
 Retrieve Information required by Query request from SIQ's PMT table. More...
 
void SIQ_PmtCheckTableChange (S_SiqInstance *siq, H_SiqPmtTable pOldTable, H_SiqPmtTable pNewTable, U16BIT serviceId)
 For each carousel Id in old table, search through new table to see if it still exists. If not, tell DSM-CC. Then tell DSM-CC that PMT has been updated. More...
 

Detailed Description

Service Information Query: PMT parsing functionality.

Date
30th Sepember 2013
Author
Adam Sturtridge

Definition in file siq_pmt.c.

Function Documentation

void SIQ_PmtCheckTableChange ( S_SiqInstance siq,
H_SiqPmtTable  pOldTable,
H_SiqPmtTable  pNewTable,
U16BIT  serviceId 
)

For each carousel Id in old table, search through new table to see if it still exists. If not, tell DSM-CC. Then tell DSM-CC that PMT has been updated.

Parameters
S_SiqInstance*siq SIQ instance handle.
H_SiqPmtTablehOldTable
H_SiqPmtTablehNewTable
U16BITserviceId
Returns
none.

Definition at line 987 of file siq_pmt.c.

H_SiqPmtTable SIQ_PmtCreateTable ( S_SiqInstance siq,
U8BIT *  data 
)

Create PMT structure for monitoring (life-cycle, NB_Info)

Parameters
U8BIT*data Raw PMT section
Returns
S_SiqPmtTable structure

Definition at line 444 of file siq_pmt.c.

void SIQ_PmtDestroyTable ( S_SiqInstance siq,
H_SiqPmtTable  table 
)

Destroy PMT structure created by PMT_CreateTable.

Parameters
S_SiqInstance*siq SIQ instance handle.
H_SiqPmtTabletable Handle to SIQ's PMT table
Returns
void.

Definition at line 635 of file siq_pmt.c.

void SIQ_PmtProcessQuery ( S_SiqInstance siq,
P_SIQueryRequest  pQuery,
H_SiqPmtTable  hpmt,
P_SIQueryResult  pResult 
)

Retrieve Information required by Query request from SIQ's PMT table.

Parameters
S_SiqInstance*siq SIQ instance handle.
P_SIQueryRequestpQuery Pointer to DSM-CC Query request.
H_SiqPmtTablehpmt Handle to SIQ's PMT table
P_SIQueryResultpResult Pointer to DSM-CC Query Result
Returns
void

Definition at line 921 of file siq_pmt.c.