ultravideo / uvgRTP

An open-source library for RTP/SRTP media delivery
BSD 2-Clause "Simplified" License
325 stars 92 forks source link

RR lost frames drops to 0 #154

Closed wowaser closed 2 years ago

wowaser commented 2 years ago

Hello,

I have a hook for RTCP receiver reports in my program. Here is a simplified version:

void rtcpHandler::receiverRTCPHook(std::shared_ptr<uvgrtp::frame::rtcp_receiver_report> report)
{
    for (auto& block : report->report_blocks) {
        uint32_t lost = block.lost;
        std::cout << "rtcp report lost: " << lost << "\n";
    }
}

I introduce packet loss into my program with clumsy (https://jagt.github.io/clumsy/download.html)

If I keep running the program with consistent packet loss for a couple of minutes, the block.lost becomes 0 and never recovers, regardless of packet loss situation. I have the latest uvg version, but this bug has been there for quite a while now image

wowaser commented 2 years ago

I found the bug, I will make a pull request at some point

wowaser commented 2 years ago

Solved by #156