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

sACN configuration options. More...

Go to the source code of this file.

Macros

#define SACN_DYNAMIC_MEM   SACN_FULL_OS_AVAILABLE_HINT
 Use dynamic memory allocation.
 
#define SACN_LOGGING_ENABLED   1
 Enable message logging from the sACN library.
 
#define SACN_LOG_MSG_PREFIX   "sACN: "
 A string which will be prepended to all log messages from the sACN library.
 
#define SACN_ASSERT_VERIFY(exp)   ((exp) ? true : sacn_assert_verify_fail(#exp, __FILE__, __func__, __LINE__))
 The assertion handler used by the sACN library.
 
#define SACN_ASSERT(expr)   assert(expr)
 The lower-level debug assert used by the sACN library.
 
#define SACN_ETC_PRIORITY_EXTENSION   1
 Enable ETC's per-address priority extension to sACN.
 
#define SACN_LOOPBACK   1
 Allow loopback of sACN to the local host (by setting the relevant socket option).
 
#define SACN_MAX_NETINTS   2
 The maximum number of network interfaces that can used by the sACN library.
 
#define SACN_RECEIVER_THREAD_PRIORITY   ETCPAL_THREAD_DEFAULT_PRIORITY
 The priority of each sACN receiver thread.
 
#define SACN_RECEIVER_THREAD_STACK   ETCPAL_THREAD_DEFAULT_STACK
 The stack size of each sACN receiver thread.
 
#define SACN_RECEIVER_THREAD_NAME   "sACN Receive Thread"
 The name to assign each sACN receiver thread.
 
#define SACN_RECEIVER_READ_TIMEOUT_MS   100
 The maximum amount of time that a call to sacnrecv_read() will block waiting for data, in milliseconds.
 
#define SACN_RECEIVER_MAX_UNIVERSES   1
 The maximum number of sACN universes that can be listened to simultaneously.
 
#define SACN_RECEIVER_MAX_SOURCES_PER_UNIVERSE   4
 The maximum number of sources that can be tracked on each universe.
 
#define SACN_RECEIVER_TOTAL_MAX_SOURCES   (SACN_RECEIVER_MAX_UNIVERSES * SACN_RECEIVER_MAX_SOURCES_PER_UNIVERSE)
 The total maximum number of sources that can be tracked in all universes.
 
#define SACN_RECEIVER_LIMIT_BIND   (!_WIN32 && !__APPLE__)
 If set to 1, bind only two sockets per thread to reduce duplicate multicast traffic.
 
#define SACN_RECEIVER_SOCKET_PER_NIC   (_WIN32)
 Configure whether or not to use the PKTINFO sockopts to determine which NIC received a packet.
 
#define SACN_RECEIVER_MAX_SUBS_PER_SOCKET   20
 The maximum number of multicast subscriptions supported per shared socket.
 
#define SACN_RECEIVER_ENABLE_SO_REUSEPORT   1
 Determines whether sACN should try to enable the SO_REUSEPORT socket option.
 
#define SACN_RECEIVER_ENABLE_SO_RCVBUF   1
 Determines whether sACN should try to set the SO_RCVBUF socket option.
 
#define SACN_RECEIVER_MAX_THREADS   1
 Currently unconfigurable; will be configurable in the future.
 
#define SACN_RECEIVER_MAX_FOOTPRINT   512
 Currently unconfigurable; will be configurable in the future.
 
#define SACN_SOURCE_THREAD_PRIORITY   ETCPAL_THREAD_DEFAULT_PRIORITY
 The priority of the sACN source thread.
 
#define SACN_SOURCE_THREAD_STACK   ETCPAL_THREAD_DEFAULT_STACK
 The stack size of the sACN source thread.
 
#define SACN_SOURCE_THREAD_NAME   "sACN Source Thread"
 The name to assign the sACN source thread.
 
#define SACN_SOURCE_SOCKET_SNDBUF_SIZE   115000
 The size of the send buffer to use for sockets that send sACN over multicast and unicast.
 
#define SACN_SOURCE_MAX_SOURCES   1
 The maximum number of sources that can be created.
 
#define SACN_SOURCE_MAX_UNIVERSES_PER_SOURCE   4
 The maximum number of universes that a source can send to simultaneously.
 
#define SACN_MAX_UNICAST_DESTINATIONS_PER_UNIVERSE   4
 The maximum number of unicast destinations per universe that a source can send to simultaneously.
 
#define SACN_DMX_MERGER_MAX_MERGERS   SACN_RECEIVER_MAX_UNIVERSES
 The maximum number of mergers that can be instanced.
 
#define SACN_DMX_MERGER_DEFAULT_MAX_MERGERS   1
 
#define SACN_DMX_MERGER_MAX_SOURCES_PER_MERGER   SACN_RECEIVER_MAX_SOURCES_PER_UNIVERSE
 The maximum number of sources that can be merged on each merger instance.
 
#define SACN_DMX_MERGER_MAX_SLOTS   512
 Currently unconfigurable; will be configurable in the future.
 
#define SACN_DMX_MERGER_DISABLE_INTERNAL_PAP_BUFFER   0
 Disables internal DMX merger PAP buffer for merge results.
 
#define SACN_DMX_MERGER_DISABLE_INTERNAL_OWNER_BUFFER   0
 Disables internal DMX merger owner buffer for merge results.
 
#define SACN_MERGE_RECEIVER_ENABLE_IN_STATIC_MEMORY_MODE
 Whether to enable or disable the merge receiver without affecting the other sACN APIs.
 
#define SACN_MERGE_RECEIVER_ENABLE_SAMPLING_MERGER   1
 Whether to enable a second DMX merger per merge receiver dedicated to sources in the sampling period.
 
#define SACN_DMX_MERGER_MAX_MERGERS   (SACN_RECEIVER_MAX_UNIVERSES * 2)
 The maximum number of mergers that can be instanced.
 
#define SACN_SOURCE_DETECTOR_MAX_SOURCES   5
 The maximum number of sACN sources that can be monitored.
 
#define SACN_SOURCE_DETECTOR_MAX_UNIVERSES_PER_SOURCE   5
 The maximum number of sACN universes that can be tracked on each source.
 

Functions

bool sacn_assert_verify_fail (const char *exp, const char *file, const char *func, const int line)
 

Detailed Description

sACN configuration options.

Default values for all of sACN's compile-time configuration options.