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}
This commit is contained in:
Emircan Uysaler 2017-10-31 17:15:22 -07:00 committed by Commit Bot
parent f3850f6933
commit 874d9a57fc
2 changed files with 4 additions and 4 deletions

View file

@ -38,8 +38,8 @@ int32_t VideoDecoderSoftwareFallbackWrapper::InitDecode(
codec_settings_ = *codec_settings; codec_settings_ = *codec_settings;
number_of_cores_ = number_of_cores; number_of_cores_ = number_of_cores;
int32_t ret = decoder_->InitDecode(codec_settings, number_of_cores); int32_t ret = decoder_->InitDecode(codec_settings, number_of_cores);
if (ret != WEBRTC_VIDEO_CODEC_FALLBACK_SOFTWARE) { if (ret == WEBRTC_VIDEO_CODEC_OK) {
decoder_initialized_ = (ret == WEBRTC_VIDEO_CODEC_OK); decoder_initialized_ = true;
return ret; return ret;
} }
decoder_initialized_ = false; decoder_initialized_ = false;

View file

@ -82,10 +82,10 @@ TEST_F(VideoDecoderSoftwareFallbackWrapperTest, InitializesDecoder) {
} }
TEST_F(VideoDecoderSoftwareFallbackWrapperTest, TEST_F(VideoDecoderSoftwareFallbackWrapperTest,
UsesFallbackDecoderAfterOnInitDecodeFailure) { UsesFallbackDecoderAfterAnyInitDecodeFailure) {
VideoCodec codec = {}; VideoCodec codec = {};
fake_decoder_->init_decode_return_code_ = fake_decoder_->init_decode_return_code_ =
WEBRTC_VIDEO_CODEC_FALLBACK_SOFTWARE; WEBRTC_VIDEO_CODEC_UNINITIALIZED;
fallback_wrapper_.InitDecode(&codec, 2); fallback_wrapper_.InitDecode(&codec, 2);
EXPECT_EQ(1, fake_decoder_->init_decode_count_); EXPECT_EQ(1, fake_decoder_->init_decode_count_);