Skip to content

Releases: awslabs/amazon-kinesis-video-streams-webrtc-sdk-c

Release 1.7.0 of the Amazon Kinesis Video WebRTC C SDK

23 Dec 20:22
22c9e3d
Compare
Choose a tag to compare

Release tagged at: 22c9e3d

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

Release 1.6.0 of the Amazon Kinesis Video WebRTC C SDK

03 Aug 19:48
07deb17
Compare
Choose a tag to compare

Release tagged at: 07deb17

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

Release 1.5.0 of the Amazon Kinesis Video WebRTC C SDK

03 Feb 21:30
f3a34c2
Compare
Choose a tag to compare

Release tagged at:

f3a34c2

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/

Release 1.4.0 of WebRTC C SDK

11 Nov 06:12
Compare
Choose a tag to compare

Release tagged at:

8a64e7f

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/

Release 1.3.0 of WebRTC C SDK

30 Jul 23:17
Compare
Choose a tag to compare

Release tagged at:

0550dba

Whats’s new:

Improvements:

  • ICE candidate priority calculation bug fixed improving the candidate nomination process (#612)
  • Improved SDP conformance with RFC to work with CRLF and LF (#587)
  • Fixed interruption of sending process due to momentary network unreachable errors (#618)
  • Fixed CPU spike when TURN candidates are not used by cleaning up the sockets they have opened (#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/

Release 1.2.0 of WebRTC C SDK

12 Jun 03:30
43ede51
Compare
Choose a tag to compare

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/

Release 1.1.0 of WebRTC C SDK

14 May 00:52
93505e7
Compare
Choose a tag to compare

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/

Release 1.0.0 of the Amazon Kinesis Video WebRTC C SDK

16 Apr 20:54
Compare
Choose a tag to compare

Platforms tested on:

  • Linux
  • MacOS
  • x64
  • ARMv5

Web Browsers tested on:

  • Chrome
  • Firefox

Release tagged at:

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/