Recent Releases of https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c
https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c - Release 1.12.1 of the Amazon Kinesis Video Streams WebRTC C SDK
What's New
- Additional compatibility verification and enhanced CI
SDK Changes
- Increased the size of the signaling message buffer to accomodate for larger signaling messages. (#2126)
[!NOTE] Chrome 136 added H.265 support, thereby increasing the size of the SDP which may exceed the signaling limits.
This will resolve a buffer size issue seen following the Chrome Upgrade to v136 on 4/29/2025.
- Related change in the WebRTC JS viewer application to filter the required codecs that is supported by the camera can be referred here https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-js/pull/499 and has been merged to latest master.
Configured the libWebsockets log level with the
AWS_KVS_LOG_LEVEL. (#2118)
Samples
- Fixed the H.265 sample frames that were frozen at the 10s mark in certain players. (#2111)
Bug Fixes/Improvements
- Fixed an issue where the TWCC processor would get stuck in an infinite loop due to an integer promotion. (#2101)
- Disabled libWebsockets logs when the KVS log level is set to LOGLEVELSILENT. (#2118)
- Fixed a compiler warning in
getNatBehavior(#2114)
Developer Enhancements
- Added 32 new Linux cross-compilation combinations to the CI. Including [mips-32, arm-32, arm-64, and aarch-64] architectures (4), [shared, static] builds (2), [openssl, mbedtls] crypto libraries used (2), and [on, off] KVS threadpool (2). (#2091)
- Added a cleanup script to delete Streams and Channel resources created by the tests. (#2117)
- Added stability enhancements for the CI. (#2116)
- Used multiple cores to reduce CI times. (#2116)
- Configured shallow clones to reduce the disk space and network bandwidth used to build the SDK. (#2117)
- C
Published by sirknightj about 1 year ago
https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c - Release 1.12.0 of the Amazon Kinesis Video Streams WebRTC C SDK
Summary
Memory size reduction
- This release focuses primarily on memory footprint improvements and additional configurability.
Key highlights include:
- Reduced memory usage through optimized data structures and heap allocation.
- Added a new optional API for applications to configure the outbound transceiver's rolling buffer size.
- Made ICE stats calculations optional for improved performance.
What's New
- Added a new optional API
configureTransceiverRollingBufferto reduce the size of each transciever's RTP packet store from the default. (#2077)- Updated the
kvsWebrtcMaster.csample application's rolling buffer configuration using the newconfigureTransceiverRollingBufferAPI to fit the bitrate required by the included sample frames. (#2089)
- Updated the
[!TIP] For additional
configureTransceiverRollingBufferdetails, refer to Controlling RTP rolling buffer capacity in the ReadMe.
SDK Changes
- Implemented new API
configureTransceiverRollingBuffer. (#2077) - Moved the TWCC packet store and TWCC packets from the stack to the heap and reduced the store size. (#2075)
- Changed the underlying TWCC packet store implementation from an array to a hashTable. (#2075)
- Moved the remote description (SDP offer when this SDK is used as master) from the stack to the heap and shortened its lifetime between the session establishment. (#2070)
- Reduced the size of stats-related strings. (#2079)
- Reduced the size of hashTables holding codecs for SDP construction. (#2067)
- Added option to disable ICE stats calculations. (#2074)
- Moved SDK-internal ICE stat structs from the stack to the heap. (#2074)
Samples
- Disabled ICE stats calculation by default if
ENABLE_STATS_CALCULATION_CONTROLis present. (#2074) - Changed the log level of metrics logs from
DEBUGtoINFO. (#2074) kvsWebrtcMaster.c: Reduced the size of RTP rolling buffers, using the newconfigureTransceiverRollingBufferAPI, to the bitrate required by the sample frames, demonstrating the potential memory savings. (#2089)
Bug Fixes/Improvements
- Fixed duplicate
nack pliline in the SDP generation for H.264. (#2082) - Added missing
rtcp-fbline in the SDP generation for H.265. (#2082) - Added missing
ENTERS(),LEAVES(), andCHK_LOG_ERR()inPeerConnection.c. (#2070)
Build Changes
Added CMake flags:
- -DENABLE_STATS_CALCULATION_CONTROL to enable the option to disable ICE stats calculation. (#2074)
- -DKVS_STACK_SIZE to set the stack size configuration. (#2073)
[!TIP]
Refer to the README for additional details for these build options.
Dependency Updates
- The
libkvsCommonLwsversion has been updated from 1.5.3 to 1.5.4. (#2073) - Transitive: The
PICversion has been updated from 1.1.0 to 1.2.0.
Developer Enhancements
- Revised the Git clone command in the README to avoid cloning extra branches.
- Reduced disk space from about 700 MB to about 30 MB when cloning the SDK repository. (#2083)
- Added a new action that runs
kvsWebrtcClientMasterandkvsWebrtcClientViewerwithvalgrind. (#2071)
[!NOTE]
The development branch containing commits between this release (v1.12.0) and v1.11.0 has been archived into the release-v1.12.0 branch.
- C
Published by stefankiesz over 1 year ago
https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c - Release 1.11.0 of the Amazon Kinesis Video WebRTC C SDK
Summary
[!IMPORTANT] With this release, the previously reported issue (#2038) concerning TURN connections has not been observed.
Time to First Frame (TTFF) Improvements
- This release has been tested for TTFF across a diverse range of platforms, including System-on-Chips (SoCs), operating systems, and network topologies (STUN/TURN). Our SDK sample applications, including camera, web browsers, and mobile viewers, were used for these tests. We observed an average improvement of 15-30% in TTFF without impacting other performance indicators, such as connection success rate.
[!NOTE] The performance metrics provided are based on testing in controlled environments. It is important to note that the actual performance, specifically the time between sending the offer and rendering the first frame, may vary based on factors such as bandwidth availability, latency, packet loss, and the crypto libraries used (MbedTLS or OpenSSL).
Added Support for H.265 Codec
- More details on running the SDK with H.265 can be found in the README.
What's New
[!NOTE] These features include changes from 1.10.0, 1.10.1 and 1.10.2.
SDK Changes
- TTFF enhancements:
- With threadpool:
- STUN ICE server DNS resolution is performed asynchronously. (#1812)
- With OpenSSL, DTLS handshake doesn't use the timer queue interval. (#1824)
- Performed DTLS handshake after ICE nomination. (#1824)
- Added further transition checks for the ICE and TURN state machines. (#1825)
- H.265 media transmission support. (#1965)
- Added new error codes. (#1824, #1829, #1854, #1896)
- Added new state machines: DTLS (for OpenSSL path) (#1824) and TURN (#1825)
- Added profiling and modified timeouts on ICE/TURN states to increase the connection success rate in constrained network conditions. (#1824, #1896)
- Windows:
- Added filtering on non-operation network interfaces. (#1937)
Samples
- Added option to use H.265 codec for video. (#1965)
- Added new sample (
kvsWebrtcClientViewerGstSample) that writes media received from the master to the disk. (#1963) - Master samples:
- Send data channel message for the TTFF JS viewer timeline visualization, See Readme for details. (#1846)
- kvsWebRTCClientMasterGstSample:
- Added simple implementation of adaptive bitrate based on the detected packet loss percentage. (#1957)
Bug Fixes/Improvements
- Fixed trickle ICE to be session- and media-level instead of only a media-level attribute. (#1813)
- Windows:
- Fixed signaling cache file creation. (#1935)
- Master samples:
- Fixed sending frames too early before SRTP is ready. (#1833)
Build Changes
- Fixed static build issues for libkvsCommonLws and kvsWebRtcThreadpool libraries. (commit)
- Added support for the Release/Debug build option for both MbedTLS and usrsctp dependencies. (#1897)
- Fixed linking to the kvsWebRtcThreadpool library when the kvsWebRtcThreadpool option is enabled during the build process. (commit)
- Added CMake option (
-DIOT_CORE_ENABLE_CREDENTIALS) to build the samples using IoT credentials mode, with Readme instructions on how to use IoT Credentials in the KVS WebRTC SDK. (#2056) - Added CMake option (
-DKVS_CA_CERT_PATH) to specify the path to the CA certificate. (commit1, commit2)
Dependency Updates
- The libwebsockets version has been updated from 4.2.2 to 4.3.3. (#1820)
- Build changes have been added for libwebsockets on MIPS32 with old compilers (needed for GCC 5.4 cross-toolchain with uclibc). (commit)
- The libkvsCommonLws version has been updated from 1.5.1 to 1.5.3. (#2018)
- To resolve issue #1804.
- The MbedTLS version has been updated from 2.25.0 to 2.28.8. (commit)
- Build changes have been added for compiler errors with MbedTLS on Mac computers with Apple silicon chips. (commit)
Known Issues
- Compiler warnings during build regarding pointer casting across different platforms.
- C
Published by sirknightj almost 2 years ago
https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c - Release 1.10.2 of the Amazon Kinesis Video WebRTC C SDK
What’s new:
- Added support for H.265 codec. More details on running the SDK with H.265 can be found in the README (#1965)
Sample improvements:
- Added a sample TWCC callback implementation that demonstrates packet loss based bitrate change in the sample WebRTC GStreamer master pipeline. More details on TWCC can be found in the README (#1957)
- Introduced WebRTC GStreamer viewer sample that writes media received from the master to the disk (#1963)
Tested H.265 codec support by running C SDK as master with the following viewers: * WebRTC GStreamer viewer sample with H.265 codec as specified in the README * KVS JS SDK sample on Safari browser version 17.4.1 with WebRTC H.265 codec enabled * Amazon Kinesis Video Streams WebRTC for Android SDK Version 1.1.0, using owt-deps-webrtc libwebrtc library which supports H265 codec
Additional Notes: * H265 support is limited in browsers and on Android/iOS devices. If these environments are used for testing, please first ensure that H265 support is enabled and available for them.
- C
Published by niyatim23 about 2 years ago
https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c - Release 1.10.1 of the Amazon Kinesis Video WebRTC C SDK
Bug fixes / Improvements: - Fixed a bug that could sometimes cause relay candidates to be not added to the list of local candidates if getIceServerConfig call takes time to resolve, causing connection establishment failure if TURN is the only viable path.
- C
Published by disa6302 over 2 years ago
https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c - Release 1.10.0 of the Amazon Kinesis Video WebRTC C SDK
What’s new:
- Improved time-to-first-frame latency with new CMAKE flag ENABLEKVSTHREADPOOL. This flag is Enabled by default. KVSUSESIGNALINGCHANNELTHREADPOOL has been deprecated now. (https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/pull/1806)
- Added feature to send master time-to-first-frame for JS viewer timeline visualization; enable with enableSendingMetricsToViewerViaDc (https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/pull/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. ENABLEKVSTHREADPOOL required (https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/pull/1854). Sample change required to gather relay candidates
- Changed default build type from Debug to Release; use -CMAKEBUILDTYPE=Debug for debug mode. (https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/pull/1897)
Sample bug fixes:
- Sending key frames before other frames in Samples. Frames are now sent only after SRTP is READY (https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/pull/1833)
- Added checks for empty/null session token (https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/pull/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 (https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/pull/1813)
- Optimized time taken for STUN DNS resolution to have STUN server address ready for srflx candidate gathering - ENABLEKVSTHREADPOOL required (https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/pull/1812)
- Improved DTLS handshake time by moving to a state transition based approach to be more responsive to the incoming DTLS handshake messages - ENABLEKVSTHREADPOOL required (https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/pull/1824)
- Optimized ICE and TURN state machine state transitions. They allow early state transitions if possible, instead of waiting for next timer iteration (https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/pull/1825)
- Fixed stringop-overflow build issue with MBedTLS on GCC11 (https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/pull/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 (https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/pull/1896)
- Fixed signaling cache file creation failure issue on Windows (https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/pull/1935)
- Added filtering-out of non-operation network interfaces in Windows (https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/pull/1937)
Version bumps:
- Updated LWS version from 4.2.2 to 4.3.3 (https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/pull/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
- C
Published by disa6302 over 2 years ago
https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c - Release 1.9.1 of the Amazon Kinesis Video WebRTC C SDK
Bug fixes
- Fixes build error in release v1.9.0 when IOTCORECREDENTIALS is enabled for samples. (Issue https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/issues/1879)
- C
Published by disa6302 over 2 years ago
https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c - Release 1.9.0 of the Amazon Kinesis Video WebRTC C SDK
What’s new:
- New support for WebRTC Ingestion [https://docs.aws.amazon.com/kinesisvideostreams-webrtc-dg/latest/devguide/webrtc-ingestion.html]
Sample:
- The Master samples have been updated to support WebRTC Ingestion
Bug fixes / Improvements:
- Fixed a bug in signaling cache
- Fix build on MacOS to no longer require setting of CPATH/LDFLAGS env vars when building with Clang
- Bug fixes around properly isolating use of usrsctp library only when data channel is enabled
- C
Published by jdelapla over 2 years ago
https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c - Release 1.8.1 of the Amazon Kinesis Video WebRTC C SDK
Bug fixes: - Fixed timestamp precision in log lines to appropriately represent 3-digit places in millisecond portion
- C
Published by disa6302 almost 3 years ago
https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c - Release 1.8.0 of the Amazon Kinesis Video WebRTC C SDK
What’s new:
- New latency measurement metrics available to read the time taken by different steps in the WebRTC peer set up process - PeerConnectionMetrics and KvsIceAgentMetrics
- Provision to use threadpool for thread management in signaling client to handle signaling messages. Control the size of the threadpool using SignalingClientInfo structure and enable usage by defining KVSUSESIGNALINGCHANNELTHREADPOOL . Instructions are added to the README.md
- Provision to profile code section using PROFILE_* macros
- Added support for China (Beijing) region
Sample:
- Fixed potential memory leak in sample tear down
- Recreate signaling client if signaling client creation fails
- Changed GOP size of sample video from 10s to 2s
- Added RTSP source to gstreamer sample app
- Multiple bug fixes in samples
Bug fixes / Improvements:
- Fixed SDK build issues with libwebsockets on Windows
- Fixed poll() call failure on Windows
- Overwrite final entry in signaling cache if cache file reaches maximum entries
- Answer’s m line is generated based on the offer’s m line in SDP to avoid m line mismatch error when running with web browsers as the peer
- Build SCTP library only when ENABLEDATACHANNEL flag is set
- Added jitter buffer overflow check to prevent frames from getting dropped due to timestamp integer overflow
- Fixed user agent string to be SDK and version specific
- Fixed crash from race condition in ConnectionListener teardown
- Improved latency in resolving TURN server URLs by directly parsing the IP from the getIceServerConfig response
- Logging improvements
Version bumps:
- OpenSSL updated from 1.1.1g to 1.1.1t
- C
Published by disa6302 almost 3 years ago
https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c - Release 1.7.3 of the Amazon Kinesis Video WebRTC C SDK
Release tagged at: ced19d02ed6fbc1e59dd63bc19d847c5ec5ebf47
Bug Fixes:
- Fixed an issue in sample applications where LWS context would not be usable after loss of connectivity
Other
- Added more logging for ICE and TURN both for error handling and debug cases.
- Clang format v14.0 applied
Sample Code Changes * This release has changes in Common.c that apply to all samples. Particularly of note are the changes in sessionCleanupWait(). Please be sure to incorporate these changes into your applications.
- C
Published by jdelapla about 4 years ago
https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c - Release 1.7.2 of the Amazon Kinesis Video WebRTC C SDK
Release tagged at : 2dff44fea83a79336fda676ba2801d0d77417cd1
Bug Fixes:
- Fixed an issue where connected sockets were not sending pings
Details about Bug:
Between v3.x.x and v4.x.x the LWS changed the struct that managed the retry policy. In LWS v4.2.0-.2 there is a bug in the create LWS context function. It checks only if ping is passed in, and then assigns both ping and hangup passed in values. Hangup can be undefined in this case
```
1045 context->defaultretry.secssincevalidping = 300; //defaults
1046 context->defaultretry.secssincevalidhangup = 310;
1047
1048 if (info->retryandidlepolicy &&
1049 info->retryandidlepolicy->secssincevalidping) { //check for ping value to be non-zero.
1050 context->defaultretry.secssincevalidping =
1051 info->retryandidlepolicy->secssincevalidping;
1052 context->defaultretry.secssincevalidhangup =
1053 info->retryandidlepolicy->secssincevalid_hangup; //this is the passed in value of hangup, which could have been unassigned
1054 }
``` We need to pass in a hangup value greater than the ping value, or the pings will not occur.
Producer C version:
v1.2.X (unreleased at this time) - c7fce9e06021452ff3c42dc70c8360606b22ad53
- C
Published by jdelapla over 4 years ago
https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c - Release 1.7.1 of the Amazon Kinesis Video WebRTC C SDK
Release tagged at: 111c253
Bug Fixes:
- Increased SDP attributes limit to 256 from 128 to accommodate larger SDP sizes from Chrome v98: https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/issues/1389. Note that the SessionDescription now increases in size by about 390k bytes (SdpMediaDescription and SessionDescription allows 256 attributes each, and each attribute is 512 bytes).
Producer C version:
v1.2.X (unreleased at this time) - c7fce9e06021452ff3c42dc70c8360606b22ad53
- C
Published by disa6302 over 4 years ago
https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c - Release 1.7.0 of the Amazon Kinesis Video WebRTC C SDK
Release tagged at: 22c9e3d7932365f0d04181b339f17e4870036f5c
Whats new:
- Updated libwebsockets library to 4.2.2
- make clean command added
- Full jitter (range of jitter equal to base wait time) on exponential backoff of repeated signaling API calls
- Full jitter & exponental backoff on non-200 results at the state machine level
- Clock skew adaptations System time is compared to server time (with timezone corrections). If a skew is detected, the delta will be saved and the API retried. Skew per API service is tracked.
- Better caching of IoT credentials. Resetting of the state machine for non-auth reasons will no longer require re-creating the signaling client.
Sample improvements:
- Showcase data channel support in WebRTC Viewer sample.
- Sample no longer destroys and recreates signaling client to reset state machine.
Bug Fixes
- issues resolved: #1174 #1225 #1249
- FD leak patched in LWS #1263
- fix pare_status.py script #1268
- Resolve LWS interface layer not appropriately reporting failures in some cases #1328
- DCEP protocol issue fixed for non-null values #1228
Producer C version:
- v1.2.X (unreleased at this time) - c7fce9e06021452ff3c42dc70c8360606b22ad53
- C
Published by jdelapla over 4 years ago
https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c - Release 1.6.0 of the Amazon Kinesis Video WebRTC C SDK
Release tagged at: 07deb1795e01fbd97bdb8d9c556cb4ab3bc60ea0
Whats new:
- Added Transport Wide Congestion Control (TWCC) support
- Updated libwebsockets library to 4.2.1
- Updated libsrtp and libusrsctp library to include MBedTLS support changes
- Improved jitter buffer design
Sample improvements:
- Introduced certificate pre-gen in sample that would speed up processing on low-footprint devices
- Included network interface filtering callback usage in samples
- Added IoT credential provider usage pattern
- Showcase usage pattern to set transceiver direction in samples
Build improvements:
- Fixed Mac OS newer versions build issue with libwebsockets
Producer C version:
- v1.2.0 - 99c1a8cd8cec88f99c9c4ce3944b53ae341d1491
- C
Published by disa6302 almost 5 years ago
https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c - Release 1.5.0 of the Amazon Kinesis Video WebRTC C SDK
Release tagged at: f3a34c21ab6018074607fc3cb3ac3701314bee67
Whats’s new: - Transport wide congestion control (TWCC) parsing - Updates to ICE server configuration refresh functionality to simplify the logic - Fixes for timing issues with SRFLX candidate pairing (improves P2P/TURN connection ratio) - ICE server configuration retrieval from the Offer (optional) - Generating pseudo-random SN for DTLS self-signed certificates to allow multiple viewers hosted on FireFox page - Ignoring unspecified local IP addresses - Parsing ICE candidate priority and its type from the SDP - Multiple stability and edge case fixes - Data race fixes in socket connection listener teardown - Enabling profiler tools - Build and TravisCI integration imrprovements
Sample improvements: - Improved startup times in the samples - Failing on existing session with the same ClientID - Reported bug fixes
Build improvements: - Applying srtp library patches without which gcc 10 builds fail - Minor CMake and Travis CI improvements - Refactoring scripts into a separate directory
Producer C Changes: (d1095356712729d0489e56d1d0e27f5ce0a29fad) - Using release v1.1.0 - Credential provider fixes and exposing targeted status codes on failures - Build and Travis CI run improvements, removing sub-modules - Added startup latency measure in the samples - MbedTLS support in common library - Continuous retry callbacks retry recovery on errors raised also from common library - Various stability and test fixes - Doxygen support - Clang format and enforcement - Improved test coverage
Documentation: Information about the WebRTC public APIs can be found here: https://awslabs.github.io/amazon-kinesis-video-streams-webrtc-sdk-c/
- C
Published by MushMal over 5 years ago
https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c - Release 1.4.0 of WebRTC C SDK
Release tagged at: 8a64e7feeb0d42f2917b3660819424bcd41534fe
Whats’s new: - More metrics support - Stabilization fixes in samples and the SDK - Call diagrams added to Doxygen generated documentation - Dynamic footprint reduction
Sample improvements: - Logging selected ICE candidates - Frame timestamp backwards drift issue fix - Log level adjustment to reduce spew, more logging on errors - Data race fixes on session teardown - Serializing message handling in the samples to avoid race conditions - Startup latency from offer to first frame measurements - Dynamic footprint reduction optimization - Reported bug fixes, including race conditions, 32 bit compatibility, etc..
Build improvements: - Optional samples build flag - Optional flag to disable data channels - WebSockets and OpenSSL depndencies build flags fixes for embedded platforms. - Removing the ldexp dependency - Doxygen integration, callgraph generation - Additional CI jobs to validate samples, enforce formatting, enable compiler warnings in tests, include mbedTls runs. - IoT credentials provider linker fixes
Improvements: - Metrics and stats support for ICE Candidate Pair, ICE Candidate, Data Channel, Inbound RTP Stats - Additional SDP packet type support: PLI, - Fix SDP handling with Trickle ICE selection - Fix RTP timestamp macro causing incorrect timestamp mapping - Fix race conditions in signaling message handling and teardown code, handling reentrancy with libWebSockets - Transceiver direction support fixes - usrsctp library startup and teardown fixes - Support for Windows for the socket and error handling APIs - Reducing static and dynamic footprint size - Reported bug fixes
Producer C Changes: (15f124e5a5561679cf001bb36c2c758073740681) - TimesQueue shutdown API blocking on the in-progress callbacks.
Documentation: Information about the WebRTC public APIs can be found here: https://awslabs.github.io/amazon-kinesis-video-streams-webrtc-sdk-c/
- C
Published by MushMal over 5 years ago
https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c - Release 1.3.0 of WebRTC C SDK
Release tagged at: 0550dba5be3fa9d57750a8a350e6a6f12b058d74
Whats’s new: - ICE server stats added (API: rtcPeerConnectionGetMetrics()) - RTP outbound and remote inbound stats added (API: rtcPeerConnectionGetMetrics()) - Signaling stats available (API: signalingClientGetMetrics()) - mbedTLS (experimental) support added. Choice between OpenSSL and mbedTLS available
Improvements: - ICE candidate priority calculation bug fixed improving the candidate nomination process (https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/pull/612) - Improved SDP conformance with RFC to work with CRLF and LF (https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/issues/587) - Fixed interruption of sending process due to momentary network unreachable errors (https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/issues/618) - Fixed CPU spike when TURN candidates are not used by cleaning up the sockets they have opened (https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/issues/649)
Producer C Changes: (e7d4868d8c336cec5fa35250212fffa19135a6ba) - Build system improvements - README improvements on SDK versioning, development and release - Added non-BSD strnstr implementation - Fixed static libcurl build failure
Documentation: Information about the WebRTC public APIs can be found here: https://awslabs.github.io/amazon-kinesis-video-streams-webrtc-sdk-c/
- C
Published by lherman-cs almost 6 years ago
https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c - Release 1.2.0 of WebRTC C SDK
Release tagged at: 43ede51
Whats’s new: - Support on Windows - Fixed broken data channel message receive - Added capability to handle more transceivers - Allowing ICE username/password unto 256 bytes - Added PRtcDataChannel to data channel callback arguments - Added new data type to allow certain nullable types specified in RTC spec - Provision to support trickle ICE based on Remote description - File logging in samples - PIC is built through producer C - NAT behavior detection facility (cb00f8e) - Added restartIce api.
Producer C Changes: (270c0b6612cc553d458e316e835471c693f518bd) - Build system enhancement - navigation away from use of submodules - Using only JSMN header - Added file logging in samples - New status codes for file credential provider
Improvements: - Unit tested data channel send message after DTLS handshake - Fix leak when ice restart fails
Known Issues: * Incorrect transceiver direction breaks SDP exchange in Firefox and iOS * Partial reliability does not work as expected. Need to add library level tests to validate * Reduce memory allocations in sending audio/video packets
Documentation: Information about the WebRTC public APIs can be found here: https://awslabs.github.io/amazon-kinesis-video-streams-webrtc-sdk-c/
- C
Published by disa6302 about 6 years ago
https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c - Release 1.1.0 of WebRTC C SDK
Platforms tested on: - Linux - MacOS - x64 - ARMv5
Web Browsers tested on: - Chrome - Firefox
Release tagged at: 93505e7
Whats’s new:
- Bumped up openssl version to 1.1.1g
- Using v1.0.0 of C producer SDK
- Support multiple video tracks with same codec
- Support for signaling endpoint and signaling channel ARN caching into file
- Multiple TURN server support. ICE will try to allocate for all of them and use the one thats connected first.
- Disconnect signaling channel API
- Public utility to get pending local session description (peerConnectionGetLocalDescription())
Improvements: - 2 seconds improvement in TURN candidate gathering - User configurable option to use UDP or TCP/TLS based TURN - Logs for candidate round trip time once connected - Minor build system fixes
Known Issues: - Incorrect transceiver direction breaks SDP exchange in Firefox and iOS - Partial reliability does not work as expected. Need to add library level tests to validate - Reduce memory allocations in sending audio/video packets
Documentation: Information about the WebRTC public APIs can be found here: https://awslabs.github.io/amazon-kinesis-video-streams-webrtc-sdk-c/
- C
Published by disa6302 about 6 years ago
https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c - Release 1.0.0 of the Amazon Kinesis Video WebRTC C SDK
Platforms tested on: - Linux - MacOS - x64 - ARMv5
Web Browsers tested on: - Chrome - Firefox
Release tagged at: - f7c97063bdd6f6c8e32b718510aa7de1c8a2e4f6
Whats’s new: - Starter samples of master, viewer and GStreamer master - Cross compilation support - Signaling Client - Callbacks provided for Receiver end bandwidth estimation support for Congestion Control, FIR and PLI - Network interface filtering callback provision to reduce time taken to gather TURN/ICE candidates - STUN/TURN support - IPv4 support - IoT certificate authentication integration with signaling client - Pre-generated certs support while creating DTLS session to help smaller embedded devices
Known Issues: - Incorrect transceiver direction breaks SDP exchange in Firefox - No IPv6 support
Documentation: Information about the WebRTC public APIs can be found here: https://awslabs.github.io/amazon-kinesis-video-streams-webrtc-sdk-c/
- C
Published by MushMal about 6 years ago