A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/Haivision/srt/releases/tag/v1.5.0 below:

Release v1.5.0 · Haivision/srt · GitHub

Release Notes API / ABI / Integration Changes

API/ABI version: 1.5.

New Features and Improvements 1. Connection Bonding is no Longer Experimental

While this feature remains disabled by default, you can use the ENABLE_BONDING=ON build option to activate it.

Similar to SMPTE-2022-7 over managed networks, Connection Bonding adds seamless stream protection and hitless failover to the SRT protocol. This technology relies on more than one IP network path to prevent disruption to live video streams in the event of network congestion or outages, maintaining continuity of service.

This is accomplished using the socket groups introduced in the current release. The general concept of socket groups means having a group that contains multiple sockets, where one operation for sending one data signal is applied to the group. Single sockets inside the group will take over this operation and do what is necessary to deliver the signal to the receiver.

Two modes are supported:

Improvements and bug fixes since v1.4.4:

2. New Implementation of the Receiver Buffer with Behavior and Code Improvements 3. Packet Pacing and Live Congestion Control Improvements 4. Other Improvements Important Bug Fixes Build Documentation Acknowledgements

Kudos to Guangqing Chen and Zhili Zhao for their valuable contributions to this release.

Changelog Click to expand/collapse API

49fb18e Fixed ABI compatibility issue with bonding enabled and disabled.
e208d9f SRT_SOCKGROUPDATA typedef closer to the place it is needed in.
64d7f69 SRT version raised to 1.5.0.
c6b95f5 Removed unused srt_group_configure API function.
f82b131 Dummy bonding API version if ENABLE_BONDING is disabled.
78b4d65 Drop EXPERIMENTAL from ENABLE_EXPERIMENTAL_BONDING
042df34 Removed balancing and multicast group types (#2323)
94ff168 Removed unused srt_include(..) and srt_exclude(..) API functions for unimplemented externally managed groups.
1c6e1ce Deprecated srt_rejectreason_msg[]. (#2312)
2fb3c9a Use the SOCKET type for any WIN32 environment (#2152)

Core Functionality

8d1643e Fixed warning on SRT_ATTR_REQUIRES. SAL supports only one argument, added SRT_ATTR_REQUIRES2.
5247d91 Fixed CUDT::packUniqueData return value. Truncation from 'int' to 'bool'.
64846cc Fixed build with the old receiver buffer.
7bfdba0 Fixed setting group type on a socket accepted w/o listener callback.
116c554 Have SRT_SocketOptionObject even if bonding is disabled.
990b75a Moved bonding API to the end of srt.h
8901838 Moved CWindow inside the srt namespace.
9761063 Moved sockaddr_any inside the srt namespace.
909c8fb Moved CCache inside the srt namespace.
3fbb917 Placed CHandshake inside the srt namespace.
9ba7e64 Moved CEpoll, CUDTException, etc. into the srt namespace
681b363 Placed CSndLossList and CRcvLossList inside the srt namespace.
e926653 Fixed minor compiler warnings in RCV buffer
9b3e3c1 Fixed ENABLE_HAICRYPT_LOGGING (#2315).
477530f Drop packets in the new RCV buffer by group RCV base (#2207)
69284ce Fixed updating new RCV buffer on ISN change. (#2309)
c76f43d fix CRcvBufferNew::m_iStartSeqNo was not sync in group
48d1364 Added explicit to the Scoped and UniqueLock constructors
992d816 Check if CryptoControl exists in craftKmResponse. Fixes crash #2231.
591e320 Clean up the CUDT processConnectRequest(..) function. Update listener write-ready only after the new connection. Was changed in #1650, but must not be done at all (see #1831).
911de75 Fix name conflict with md5 functions (#2301)
c0da44e FixedArray: use a function to throw an exception.
29d56be Define an iterator for the srt::FixedArray.
1cd39b9 Show RCV buffer timespan instead of TSBPD ready span.
cc62e98 Fixed CRcvBufferNew::strFullnessState(..). Possible null pointer object call after if (m_entries[iLastPos].pUnit). Show the first valid packet instead of the very first position in the buffer.
6c8f0f1 fix volatile in group.h
1f8c1e9 prefer to use std::atomic if available
fec9a40 fix m_iLastSchedSeqNo
8f22c96 CSndUList use notify_one() instead of notify_all()
af6ff16 Downgrade ACKACK reorder log to Note
1dacc2a Remove declaration srt_logger_config again
4c08c3d Move srt_rejectreason_str implementation to srt_c_api
a68683a haicrypt_log.cpp include its header file
f1ec270 Remove duplicated includes
5bf0cc1 Remove redundant ';' after '}'
8d1a722 Applied clang-format on api.h and api.cpp.
ebbac9a fix CRcvBufferNew::m_bPeerRexmitFlag.
024e9c0 Fix extraction seq with scheduling seq in group. (#2258)
3975428 fix unrecoverable initial packets lose in group message mode
fe5debb Source rate estimate: ignore old samples
589d36e Backup group: derive source rate estimate from an active link on idle member activation
daf94c4 Moved source rate estimation logic to CRateEstimator from CSndBuffer
a60d98a Protect RCV buffer access from socket stats
4b70a63 Group option SRTO_GROUPMINSTABLETIMEO (#2081)
f15d300 Fix build for FreeBSD kernel (#2255)
7d77d41 SND Drop Request: ignore if TLPktDrop and TSBPD are enabled to reduce false drops when a packet can still arrive later. It will be dropped anyway as too late.
5adc2db RCV don't drop packets on SND drop request if they already exist in the buffer and can be read (full message is available).
81a31da Fix RCV drop count when dropping on SND DROP REQ. Extended RCVBUF trace logging.
0c5bf7a Decreased SND drop request log level to Debug
c885ed1 Group::updateReadState() support out-of-order messages
650dbe6 Fixed rcvDropTooLateUpTo calls. Broken after merging #2218
8f68f61 refactor Group::recv() base on new rcv buffer to support message mode
ac854f2 Fixed setting the peer rexmit flag on the RCV buffer
409d363 Improved the condition for smoothed_rtt recalculation, bidirectional transmission
08e6482 SND prioritize original packets in live configuration
ef11d26 SND pacing: amendment on probing packets
912463b Fix MaxBW limitation. Don't reschedule sending (keep pacing) on - SND drop, - NAK received - retransmission timeout.
308cd30 Added missing lock to CSndBuffer::readData
5773901 Use SND buffer delay for TL Packet Drop instead of the timespan between the first and the last packet in the buffer.
a31e618 Refactoring: added packUniqueData(..) func
8518558 fixed missing m_RcvBufferLock in processCtrlDropReq()
8c05c70 Fix CRcvBufferNew::dropMessage() (#2222)
24bf666 CRcvBufferNew::dropUpTo() able to drop non-empty units (#2221)
31de8aa Add CRcvBufferNew::dropUnitInPos(..) (#2226)
8afcdbe fix m_iMaxPosInc was not updated in releaseNextFillerEntries()
258167d replace ++ with incPos() in getTimespan_ms()
3d26644 Fixed build with the old RCV buffer
1111cbd Fixed RCV TL drop of packets dropped by SND (#2214)
5f7bc23 Refactored the core stats structure (#2212).
3558cd0 Fix GC stop handling (#1950)
26678fe Fixed the issue with RTT in case of bidirectional transmission introduced when adding atomic types
ae787bf Fix rtt estimate in bidirectional mode
c8cb38f Fix m_GroupOf->updateReadState() in message mode (#2204)
1d808c1 fix recv_WaitForReadReady() return empty
c9a8db7 Fix consistency of packet seqno in CRcvLossList (#2195)
244d2f4 Fix deadlock introduced by CUDTGroup::setOpt()
8b68157 fix CRcvLossList::m_iTail not reset to -1
e5a1179 Fix UDP RCVBUF and SNDBUF on Solaris (#2162).
6ae42c6 Drop msg by TTL even if hasn't ever been sent (#2068)
b99e41c SND buffer: operate either origin or source time, not both.
33c8e49 checkNeedDrop returns the congestion state
5f3cd06 Fixed std::runtime_error usage (use C++03 version instead of C++11) (#2184)
e4a1d2b Fixed read-ready epoll event in stream (file) mode. Only the new RCV buffer (PR #1964) is affected.
ec571a0 Fixed new RCV buffer in stream mode (reading fractional packets)
3c3824f Removed unused SRT_DEBUG_TSBPD_DRIFT
f11b026 fix listener's cookie check (#2176).
276a841 New receiver buffer implementation
3f2945c Reduced nesting of checkBrokenSockets()
c1fdb61 Changed lock order in bstats (#2168)
489c5fc Use Mersenne Twister engine with C++11 instead of the std::random_device. Fixed max value probability for the default (C++03) rand().
86d1eb2 Added CUDT::isRcvReady() with mutex lock. Added CUDT::getAvailRcvBufferSize() function with and without mutex lock.
2031b2c Do not set peerAddress in connectIn(..). CUDT::startConnect(..) sets it itself.
790b783 Small refax of CUDTUnited::channelSettingsMatch(..)
5b0811c Replaced global CUDTUnited with static local variable (#1913)
0c604c1 Moved SND and RCV buffers into the 'srt' namespace

Unit Tests

b8e788a Replace volatile with atomic
f372356 Use std::random_device in Transmission.FileUpload
e0aaa44 Minor improvement of the TestSocketOptions
01ef57a Added unit tests for RCV buffer in stream mode
427cece Receiver buffer tests
8f2d318 Refactored RCV buffer unit tests (#2170)
6e89639 Fixed async launch TestConnection.Multiple
8bcf30b More RCV buffer unit tests
fa1c373 Added check for a minimal value of the uniform distribution.
ac6ec62 Improved the TestConnection.Multiple test. Using std::array. Try to bind SRT directly instead of UDP.
4f7f999 Remove duplicated includes

Build Scripts (CMake, etc.)

060c0d1 Fix OpenSSL static linking error (#2369).
ccb47af Fixed building with deprecated ENABLE_EXPERIMENTAL_BONDING
dfb9c39 Do not install examples and testing apps
73e2623 Synchronized changes in configure script with CMake (#2353)
4f863ea Added mbedTLS build to Travis CI (#2326)
ea6448f Added ENABLE_BONDING status message in cmake output.
886843e Sendfile and recvfile examples don't need C++11.
0b47e6f Sendfile and recvfile examples don't need logsupport.
c8726ac Fixed building examples with C++11 disabled (#2319)
1ddeaec build openssl share library without version extesion for android.
277fa58 Travis MinGW job now uses OpenSSL 1.1.1g
2aa90bb CMake: fix system library names for MinGW (#2219)
d9b7988 Add ShowProjectConfig CMake Module. (#2161)
a5b61db Fixed missing ws2_32 lib in Windows installer (#2169)
2da63dc Add Android build action to GitHub CI (#2149)
15f33d4 Fix build with default configuration for GCC <4.7 (#2160)
6886bfa Add enable-experimental-bonding opt in configure
73b49fe Support NDK r23, OpenSSL v3 (#2148)

Sample Applications

031603f Removed calls to non-existing srt_group_configure() function.
d618c30 Clean up sendfile and recvfile examples.
a77b3ae Replace volatile with atomic
fb494e4 Remove redundant ';' after '}'
40b5129 Added support for adapter parameter in caller mode (#2202)
ce2742b Split off stats writer from apputil.cpp (#2130)
1a2aa05 Print SRT version and clock type

Documentation

e8b713e Added Connection Bonding Quick Start documentation
04b7c00 Improved SRT project README
fba72ac Minor improvements to Connection Bonding documentation
30bd827 Fixed SRTO_LINGER default values.
63026dc Improved the access control document. (#2358)
f189601 Improved build and socket options description for v1.5.0 (#2355)
0bbc62d srt_bind_acquire requires a not connected UDP socket (#2342)
a58af53 Fixed retransmitalgo naming plus added the link for Medium article.
66692ff Added an example for srt_getsockname API function.
06cfb79 Changed the name from RFC to Internet Draft plus updated the links
9f17bd6 Fixed wrong weight type in SRT_SOCKGROUPCONFIG.
48ead24 Fixed a typo in anchor link (#2329)
45acb74 Updated bonding API functions doc on return errors.
7b2311f Added note on versioning (#2311)
f1a6415 Fixed srt_bstats return type description
badf401 Fixed SRT version in srt-live-transmit.md
9b95ffc Reworked the build options document. (#2247)
5b7ac45 srt-live-transmit.md: add ffplay, ffprobe examples (#2242)
cf34d69 Updated options description for srt-live-transmit (#2209)
545700f Added and updated description of useful test applications (#2191)


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4