[1.x] Incorrectly handled Compound Packets for RTCP mean that not all parts of the compound packet get correctly processed when recieved.
What version of Janus is this happening on?
1.4.0 and master
Have you tested a more recent version of Janus too?
No, but the code has not changed on master
Was this working before? No, this behavior was never supported but, it was not always a problem. Issue first noticed as part of this issue: https://github.com/meetecho/janus-gateway/issues/3641
Is there a gdb or libasan trace of the issue? No crash, nothing to trace
Additional context In general the fix has already been noted in this comment https://github.com/meetecho/janus-gateway/issues/3641#issuecomment-4352734981 but, no long term fix has been created yet.
Specifically the problem is we do handle compound packets, but we assume the context of the first message applies to all of them. as noted here: https://github.com/meetecho/janus-gateway/issues/3641#issuecomment-4352763479
The main reason this was found and brought up again is because the fix(https://github.com/meetecho/janus-gateway/pull/3642) to that issue caused round trip time measurements to break.
By checking the receiver SSRC first, #3642 makes every Sender Report route by its first report block — which names a stream the peer is receiving (one Janus sends), not the one it's sending — so on a bundled sendrecv PeerConnection the SR lands on the wrong medium, and silently, since that SSRC is a known medium and the sender-SSRC fallback never fires.
Source: meetecho/janus-gateway