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: |