Implement AudioSendStream::GetStats().
BUG=webrtc:4690
Review URL: https://codereview.webrtc.org/1414743004
Cr-Commit-Position: refs/heads/master@{#10424}
diff --git a/webrtc/audio/audio_receive_stream_unittest.cc b/webrtc/audio/audio_receive_stream_unittest.cc
index 8809b35..4e267f1 100644
--- a/webrtc/audio/audio_receive_stream_unittest.cc
+++ b/webrtc/audio/audio_receive_stream_unittest.cc
@@ -61,12 +61,36 @@
namespace webrtc {
namespace test {
+TEST(AudioReceiveStreamTest, ConfigToString) {
+ const int kAbsSendTimeId = 3;
+ AudioReceiveStream::Config config;
+ config.rtp.remote_ssrc = 1234;
+ config.rtp.local_ssrc = 5678;
+ config.rtp.extensions.push_back(
+ RtpExtension(RtpExtension::kAbsSendTime, kAbsSendTimeId));
+ config.voe_channel_id = 1;
+ config.combined_audio_video_bwe = true;
+ EXPECT_EQ("{rtp: {remote_ssrc: 1234, local_ssrc: 5678, extensions: [{name: "
+ "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time, id: 3}]}, "
+ "receive_transport: nullptr, rtcp_send_transport: nullptr, "
+ "voe_channel_id: 1, combined_audio_video_bwe: true}", config.ToString());
+}
+
+TEST(AudioReceiveStreamTest, ConstructDestruct) {
+ MockRemoteBitrateEstimator remote_bitrate_estimator;
+ FakeVoiceEngine voice_engine;
+ AudioReceiveStream::Config config;
+ config.voe_channel_id = 1;
+ internal::AudioReceiveStream recv_stream(&remote_bitrate_estimator, config,
+ &voice_engine);
+}
+
TEST(AudioReceiveStreamTest, AudioPacketUpdatesBweWithTimestamp) {
MockRemoteBitrateEstimator remote_bitrate_estimator;
FakeVoiceEngine voice_engine;
AudioReceiveStream::Config config;
config.combined_audio_video_bwe = true;
- config.voe_channel_id = voice_engine.kReceiveChannelId;
+ config.voe_channel_id = FakeVoiceEngine::kRecvChannelId;
const int kAbsSendTimeId = 3;
config.rtp.extensions.push_back(
RtpExtension(RtpExtension::kAbsSendTime, kAbsSendTimeId));
@@ -86,38 +110,35 @@
}
TEST(AudioReceiveStreamTest, GetStats) {
- const uint32_t kSsrc1 = 667;
-
MockRemoteBitrateEstimator remote_bitrate_estimator;
FakeVoiceEngine voice_engine;
AudioReceiveStream::Config config;
- config.rtp.remote_ssrc = kSsrc1;
- config.voe_channel_id = voice_engine.kReceiveChannelId;
+ config.rtp.remote_ssrc = FakeVoiceEngine::kRecvSsrc;
+ config.voe_channel_id = FakeVoiceEngine::kRecvChannelId;
internal::AudioReceiveStream recv_stream(&remote_bitrate_estimator, config,
&voice_engine);
AudioReceiveStream::Stats stats = recv_stream.GetStats();
- const CallStatistics& call_stats = voice_engine.GetRecvCallStats();
- const CodecInst& codec_inst = voice_engine.GetRecvRecCodecInst();
- const NetworkStatistics& net_stats = voice_engine.GetRecvNetworkStats();
+ const CallStatistics& call_stats = FakeVoiceEngine::kRecvCallStats;
+ const CodecInst& codec_inst = FakeVoiceEngine::kRecvCodecInst;
+ const NetworkStatistics& net_stats = FakeVoiceEngine::kRecvNetworkStats;
const AudioDecodingCallStats& decode_stats =
- voice_engine.GetRecvAudioDecodingCallStats();
- EXPECT_EQ(kSsrc1, stats.remote_ssrc);
+ FakeVoiceEngine::kRecvAudioDecodingCallStats;
+ EXPECT_EQ(FakeVoiceEngine::kRecvSsrc, stats.remote_ssrc);
EXPECT_EQ(static_cast<int64_t>(call_stats.bytesReceived), stats.bytes_rcvd);
EXPECT_EQ(static_cast<uint32_t>(call_stats.packetsReceived),
stats.packets_rcvd);
EXPECT_EQ(call_stats.cumulativeLost, stats.packets_lost);
- EXPECT_EQ(static_cast<float>(call_stats.fractionLost) / 256,
- stats.fraction_lost);
+ EXPECT_EQ(Q8ToFloat(call_stats.fractionLost), stats.fraction_lost);
EXPECT_EQ(std::string(codec_inst.plname), stats.codec_name);
EXPECT_EQ(call_stats.extendedMax, stats.ext_seqnum);
EXPECT_EQ(call_stats.jitterSamples / (codec_inst.plfreq / 1000),
stats.jitter_ms);
EXPECT_EQ(net_stats.currentBufferSize, stats.jitter_buffer_ms);
EXPECT_EQ(net_stats.preferredBufferSize, stats.jitter_buffer_preferred_ms);
- EXPECT_EQ(static_cast<uint32_t>(voice_engine.kRecvJitterBufferDelay +
- voice_engine.kRecvPlayoutBufferDelay), stats.delay_estimate_ms);
- EXPECT_EQ(static_cast<int32_t>(voice_engine.kRecvSpeechOutputLevel),
+ EXPECT_EQ(static_cast<uint32_t>(FakeVoiceEngine::kRecvJitterBufferDelay +
+ FakeVoiceEngine::kRecvPlayoutBufferDelay), stats.delay_estimate_ms);
+ EXPECT_EQ(static_cast<int32_t>(FakeVoiceEngine::kRecvSpeechOutputLevel),
stats.audio_level);
EXPECT_EQ(Q14ToFloat(net_stats.currentExpandRate), stats.expand_rate);
EXPECT_EQ(Q14ToFloat(net_stats.currentSpeechExpandRate),