From b74b2b5a995b7e6c210817f5ea65375a0bc452b0 Mon Sep 17 00:00:00 2001 From: Danil Chapovalov Date: Mon, 16 Aug 2021 15:12:47 +0200 Subject: [PATCH] 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 Commit-Queue: Danil Chapovalov Cr-Commit-Position: refs/heads/master@{#34825} --- sdk/objc/native/src/objc_video_decoder_factory.mm | 5 +++-- .../unittests/objc_video_decoder_factory_tests.mm | 12 ++++++------ 2 files changed, 9 insertions(+), 8 deletions(-) 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) {