Migrate objc video decoder wrapper from InitDecode to Configure

Bug: webrtc:13045
Change-Id: Iff00489a91379298ac90cd48eb1aea109abd9906
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228945
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34825}
diff --git a/sdk/objc/native/src/objc_video_decoder_factory.mm b/sdk/objc/native/src/objc_video_decoder_factory.mm
index ccaed74..d005d0e 100644
--- a/sdk/objc/native/src/objc_video_decoder_factory.mm
+++ b/sdk/objc/native/src/objc_video_decoder_factory.mm
@@ -37,8 +37,9 @@
   ObjCVideoDecoder(id<RTC_OBJC_TYPE(RTCVideoDecoder)> decoder)
       : decoder_(decoder), implementation_name_([decoder implementationName].stdString) {}
 
-  int32_t InitDecode(const VideoCodec *codec_settings, int32_t number_of_cores) override {
-    return [decoder_ startDecodeWithNumberOfCores:number_of_cores];
+  bool Configure(const Settings &settings) override {
+    return
+        [decoder_ startDecodeWithNumberOfCores:settings.number_of_cores()] == WEBRTC_VIDEO_CODEC_OK;
   }
 
   int32_t Decode(const EncodedImage &input_image,
diff --git a/sdk/objc/unittests/objc_video_decoder_factory_tests.mm b/sdk/objc/unittests/objc_video_decoder_factory_tests.mm
index cc31f67..96dca61 100644
--- a/sdk/objc/unittests/objc_video_decoder_factory_tests.mm
+++ b/sdk/objc/unittests/objc_video_decoder_factory_tests.mm
@@ -55,18 +55,18 @@
 
 #pragma mark -
 
-TEST(ObjCVideoDecoderFactoryTest, InitDecodeReturnsOKOnSuccess) {
+TEST(ObjCVideoDecoderFactoryTest, ConfigureReturnsTrueOnSuccess) {
   std::unique_ptr<webrtc::VideoDecoder> decoder = GetObjCDecoder(CreateOKDecoderFactory());
 
-  auto* settings = new webrtc::VideoCodec();
-  EXPECT_EQ(decoder->InitDecode(settings, 1), WEBRTC_VIDEO_CODEC_OK);
+  webrtc::VideoDecoder::Settings settings;
+  EXPECT_TRUE(decoder->Configure(settings));
 }
 
-TEST(ObjCVideoDecoderFactoryTest, InitDecodeReturnsErrorOnFail) {
+TEST(ObjCVideoDecoderFactoryTest, ConfigureReturnsFalseOnFail) {
   std::unique_ptr<webrtc::VideoDecoder> decoder = GetObjCDecoder(CreateErrorDecoderFactory());
 
-  auto* settings = new webrtc::VideoCodec();
-  EXPECT_EQ(decoder->InitDecode(settings, 1), WEBRTC_VIDEO_CODEC_ERROR);
+  webrtc::VideoDecoder::Settings settings;
+  EXPECT_FALSE(decoder->Configure(settings));
 }
 
 TEST(ObjCVideoDecoderFactoryTest, DecodeReturnsOKOnSuccess) {