Index: media/cast/receiver/audio_decoder_unittest.cc |
diff --git a/media/cast/receiver/audio_decoder_unittest.cc b/media/cast/receiver/audio_decoder_unittest.cc |
index f31aa983eecbcccaa70f98a6c581ca381c996e3b..f2cc50f38df2e0753d9a97fe547475ab6bc3d943 100644 |
--- a/media/cast/receiver/audio_decoder_unittest.cc |
+++ b/media/cast/receiver/audio_decoder_unittest.cc |
@@ -58,7 +58,7 @@ class AudioDecoderTest : public ::testing::TestWithParam<TestScenario> { |
TestAudioBusFactory::kMiddleANoteFreq, |
0.5f)); |
last_frame_id_ = FrameId::first(); |
- seen_a_decoded_frame_ = false; |
+ decoded_frames_seen_ = 0; |
if (GetParam().codec == CODEC_AUDIO_OPUS) { |
opus_encoder_memory_.reset( |
@@ -159,12 +159,12 @@ class AudioDecoderTest : public ::testing::TestWithParam<TestScenario> { |
EXPECT_EQ(should_be_continuous, is_continuous); |
// Does the audio data seem to be intact? For Opus, we have to ignore the |
- // first frame seen at the start (and immediately after dropped packet |
+ // first two frames seen at the start (and immediately after dropped packet |
// recovery) because it introduces a tiny, significant delay. |
bool examine_signal = true; |
if (GetParam().codec == CODEC_AUDIO_OPUS) { |
- examine_signal = seen_a_decoded_frame_ && should_be_continuous; |
- seen_a_decoded_frame_ = true; |
+ ++decoded_frames_seen_; |
+ examine_signal = (decoded_frames_seen_ > 2) && should_be_continuous; |
} |
if (examine_signal) { |
for (int ch = 0; ch < audio_bus->channels(); ++ch) { |
@@ -187,7 +187,7 @@ class AudioDecoderTest : public ::testing::TestWithParam<TestScenario> { |
std::unique_ptr<AudioDecoder> audio_decoder_; |
std::unique_ptr<TestAudioBusFactory> audio_bus_factory_; |
FrameId last_frame_id_; |
- bool seen_a_decoded_frame_; |
+ int decoded_frames_seen_; |
std::unique_ptr<uint8_t[]> opus_encoder_memory_; |
base::Lock lock_; |