Releases
v3.0.0
Fixed
Fixed defects that were causing state corruption when removing a merge receiver, during a network reset, and during initialization.
Fixed defects that were causing state corruption or crashes when a sACN API call failed.
Fixed variations in DMX merger output based on the order levels and priorities were entered.
Fixed a defect that was causing sources to be excluded from sampling during lwIP initialization.
Fixed incorrect sequence numbers being sent by the source.
Fixed incorrect write to reserved field in universe discovery packets.
Fixed unsorted universe lists being sent in universe discovery packets.
Fixed a defect that was causing redundant multicast sends.
Fixed wrapping issues with remote source and merger source handles.
Fixed flickering after the sampling period.
Removed the const qualifier on the unicast destinations array in the source universe settings.
Fixed a couple memory leaks.
Audited usage of memory and network resources and fixed a number of issues.
Added
Updated the merge receiver callback interface with additional information and new callbacks.
Added priority data to the sacn::MergeReceiver::Source structure.
Implemented socket-per-NIC mode on Windows to avoid edge-case performance issues caused by the IP_PKTINFO sockopt.
Added sacn_config.h options to opt out of SO_REUSEPORT and/or SO_RCVBUF, set the send buffer size, and disable internal DMX merger buffers.
Changed name of sacn_config.h option to SACN_MERGE_RECEIVER_ENABLE_IN_STATIC_MEMORY_MODE.
Implemented a new example application demonstrating use of the sACN Source C++ API.
Added ability to specify that no network interfaces should be used, or to specify the same interface multiple times.
Added new assertion handling (with logging in release mode) throughout the entire codebase.
Added logging for send statistics and new error cases, adjusted verbosity of existing logs.
Changed
Revised network reset handling so that new sampling periods will only occur on new interfaces.
Improved zero-initialization of internal state memory in static mode.
Made refactors to bring in a new version of EtcPal.
Adjusted the source implementation to send universes from lowest to highest.
Made PAP keep-alive interval separately configurable.
Made various performance improvements to the DMX merger.
Improved performance when sending many universes by spacing out the sending of start codes 0x00 and 0xDD.
Added handling for more setsockopt error cases.
You can’t perform that action at this time.