Implement the encoding RtpParameter scaleResolutionDownBy

Support varies by codec, especially in the simulcast case, but using
the EncoderSimulcastProxy codec should fix this.

Bug: webrtc:10069
Change-Id: Idb6a5f400ffda1cdb139004f540961a9cf85d224
Reviewed-on: https://webrtc-review.googlesource.com/c/119400
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26449}
diff --git a/pc/rtp_sender.cc b/pc/rtp_sender.cc
index b97b876..d88b1fc 100644
--- a/pc/rtp_sender.cc
+++ b/pc/rtp_sender.cc
@@ -42,7 +42,6 @@
       encoding_params.fec.has_value() || encoding_params.rtx.has_value() ||
       encoding_params.dtx.has_value() || encoding_params.ptime.has_value() ||
       !encoding_params.rid.empty() ||
-      encoding_params.scale_resolution_down_by.has_value() ||
       encoding_params.scale_framerate_down_by.has_value() ||
       !encoding_params.dependency_rids.empty()) {
     return true;
@@ -290,7 +289,8 @@
         "Attempted to set an unimplemented parameter of RtpParameters.");
   }
   if (!media_channel_) {
-    auto result = cricket::ValidateRtpParameters(init_parameters_, parameters);
+    auto result = cricket::CheckRtpParametersInvalidModificationAndValues(
+        init_parameters_, parameters);
     if (result.ok()) {
       init_parameters_ = parameters;
     }
@@ -544,7 +544,8 @@
         "Attempted to set an unimplemented parameter of RtpParameters.");
   }
   if (!media_channel_) {
-    auto result = cricket::ValidateRtpParameters(init_parameters_, parameters);
+    auto result = cricket::CheckRtpParametersInvalidModificationAndValues(
+        init_parameters_, parameters);
     if (result.ok()) {
       init_parameters_ = parameters;
     }