diff --git a/sdk/objc/native/src/objc_video_decoder_factory.mm b/sdk/objc/native/src/objc_video_decoder_factory.mm index ccaed74d5a..d005d0eda4 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 @@ class ObjCVideoDecoder : public VideoDecoder { ObjCVideoDecoder(id 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 cc31f67b3c..96dca61226 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 @@ std::unique_ptr GetObjCDecoder( #pragma mark - -TEST(ObjCVideoDecoderFactoryTest, InitDecodeReturnsOKOnSuccess) { +TEST(ObjCVideoDecoderFactoryTest, ConfigureReturnsTrueOnSuccess) { std::unique_ptr 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 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) {