You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Ice memory reduction - enable ice stats flag (#1947)
* Change params size
* Use dyanmic allocation and flag for ice stats
* Debug 1
* Revert "Debug 1"
This reverts commit ad7d02f.
* Revert "Use dyanmic allocation and flag for ice stats"
This reverts commit bf9a2ee.
* Working version
* enable flag in samples
* Add unit test
* Fix bug
* README for the flag
* Update readme
* Fix readme typos
* clang format
* Add ENABLE_STATS_CALCULATION_CONTROL CMake option and compiler flag. Update ReadMe.
* Add IceStatsControlOn tests
* Add CI test forENABLE_STATS_CALCULATION_CONTROL=TRUE
* Clang formatting
* Remove unused iceAgentAddConfig
* Remove unintended readme merge changes "Controlling RTP rolling buffer capacity"
* Address comments, add null check
* Cleanup unused variable
* Rename and negate variable
* Move setting of enableIceStats to fix segfault
* Revert member size savings changes (to be applied in separate PR)
* Move other instance setting of enableIceStats, clang format.
* Fix setting of enableIceStats in tests
* Address comment
---------
Co-authored-by: Divya Sampath Kumar <disa6302@colorado.edu>
Copy file name to clipboardexpand all lines: README.md
+15
Original file line number
Diff line number
Diff line change
@@ -157,6 +157,7 @@ You can pass the following options to `cmake ..`.
157
157
*`-DLINK_PROFILER` -- Link with gperftools (available profiler options are listed [here](https://github.com/gperftools/gperftools))
158
158
*`-DPKG_CONFIG_EXECUTABLE` -- Set pkg config path. This might be required to find gstreamer's pkg config specifically on Windows.
159
159
*`-DENABLE_KVS_THREADPOOL` -- Enable the KVS threadpool which is off by default.
160
+
*`-DENABLE_STATS_CALCULATION_CONTROL` -- Enable the runtime control of ICE agent stats calculations.
160
161
161
162
To clean up the `open-source` and `build` folders from previous build, use `cmake --build . --target clean` from the `build` folder
162
163
@@ -589,6 +590,20 @@ Let us look into when each of these could be changed:
589
590
3. `iceConnectionCheckTimeout`: It is useful to increase this timeout in unstable/slow network where the packet exchange takes time and hence the binding request/response. Essentially, increasing it will allow atleast one candidate pair to be tried for nomination by the other peer.
590
591
4. `iceConnectionCheckPollingInterval`: This value is set to a default of 50 ms per [spec](https://datatracker.ietf.org/doc/html/rfc8445#section-14.2). Changing this would change the frequency of connectivity checks and essentially, the ICE state machine transitions. Decreasing the value could help in faster connection establishment in a reliable high performant network setting with good system resources. Increasing the value could help in reducing the network load, however, the connection establishment could slow down. Unless there is a strong reasoning, it is **NOT** recommended to deviate from spec/default.
591
592
593
+
### Enable ICE agent stats
594
+
595
+
The SDK calculates 4 different stats:
596
+
1. ICE server stats - stats for ICE servers the SDK is using
597
+
2. [Local candidate stats](https://www.w3.org/TR/webrtc-stats/#dom-rtcstatstype-local-candidate) - stats for the selected local candidate
598
+
3. [Remote candidate stats](https://www.w3.org/TR/webrtc-stats/#dom-rtcstatstype-remote-candidate) - stats for the selected remote candidate
599
+
4. [Candidate pair stats](https://www.w3.org/TR/webrtc-stats/#dom-rtcstatstype-candidate-pair) - stats for the selected candidate pair
600
+
601
+
For more information on these stats, refer to [AWS Docs](https://docs.aws.amazon.com/kinesisvideostreams-webrtc-dg/latest/devguide/kvswebrtc-reference.html)
602
+
603
+
The SDK enables generating these stats by default. To control whether the SDK calculates these stats, the ENABLE_STATS_CALCULATION_CONTROL CMake option must be set, enabling the use of the following field:
Disabling these stats may lead to reductions in memory use.
606
+
592
607
## Documentation
593
608
All Public APIs are documented in our [Include.h](https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/blob/main/src/include/com/amazonaws/kinesis/video/webrtcclient/Include.h), we also generate a [Doxygen](https://awslabs.github.io/amazon-kinesis-video-streams-webrtc-sdk-c/) each commit for easier navigation.
0 commit comments