sACN  2.0.2
Implementation of ANSI E1.31 (Streaming ACN)
View other versions:
merge_receiver.h File Reference

sACN Merge Receiver API definitions More...

Go to the source code of this file.

Data Structures

struct  SacnRecvMergedData
 
struct  SacnMergeReceiverCallbacks
 
struct  SacnMergeReceiverConfig
 
struct  SacnMergeReceiverNetintList
 
struct  SacnMergeReceiverSource
 

Macros

#define SACN_MERGE_RECEIVER_INVALID   SACN_RECEIVER_INVALID
 
#define SACN_MERGE_RECEIVER_CONFIG_DEFAULT_INIT
 

Typedefs

typedef int sacn_merge_receiver_t
 
typedef struct SacnRecvMergedData SacnRecvMergedData
 
typedef void(* SacnMergeReceiverMergedDataCallback) (sacn_merge_receiver_t handle, const SacnRecvMergedData *merged_data, void *context)
 Notify that a new data packet has been received and merged. More...
 
typedef void(* SacnMergeReceiverNonDmxCallback) (sacn_merge_receiver_t receiver_handle, const EtcPalSockAddr *source_addr, const SacnRemoteSource *source_info, const SacnRecvUniverseData *universe_data, void *context)
 Notify that a non-data packet has been received. More...
 
typedef void(* SacnMergeReceiverSourceLimitExceededCallback) (sacn_merge_receiver_t handle, uint16_t universe, void *context)
 Notify that more than the configured maximum number of sources are currently sending on the universe being listened to. More...
 
typedef struct SacnMergeReceiverCallbacks SacnMergeReceiverCallbacks
 
typedef struct SacnMergeReceiverConfig SacnMergeReceiverConfig
 
typedef struct SacnMergeReceiverNetintList SacnMergeReceiverNetintList
 
typedef struct SacnMergeReceiverSource SacnMergeReceiverSource
 

Functions

void sacn_merge_receiver_config_init (SacnMergeReceiverConfig *config)
 Initialize an sACN Merge Receiver Config struct to default values. More...
 
etcpal_error_t sacn_merge_receiver_create (const SacnMergeReceiverConfig *config, sacn_merge_receiver_t *handle, const SacnNetintConfig *netint_config)
 Create a new sACN Merge Receiver to listen and merge sACN data on a universe. More...
 
etcpal_error_t sacn_merge_receiver_destroy (sacn_merge_receiver_t handle)
 Destroy a sACN Merge Receiver instance. More...
 
etcpal_error_t sacn_merge_receiver_get_universe (sacn_merge_receiver_t handle, uint16_t *universe_id)
 Get the universe on which a sACN Merge Receiver is currently listening. More...
 
etcpal_error_t sacn_merge_receiver_get_footprint (sacn_merge_receiver_t handle, SacnRecvUniverseSubrange *footprint)
 Get the footprint within the universe on which a sACN Merge Receiver is currently listening. More...
 
etcpal_error_t sacn_merge_receiver_change_universe (sacn_merge_receiver_t handle, uint16_t new_universe_id)
 Change the universe on which a sACN Merge Receiver is listening. More...
 
etcpal_error_t sacn_merge_receiver_change_footprint (sacn_merge_receiver_t handle, const SacnRecvUniverseSubrange *new_footprint)
 Change the footprint within the universe on which an sACN receiver is listening. TODO: Not yet implemented. More...
 
etcpal_error_t sacn_merge_receiver_change_universe_and_footprint (sacn_merge_receiver_t handle, uint16_t new_universe_id, const SacnRecvUniverseSubrange *new_footprint)
 Change the universe and footprint on which an sACN merge receiver is listening. TODO: Not yet implemented. More...
 
etcpal_error_t sacn_merge_receiver_reset_networking (const SacnNetintConfig *sys_netint_config)
 Resets underlying network sockets and packet receipt state, determines network interfaces for all merge receivers. More...
 
etcpal_error_t sacn_merge_receiver_reset_networking_per_receiver (const SacnNetintConfig *sys_netint_config, const SacnMergeReceiverNetintList *per_receiver_netint_lists, size_t num_per_receiver_netint_lists)
 Resets underlying network sockets and packet receipt state, determines network interfaces for each merge receiver. More...
 
size_t sacn_merge_receiver_get_network_interfaces (sacn_merge_receiver_t handle, EtcPalMcastNetintId *netints, size_t netints_size)
 Obtain a list of a merge receiver's network interfaces. More...
 
etcpal_error_t sacn_merge_receiver_get_source (sacn_merge_receiver_t merge_receiver_handle, sacn_remote_source_t source_handle, SacnMergeReceiverSource *source_info)
 Gets a copy of the information for the specified merge receiver source. More...
 

Detailed Description

sACN Merge Receiver API definitions

Functions and definitions for the sACN Merge Receiver API are contained in this header.