Inform VideoEncoder of negotiated capabilities

After this CL lands, an announcement will be made to
discuss-webrtc about the deprecation of one version
of InitEncode().

Bug: webrtc:10720
Change-Id: Ib992af0272bbb16ae16ef7e69491f365702d179e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/140884
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28224}
diff --git a/media/engine/encoder_simulcast_proxy_unittest.cc b/media/engine/encoder_simulcast_proxy_unittest.cc
index daa4d3e..f52575a 100644
--- a/media/engine/encoder_simulcast_proxy_unittest.cc
+++ b/media/engine/encoder_simulcast_proxy_unittest.cc
@@ -14,6 +14,7 @@
 
 #include "api/test/mock_video_encoder.h"
 #include "api/test/mock_video_encoder_factory.h"
+#include "api/video_codecs/video_encoder.h"
 #include "api/video_codecs/vp8_temporal_layers.h"
 #include "modules/video_coding/include/video_codec_interface.h"
 #include "test/gmock.h"
@@ -22,6 +23,10 @@
 
 namespace webrtc {
 namespace testing {
+namespace {
+const VideoEncoder::Capabilities kCapabilities(false);
+const VideoEncoder::Settings kSettings(kCapabilities, 4, 1200);
+}  // namespace
 
 using ::testing::_;
 using ::testing::NiceMock;
@@ -62,7 +67,7 @@
   NiceMock<MockVideoEncoder>* mock_encoder = new NiceMock<MockVideoEncoder>();
   NiceMock<MockVideoEncoderFactory> simulcast_factory;
 
-  EXPECT_CALL(*mock_encoder, InitEncode(_, _, _))
+  EXPECT_CALL(*mock_encoder, InitEncode(_, _))
       .WillOnce(Return(WEBRTC_VIDEO_CODEC_OK));
   VideoEncoder::EncoderInfo encoder_info;
   encoder_info.implementation_name = kImplementationName;
@@ -76,7 +81,7 @@
   EncoderSimulcastProxy simulcast_enabled_proxy(&simulcast_factory,
                                                 SdpVideoFormat("VP8"));
   EXPECT_EQ(WEBRTC_VIDEO_CODEC_OK,
-            simulcast_enabled_proxy.InitEncode(&codec_settings, 4, 1200));
+            simulcast_enabled_proxy.InitEncode(&codec_settings, kSettings));
   EXPECT_EQ(kImplementationName,
             simulcast_enabled_proxy.GetEncoderInfo().implementation_name);
 
@@ -86,23 +91,23 @@
   NiceMock<MockVideoEncoder>* mock_encoder4 = new NiceMock<MockVideoEncoder>();
   NiceMock<MockVideoEncoderFactory> nonsimulcast_factory;
 
-  EXPECT_CALL(*mock_encoder1, InitEncode(_, _, _))
+  EXPECT_CALL(*mock_encoder1, InitEncode(_, _))
       .WillOnce(
           Return(WEBRTC_VIDEO_CODEC_ERR_SIMULCAST_PARAMETERS_NOT_SUPPORTED));
   EXPECT_CALL(*mock_encoder1, GetEncoderInfo())
       .WillRepeatedly(Return(encoder_info));
 
-  EXPECT_CALL(*mock_encoder2, InitEncode(_, _, _))
+  EXPECT_CALL(*mock_encoder2, InitEncode(_, _))
       .WillOnce(Return(WEBRTC_VIDEO_CODEC_OK));
   EXPECT_CALL(*mock_encoder2, GetEncoderInfo())
       .WillRepeatedly(Return(encoder_info));
 
-  EXPECT_CALL(*mock_encoder3, InitEncode(_, _, _))
+  EXPECT_CALL(*mock_encoder3, InitEncode(_, _))
       .WillOnce(Return(WEBRTC_VIDEO_CODEC_OK));
   EXPECT_CALL(*mock_encoder3, GetEncoderInfo())
       .WillRepeatedly(Return(encoder_info));
 
-  EXPECT_CALL(*mock_encoder4, InitEncode(_, _, _))
+  EXPECT_CALL(*mock_encoder4, InitEncode(_, _))
       .WillOnce(Return(WEBRTC_VIDEO_CODEC_OK));
   EXPECT_CALL(*mock_encoder4, GetEncoderInfo())
       .WillRepeatedly(Return(encoder_info));
@@ -117,7 +122,7 @@
   EncoderSimulcastProxy simulcast_disabled_proxy(&nonsimulcast_factory,
                                                  SdpVideoFormat("VP8"));
   EXPECT_EQ(WEBRTC_VIDEO_CODEC_OK,
-            simulcast_disabled_proxy.InitEncode(&codec_settings, 4, 1200));
+            simulcast_disabled_proxy.InitEncode(&codec_settings, kSettings));
   EXPECT_EQ(kSimulcastAdaptedImplementationName,
             simulcast_disabled_proxy.GetEncoderInfo().implementation_name);
 
@@ -130,7 +135,7 @@
   NiceMock<MockVideoEncoder>* mock_encoder = new NiceMock<MockVideoEncoder>();
   NiceMock<MockVideoEncoderFactory> simulcast_factory;
 
-  EXPECT_CALL(*mock_encoder, InitEncode(_, _, _))
+  EXPECT_CALL(*mock_encoder, InitEncode(_, _))
       .WillOnce(Return(WEBRTC_VIDEO_CODEC_OK));
 
   EXPECT_CALL(simulcast_factory, CreateVideoEncoderProxy(_))
@@ -142,7 +147,7 @@
   VideoCodec codec_settings;
   webrtc::test::CodecSettings(kVideoCodecVP8, &codec_settings);
   EXPECT_EQ(WEBRTC_VIDEO_CODEC_OK,
-            simulcast_enabled_proxy.InitEncode(&codec_settings, 4, 1200));
+            simulcast_enabled_proxy.InitEncode(&codec_settings, kSettings));
 
   VideoEncoder::EncoderInfo info;
   info.has_trusted_rate_controller = true;
@@ -156,7 +161,7 @@
   NiceMock<MockVideoEncoder>* mock_encoder = new NiceMock<MockVideoEncoder>();
   NiceMock<MockVideoEncoderFactory> simulcast_factory;
 
-  EXPECT_CALL(*mock_encoder, InitEncode(_, _, _))
+  EXPECT_CALL(*mock_encoder, InitEncode(_, _))
       .WillOnce(Return(WEBRTC_VIDEO_CODEC_OK));
 
   EXPECT_CALL(simulcast_factory, CreateVideoEncoderProxy(_))
@@ -168,7 +173,7 @@
   VideoCodec codec_settings;
   webrtc::test::CodecSettings(kVideoCodecVP8, &codec_settings);
   EXPECT_EQ(WEBRTC_VIDEO_CODEC_OK,
-            simulcast_enabled_proxy.InitEncode(&codec_settings, 4, 1200));
+            simulcast_enabled_proxy.InitEncode(&codec_settings, kSettings));
 
   VideoEncoder::EncoderInfo info;
 
@@ -186,7 +191,7 @@
   NiceMock<MockVideoEncoder>* mock_encoder = new NiceMock<MockVideoEncoder>();
   NiceMock<MockVideoEncoderFactory> simulcast_factory;
 
-  EXPECT_CALL(*mock_encoder, InitEncode(_, _, _))
+  EXPECT_CALL(*mock_encoder, InitEncode(_, _))
       .WillOnce(Return(WEBRTC_VIDEO_CODEC_OK));
 
   EXPECT_CALL(simulcast_factory, CreateVideoEncoderProxy(_))
@@ -198,7 +203,7 @@
   VideoCodec codec_settings;
   webrtc::test::CodecSettings(kVideoCodecVP8, &codec_settings);
   EXPECT_EQ(WEBRTC_VIDEO_CODEC_OK,
-            simulcast_enabled_proxy.InitEncode(&codec_settings, 4, 1200));
+            simulcast_enabled_proxy.InitEncode(&codec_settings, kSettings));
 
   VideoEncoder::EncoderInfo info;