Release 1.10.0 of the Amazon Kinesis Video WebRTC C SDK
WARNING: This release is known to be affected by an issue with TURN connections as reported in Issue #2038
What’s new:
addConfigToServerList
API required to gather TURN candidates. Check samples for usage. The usage pattern showcases withENABLE_KVS_THREADPOOL
enabled and disabled- Improved time-to-first-frame latency with new CMAKE flag ENABLE_KVS_THREADPOOL. This flag is Enabled by default. KVS_USE_SIGNALING_CHANNEL_THREADPOOL has been deprecated now. (#1806)
- Added feature to send master time-to-first-frame for JS viewer timeline visualization; enable with enableSendingMetricsToViewerViaDc (#1846)
- Optimized time taken to gather TURN servers using GetIceServerConfig by supporting an async call pattern. In case of srflx based peer connection, this is a latency improvement since the SDK does not unnecessarily wait on getting TURN server URLs during signaling setup. ENABLE_KVS_THREADPOOL required (#1854). Sample change required to gather relay candidates
- Changed default build type from Debug to Release; use -CMAKE_BUILD_TYPE=Debug for debug mode. (#1897)
Sample bug fixes:
- Sending key frames before other frames in Samples. Frames are now sent only after SRTP is READY (#1833)
- Added checks for empty/null session token (#1874)
Bug fixes / Improvements:
- Fixed trickle ICE to be a session level and media level attribute instead of it being only a media level attribute (#1813)
- Optimized time taken for STUN DNS resolution to have STUN server address ready for srflx candidate gathering - ENABLE_KVS_THREADPOOL required (#1812)
- Improved DTLS handshake time by moving to a state transition based approach to be more responsive to the incoming DTLS handshake messages - ENABLE_KVS_THREADPOOL required (#1824)
- Optimized ICE and TURN state machine state transitions. They allow early state transitions if possible, instead of waiting for next timer iteration (#1825)
- Fixed stringop-overflow build issue with MBedTLS on GCC11 (#1823)
- Increasing timeout values on TURN allocation, create permission, and bind channel steps. This change is expected to improve connection establishment success rates in slower networks (#1896)
- Fixed signaling cache file creation failure issue on Windows (#1935)
- Added filtering-out of non-operation network interfaces in Windows (#1937)
Version bumps:
- Updated LWS version from 4.2.2 to 4.3.3 (#1820)
- Updated producer C version from 1.5.1 to 1.5.2 (v1.5.2)
Known issues:
- MBedTLS build fails on Mac M1 with current version