uvgRTP v2.1.0
This release brings an improved build system, automated testing and working examples. In addition, the reliability of streaming has increased, with most prominent bugs being fixed in both RTP and SRTP streaming. ZRTP also now supports two streams instead of only one. Thanks to everyone who helped with pull requests!
Dependencies
- The minimum supported CMake version has increased to 3.14
New Feature
- Greatly improved CMake build system including tests and version API (thanks to @db-tech)
- macOS compilation (thanks to @eliteraspberries)
- Automated tests to help with development
- Examples are now working code that can be run and built upon
- More documentation
- Increased the number of supported payload formats from 5 to 27
- Options to send at certain frame rate
- Option to pace the sending of fragments to help the receiver
- Garbage collection for partially lost frames
Fixes
- H26x sending no longer loses frames with sizes 1444 - 1446.
- RTP reception now has increased performance, leading to much higher reliability
- RTCP now uses compound packets as specified in RFC 3550 instead of single packets
- Fixes to various aspects of RTCP (thanks especially to @wowaser for helping out)
- Improve code readability
- Remove memory leaks
- Remove compiler warnings
- Further cleanup of include folder
- Numerous other smaller fixes
API changes
While we try to keep the API changes to an absolute minimum, the following changes were implemented:
- The port parameter type of create_mediastream()-function was changed from int to uint16_t
- The SDES messages structure was changed, so all messages described by RFC 3550 are possible
- While no flags were completely removed (they still compile), some of them have been obsoleted (see docs folder for an up-to-date list of flags)
- Because of the compound packet nature of RTCP, the usage of RTCP has changed significantly
- Removed the possibility of building uvgRTP with Qt project file
Known issues
- The implementation of RTCP still has some missing fields and features
- Multithreaded use of ZRTP only supports at most two streams reliably
- No IPv6 support yet
New Contributors
- @jheo4 made their first contribution in #10
- @derkolja made their first contribution in #84
- @fador made their first contribution in #86
- @marco-tranzatto made their first contribution in #100
- @juteman made their first contribution in #123
- @LeeTaekLim made their first contribution in #134
- @gugautie made their first contribution in #135
- @eliteraspberries made their first contribution in #149
- @devenvexe made their first contribution in #157
- @ashley-b made their first contribution in #167
Full Changelog: v2.0.1...v2.1.0