Skip to content

v1.4.1

Compare
Choose a tag to compare
@maxsharabayko maxsharabayko released this 09 Dec 09:43
· 1258 commits to master since this release

Release Notes

This is the maintenance and bugfix release that addresses certain issues introduced in v1.4.0 as well as some long existed issues.

Improvements

PR #961: Improved periodic NAK report timing
PR #942: Use monotonic clock in CTimer::sleepto()
PR #941: Initial reorder tolerance set to maximum value (SRTO_LOSSMAXTTL)
PR #941: Added pktReorderTolerance to stats
PR #936: Use busy wait only to refine below 1 ms
PR #931: Added SRTO_LOSSMAXTTL to srt_getopt()
PR #802: Update SND loss list on lite ACK

Fixes

PR #980: Fixed catching exception from CUDTUnited::connect_complete()
PR #965: Fixed missing vertical FEC/CTL packet
PR #938: Fixed bandwidth measurement on non-monotonic or retransmitted packets
PR #931: Fixed srt_getopt(...): optlen is not set in some cases.
PR #919: Fixed EPoll update_usock
PR #913: Fixed checkTimers interval (100ms -> 10 ms)
PR #896: Fixed SRT Stats backward compatibility (CBytePerfMon fields order)
PR #892: Fixed FEC crash when a large number of dropped packets occur
PR #891: Fixed FEC crash (access item out of range)
PR #888: Fixed FileCC crash. Prevented 0 pktsInFlight to be used in the calculation for loss percentage

Changelog

Click to expand/collapse

Core Functionality

31ffa4f Minor refactor of CSndLossList::insert()
f9ac379 Renamed CSndLossList::getLostSeq() to popLostSeq()
c1a1719 Removed connect_complete. (#980)
5683c0a Fixed: moved horizontal check before vertical to avoid skipping. Some log improvements
5aaff2a Refactored checkNAKTimer
53e179b Improved periodic NAK report timing
400994e Separated CC log area
db9dc76 Fixed BW measurement. handle non-monotonic or retransmitted packets. (#938)
8614c44 Minor CTimer::sleepto improvement. Replaced two if statements with a single one.
04dde1e Added lacking IF_HEAVY_LOGGING for logging off. Removed duplicated def
96103f7 Fixed repeated use of countBytes
be1b304 Added initialization to a debug-tracing variable
acdfe8e Use monotonic clock in CTimer::sleepto()
544f76c Added pktReorderTolerance to stats
65d8e10 Deleted CPerfMon struct typedef from srt.h
a3d94af Deleted perfmon function: deprecated and unused. Missed in PR #815.
4070ff3 Init reorder tolerance with maximum value. See #901.
2b34c21 Minor renaming to m_ullSchedTime_tk from m_ullSchedTime. And names of some other variables as well.
372b078 Use busy wait only to refine below 1 ms.
aaef22a Added more logging around delivery (#320)
81f9299 Added SRTO_LOSSMAXTTL to srt_getopt()
5f79089 Fixed srt_getopt(...): set optlen.
0f8e93e Fixed buggy update_usock (#919)
ad149df Added C++11 version of the against-value-to-function-cast error. Fixed some problems reported by gcc 8
aaff9d3 prevent compile if stack unwinding when exception handling is off in MSVC
f2ffe0e Fixed epoll local variables names. Local variables 'readfds' and 'writefds' shadows outer argument
3737230 CEPollDesc::m_iID is now initialized in the constructor
52b18e2 Fixed passing a constant set by reference
3a5ead0 Fixed checkTimers interval (100ms -> 10 ms)
3d5ffe2 Fix FEC crash for access container out of range
cc36fdb Applied clang-format on srtcore/core.cpp
c873733 Applied clang-format on srtcore/queue.cpp
e5d65a5 Renamed CUDTSocket::m_TimeStamp to m_ClosureTimeStamp
501e9b7 Renamed timestamp to timestamp_us in CRcvBuffer::getTsbPdTimeBase(uint32_t timestamp_us)
8e025fc Refactored CRcvBuffer::isRcvDataReady(...)
d7da7f5 Refactored CSndQueue::worker(...) Deleted unused m_ExitCond from CSndQueue and CRcvQueue
d389ff6 move filter fields to end of CBytePerfMon to make CBytePerfMon backward compatible
82158b9 Update sender's loss list on lite ACK
7870c8a Split m_AckLock into two: m_RecvAckLock and m_RcvBufferLock
94eb4be Small refactoring of processCtrlAck() mainly to avoid confusion between ack_seqno and ackdata_seqno
3151fcc Added processCtrlAck() function
0a22eb9 Renamed CUDT::unlose(from, to) to CUDT::dropFromLossLists(from, to)
c774cbe Catch an exception by reference
737d47e Minor refactoring of CRcvBuffer::getRcvDataSize()
ef8ba13 Prevented 0 pktsInFlight to be used in calculation for loss percentage (#888)
c39b88a Fixed in FEC crash when a large number of dropped packets occur causi… (#892)
fe2858d Reducing complexity of updateConnStatus (CRendezvousQueue::updateConnStatus)

Unit Tests

65417d2 Check init reorder tolerance is set to max
cd04144 Added a test case for SRTO_LOSSMAXTTL. Checks #735.
7522131 Renamed testing application to test-srt
5cb219d Renamed strict enc tests to enforced enc

Sample Applications

da97190 Cope with systems without IP_ADD_SOURCE_MEMBERSHIP
3c16200 Removed parameter for ConfigurePre()
ffb8039 Fix broken TcpMedium of srt-tunnel in windows & prevent SIG_PIPE
4f72a51 Example live receiver (#496)
1df240e Improve examples (#890)
acb03c0 Merged collapsible "if" statements

Build scripts (CMake, etc.)

9e52606 Fix build on GNU/Hurd
b6f9618 add GNU system build matching
63d4f76 Bump version to 1.4.1
3838fbf Fixed C deprecated enum support. Added C++03 support for examples (#997)
596c7fc Fixed: old cmake wrong syntax for MATCH
53cbe73 Revert "Fixed deprecated option declarations to work in C mode"
9302dad Fixed deprecated option declarations to work in C mode
46837e0 Fix TravisCI OSX build
fd9b8ee Removed version.h direct include
9258efc Fixed env in travis
32d9fa9 Travis now has -DENABLE_LOGGING=OFF to the test cases
291bdf2 Set metadata in SRT DLL on Windows (#639)
75bd518 pthread library search for home-made ones
cf5a6b3 show USE_ENCLIB in cmake-gui. Add find mbedtls script.
0e36bf2 Add 32-bit Windows and consume Pthreads from NuGet (#614)

Documentation

943b9f7 remove duplicate description for SRTO_KMPREANNOUNCE
b905e95 Created issue templates (#949)
94e1ac6 Updated options recommendation info (#860)
325dc3f Added description for build options. (#886)
2bcc08b Add short description of access control.
b9a4d1f fix style, format and grammar/spell of build instruction for windows.
eb579df improve build instruction for Windows.
6bc7e6e Added description of SRT perf statistics (#897)
84b56ca Provide smoke test example