Continuing with the Kurento integration, with this pipeline:
Browser >--(WebRTC)--> mediasoup >--(RTP)--> Kurento (applies a filter)
|
Browser <--(WebRTC)--< mediasoup <--(RTP)--<--
In the lower branch, mediasoup receives RTP from Kurento. On the Kurento side, we sent our SDP Offer and Kurento replied with this Answer:
v=0
o=- 3784038970 3784038970 IN IP4 192.168.1.19
s=Kurento Media Server
c=IN IP4 192.168.1.19
t=0 0
m=video 2200 RTP/AVPF 96
a=sendonly
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=ssrc:2868176879 cname:user3008311439@host-6710c6df
a=rtcp:2201
All these fields are parsed and used to build an RtpSendParameters.
On the mediasoup side, a PlainRtpTransport is set up and produce()
is called with those rtpParameters
:
kmsRtpSendParameters: {
"mid": null,
"codecs": [
{
"mimeType": "video/VP8",
"clockRate": 90000,
"payloadType": 96,
"rtcpFeedback": [
{
"type": "goog-remb"
},
{
"type": "ccm",
"parameter": "fir"
},
{
"type": "nack"
},
{
"type": "nack",
"parameter": "pli"
}
],
"parameters": {}
}
],
"headerExtensions": [],
"encodings": [
{
"ssrc": 2868176879
}
],
"rtcp": {
"cname": "user3008311439@host-6710c6df",
"reducedSize": false
}
}
There is no mention of RTCP Extended Report support on the producer’s RtpSendParameters, but still some RTCP-XR are finding their way to Kurento (which from the underlying GStreamer library, prints a warning each and every time).
They appear in Wireshark as Receiver Report - Extended report (RFC 3611)
, and don’t seem to come from the browser, as I can only see them going from mediasoup to Kurento.
Is it possible to enforce that the producer does not send these RTCP-XR packets?