sACN  HEAD (unstable)
Implementation of ANSI E1.31 (Streaming ACN)
View other versions:
Loading...
Searching...
No Matches
merge_receiver.h File Reference

sACN Merge Receiver API definitions More...

#include <stdbool.h>
#include <stdint.h>
#include "sacn/receiver.h"
#include "sacn/dmx_merger.h"

Go to the source code of this file.

Classes

struct  SacnRecvMergedData
 Newly updated merged data within the configured footprint. More...
 
struct  SacnMergeReceiverCallbacks
 A set of callback functions that the library uses to notify the application about sACN events. More...
 
struct  SacnMergeReceiverConfig
 A set of configuration information for an sACN merge receiver. More...
 
struct  SacnMergeReceiverNetintList
 A set of network interfaces for a particular merge receiver. More...
 
struct  SacnMergeReceiverSource
 Information about a remote sACN source being tracked by a merge receiver. More...
 

Macros

#define SACN_MERGE_RECEIVER_MAX_SLOTS    ((SACN_DMX_MERGER_MAX_SLOTS > kSacnDmxAddressCount) ? kSacnDmxAddressCount : SACN_DMX_MERGER_MAX_SLOTS)
 The maximum number of slots that can be merged by a single sACN Merge Receiver.
 
#define SACN_MERGE_RECEIVER_CONFIG_DEFAULT_INIT
 A default-value initializer for an SacnMergeReceiverConfig struct.
 

Typedefs

typedef int sacn_merge_receiver_t
 A handle to an sACN Merge Receiver.
 
typedef struct SacnRecvMergedData SacnRecvMergedData
 Newly updated merged data within the configured footprint.
 
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.
 
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.
 
typedef void(* SacnMergeReceiverSourcesLostCallback) (sacn_merge_receiver_t handle, uint16_t universe, const SacnLostSource *lost_sources, size_t num_lost_sources, void *context)
 Notify that one or more sources have entered a source loss state.
 
typedef void(* SacnMergeReceiverSamplingPeriodStartedCallback) (sacn_merge_receiver_t handle, uint16_t universe, void *context)
 Notify that a merge receiver's sampling period has begun.
 
typedef void(* SacnMergeReceiverSamplingPeriodEndedCallback) (sacn_merge_receiver_t handle, uint16_t universe, void *context)
 Notify that a merge receiver's sampling period has ended.
 
typedef void(* SacnMergeReceiverSourcePapLostCallback) (sacn_merge_receiver_t handle, uint16_t universe, const SacnRemoteSource *source, void *context)
 Notify that a source has stopped transmission of per-address priority packets.
 
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.
 
typedef struct SacnMergeReceiverCallbacks SacnMergeReceiverCallbacks
 A set of callback functions that the library uses to notify the application about sACN events.
 
typedef struct SacnMergeReceiverConfig SacnMergeReceiverConfig
 A set of configuration information for an sACN merge receiver.
 
typedef struct SacnMergeReceiverNetintList SacnMergeReceiverNetintList
 A set of network interfaces for a particular merge receiver.
 
typedef struct SacnMergeReceiverSource SacnMergeReceiverSource
 Information about a remote sACN source being tracked by a merge receiver.
 

Functions

void sacn_merge_receiver_config_init (SacnMergeReceiverConfig *config)
 Initialize an sACN Merge Receiver Config struct to default values.
 
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.
 
etcpal_error_t sacn_merge_receiver_destroy (sacn_merge_receiver_t handle)
 Destroy a sACN Merge Receiver instance.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 

Variables

static const sacn_merge_receiver_t kSacnMergeReceiverInvalid = -1
 An invalid sACN Merge Receiver handle value.
 

Detailed Description

sACN Merge Receiver API definitions

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