Chromium Code Reviews| Index: webrtc/modules/audio_coding/neteq/neteq_network_stats_unittest.cc |
| diff --git a/webrtc/modules/audio_coding/neteq/neteq_network_stats_unittest.cc b/webrtc/modules/audio_coding/neteq/neteq_network_stats_unittest.cc |
| index 15c60a83b5dedf5f3a44210a702580479e23a3c7..b2a5433fab81e6bdfb232cbd52a721c62df22f5c 100644 |
| --- a/webrtc/modules/audio_coding/neteq/neteq_network_stats_unittest.cc |
| +++ b/webrtc/modules/audio_coding/neteq/neteq_network_stats_unittest.cc |
| @@ -39,18 +39,49 @@ class MockAudioDecoder final : public AudioDecoder { |
| MOCK_METHOD0(Reset, void()); |
| - int PacketDuration(const uint8_t* encoded, |
| - size_t encoded_len) const /* override */ { |
| - return kPacketDuration; |
| + class MockFrame : public AudioDecoder::EncodedAudioFrame { |
| + public: |
| + MockFrame(size_t num_channels) : num_channels_(num_channels) {} |
| + |
| + size_t Duration() const /* override */ { return kPacketDuration; } |
|
kwiberg-webrtc
2016/09/19 11:07:49
Do you need to comment out the overrides when you'
ossu
2016/09/19 11:41:01
No, I don't think I should have to. Wonder why the
kwiberg-webrtc
2016/09/19 11:55:16
Because MOCK_METHOD0 et al. expand to method decla
ossu
2016/09/19 14:07:34
Oh, right, now I see. I forgot why I left them in.
|
| + |
| + rtc::Optional<DecodeResult> Decode(rtc::ArrayView<int16_t> decoded) const |
| + /* override */ { |
| + memset(decoded.data(), 0, |
|
hlundin-webrtc
2016/09/15 09:33:30
ASSERT_GE(decoded.size(), sizeof(int16_t) * kPacke
ossu
2016/09/15 12:22:53
Acknowledged.
|
| + sizeof(int16_t) * kPacketDuration * num_channels_); |
| + return rtc::Optional<DecodeResult>( |
| + {kPacketDuration * num_channels_, kSpeech}); |
| + } |
| + |
| + private: |
| + size_t num_channels_; |
|
hlundin-webrtc
2016/09/15 09:33:30
const
ossu
2016/09/15 12:22:53
Acknowledged.
|
| + }; |
| + |
| + std::vector<ParseResult> ParsePayload(rtc::Buffer* payload, |
| + uint32_t timestamp) /* override */ { |
| + std::vector<ParseResult> results; |
| + if (fec_enabled_) { |
| + std::unique_ptr<MockFrame> fec_frame(new MockFrame(num_channels_)); |
| + results.emplace_back(timestamp - kPacketDuration, 1, |
| + std::move(fec_frame)); |
| + } |
| + |
| + std::unique_ptr<MockFrame> frame(new MockFrame(num_channels_)); |
| + results.emplace_back(timestamp, 0, std::move(frame)); |
| + return results; |
| } |
| - int PacketDurationRedundant(const uint8_t* encoded, |
| - size_t encoded_len) const /* override */ { |
| + int PacketDuration(const uint8_t* encoded, size_t encoded_len) const |
| + /* override */ { |
| + // Since going through ParsePayload, PacketDuration should never get called. |
| + RTC_DCHECK(false); |
| return kPacketDuration; |
| } |
| bool PacketHasFec( |
| const uint8_t* encoded, size_t encoded_len) const /* override */ { |
| + // Since going through ParsePayload, PacketHasFec should never get called. |
| + RTC_DCHECK(false); |
|
hlundin-webrtc
2016/09/15 09:33:30
FAIL();
ossu
2016/09/15 12:22:53
Acknowledged.
|
| return fec_enabled_; |
| } |
| @@ -69,18 +100,8 @@ class MockAudioDecoder final : public AudioDecoder { |
| int /*sample_rate_hz*/, |
| int16_t* decoded, |
| SpeechType* speech_type) /* override */ { |
| - *speech_type = kSpeech; |
| - memset(decoded, 0, sizeof(int16_t) * kPacketDuration * Channels()); |
| - return kPacketDuration * Channels(); |
| - } |
| - |
| - int DecodeRedundantInternal(const uint8_t* encoded, |
| - size_t encoded_len, |
| - int sample_rate_hz, |
| - int16_t* decoded, |
| - SpeechType* speech_type) /* override */ { |
| - return DecodeInternal(encoded, encoded_len, sample_rate_hz, decoded, |
| - speech_type); |
| + // Since going through ParsePayload, DecodeInternal should never get called. |
| + RTC_DCHECK(false); |
|
hlundin-webrtc
2016/09/15 09:33:30
FAIL();
ossu
2016/09/15 12:22:53
Acknowledged.
|
| } |
| private: |