srs/trunk/src
why 57e1622e81
WebRTC: Fix NACK recovered packets not being added to receive queue. v7.0.78 (#4467)
Fixes a bug in WebRTC NACK packet recovery mechanism where recovered
packets were being discarded instead of processed.

In `SrsRtcRecvTrack::on_nack()`, when a retransmitted packet arrived
(found in NACK receiver), the method would:
1.  Remove the packet from NACK receiver (correct)
2.  Return early without adding the packet to RTP queue (BUG)

This caused recovered packets to be lost, defeating the purpose of the
NACK mechanism and potentially causing media quality issues.

Restructured the control flow in `on_nack()` to ensure both new and
recovered packets reach the packet insertion logic:

- **Before**: Early return for recovered packets → packets discarded
- **After**: Conditional NACK management + unified packet processing →
all packets queued

Closes #3820

---------

Co-authored-by: Haibo Chen <495810242@qq.com>
Co-authored-by: OSSRS-AI <winlinam@gmail.com>
2025-09-04 08:07:36 -04:00
..
app WebRTC: Fix NACK recovered packets not being added to receive queue. v7.0.78 (#4467) 2025-09-04 08:07:36 -04:00
core WebRTC: Fix NACK recovered packets not being added to receive queue. v7.0.78 (#4467) 2025-09-04 08:07:36 -04:00
kernel Refine RTMP common message. 2025-09-01 18:51:20 -04:00
main AI: Extract shared components and improve SRS server architecture. v7.0.70 (#4461) 2025-08-31 19:14:34 -04:00
protocol Upgrade HTTP parser from http-parser to llhttp. v7.0.77 (#4469) 2025-09-03 20:12:59 -04:00
utest WebRTC: Fix NACK recovered packets not being added to receive queue. v7.0.78 (#4467) 2025-09-04 08:07:36 -04:00