Wasabi ExpressPlay SDK for Embedded Systems  1.23.0
Data Structures | Macros | Typedefs | Enumerations | Functions
EmbProcessor.h File Reference

EMB (Extended Marlin Broadcast) Processor API. More...

#include "EmbTypes.h"
#include "EmbConfig.h"

Go to the source code of this file.

Data Structures

struct  EMB_ByteArray
 An array of bytes. More...
 
struct  EMB_HardwareFilter
 Hardware filter. More...
 
struct  EMB_GroupFilters
 Group hardware filters. More...
 
struct  EMB_Processor_MediaInfo
 Media info with content ids. More...
 
struct  EMB_Processor_Event
 Structure used as the base for all event structures. More...
 
struct  EMB_Processor_OpmNotificationEvent
 OPM Notification event. More...
 
struct  EMB_Processor_EplNotificationEvent
 EPL Notification event. More...
 
struct  EMB_Processor_GkoNotificationEvent
 GKO Notification event. More...
 
struct  EMB_Processor_EpdNotificationEvent
 EPD Notification event. More...
 
struct  EMB_Processor_EventListener
 

Macros

#define EMB_GROUP_TABLES   13
 
#define EMB_COEFF_LENGTH   16
 
#define EMB_MASK_LENGTH   16
 
#define EMB_EMM_MIN_GROUP_ID   0
 
#define EMB_EMM_MAX_GROUP_ID   1247
 
#define EMB_CONTENT_ID_HASH_LENGTH   20
 
#define EMB_INVALID_PACKAGE_ID   (EMB_UInt32)(-1)
 
#define EMB_INVALID_GROUP_ID   (EMB_Int32)(-1)
 

Typedefs

typedef struct SHI_Data SHI_Data
 A SHI_Data object represents a typed data object. More...
 
typedef struct WSB_KeyManager WSB_KeyManager
 A WSB_KeyManager object can be used to register (set) and get content keys for a playback session. More...
 
typedef struct EMB_Processor EMB_Processor
 An EMB_Processor object represents information about processing an EMBB packet. More...
 

Enumerations

enum  EMB_Processor_EventType {
  EMB_PROCESSOR_EVENT_TYPE_EPL_ADDED,
  EMB_PROCESSOR_EVENT_TYPE_EPL_CHANGED,
  EMB_PROCESSOR_EVENT_TYPE_EPL_REMOVED,
  EMB_PROCESSOR_EVENT_TYPE_GKO_ADDED,
  EMB_PROCESSOR_EVENT_TYPE_GKO_CHANGED,
  EMB_PROCESSOR_EVENT_TYPE_GKO_REMOVED,
  EMB_PROCESSOR_EVENT_TYPE_EPD_ADDED,
  EMB_PROCESSOR_EVENT_TYPE_EPD_CHANGED,
  EMB_PROCESSOR_EVENT_TYPE_EPD_REMOVED,
  EMB_PROCESSOR_EVENT_TYPE_OPM
}
 Identifiers for event types. More...
 

Functions

EMB_EXPORT EMB_Result EMB_Processor_Create (EMB_Processor_EventListener listener, EMB_Processor **processor)
 Create EMB (Extended Marlin Broadband) processor to process EMM (Entitlement Management Message). More...
 
EMB_EXPORT EMB_Result EMB_Processor_GetDeviceFilter (EMB_Processor *processor, EMB_HardwareFilter *device_filter)
 Get the filter suitable to set hardware filter to obtain EMMs targeting at the device. More...
 
EMB_EXPORT EMB_Result EMB_Processor_GetGroupFilters (EMB_Processor *processor, EMB_GroupFilters *group_filters)
 Get the group filters suitable to set hardware filter(s) to obtain EMMs targeting at group(s). More...
 
EMB_EXPORT EMB_Result EMB_Processor_ProcessPacket (EMB_Processor *processor, EMB_ByteArray *packet)
 Process incoming EMM of the following payload types: More...
 
EMB_EXPORT EMB_Result EMB_Processor_EnableContent (EMB_Processor *processor, EMB_Processor_MediaInfo *media_info, WSB_KeyManager *key_manager)
 Enable content with the specified content id(s) to be ready for playback. More...
 
EMB_EXPORT EMB_Result EMB_Processor_Destroy (EMB_Processor *processor)
 Destroys the EMB_Processor object. More...
 

Detailed Description

EMB (Extended Marlin Broadcast) Processor API.

Macro Definition Documentation

◆ EMB_COEFF_LENGTH

#define EMB_COEFF_LENGTH   16

◆ EMB_CONTENT_ID_HASH_LENGTH

#define EMB_CONTENT_ID_HASH_LENGTH   20

◆ EMB_EMM_MAX_GROUP_ID

#define EMB_EMM_MAX_GROUP_ID   1247

◆ EMB_EMM_MIN_GROUP_ID

#define EMB_EMM_MIN_GROUP_ID   0

◆ EMB_GROUP_TABLES

#define EMB_GROUP_TABLES   13

◆ EMB_INVALID_GROUP_ID

#define EMB_INVALID_GROUP_ID   (EMB_Int32)(-1)

◆ EMB_INVALID_PACKAGE_ID

#define EMB_INVALID_PACKAGE_ID   (EMB_UInt32)(-1)

◆ EMB_MASK_LENGTH

#define EMB_MASK_LENGTH   16