Releases: awslabs/amazon-kinesis-video-streams-producer-sdk-cpp
Release 3.4.2 of the Amazon Kinesis Video C++ Producer SDK
Version bumps
kvsCommonLws
from 178109a5dbfc5288ba5cf7fab1dc1afd5e2e182b to v1.5.3.
Release 3.4.1 of the Amazon Kinesis Video C++ Producer SDK
Bug fixes:
- Fixed timestamp precision in log lines to appropriately represent 3-digit places in millisecond portion
Release 3.4.0 of the Amazon Kinesis Video C++ Producer SDK
What’s new:
- Added install to CMake to allow using CPP SDK as a dependency in other projects
- Added support for China (Beijing) region
- kvssink specific improvements:
- New signal stream-client-metric to get client and stream metrics. Ensure to enable this feature through the get-kvs-metrics property
- New signal stream-error to get error codes returned while streaming. This gives application more control over reacting to non-recoverable errors
- New signal fragment-ack to listen in on incoming fragment ACKs. Useful to track if the fragments are getting persisted and relevant application decision making
- Allow configuring timeout values while stopping streaming through the stop-stream-timeout property
- Allow backfilling support through the use-original-pts property for offline streaming mode
- Disable stream creation through SDK if it does not exist through the allow-create-stream property
- Allow user agent configuration through the the user-agent property
- Allow setting CURL connection and completion timeouts for service call via connection-timeout and completion-timeout
- Allow setting CURL connection and completion timeouts for IoT credential provider as part of iot-certificate property. Add connection-timeout and completion-timeout attributes within the iot-certificate property
Sample:
- New gstreamer sample demonstrating use of kvssink :
kvssink_gstreamer_sample
Bug fixes
- Fixed user agent string to be SDK and version specific
- Enable API result caching by default
- Allow stopping of gstreamer pipeline in the middle of a run as a method to support event reactions
Version bumps:
- OpenSSL updated from 1.1.1g to 1.1.1t
- Log4cplus update from 1.2.2 to 2.0.1
Release 3.3.1 of the Amazon Kinesis Video C++ Producer SDK
Release 3.3.1 of the Amazon Kinesis Video C++ Producer SDK
Platforms tested on
- Linux
- Windows
- MacOS
Release tagged at: 70f74f1
Whats new:
Changes in the JNI layer now allow Java SDK users to
- set automaticStreamingFlags
- set storePressurePolicy
Changes in Producer C: 79da5b6d6ad67560cc08530f967e9187a6d1c594
- Resetting stream will not purge the API caching entries
PIC Commit: c8325887faa3a4a296c4367b281c778be69875b6
Release 3.3.0 of the Amazon Kinesis Video C++ Producer SDK
Platforms tested on
- Linux
- Windows
- MacOS
Release tagged at: 2b343c9 (2b343c9)
Whats new:
- New API putEventMetadata for events feature
- Updated sample to demonstrate putEventMetadata()
- CMake updated from 2.8 → 3.6.3
- IOT_THING_NAME supported in kvssink
- File logging feature exposed to Producer Java SDK via JNI
Changes in Producer C: 79da5b6d6ad67560cc08530f967e9187a6d1c594
- New APIs to support creating StreamInfo provider with audio and video codecs
Changes in PIC Commit: c8325887faa3a4a296c4367b281c778be69875b6 (awslabs/amazon-kinesis-video-streams-pic@c832588)
- Exponential backoff support on redundant state machine errors.
- Support for events feature
Release 3.2.0 of the Amazon Kinesis Video C++ Producer SDK
Platforms tested on
Linux
Windows
MacOS
Release tagged at: 00ba9cf
Whats new:
- Expose new property
elementaryFrameRate
to provide consumers an accurate frame rate measurement.
Bug fixes:
- Fix potential memory leak issues with
kvssink
GStreamer plugin
Changes in Producer C: 99c1a8cd8cec88f99c9c4ce3944b53ae341d1491
- Added ability to create authentication callbacks based on existing credentials
- Added logic to prevent unnecessary calls to curl_easy_pause to pause connection by blocking thread which waits for new data, with exponential back off, for ~600ms. curl_easy_pause incurs a 1s or more penalty on unpause so we avoid this now which in most cases results in a significant decrease in end-to-end latency.
Changes in PIC Commit: 296adbd889bf7a193dddc65341209863bf397554 (https://github.com/awslabs/amazon-kinesis-video-streams-pic/tree/296adbd889bf7a193dddc65341209863bf397554)
- Added public API kinesisVideoStreamSetNalAdaptationFlags to set NALU adaptation flags prior to starting the stream
- Added elementaryFrameRate to client metrics to provide consumers an accurate frame rate
- Fixed a bug which impacted a scenario where IoT Credentials fail to refresh due to bad network and the state machine would get stuck and unable to self recover.
Release 3.1.1 of the Amazon Kinesis Video C++ Producer SDK
Release 3.1.1 of the Amazon Kinesis Video C++ Producer SDK
Platforms tested on
Linux
Windows
MacOS
Release tagged at: 2d653a2
Whats new:
- Introduced a new kvssink property
disable-buffer-clipping
to cater to some src/mux elements that produce non-standard segment start times - Added unit test for resetting and re-creating the stream
- Added overloaded constructors for supplying the caching mode
Bug fixes:
- Appropriately set frame order mode for intermittent producer scenario in multi track case
Changes in Producer C: f2a97fe6eaf78cbffd46ccfa5994bee2bebf99bf
- Resetting stream will not purge the API caching entries
PIC Commit: df42dddc1d421d1e6bc47d5ebf7cd085446cbb69
Release 3.1.0 of the Amazon Kinesis Video C++ Producer SDK
Platforms tested on
- Linux
- Windows
- MacOS
Release tagged at: #2c80f148a4817c1e9dd3226c53ed091fe64b49c4
Whats new:
- Using v1.1.0 of producer C SDK
- Build and Travis CI run improvements, removing sub-modules
- Added developmer mini-documentation
- Fixes in test, samples and JNI
- Improved test coverage
- Minor usability improvements
Changes in Producer C: (Commit d1095356712729d0489e56d1d0e27f5ce0a29fad)
- 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
Changes in PIC: (Commit: df42dddc1d421d1e6bc47d5ebf7cd085446cbb69)
- Automatic intermittent producer scenario support
- File-backed content store implementation
- Handling known bad encoder errors in NAL adaptation
- Improvements in supporting different types of SPS NALs in H264 and H265
- Fixing width and height extraction from SPS when chroma format is 4:4:2 and 4:4:4 with separate plane
- Added IDR_N_LP processing in H265
- Skipping non-Key-frame frames on start
- Skipping non-Key-frame frames in the fragment on dropped frame
- Skipping non-Key-frame frames after EoFR scenario
- Fixes in recovery logic on pressure in an intermittent producer scenario to reduce INVALID_MKV_DATA error rate
- Blocking shutdown for TimerQueue to solve potential data race conditions in the caller
- Improved logging, reducing spew from control status codes
- Realtime clock implementation and usage in WAIT functionality
- File logger logic implementation in PIC
- Re-alloc implementation fixes in instrumented allocators
- Data race condition fixes in Streams array processing
- Memory leak fixes in an edge case with EoFR
- Various bug fixes for edge cases and stability
- Clang format and enforcement
- TSAN compliance in PIC
- Improved test coverage
Known work items:
- Doxygen support
- GStreamer integration with event notifications
Release 3.0.0 (14th May 2020)
Platforms tested on
- Linux
- Windows
- MacOS
Release tagged at: d4886cb
Whats new:
- Migrated to CMake build system.
- Stripped down the SDK to contain only GStreamer related samples JNI interface
- Removed docker_native_scripts directory. The scripts can now be found in https://github.com/aws-samples/amazon-kinesis-video-streams-demos
- Updated openssl version to 1.1.1g
- Migrated producer C samples to https://github.com/awslabs/amazon-kinesis-video-streams-producer-c
- Migrated PIC to https://github.com/awslabs/amazon-kinesis-video-streams-pic
- Using v1.0.0 of producer C SDK
- Added support for Windows with the new build system
Changes in Producer C: (Commit a1aeef0827faf838c9f1df66083db1c3356fc1e0)
- Tested on Windows
- API Call caching support
- MBedTLS support
- Full TravisCI integration
Changes in PIC: (Commit: 8f0db7900d6e847ae8072ae5e8205ef81551c685)
- Added logging of stream info when creating stream
- Content view drops entire fragment when overflown
- Added dropping tail frames policy on storage OOM
- Fixed
THREAD_SLEEP
logic - Support for instrumented allocators to capture potential memory leaks while running an application
- Expanded stream and client metrics - new stream metrics version is 1.
- PIC exclusively tested on Windows
- Build system enhanced
- Full TravisCI integration
Known work items:
- Update AWS documentation to reflect the changes in the version
- Move window docker scripts to demos repo (https://github.com/aws-samples/amazon-kinesis-video-streams-demos)
- Doxygen documentation
Release 2.1.0 of the Amazon Kinesis Video Streams Producer SDK for C++
- Fix bug where iot and file credentials failed to get cycled promptly.
- Reworked stream and client shutdown flow.
- Other minor stability and bug fixes.