DSMCC  15.3.1
source/dsiq/src/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"

Data Structures

struct  s_PmtStream
struct  s_Deferred
struct  s_SiqPmtTable

Typedefs

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_PKT = 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  { 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

H_SiqPmtTable SIQ_PmtCreateTable (S_SiqInstance *siq, U8BIT *data)
 Create PMT structure for monitoring (life-cycle, NB_Info)
void SIQ_PmtDestroyTable (S_SiqInstance *siq, H_SiqPmtTable table)
 Destroy PMT structure created by PMT_CreateTable.
void SIQ_PmtProcessQuery (S_SiqInstance *siq, pclDsmSIQuery_t pQuery, H_SiqPmtTable hpmt, clDsmSIQueryResult_t *pResult)
 Retrieve Information required by Query request from SIQ's PMT table.
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.

Detailed Description

Service Information Query: PMT parsing functionality.

Date:
30th Sepember 2013
Author:
Adam Sturtridge

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.
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
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.
void SIQ_PmtProcessQuery ( S_SiqInstance siq,
pclDsmSIQuery_t  pQuery,
H_SiqPmtTable  hpmt,
clDsmSIQueryResult_t pResult 
)

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

Parameters:
S_SiqInstance*siq SIQ instance handle.
pclDsmSIQuery_tpQuery Pointer to DSM-CC Query request.
H_SiqPmtTablehpmt Handle to SIQ's PMT table
clDsmSIQueryResult_t*pResult Pointer to DSM-CC Query Result
Returns:
void
 All Data Structures Files Functions Typedefs