srt/srt.changes

298 lines
14 KiB
Plaintext
Raw Normal View History

Accepting request 965243 from home:dirkmueller:Factory - update to 1.4.4: * Monotonic/steady clock is enabled by default. * Changed the default value of SRTO_RETRANSMITALGO socket option to 1. This activates the efficient retransmission algorithm on the sender side which optimizes the bandwidth usage by producing fewer retransmissions per lost packet. The algorithm is available since v1.4.2. Intensive retransmission algorithm (the former default) can be activated by setting SRTO_RETRANSMITALGO=0. * Improved random integer retrieval, which is mainly used for initial socket ID and Initial Sequence Number (ISN) generation. * Improved clock drift compensation algorithm. RTT samples are now taken into account when estimating clock drift. * Improved round-trip time (RTT) estimation. On the receiver side, smoothed RTT (SRTT) is set to the first RTT measurement obtained from the first ACK/ACKACK pair. When a subsequent RTT measurement is made, an exponentially weighted moving average (EWMA) is used to update smoothed RTT. Before the very first RTT sample is available, SRTT is initialized as 100 ms or taken from the cache if one exists. * On the sender side, in the case of unidirectional transmission, the values of smoothed RTT and RTT variance are now extracted from ACK packets. In the case of bidirectional transmission, an EWMA is still applied to be consistent with the previous behavior. * Improved 'No room to store incoming packet' warning with additional hints to identify a possible reason. * Added support for atomic types. * Improved the logic of switching between main and backup links, extended the list of member link states as well as defined events resulting in state transition for Main/Backup mode of Connection Bonding. * Documented Main/Backup mode of Connection Bonding. See here. * Fixed group read-readiness update on the receiver side. OBS-URL: https://build.opensuse.org/request/show/965243 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/srt?expand=0&rev=30
2022-03-28 09:55:39 +02:00
-------------------------------------------------------------------
Sun Mar 27 19:40:15 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 1.4.4:
* Monotonic/steady clock is enabled by default.
* Changed the default value of SRTO_RETRANSMITALGO socket option to 1. This
activates the efficient retransmission algorithm on the sender side which
optimizes the bandwidth usage by producing fewer retransmissions per lost
packet. The algorithm is available since v1.4.2. Intensive retransmission
algorithm (the former default) can be activated by setting
SRTO_RETRANSMITALGO=0.
* Improved random integer retrieval, which is mainly used for initial socket
ID and Initial Sequence Number (ISN) generation.
* Improved clock drift compensation algorithm. RTT samples are now taken into
account when estimating clock drift.
* Improved round-trip time (RTT) estimation.
On the receiver side, smoothed RTT (SRTT) is set to the first RTT
measurement obtained from the first ACK/ACKACK pair. When a subsequent RTT
measurement is made, an exponentially weighted moving average (EWMA) is used to
update smoothed RTT. Before the very first RTT sample is available, SRTT is
initialized as 100 ms or taken from the cache if one exists.
* On the sender side, in the case of unidirectional transmission, the values of
smoothed RTT and RTT variance are now extracted from ACK packets. In the case
of bidirectional transmission, an EWMA is still applied to be consistent with
the previous behavior.
* Improved 'No room to store incoming packet' warning with additional hints
to identify a possible reason.
* Added support for atomic types.
* Improved the logic of switching between main and backup links, extended the
list of member link states as well as defined events resulting in state
transition for Main/Backup mode of Connection Bonding.
* Documented Main/Backup mode of Connection Bonding. See here.
* Fixed group read-readiness update on the receiver side.
* Added missing lock when checking for read-readiness of a group member and
fixed the resulting crash.
* Fixed base time and drift synchronization in a group, which caused
insufficient packet loss recovery and end-to-end latency maintenance by a
group receiver.
* Fixed validation of the packet sequence number when reading from a group
member, which was causing an incorrect decision to break a member
connection.
* Fixed crash on dereferencing null CryptoControl instance in handshake reply.
* Placed some of the SRT classes under the 'srt' namespace.
* Fixed possible incorrect outcome of cookie contest function (rendezvous
connection mode) under certain compiler optimizations.
* Fixed uninitialized destination socket ID in Shutdown control message.
* Set CLOEXEC for epoll on Linux.
* Added missing receiver buffer lock into CUDT::receiveBuffer(..) and
CUDT::recvfile(..) functions.
* Make sure TTL will not drop packets over the last block.
* Fixed the value of the Last Packet Sequence Number field in Drop Request
control message on TTL packet drop.
* Fixed the content of the Drop Request control message. If a loss of packets
already missing in the sender buffer was reported, the very first packet
present in the sender buffer was incorrectly included in the range of
packets to be dropped.
* Fixed version rejection for handshake v4 caller (SRT prior to v1.3.0).
* Fixed the crash when referencing a resource already freed in CRendezvousQueue class.
* Fixed detection of reusable bindings and binding conflicts.
* Updated SRTO_RETRANSMITALGO socket option description.
-------------------------------------------------------------------
Tue May 11 23:55:15 UTC 2021 - Ferdinand Thiessen <rpm@fthiessen.de>
- Update to version 1.4.3
* API/ABI/Integration Changes
* fixed/changed cast to bool instead of int in srt_getsockopt and
srt_getsockflag API functions
* Fixed ABI compatibility around SRTO_BINDTODEVICE value
depending on ENABLE_EXPERIMENTAL_BONDING.
* Made SRT versioned SO named with major and minor
* New Features and Enhancements
* New API function srt_clock_type() to retrieve SRT internal
clock type.
* New SRTO_MININPUTBW socket option to control the minimum
allowed value of the input bitrate estimate.
* Run the accept hook (listener callback) before opening an
accepted socket providing an opportunity to set some PRE
options (like SRTO_RCVBUF).
* Fixed wrong check of common FEC configuration.
* Added handshake data check to prevent rogue handshakes.
* Fixed crash and hang up related to CSndLossList.
* Fixed miscalculations on extreme loss conditions in FEC.
* Fixed Data race when TLPKTDROP while checking loss for ACK
candidate.
* Fixed handshake IP parsing in IPv4-IPv6 connections.
* Fixed race starting and joining TSBPD thread.
* SRTO_RETRANSMITALGO becomes readable.
* Fixed sender hang up
* Fixed SRTO_MINVERSION not rejecting too old SRT version.
* Fixed a bug repeating a conclusion HS with rejection
- Drop upstream merged 0001-Fix-build-with-GCC-11.patch
* https://github.com/Haivision/srt/pull/1806
-------------------------------------------------------------------
Wed Feb 10 10:29:12 UTC 2021 - Christophe Giboudeaux <christophe@krop.fr>
- Add patch to fix build with GCC 11 (boo#1181883)
* 0001-Fix-build-with-GCC-11.patch
Accepting request 839996 from home:alois:branches:multimedia:libs - Update to version 1.4.2 New Features and Enhancements * Added support for C++11. Reworked timing and synchronization objects. Three sources of timing are now available (selected via a build option): + POSIX gettimeofday() - default build mode (affected by discontinuous jumps in the system time); + POSIX CLOCK_MONOTONIC. CMake build option: -DENABLE_MONOTONIC_CLOCK=ON. See --enable-monotonic-clock in BuildOptions.md; + C++11 std::chrono::steady_clock, std::thread, std::mutex, etc. CMake build option: -DENABLE_STDCXX_SYNC=ON. See --enable-stdcxx-sync in BuildOptions.md. * Added SRT Source Time API support. It allows setting a source timestamp on a packet that corresponds to a packet creation/reception time. See the Time Access section of the API docs. * Added an improved retransmission algorithm which reduces the retransmission overhead on a link. Set option SRTO_RETRANSMITALGO=1. * Added SRTO_BINDTODEVICE option to bind a socket to a specified NIC. SRTO_BINDTODEVICE option reflects the system option SO_BINDTODEVICE for an SRT socket. * Customizable rejection reason code. SRT library now lets the application provide a code with rejection reason (in a listener callback) if connection request has been rejected by the application. See Rejection Codes in the Access Control guide. * Added new rejection reason: on timeout. See SRT_REJ_TIMEOUT in API-functions.md. * Extended SRT statistics with pktSentUniqueTotal, pktRecvUniqueTotal. Statistics documentation now has a summary table for better navigation. * Added srt_getversion() API function. * Moved socket options documentation to a separate file APISocketOptions.md. It now has a summary table for better navigation. * Socket options SRTO_INPUTBW and SRTO_OHEADBW are now readable. * The logging functionality has been improved by means of defining new and more fine-grained Functional Areas (FA) to which log messages are assigned. This is done to prevent too many debug log messages from the library influencing performance with the debug logging turned on. Fixed Issues * Fixed bug: finding the listener's muxer only by port number was wrong. * Fixed wrong reject reason on async connect. * Fixed CSndLossList::insert with negative offset. * Fixed default binding for IPv6-target rendezvous. * Fixed HS TSBPD flags check. * Improved CRcvLossList protection from concurrent access. * Fixed error reporting on connect/accept. * Correctly handle IPv4 connections on IPv6 listener. * Fixed Moving Average for receiver and sender buffers. * Protecting RCV buffer access. * Fixed local storage depleted issue #486. * Fixed restrictions on pre-bind only options. * Avoid reporting packets rebuilt by FEC as lost. * Improved inserting a serial element into sender's loss list. * Fixed handling of stale loss report. * Fixed closing the crypto control. * Added CSync class as a high-level CV wrapper. * Renamed legacy UDT_EPOLL_* symbols. * Eliminated ref_t. Some more convention fixes. * Crypto: Reset the passphrase in memory on close for security reasons. Deprecated or Renamed * Removed deprecated socket options: SRTO_TWOWAYDATA, SRTO_TSBPDMAXLAG, SRTO_CC, SRTO_MAXMSG, SRTO_MSGTTL, SRTO_SNDPBKEYLEN, SRTO_RCVPBKEYLEN. * Removed deprecated option names: SRTO_SMOOTHER (use SRTO_CONGESTION), SRTO_STRICTENC (use SRTO_ENFORCEDENCRYPTION). version 1.4.1: Improvements * Improved periodic NAK report timing * Use monotonic clock in CTimer::sleepto() * Initial reorder tolerance set to maximum value (SRTO_LOSSMAXTTL) * Added pktReorderTolerance to stats * Use busy wait only to refine below 1 ms * Added SRTO_LOSSMAXTTL to srt_getopt() * Update SND loss list on lite ACK Fixes * Fixed catching exception from CUDTUnited::connect_complete() * Fixed missing vertical FEC/CTL packet * Fixed bandwidth measurement on non-monotonic or retransmitted packets * Fixed srt_getopt(...): optlen is not set in some cases. * Fixed EPoll update_usock * Fixed checkTimers interval (100ms -> 10 ms) * Fixed SRT Stats backward compatibility (CBytePerfMon fields order) * Fixed FEC crash when a large number of dropped packets occur * Fixed FEC crash (access item out of range) * Fixed FileCC crash. Prevented 0 pktsInFlight to be used in the calculation for loss percentage version 1.4.0: New Features and Enhancements * Updates to epoll API. Added edge-triggered epoll wait. * srt-live-transmit default chunk size set to 1456 * Added forward error correction (FEC) packet filter * Added Packet filter API * File congestion control improvements Fixed Issues * Free addrinfo if bind fails (potential memory leak) * Fixed SRTO_LOSSMAXTTL option on accepted socket * Fixed blocking srt_connect call (state update) * Fixed potential sender's sockets list overflow * Use MONOTONIC clock in Garbage Collector thread - Drop CVE-2019-15784.patch (fixed upstream) OBS-URL: https://build.opensuse.org/request/show/839996 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/srt?expand=0&rev=24
2020-10-12 11:36:59 +02:00
-------------------------------------------------------------------
Wed Oct 7 09:01:37 UTC 2020 - Luigi Baldoni <aloisio@gmx.com>
- Update to version 1.4.2
New Features and Enhancements
* Added support for C++11. Reworked timing and
synchronization objects. Three sources of timing are now
available (selected via a build option):
+ POSIX gettimeofday() - default build mode (affected by
discontinuous jumps in the system time);
+ POSIX CLOCK_MONOTONIC. CMake build option:
-DENABLE_MONOTONIC_CLOCK=ON. See --enable-monotonic-clock
in BuildOptions.md;
+ C++11 std::chrono::steady_clock, std::thread,
std::mutex, etc. CMake build option:
-DENABLE_STDCXX_SYNC=ON. See --enable-stdcxx-sync in
BuildOptions.md.
* Added SRT Source Time API support. It allows setting a
source timestamp on a packet that corresponds to a packet
creation/reception time. See the Time Access section of
the API docs.
* Added an improved retransmission algorithm which reduces
the retransmission overhead on a link. Set option
SRTO_RETRANSMITALGO=1.
* Added SRTO_BINDTODEVICE option to bind a socket to a
specified NIC. SRTO_BINDTODEVICE option reflects the
system option SO_BINDTODEVICE for an SRT socket.
* Customizable rejection reason code. SRT library now lets
the application provide a code with rejection reason (in a
listener callback) if connection request has been rejected
by the application. See Rejection Codes in the Access
Control guide.
* Added new rejection reason: on timeout. See
SRT_REJ_TIMEOUT in API-functions.md.
* Extended SRT statistics with pktSentUniqueTotal,
pktRecvUniqueTotal. Statistics documentation now has a
summary table for better navigation.
* Added srt_getversion() API function.
* Moved socket options documentation to a separate file
APISocketOptions.md. It now has a summary table for better
navigation.
* Socket options SRTO_INPUTBW and SRTO_OHEADBW are now
readable.
* The logging functionality has been improved by means of
defining new and more fine-grained Functional Areas (FA)
to which log messages are assigned. This is done to prevent
too many debug log messages from the library influencing
performance with the debug logging turned on.
Fixed Issues
* Fixed bug: finding the listener's muxer only by port
number was wrong.
* Fixed wrong reject reason on async connect.
* Fixed CSndLossList::insert with negative offset.
* Fixed default binding for IPv6-target rendezvous.
* Fixed HS TSBPD flags check.
* Improved CRcvLossList protection from concurrent access.
* Fixed error reporting on connect/accept.
* Correctly handle IPv4 connections on IPv6 listener.
* Fixed Moving Average for receiver and sender buffers.
* Protecting RCV buffer access.
* Fixed local storage depleted issue #486.
* Fixed restrictions on pre-bind only options.
* Avoid reporting packets rebuilt by FEC as lost.
* Improved inserting a serial element into sender's loss
list.
* Fixed handling of stale loss report.
* Fixed closing the crypto control.
* Added CSync class as a high-level CV wrapper.
* Renamed legacy UDT_EPOLL_* symbols.
* Eliminated ref_t. Some more convention fixes.
* Crypto: Reset the passphrase in memory on close for
security reasons.
Deprecated or Renamed
* Removed deprecated socket options: SRTO_TWOWAYDATA,
SRTO_TSBPDMAXLAG, SRTO_CC, SRTO_MAXMSG, SRTO_MSGTTL,
SRTO_SNDPBKEYLEN, SRTO_RCVPBKEYLEN.
* Removed deprecated option names: SRTO_SMOOTHER (use
SRTO_CONGESTION), SRTO_STRICTENC (use
SRTO_ENFORCEDENCRYPTION).
version 1.4.1:
Improvements
* Improved periodic NAK report timing
* Use monotonic clock in CTimer::sleepto()
* Initial reorder tolerance set to maximum value
(SRTO_LOSSMAXTTL)
* Added pktReorderTolerance to stats
* Use busy wait only to refine below 1 ms
* Added SRTO_LOSSMAXTTL to srt_getopt()
* Update SND loss list on lite ACK
Fixes
* Fixed catching exception from
CUDTUnited::connect_complete()
* Fixed missing vertical FEC/CTL packet
* Fixed bandwidth measurement on non-monotonic or
retransmitted packets
* Fixed srt_getopt(...): optlen is not set in some cases.
* Fixed EPoll update_usock
* Fixed checkTimers interval (100ms -> 10 ms)
* Fixed SRT Stats backward compatibility (CBytePerfMon
fields order)
* Fixed FEC crash when a large number of dropped packets
occur
* Fixed FEC crash (access item out of range)
* Fixed FileCC crash. Prevented 0 pktsInFlight to be used in
the calculation for loss percentage
version 1.4.0:
New Features and Enhancements
* Updates to epoll API. Added edge-triggered epoll wait.
* srt-live-transmit default chunk size set to 1456
* Added forward error correction (FEC) packet filter
* Added Packet filter API
* File congestion control improvements
Fixed Issues
* Free addrinfo if bind fails (potential memory leak)
* Fixed SRTO_LOSSMAXTTL option on accepted socket
* Fixed blocking srt_connect call (state update)
* Fixed potential sender's sockets list overflow
* Use MONOTONIC clock in Garbage Collector thread
- Drop CVE-2019-15784.patch (fixed upstream)
-------------------------------------------------------------------
Fri Dec 13 15:23:23 UTC 2019 - Dominique Leuenberger <dimstar@opensuse.org>
- Drop pkgconfig(zlib) BuildRequires: this is only needed on
win32/mingw (and even there it rather seems like working around a
bug in some other package, as there is no explicit call to zlib
functions).
-------------------------------------------------------------------
Fri Aug 30 12:47:57 UTC 2019 - Alexandros Toptsoglou <atoptsoglou@suse.com>
- Backported commit 47e5890 and 64875fa to fix CVE-2019-15784
(boo#1148844) and avoid a potential array overflow.
* Added CVE-2019-15784.patch
-------------------------------------------------------------------
Thu Aug 29 16:02:56 UTC 2019 - Alexandros Toptsoglou <atoptsoglou@suse.com>
- Update to version 1.3.4:
+ Various bugfixes and feature enhancments.
-------------------------------------------------------------------
Mon Aug 19 19:06:58 UTC 2019 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 1.3.3:
+ Various bugfixes and feature enhancments.
- Update to version 1.3.2:
+ Various bugfixes, feature enhancments, build fixes and
documentation updates.
- Drop srt-no-rpath.patch: Fixed upstream.
-------------------------------------------------------------------
Tue Nov 13 12:54:11 UTC 2018 - Antonio Larrosa <alarrosa@suse.com>
- Fix install prefix in cmake so the pkgconfig file has correct
information on where to find srt's libraries and include files.
-------------------------------------------------------------------
Mon Oct 29 09:10:45 UTC 2018 - Dominique Leuenberger <dimstar@opensuse.org>
- Add pkgconfig(zlib) BuildRequires: until openssl 1.1.1, zlib was
pulled in into our buildroot, avoiding srt having to care for it
explicitly. Since this is changed now, we have to worry for our
dependency on our own. The dep comes from:
CMakeLists.txt:set (SSL_REQUIRED_MODULES "openssl libcrypto zlib")
-------------------------------------------------------------------
Wed Aug 8 16:56:55 UTC 2018 - jengelh@inai.de
- Trim marketing from description.
-------------------------------------------------------------------
Fri Jul 13 08:25:47 UTC 2018 - bjorn.lie@gmail.com
- Update to version 1.3.1:
+ Various bugfixes.
-------------------------------------------------------------------
Thu Jul 12 20:31:52 UTC 2018 - jengelh@inai.de
- Update summaries.
-------------------------------------------------------------------
Fri Jun 29 16:06:41 UTC 2018 - bjorn.lie@gmail.com
- Add baselibs.conf: build 32bit support libs.
-------------------------------------------------------------------
Thu May 31 09:17:36 UTC 2018 - bjorn.lie@gmail.com
- Update Summary and Descriptions fields.
-------------------------------------------------------------------
Mon May 21 11:47:59 UTC 2018 - bjorn.lie@gmail.com
- Inital packaging.