| Index: webrtc/modules/audio_coding/neteq/neteq_unittest.cc
|
| diff --git a/webrtc/modules/audio_coding/neteq/neteq_unittest.cc b/webrtc/modules/audio_coding/neteq/neteq_unittest.cc
|
| index 04cef8aa99e7f1de8f2fbce8a7f3004aeaada010..b3d6d8c7a7aabe390762ef6988265d830671a3ea 100644
|
| --- a/webrtc/modules/audio_coding/neteq/neteq_unittest.cc
|
| +++ b/webrtc/modules/audio_coding/neteq/neteq_unittest.cc
|
| @@ -229,7 +229,7 @@ void RefFiles::ReadFromFileAndCompare(
|
| ASSERT_EQ(stats.accelerate_rate, ref_stats.accelerate_rate());
|
| ASSERT_EQ(stats.clockdrift_ppm, ref_stats.clockdrift_ppm());
|
| ASSERT_EQ(stats.added_zero_samples, ref_stats.added_zero_samples());
|
| - ASSERT_EQ(stats.secondary_decoded_rate, 0);
|
| + ASSERT_EQ(stats.secondary_decoded_rate, ref_stats.secondary_decoded_rate());
|
| ASSERT_LE(stats.speech_expand_rate, ref_stats.expand_rate());
|
| #else
|
| FAIL() << "Reading from reference file requires Proto Buffer.";
|
| @@ -279,7 +279,8 @@ class NetEqDecodingTest : public ::testing::Test {
|
| static const size_t kBlockSize8kHz = kTimeStepMs * 8;
|
| static const size_t kBlockSize16kHz = kTimeStepMs * 16;
|
| static const size_t kBlockSize32kHz = kTimeStepMs * 32;
|
| - static const size_t kMaxBlockSize = kBlockSize32kHz;
|
| + static const size_t kBlockSize48kHz = kTimeStepMs * 48;
|
| + static const size_t kMaxBlockSize = kBlockSize48kHz;
|
| static const int kInitSampleRateHz = 8000;
|
|
|
| NetEqDecodingTest();
|
| @@ -381,6 +382,10 @@ void NetEqDecodingTest::LoadDecoders() {
|
| ASSERT_EQ(0, neteq_->RegisterPayloadType(NetEqDecoder::kDecoderISACswb,
|
| "isac-swb", 104));
|
| #endif
|
| +#ifdef WEBRTC_CODEC_OPUS
|
| + ASSERT_EQ(0, neteq_->RegisterPayloadType(NetEqDecoder::kDecoderOpus,
|
| + "opus", 111));
|
| +#endif
|
| // Load PCM16B nb.
|
| ASSERT_EQ(0, neteq_->RegisterPayloadType(NetEqDecoder::kDecoderPCM16B,
|
| "pcm16-nb", 93));
|
| @@ -426,7 +431,8 @@ void NetEqDecodingTest::Process(size_t* out_len) {
|
| &num_channels, &type));
|
| ASSERT_TRUE((*out_len == kBlockSize8kHz) ||
|
| (*out_len == kBlockSize16kHz) ||
|
| - (*out_len == kBlockSize32kHz));
|
| + (*out_len == kBlockSize32kHz) ||
|
| + (*out_len == kBlockSize48kHz));
|
| output_sample_rate_ = static_cast<int>(*out_len / 10 * 1000);
|
| EXPECT_EQ(output_sample_rate_, neteq_->last_output_sample_rate_hz());
|
|
|
| @@ -511,7 +517,7 @@ void NetEqDecodingTest::PopulateCng(int frame_index,
|
| }
|
|
|
| #if !defined(WEBRTC_IOS) && !defined(WEBRTC_ANDROID) && \
|
| - defined(WEBRTC_NETEQ_UNITTEST_BITEXACT) && \
|
| + defined(WEBRTC_NETEQ_UNITTEST_BITEXACT) && \
|
| (defined(WEBRTC_CODEC_ISAC) || defined(WEBRTC_CODEC_ISACFX)) && \
|
| defined(WEBRTC_CODEC_ILBC) && defined(WEBRTC_CODEC_G722)
|
| #define MAYBE_TestBitExactness TestBitExactness
|
| @@ -548,6 +554,34 @@ TEST_F(NetEqDecodingTest, MAYBE_TestBitExactness) {
|
| }
|
| }
|
|
|
| +#if !defined(WEBRTC_IOS) && !defined(WEBRTC_ANDROID) && \
|
| + defined(WEBRTC_NETEQ_UNITTEST_BITEXACT) && \
|
| + defined(WEBRTC_CODEC_OPUS)
|
| +#define MAYBE_TestOpusBitExactness TestOpusBitExactness
|
| +#else
|
| +#define MAYBE_TestOpusBitExactness DISABLED_TestOpusBitExactness
|
| +#endif
|
| +TEST_F(NetEqDecodingTest, MAYBE_TestOpusBitExactness) {
|
| + const std::string input_rtp_file =
|
| + webrtc::test::ResourcePath("audio_coding/neteq_opus", "rtp");
|
| + const std::string input_ref_file =
|
| + webrtc::test::ResourcePath("audio_coding/neteq4_opus_ref", "pcm");
|
| + const std::string network_stat_ref_file =
|
| + webrtc::test::ResourcePath("audio_coding/neteq4_opus_network_stats",
|
| + "dat");
|
| + const std::string rtcp_stat_ref_file =
|
| + webrtc::test::ResourcePath("audio_coding/neteq4_opus_rtcp_stats", "dat");
|
| +
|
| + if (FLAGS_gen_ref) {
|
| + DecodeAndCompare(input_rtp_file, "", "", "");
|
| + } else {
|
| + DecodeAndCompare(input_rtp_file,
|
| + input_ref_file,
|
| + network_stat_ref_file,
|
| + rtcp_stat_ref_file);
|
| + }
|
| +}
|
| +
|
| // Use fax mode to avoid time-scaling. This is to simplify the testing of
|
| // packet waiting times in the packet buffer.
|
| class NetEqDecodingTestFaxMode : public NetEqDecodingTest {
|
|
|