Negotiate use of RTCP loss notification feedback (LNTF)
When the LossNotifications field trial is in effect, LNTF should be offered/accepted in the SDP message, not assumed to be configured on both sides equally. Bug: webrtc:10662 Change-Id: Ibd827779bd301821cbb4196857f6baebfc9e7dc2 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138079 Commit-Queue: Elad Alon <eladalon@webrtc.org> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Reviewed-by: Niels Moller <nisse@webrtc.org> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Cr-Commit-Position: refs/heads/master@{#28056}
This commit is contained in:
@ -45,6 +45,7 @@ VideoReceiveStream::Config ParseVideoReceiveStreamJsonConfig(
|
||||
: RtcpMode::kReducedSize;
|
||||
receive_config.rtp.remb = json["rtp"]["remb"].asBool();
|
||||
receive_config.rtp.transport_cc = json["rtp"]["transport_cc"].asBool();
|
||||
receive_config.rtp.lntf.enabled = json["rtp"]["lntf"]["enabled"].asInt64();
|
||||
receive_config.rtp.nack.rtp_history_ms =
|
||||
json["rtp"]["nack"]["rtp_history_ms"].asInt64();
|
||||
receive_config.rtp.ulpfec_payload_type =
|
||||
@ -94,6 +95,7 @@ Json::Value GenerateVideoReceiveStreamJsonConfig(
|
||||
: "RtcpMode::kReducedSize";
|
||||
rtp_json["remb"] = config.rtp.remb;
|
||||
rtp_json["transport_cc"] = config.rtp.transport_cc;
|
||||
rtp_json["lntf"]["enabled"] = config.rtp.lntf.enabled;
|
||||
rtp_json["nack"]["rtp_history_ms"] = config.rtp.nack.rtp_history_ms;
|
||||
rtp_json["ulpfec_payload_type"] = config.rtp.ulpfec_payload_type;
|
||||
rtp_json["red_payload_type"] = config.rtp.red_payload_type;
|
||||
|
||||
@ -31,6 +31,7 @@ TEST(CallConfigUtils, MarshalUnmarshalProcessSameObject) {
|
||||
recv_config.rtp.rtcp_mode = RtcpMode::kCompound;
|
||||
recv_config.rtp.remb = false;
|
||||
recv_config.rtp.transport_cc = false;
|
||||
recv_config.rtp.lntf.enabled = false;
|
||||
recv_config.rtp.nack.rtp_history_ms = 150;
|
||||
recv_config.rtp.red_payload_type = 50;
|
||||
recv_config.rtp.rtx_ssrc = 1000;
|
||||
@ -54,6 +55,7 @@ TEST(CallConfigUtils, MarshalUnmarshalProcessSameObject) {
|
||||
EXPECT_EQ(recv_config.rtp.rtcp_mode, unmarshaled_config.rtp.rtcp_mode);
|
||||
EXPECT_EQ(recv_config.rtp.remb, unmarshaled_config.rtp.remb);
|
||||
EXPECT_EQ(recv_config.rtp.transport_cc, unmarshaled_config.rtp.transport_cc);
|
||||
EXPECT_EQ(recv_config.rtp.lntf.enabled, unmarshaled_config.rtp.lntf.enabled);
|
||||
EXPECT_EQ(recv_config.rtp.nack.rtp_history_ms,
|
||||
unmarshaled_config.rtp.nack.rtp_history_ms);
|
||||
EXPECT_EQ(recv_config.rtp.red_payload_type,
|
||||
|
||||
@ -112,6 +112,9 @@
|
||||
}
|
||||
],
|
||||
"local_ssrc" : 1,
|
||||
"lntf" : {
|
||||
"enabled": false,
|
||||
},
|
||||
"nack" : {
|
||||
"rtp_history_ms" : 1000
|
||||
},
|
||||
|
||||
@ -36,6 +36,9 @@
|
||||
"rtp" : {
|
||||
"extensions" : [],
|
||||
"local_ssrc" : 1,
|
||||
"lntf" : {
|
||||
"enabled": false,
|
||||
},
|
||||
"nack" : {
|
||||
"rtp_history_ms" : 1000
|
||||
},
|
||||
|
||||
@ -36,6 +36,9 @@
|
||||
"rtp" : {
|
||||
"extensions" : [],
|
||||
"local_ssrc" : 1,
|
||||
"lntf" : {
|
||||
"enabled": false,
|
||||
},
|
||||
"nack" : {
|
||||
"rtp_history_ms" : 1000
|
||||
},
|
||||
|
||||
@ -10,6 +10,9 @@
|
||||
"rtp" : {
|
||||
"extensions" : [],
|
||||
"local_ssrc" : 7331,
|
||||
"lntf" : {
|
||||
"enabled": false,
|
||||
},
|
||||
"nack" : {
|
||||
"rtp_history_ms" : 1000
|
||||
},
|
||||
|
||||
@ -47,6 +47,9 @@
|
||||
}
|
||||
],
|
||||
"local_ssrc" : 1,
|
||||
"lntf" : {
|
||||
"enabled": false,
|
||||
},
|
||||
"nack" : {
|
||||
"rtp_history_ms" : 1000
|
||||
},
|
||||
|
||||
@ -10,6 +10,9 @@
|
||||
"rtp" : {
|
||||
"extensions" : [],
|
||||
"local_ssrc" : 7331,
|
||||
"lntf" : {
|
||||
"enabled": false,
|
||||
},
|
||||
"nack" : {
|
||||
"rtp_history_ms" : 1000
|
||||
},
|
||||
|
||||
@ -52,6 +52,9 @@
|
||||
}
|
||||
],
|
||||
"local_ssrc" : 1,
|
||||
"lntf" : {
|
||||
"enabled": false,
|
||||
},
|
||||
"nack" : {
|
||||
"rtp_history_ms" : 1000
|
||||
},
|
||||
|
||||
@ -31,6 +31,7 @@ void FuzzOneInput(const uint8_t* data, size_t size) {
|
||||
vp8_config.rtp.transport_cc = true;
|
||||
vp8_config.rtp.remb = true;
|
||||
vp8_config.rtp.nack.rtp_history_ms = 1000;
|
||||
vp8_config.rtp.lntf.enabled = true;
|
||||
|
||||
std::vector<VideoReceiveStream::Config> replay_configs;
|
||||
replay_configs.push_back(std::move(vp8_config));
|
||||
|
||||
Reference in New Issue
Block a user