Skip to content

uvgRTP v2.1.0

Compare
Choose a tag to compare
@jrsnen jrsnen released this 21 Sep 12:25
· 456 commits to master since this release

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

Full Changelog: v2.0.1...v2.1.0