Hi,
I’m in need of a bit of help with some unexpected debug messages that are happening in mediasoup, and I’d like to make sure they won’t be harming the connection quality:
My app creates a WebRtcTransport which then has a video Consumer (from another webrtc transport which has a video Producer). No simulcast is being used, so types are all “simple”.
Not sure if relevant, but if I log the Producer’s RtpParameters, it has an encodings array like this:
Producer RtpParameters:
{
// ...
"encodings": [
{
"ssrc": 3312219837,
"rtx": {
"ssrc": 793727772
},
"dtx": false
}
],
"rtcp": {
"cname": "Iz0kr3XInDNYudpv",
"reducedSize": true,
"mux": "rtcp-mux"
}
}
Similarly, logging the Consumer in question (all Consumers, really) has an encoding for the video and another one for the RTX:
Consumer RtpParameters:
{
// ...
"encodings": [
{
"ssrc": 160973207,
"rtx": {
"ssrc": 160973208
}
}
],
"rtcp": {
"cname": "Iz0kr3XInDNYudpv",
"reducedSize": true,
"mux": true
}
From this Consumer, an SDP Offer is generated, to be sent to a receiver browser. The video SSRC lines in this generated SDP look like this:
a=ssrc:160973207 cname:Iz0kr3XInDNYudpv
a=ssrc:160973208 cname:Iz0kr3XInDNYudpv
a=ssrc-group:FID 160973207 160973208
a=rtcp-mux
a=rtcp-rsize
Then, I’m constantly seeing these debug messages coming from mediasoup:
mediasoup:Channel [pid:5497] RTC::Transport::HandleRtcpPacket() | no Consumer found for received Receiver Report [ssrc:160973208] +29ms
mediasoup:Channel [pid:5497] RTC::Transport::HandleRtcpPacket() | no Consumer found for received Receiver Report [ssrc:160973208] +201ms
mediasoup:Channel [pid:5497] RTC::Transport::HandleRtcpPacket() | no Consumer found for received Receiver Report [ssrc:160973208] +34ms
mediasoup:Channel [pid:5497] RTC::Transport::HandleRtcpPacket() | no Consumer found for received Receiver Report [ssrc:160973208] +196ms
(lots more)
these repeat approx. every 500 to 1000ms, so I guess whenever Chrome sends an RR to mediasoup, and I’ve noticed it happens especially when there is packet loss bursts (introduced with a tool).
The only thing I can see that might be wrong here is that the SDP Offer generated from mediasoup for Chrome contains a=ssrc cname
fields, but none of the a=ssrc msid
, a=ssrc mslabel
and a=ssrc label
that SDP Offers from Chrome usually contain.
However, I don’t see how that would confuse mediasoup when receiving the RR packets from Chrome, seeing that the lookup is done by SSRC and in fact, the log message does mention the correct SSRC number (160973208) as present in both the Consumer params and the SDP Offer sent to the receiver Chrome.
Is there any obvious mistake being done here? Some tip that could help me work this issue out?