Skip to content

Releases: ultravideo/uvgRTP

uvgRTP v3.1.4

10 Dec 09:13
Compare
Choose a tag to compare

Fixes MinGW compilation and an SCL bug where an incorrect detection of start code can happen with specific sequence of bytes. Thanks to those who did PRs!

What's Changed

New Contributors

Full Changelog: v3.1.3...v3.1.4

uvgRTP 3.1.3

11 Sep 12:43
Compare
Choose a tag to compare

This patch release introduces bug fixes, small improvements to code quality, and reduces test execution time.

New Feature

  • Multicast TTL configuration flag added by @Atlas42 in #226

Fixes

New Contributors

Full Changelog: v3.1.2...v3.1.3

uvgRTP 3.1.2

18 Jun 08:45
Compare
Choose a tag to compare

This patch release introduces bugfixes and improves code quality.

New Feature

Fixes

  • Update h26x.cc - fixed initialization order of 'dropped_ts_' and 'dropped_in_order_' by @inobelar in #218
  • Fixed the issue when reconstructing h264 frames that are not continuous by @Banner2404 in #221

New Contributors

Full Changelog: v3.1.1...v3.1.2

uvgRTP v3.1.1

20 Feb 11:16
Compare
Choose a tag to compare

This patch release fixes an issue with the Aggregate Packets (AP) found in H264/H265/H266 payload formats.

Fixes

-Fix reordering issue when there are multiple, non-consecutive aggregatable NAL units inside an access unit given to uvgRTP via push_frame().

uvgRTP v3.1.0

20 Feb 09:32
Compare
Choose a tag to compare

This release focuses on finalizing the Aggregate Packet (AP) functionality for H264, H265 and H266 payload formats.

New Feature

  • Support for Aggregate Packets for H264, H265 and H266
  • New RTP flag RTP_H26X_DO_NOT_AGGR that can be used to disable the use of APs when necessary

Fixes

  • Fixed bugs related to transmission and reception of multiple fragmented NAL units inside an access unit in H26x payload formats.
  • Fixed a bug in H264 SCL

uvgRTP v3.0.0

30 Jan 13:04
Compare
Choose a tag to compare

This release focuses on features related to the RTP transmission of Visual Volumetric Video-based Compression (V3C) content.

New Feature

  • RTP payload format for V3C Atlas
  • Support for socket/port multiplexing (RFC 8872) by assigning the same port number to multiple media streams and setting their SSRC values accordingly
  • Ability to set SSRC of a media stream via the RCC_SSRC context flag
  • Ability to set remote SSRC for a media stream via the RCC_REMOTE_SSRC context flag
  • Support for RTCP to RTP port multiplexing (RFC 5761) via the RCE_RTCP_MUX context flag
  • Multithreaded packet reception
  • New example program for V3C transmission
  • Ability to change socket polling timeout value with the RCC_POLL_TIMEOUT context flag
  • Ability to get configuration values from media streams via get_configuration_value()
  • New create_session() API function
  • random: Replace system random calls with STL by @roharvey in #192
  • common: Added multicast bind support for ipv4 and ipv6 by @Atlas42 in #196

Fixes

  • Fixed bugs related to reliability of ZRTP negotiation
  • Compiler warnings fix by @eMKa94 in #206
  • Fix build with gcc13 by @mathisloge in #210

API Changes

  • Removed obsolete flags RCE_SYSTEM_CALL_DISPATCHER, RCE_NO_H26X_INTRA_DELAY, RCE_NO_H26X_SCL, RCE_H26X_NO_DEPENDENCY_ENFORCEMENT, RCE_H26X_PREPEND_SC, RCE_NO_SYSTEM_CALL_CLUSTERING, RCE_SRTP_INPLACE_ENCRYPTION to remove clutter from the API. Removing these flags from your code is safe since they did not do anything
  • Removed renamed flags. Use the replacement to get the same effect
    • RCE_H26X_DO_NOT_PREPEND_SC -> RCE_NO_H26X_PREPEND_SC
    • RCE_FRAMERATE -> RCE_FRAME_RATE
    • RCE_FRAGMENT_PACING -> RCE_PACE_FRAGMENT_SENDING
    • RCE_ZRTP_MULTISTREAM_NO_DH -> RCE_ZRTP_MULTISTREAM_MODE

Known Issues

  • Aggregate packets are not supported for H264, H266 or V3C Atlas. These are planned for 3.1 release
  • When streaming H.264/H.265/H.266, sending access units that contain multiple large NAL units which require fragmentation may lead to issues
  • When streaming H.264, if a NAL unit contains 0x00 0x01 0x00 byte sequence, there may be undefined behavior

New Contributors

Full Changelog: v2.3.0...v3.0.0

uvgRTP v2.3.0

20 Mar 14:04
Compare
Choose a tag to compare

This release adds IPv6 support to uvgRTP. Using IPv6 addresses does not require anything from the user. It is not possible to mix IPv4 and IPv6 addresses together. If you use IP tunneling or VPNs, make sure to adjust the MTU size to your situation.

New Feature

  • IPv6 support

Full Changelog: v2.2.0...v2.3.0

uvgRTP v2.2.0

13 Mar 13:56
Compare
Choose a tag to compare

This release focuses on finalizing RFC 3550 RTCP.

New Feature

  • RTCP BYE packets are sent when exiting
  • Handling received RTCP BYE packets and timing out inactive RTCP sources
  • New example program for synchronizing audio and video streams
  • RTCP reporting interval is calculated according to RFC 3550
  • RTCP reporting interval can be manually set via RCC_SESSION_BANDWIDTH context flag
  • rtcp: add hooking for sending APP packets by @wowaser in #187
  • config: allow for custom SSRC. Added thread safety by @wowaser in #185

Fixes

  • RTP timestamps in RTCP Sender Reports are calculated according to RFC 3550 (stream synchronization)
  • Fraction lost field in RTCP Sender Reports is calculated correctly
  • rtcp: add thread safety for participants_ data structure by @wowaser in #188

Known issues

  • Multithreaded use of ZRTP only supports at most two streams reliably
  • No IPv6 support yet

Full Changelog: v2.1.2...v2.2.0

uvgRTP v2.1.2

25 Nov 06:55
Compare
Choose a tag to compare

This patch release significantly reduces RTCP CPU usage, extends SCL to support NAL units as small as 4 bytes for H264 and 6 bytes for H265/H266 (including start code prefix). These are the smallest sizes reasonable. This release also fixes a bug where separate NAL units with same timestamps are discarded after first.

Fixes

  • formats: Support smallest NAL unit sizes in SCL in 5ca3c13
  • formats: Don't discard NAL units with same timestamps in c07a8c2
  • rtcp: fix socket selection busylooping in rtcp polling by @wowaser in #178

Full Changelog: v2.1.1...v2.1.2

uvgRTP v2.1.1

25 Oct 14:58
Compare
Choose a tag to compare

This is a small patch release which fixes a bug in SCL, improves the handling of FPS flag, and renames the ZRTP mode flags (while keeping the old names valid, at least for now).

Fixes

  • formats: fix a bug in SCL, sequence like \0\0\0\1\0 not detected by @fador in #170

Full Changelog: v2.1.0...v2.1.1