Handle any InitDecode() failure in VideoDecoderSoftwareFallbackWrapper
Bug: webrtc:8484
Change-Id: Ia023b77dea54c1d0b54cea6f29b78653acafcaeb
Reviewed-on: https://webrtc-review.googlesource.com/17641
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20553}
diff --git a/media/engine/videodecodersoftwarefallbackwrapper.cc b/media/engine/videodecodersoftwarefallbackwrapper.cc
index 4436111..9d6274d 100644
--- a/media/engine/videodecodersoftwarefallbackwrapper.cc
+++ b/media/engine/videodecodersoftwarefallbackwrapper.cc
@@ -38,8 +38,8 @@
codec_settings_ = *codec_settings;
number_of_cores_ = number_of_cores;
int32_t ret = decoder_->InitDecode(codec_settings, number_of_cores);
- if (ret != WEBRTC_VIDEO_CODEC_FALLBACK_SOFTWARE) {
- decoder_initialized_ = (ret == WEBRTC_VIDEO_CODEC_OK);
+ if (ret == WEBRTC_VIDEO_CODEC_OK) {
+ decoder_initialized_ = true;
return ret;
}
decoder_initialized_ = false;
diff --git a/media/engine/videodecodersoftwarefallbackwrapper_unittest.cc b/media/engine/videodecodersoftwarefallbackwrapper_unittest.cc
index 3a313b1..dfd388b 100644
--- a/media/engine/videodecodersoftwarefallbackwrapper_unittest.cc
+++ b/media/engine/videodecodersoftwarefallbackwrapper_unittest.cc
@@ -82,10 +82,10 @@
}
TEST_F(VideoDecoderSoftwareFallbackWrapperTest,
- UsesFallbackDecoderAfterOnInitDecodeFailure) {
+ UsesFallbackDecoderAfterAnyInitDecodeFailure) {
VideoCodec codec = {};
fake_decoder_->init_decode_return_code_ =
- WEBRTC_VIDEO_CODEC_FALLBACK_SOFTWARE;
+ WEBRTC_VIDEO_CODEC_UNINITIALIZED;
fallback_wrapper_.InitDecode(&codec, 2);
EXPECT_EQ(1, fake_decoder_->init_decode_count_);