Wasabi ExpressPlay SDK for Embedded Systems  1.23.0
Data Structures | Macros | Typedefs | Enumerations | Functions
Ts2Descriptors.h File Reference
#include "Atomix.h"

Go to the source code of this file.

Data Structures

struct  TS2_Descriptor
 
struct  TS2_AudioStreamDescriptor
 
struct  TS2_VideoStreamDescriptor
 
struct  TS2_CADescriptor
 
struct  TS2_RegistrationDescriptor
 
struct  TS2_DoviVideoStreamDescriptor
 
struct  TS2_GenericDescriptor
 

Macros

#define TS2_DESCRIPTOR_HEADER_SIZE   2
 
#define TS2_VIDEO_STREAM_DESCRIPTOR_TAG   2
 
#define TS2_AUDIO_STREAM_DESCRIPTOR_TAG   3
 
#define TS2_REGISTRATION_DESCRIPTOR_TAG   5
 
#define TS2_CA_DESCRIPTOR_TAG   9
 
#define TS2_DOVI_VIDEO_STREAM_DESCRIPTOR_TAG   176 /* 0xB0 */
 
#define TS2_DOVI_FORMAT_IDENTIFIER   0x444F5649
 
#define TS2_DOVI_FLAG_RPU_PRESENT   0x04
 
#define TS2_DOVI_FLAG_EL_PRESENT   0x02
 
#define TS2_DOVI_FLAG_BL_PRESENT   0x01
 
#define TS2_DOVI_RPU_PRESENT(flag)   ((flag & TS2_DOVI_FLAG_RPU_PRESENT) > 0)
 
#define TS2_DOVI_EL_PRESENT(flag)   ((flag & TS2_DOVI_FLAG_EL_PRESENT) > 0)
 
#define TS2_DOVI_BL_PRESENT(flag)   ((flag & TS2_DOVI_FLAG_BL_PRESENT) > 0)
 
#define TS2_Descriptor_Destroy(self)   (self)->Destroy(self)
 Release all the memory that has been allocated for the descriptor object 'self'. More...
 
#define TS2_Descriptor_GetSize(self)   ((self)->length + 2)
 Get the descriptor size in bytes. More...
 
#define TS2_CADescriptor_GetPrivateDataSize(self)   (ATX_Size)((self->base.length - 4))
 
#define TS2_RegistrationDescriptor_GetAdditionalInfoSize(self)   (ATX_Size)((self->base.length - 4))
 
#define TS2_VideoStreamDescriptor_Mpeg1OnlyFlag(vdesc)   ((vdesc)->flags & 0x04)
 

Typedefs

typedef struct TS2_Descriptor TS2_Descriptor
 

Enumerations

enum  TS2_DescriptorType {
  AS_GENERIC = -1,
  PMT_DESCRIPTOR,
  CAT_DESCRIPTOR,
  PMT_ES_DESCRIPTOR,
  CA_DESC_PRIVATE_DESCRIPTOR,
  KSM_ACCESS_CRITERIA_DESCRIPTOR
}
 

Functions

ATX_Result TS2_Descriptor_Parse (const ATX_Byte *data, ATX_Size *data_size, TS2_DescriptorType desc_type, ATX_Boolean as_generic, TS2_Descriptor **desc)
 
ATX_Result TS2_Descriptor_Serialize (TS2_Descriptor *self, ATX_Byte *buffer)
 Serialize the descriptor. More...
 
ATX_Size TS2_DescriptorList_GetSize (ATX_List *descs)
 
ATX_Result TS2_DescriptorList_Serialize (ATX_List *descs, ATX_Byte *buffer)
 
void TS2_DescriptorList_Destroy (ATX_List *descs)
 
ATX_Result TS2_CADescriptor_Create (ATX_UInt16 system_id, ATX_UInt16 pid, const ATX_Byte *private_data, ATX_Size private_data_size, TS2_CADescriptor **ca_desc)
 

Macro Definition Documentation

◆ TS2_AUDIO_STREAM_DESCRIPTOR_TAG

#define TS2_AUDIO_STREAM_DESCRIPTOR_TAG   3

◆ TS2_CA_DESCRIPTOR_TAG

#define TS2_CA_DESCRIPTOR_TAG   9

◆ TS2_CADescriptor_GetPrivateDataSize

#define TS2_CADescriptor_GetPrivateDataSize (   self)    (ATX_Size)((self->base.length - 4))

◆ TS2_Descriptor_Destroy

#define TS2_Descriptor_Destroy (   self)    (self)->Destroy(self)

Release all the memory that has been allocated for the descriptor object 'self'.

◆ TS2_Descriptor_GetSize

#define TS2_Descriptor_GetSize (   self)    ((self)->length + 2)

Get the descriptor size in bytes.

This is the serialized form size.

◆ TS2_DESCRIPTOR_HEADER_SIZE

#define TS2_DESCRIPTOR_HEADER_SIZE   2

◆ TS2_DOVI_BL_PRESENT

#define TS2_DOVI_BL_PRESENT (   flag)    ((flag & TS2_DOVI_FLAG_BL_PRESENT) > 0)

◆ TS2_DOVI_EL_PRESENT

#define TS2_DOVI_EL_PRESENT (   flag)    ((flag & TS2_DOVI_FLAG_EL_PRESENT) > 0)

◆ TS2_DOVI_FLAG_BL_PRESENT

#define TS2_DOVI_FLAG_BL_PRESENT   0x01

◆ TS2_DOVI_FLAG_EL_PRESENT

#define TS2_DOVI_FLAG_EL_PRESENT   0x02

◆ TS2_DOVI_FLAG_RPU_PRESENT

#define TS2_DOVI_FLAG_RPU_PRESENT   0x04

◆ TS2_DOVI_FORMAT_IDENTIFIER

#define TS2_DOVI_FORMAT_IDENTIFIER   0x444F5649

◆ TS2_DOVI_RPU_PRESENT

#define TS2_DOVI_RPU_PRESENT (   flag)    ((flag & TS2_DOVI_FLAG_RPU_PRESENT) > 0)

◆ TS2_DOVI_VIDEO_STREAM_DESCRIPTOR_TAG

#define TS2_DOVI_VIDEO_STREAM_DESCRIPTOR_TAG   176 /* 0xB0 */

◆ TS2_REGISTRATION_DESCRIPTOR_TAG

#define TS2_REGISTRATION_DESCRIPTOR_TAG   5

◆ TS2_RegistrationDescriptor_GetAdditionalInfoSize

#define TS2_RegistrationDescriptor_GetAdditionalInfoSize (   self)    (ATX_Size)((self->base.length - 4))

◆ TS2_VIDEO_STREAM_DESCRIPTOR_TAG

#define TS2_VIDEO_STREAM_DESCRIPTOR_TAG   2

◆ TS2_VideoStreamDescriptor_Mpeg1OnlyFlag

#define TS2_VideoStreamDescriptor_Mpeg1OnlyFlag (   vdesc)    ((vdesc)->flags & 0x04)

Typedef Documentation

◆ TS2_Descriptor

Enumeration Type Documentation

◆ TS2_DescriptorType

Enumerator
AS_GENERIC 
PMT_DESCRIPTOR 
CAT_DESCRIPTOR 
PMT_ES_DESCRIPTOR 
CA_DESC_PRIVATE_DESCRIPTOR 
KSM_ACCESS_CRITERIA_DESCRIPTOR 

Function Documentation

◆ TS2_CADescriptor_Create()

ATX_Result TS2_CADescriptor_Create ( ATX_UInt16  system_id,
ATX_UInt16  pid,
const ATX_Byte *  private_data,
ATX_Size  private_data_size,
TS2_CADescriptor **  ca_desc 
)

◆ TS2_Descriptor_Parse()

ATX_Result TS2_Descriptor_Parse ( const ATX_Byte *  data,
ATX_Size *  data_size,
TS2_DescriptorType  desc_type,
ATX_Boolean  as_generic,
TS2_Descriptor **  desc 
)

◆ TS2_Descriptor_Serialize()

ATX_Result TS2_Descriptor_Serialize ( TS2_Descriptor self,
ATX_Byte *  buffer 
)

Serialize the descriptor.

Parameters
selfthe descriptor object.
bufferthe address of memory region where TS2_Descriptor_GetSize(self) bytes can be stored.

◆ TS2_DescriptorList_Destroy()

void TS2_DescriptorList_Destroy ( ATX_List *  descs)

◆ TS2_DescriptorList_GetSize()

ATX_Size TS2_DescriptorList_GetSize ( ATX_List *  descs)

◆ TS2_DescriptorList_Serialize()

ATX_Result TS2_DescriptorList_Serialize ( ATX_List *  descs,
ATX_Byte *  buffer 
)