libklvanc
 All Classes Files Functions Variables Enumerations Macros
Classes | Macros | Functions
vanc-scte_104.h File Reference

SCTE-104 Automation System to Compression System Communications Applications Program Interface. More...

#include <libklvanc/vanc-packets.h>

Go to the source code of this file.

Classes

struct  klvanc_single_operation_message
 TODO - Brief description goes here. More...
 
struct  klvanc_multiple_operation_message_timestamp
 TODO - Brief description goes here. More...
 
struct  klvanc_splice_request_data
 TODO - Brief description goes here. More...
 
struct  klvanc_time_signal_request_data
 TODO - Brief description goes here. More...
 
struct  klvanc_avail_descriptor_request_data
 TODO - Brief description goes here. More...
 
struct  klvanc_insert_descriptor_request_data
 TODO - Brief description goes here. More...
 
struct  klvanc_dtmf_descriptor_request_data
 TODO - Brief description goes here. More...
 
struct  klvanc_segmentation_descriptor_request_data
 TODO - Brief description goes here. More...
 
struct  klvanc_time_descriptor_data
 TODO - Brief description goes here. More...
 
struct  klvanc_proprietary_command_request_data
 TODO - Brief description goes here. More...
 
struct  klvanc_tier_data
 TODO - Brief description goes here. More...
 
struct  klvanc_multiple_operation_message_operation
 
struct  klvanc_multiple_operation_message
 TODO - Brief description goes here. More...
 
struct  klvanc_packet_scte_104_s
 TODO - Brief description goes here. More...
 

Macros

#define SO_INIT_REQUEST_DATA   0x001
 TODO - Brief description goes here.
 
#define MO_SPLICE_REQUEST_DATA   0x101
 TODO - Brief description goes here.
 
#define MO_SPLICE_NULL_REQUEST_DATA   0x102
 TODO - Brief description goes here.
 
#define MO_TIME_SIGNAL_REQUEST_DATA   0x104
 TODO - Brief description goes here.
 
#define MO_INSERT_DESCRIPTOR_REQUEST_DATA   0x108
 
#define MO_INSERT_DTMF_REQUEST_DATA   0x109
 
#define MO_INSERT_AVAIL_DESCRIPTOR_REQUEST_DATA   0x10a
 
#define MO_INSERT_SEGMENTATION_REQUEST_DATA   0x10b
 
#define MO_PROPRIETARY_COMMAND_REQUEST_DATA   0x10c
 
#define MO_INSERT_TIER_DATA   0x10f
 
#define MO_INSERT_TIME_DESCRIPTOR   0x110
 
#define SPLICESTART_NORMAL   0x01
 TODO - Brief description goes here.
 
#define SPLICESTART_IMMEDIATE   0x02
 TODO - Brief description goes here.
 
#define SPLICEEND_NORMAL   0x03
 TODO - Brief description goes here.
 
#define SPLICEEND_IMMEDIATE   0x04
 TODO - Brief description goes here.
 
#define SPLICE_CANCEL   0x05
 TODO - Brief description goes here.
 

Functions

int klvanc_alloc_SCTE_104 (uint16_t opId, struct klvanc_packet_scte_104_s **pkt)
 Create a SCTE-104 structure. More...
 
int klvanc_dump_SCTE_104 (struct klvanc_context_s *ctx, void *p)
 Print out the properties of a SCTE-104 structure. More...
 
void klvanc_free_SCTE_104 (void *p)
 TODO - Brief description goes here. More...
 
int klvanc_convert_SCTE_104_packetbytes_to_SMPTE_2010 (struct klvanc_context_s *ctx, uint8_t *inBytes, uint16_t inCount, uint8_t **bytes, uint16_t *byteCount)
 Encapsulate a SCTE-104 packet into a SMPTE 2010 packet (suitable for embedding in a VANC packet). Currently only creation of unfragmented 2010 packets is supported.

On success, caller MUST free the resulting *bytes array.

See SMPTE Standard ST2010:2008 "Vertical Ancillary Data Mapping of ANSI/SCTE 104 Messages" for details of the output packet format. More...
 
int klvanc_convert_SCTE_104_to_words (struct klvanc_context_s *ctx, struct klvanc_packet_scte_104_s *pkt, uint16_t **words, uint16_t *wordCount)
 Convert type struct packet_scte_104_s into a more traditional line of
vanc words, so that we may push out as VANC data. On success, caller MUST free the resulting *words array. More...
 
int klvanc_convert_SCTE_104_to_packetBytes (struct klvanc_context_s *ctx, const struct klvanc_packet_scte_104_s *pkt, uint8_t **bytes, uint16_t *byteCount)
 Convert type struct packet_scte_104_s into a block of bytes which can be serialized over TCP or embedded in an SMPTE 2010 packet to be sent over SDI VANC. On success, caller MUST free the resulting *words array. More...
 
int klvanc_SCTE_104_Add_MOM_Op (struct klvanc_packet_scte_104_s *pkt, uint16_t opId, struct klvanc_multiple_operation_message_operation **op)
 

Detailed Description

SCTE-104 Automation System to Compression System Communications Applications Program Interface.

Author
Steven Toth stoth.nosp@m.@ker.nosp@m.nella.nosp@m.bs.c.nosp@m.om

Function Documentation

int klvanc_alloc_SCTE_104 ( uint16_t  opId,
struct klvanc_packet_scte_104_s **  pkt 
)

Create a SCTE-104 structure.

Parameters
[in]uint16_topId - SCTE-104 Operation to be created. Note that at present only Multiple Operation Messages (type 0xffff) are supported.
[out]structklvanc_packet_scte_104_s **pkt - The resulting SCTE-104 VANC entry
Returns
0 - Success
< 0 - Error
int klvanc_convert_SCTE_104_packetbytes_to_SMPTE_2010 ( struct klvanc_context_s ctx,
uint8_t *  inBytes,
uint16_t  inCount,
uint8_t **  bytes,
uint16_t *  byteCount 
)

Encapsulate a SCTE-104 packet into a SMPTE 2010 packet (suitable for embedding in a VANC packet). Currently only creation of unfragmented 2010 packets is supported.

On success, caller MUST free the resulting *bytes array.

See SMPTE Standard ST2010:2008 "Vertical Ancillary Data Mapping of ANSI/SCTE 104 Messages" for details of the output packet format.

Parameters
[in]structvanc_context_s *ctx, pointer to an existing libklvanc context structure
[in]uint8_t*inBytes - Pointer to SCTE-104 packet bytes
[in]uint16_t*inCount - Number of bytes in SCTE-104 packet
[out]uint8_t**bytes - Pointer to resulting SMPTE 2010 packet
[out]uint16_t*byteCount - Number of bytes in resulting SMPTE 2010 packet
Returns
0 - Success
< 0 - Error
-ENOMEM - Not enough memory to satisfy request
int klvanc_convert_SCTE_104_to_packetBytes ( struct klvanc_context_s ctx,
const struct klvanc_packet_scte_104_s pkt,
uint8_t **  bytes,
uint16_t *  byteCount 
)

Convert type struct packet_scte_104_s into a block of bytes which can be serialized over TCP or embedded in an SMPTE 2010 packet to be sent over SDI VANC. On success, caller MUST free the resulting *words array.

Parameters
[in]structvanc_context_s *ctx, pointer to an existing libklvanc context structure
[in]structpacket_scte_104_s *pkt - A SCTE-104 VANC entry, received from the SCTE-104 parser
[out]uint8_t**bytes - An array of words representing a fully formed SCTE-104 packet.
[out]uint16_t*byteCount - Number of bytes in the array.
Returns
0 - Success
< 0 - Error
-ENOMEM - Not enough memory to satisfy request
int klvanc_convert_SCTE_104_to_words ( struct klvanc_context_s ctx,
struct klvanc_packet_scte_104_s pkt,
uint16_t **  words,
uint16_t *  wordCount 
)

Convert type struct packet_scte_104_s into a more traditional line of
vanc words, so that we may push out as VANC data. On success, caller MUST free the resulting *words array.

Parameters
[in]structvanc_context_s *ctx, pointer to an existing libklvanc context structure
[in]structpacket_scte_104_s *pkt - A SCTE-104 VANC entry, received from the SCTE-104 parser
[out]uint16_t**words - An array of words representing a fully formed vanc line.
[out]uint16_t*wordCount - Number of words in the array.
Returns
0 - Success
< 0 - Error
-ENOMEM - Not enough memory to satisfy request
int klvanc_dump_SCTE_104 ( struct klvanc_context_s ctx,
void *  p 
)

Print out the properties of a SCTE-104 structure.

Parameters
[in]structvanc_context_s *ctx, pointer to an existing libklvanc context structure
[in]void*p - pointer to klvanc_packet_scte_104_s packet to be processed
Returns
0 - Success
< 0 - Error
void klvanc_free_SCTE_104 ( void *  p)

TODO - Brief description goes here.

Parameters
[in]void*p - Pointer to struct (klvanc_packet_scte_104_s *)