OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 20 matching lines...) Expand all Loading... |
31 audio_decode_stats.decoded_plc = 123; | 31 audio_decode_stats.decoded_plc = 123; |
32 audio_decode_stats.decoded_cng = 456; | 32 audio_decode_stats.decoded_cng = 456; |
33 audio_decode_stats.decoded_plc_cng = 789; | 33 audio_decode_stats.decoded_plc_cng = 789; |
34 return audio_decode_stats; | 34 return audio_decode_stats; |
35 } | 35 } |
36 | 36 |
37 const int kChannelId = 2; | 37 const int kChannelId = 2; |
38 const uint32_t kRemoteSsrc = 1234; | 38 const uint32_t kRemoteSsrc = 1234; |
39 const uint32_t kLocalSsrc = 5678; | 39 const uint32_t kLocalSsrc = 5678; |
40 const size_t kAbsoluteSendTimeLength = 4; | 40 const size_t kAbsoluteSendTimeLength = 4; |
41 const int kAbsSendTimeId = 3; | 41 const int kAbsSendTimeId = 2; |
| 42 const int kAudioLevelId = 3; |
42 const int kJitterBufferDelay = -7; | 43 const int kJitterBufferDelay = -7; |
43 const int kPlayoutBufferDelay = 302; | 44 const int kPlayoutBufferDelay = 302; |
44 const unsigned int kSpeechOutputLevel = 99; | 45 const unsigned int kSpeechOutputLevel = 99; |
45 const CallStatistics kCallStats = { | 46 const CallStatistics kCallStats = { |
46 345, 678, 901, 234, -12, 3456, 7890, 567, 890, 123}; | 47 345, 678, 901, 234, -12, 3456, 7890, 567, 890, 123}; |
47 const CodecInst kCodecInst = { | 48 const CodecInst kCodecInst = { |
48 123, "codec_name_recv", 96000, -187, -198, -103}; | 49 123, "codec_name_recv", 96000, -187, -198, -103}; |
49 const NetworkStatistics kNetworkStats = { | 50 const NetworkStatistics kNetworkStats = { |
50 123, 456, false, 0, 0, 789, 12, 345, 678, 901, -1, -1, -1, -1, -1, 0}; | 51 123, 456, false, 0, 0, 789, 12, 345, 678, 901, -1, -1, -1, -1, -1, 0}; |
51 const AudioDecodingCallStats kAudioDecodeStats = MakeAudioDecodeStatsForTest(); | 52 const AudioDecodingCallStats kAudioDecodeStats = MakeAudioDecodeStatsForTest(); |
52 | 53 |
53 struct ConfigHelper { | 54 struct ConfigHelper { |
54 ConfigHelper() { | 55 ConfigHelper() { |
55 EXPECT_CALL(voice_engine_, | 56 EXPECT_CALL(voice_engine_, |
56 RegisterVoiceEngineObserver(_)).WillOnce(Return(0)); | 57 RegisterVoiceEngineObserver(_)).WillOnce(Return(0)); |
57 EXPECT_CALL(voice_engine_, | 58 EXPECT_CALL(voice_engine_, |
58 DeRegisterVoiceEngineObserver()).WillOnce(Return(0)); | 59 DeRegisterVoiceEngineObserver()).WillOnce(Return(0)); |
59 AudioState::Config config; | 60 AudioState::Config config; |
60 config.voice_engine = &voice_engine_; | 61 config.voice_engine = &voice_engine_; |
61 audio_state_ = AudioState::Create(config); | 62 audio_state_ = AudioState::Create(config); |
| 63 |
| 64 EXPECT_CALL(voice_engine_, SetLocalSSRC(kChannelId, kLocalSsrc)) |
| 65 .WillOnce(Return(0)); |
| 66 EXPECT_CALL(voice_engine_, |
| 67 SetReceiveAbsoluteSenderTimeStatus(kChannelId, true, kAbsSendTimeId)) |
| 68 .WillOnce(Return(0)); |
| 69 EXPECT_CALL(voice_engine_, |
| 70 SetReceiveAudioLevelIndicationStatus(kChannelId, true, kAudioLevelId)) |
| 71 .WillOnce(Return(0)); |
62 stream_config_.voe_channel_id = kChannelId; | 72 stream_config_.voe_channel_id = kChannelId; |
63 stream_config_.rtp.local_ssrc = kLocalSsrc; | 73 stream_config_.rtp.local_ssrc = kLocalSsrc; |
64 stream_config_.rtp.remote_ssrc = kRemoteSsrc; | 74 stream_config_.rtp.remote_ssrc = kRemoteSsrc; |
65 } | 75 stream_config_.rtp.extensions.push_back( |
| 76 RtpExtension(RtpExtension::kAbsSendTime, kAbsSendTimeId)); |
| 77 stream_config_.rtp.extensions.push_back( |
| 78 RtpExtension(RtpExtension::kAudioLevel, kAudioLevelId)); |
| 79 } |
66 | 80 |
67 MockRemoteBitrateEstimator* remote_bitrate_estimator() { | 81 MockRemoteBitrateEstimator* remote_bitrate_estimator() { |
68 return &remote_bitrate_estimator_; | 82 return &remote_bitrate_estimator_; |
69 } | 83 } |
70 AudioReceiveStream::Config& config() { return stream_config_; } | 84 AudioReceiveStream::Config& config() { return stream_config_; } |
71 rtc::scoped_refptr<AudioState> audio_state() { return audio_state_; } | 85 rtc::scoped_refptr<AudioState> audio_state() { return audio_state_; } |
72 MockVoiceEngine& voice_engine() { return voice_engine_; } | 86 MockVoiceEngine& voice_engine() { return voice_engine_; } |
73 | 87 |
74 void SetupMockForGetStats() { | 88 void SetupMockForGetStats() { |
75 using testing::DoAll; | 89 using testing::DoAll; |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 TEST(AudioReceiveStreamTest, ConfigToString) { | 151 TEST(AudioReceiveStreamTest, ConfigToString) { |
138 AudioReceiveStream::Config config; | 152 AudioReceiveStream::Config config; |
139 config.rtp.remote_ssrc = kRemoteSsrc; | 153 config.rtp.remote_ssrc = kRemoteSsrc; |
140 config.rtp.local_ssrc = kLocalSsrc; | 154 config.rtp.local_ssrc = kLocalSsrc; |
141 config.rtp.extensions.push_back( | 155 config.rtp.extensions.push_back( |
142 RtpExtension(RtpExtension::kAbsSendTime, kAbsSendTimeId)); | 156 RtpExtension(RtpExtension::kAbsSendTime, kAbsSendTimeId)); |
143 config.voe_channel_id = kChannelId; | 157 config.voe_channel_id = kChannelId; |
144 config.combined_audio_video_bwe = true; | 158 config.combined_audio_video_bwe = true; |
145 EXPECT_EQ( | 159 EXPECT_EQ( |
146 "{rtp: {remote_ssrc: 1234, local_ssrc: 5678, extensions: [{name: " | 160 "{rtp: {remote_ssrc: 1234, local_ssrc: 5678, extensions: [{name: " |
147 "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time, id: 3}]}, " | 161 "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time, id: 2}]}, " |
148 "receive_transport: nullptr, rtcp_send_transport: nullptr, " | 162 "receive_transport: nullptr, rtcp_send_transport: nullptr, " |
149 "voe_channel_id: 2, combined_audio_video_bwe: true}", | 163 "voe_channel_id: 2, combined_audio_video_bwe: true}", |
150 config.ToString()); | 164 config.ToString()); |
151 } | 165 } |
152 | 166 |
153 TEST(AudioReceiveStreamTest, ConstructDestruct) { | 167 TEST(AudioReceiveStreamTest, ConstructDestruct) { |
154 ConfigHelper helper; | 168 ConfigHelper helper; |
155 internal::AudioReceiveStream recv_stream( | 169 internal::AudioReceiveStream recv_stream( |
156 helper.remote_bitrate_estimator(), helper.config(), helper.audio_state()); | 170 helper.remote_bitrate_estimator(), helper.config(), helper.audio_state()); |
157 } | 171 } |
158 | 172 |
159 TEST(AudioReceiveStreamTest, AudioPacketUpdatesBweWithTimestamp) { | 173 TEST(AudioReceiveStreamTest, AudioPacketUpdatesBweWithTimestamp) { |
160 ConfigHelper helper; | 174 ConfigHelper helper; |
161 helper.config().combined_audio_video_bwe = true; | 175 helper.config().combined_audio_video_bwe = true; |
162 helper.config().rtp.extensions.push_back( | |
163 RtpExtension(RtpExtension::kAbsSendTime, kAbsSendTimeId)); | |
164 internal::AudioReceiveStream recv_stream( | 176 internal::AudioReceiveStream recv_stream( |
165 helper.remote_bitrate_estimator(), helper.config(), helper.audio_state()); | 177 helper.remote_bitrate_estimator(), helper.config(), helper.audio_state()); |
166 uint8_t rtp_packet[30]; | 178 uint8_t rtp_packet[30]; |
167 const int kAbsSendTimeValue = 1234; | 179 const int kAbsSendTimeValue = 1234; |
168 CreateRtpHeaderWithAbsSendTime(rtp_packet, kAbsSendTimeId, kAbsSendTimeValue); | 180 CreateRtpHeaderWithAbsSendTime(rtp_packet, kAbsSendTimeId, kAbsSendTimeValue); |
169 PacketTime packet_time(5678000, 0); | 181 PacketTime packet_time(5678000, 0); |
170 const size_t kExpectedHeaderLength = 20; | 182 const size_t kExpectedHeaderLength = 20; |
171 EXPECT_CALL(*helper.remote_bitrate_estimator(), | 183 EXPECT_CALL(*helper.remote_bitrate_estimator(), |
172 IncomingPacket(packet_time.timestamp / 1000, | 184 IncomingPacket(packet_time.timestamp / 1000, |
173 sizeof(rtp_packet) - kExpectedHeaderLength, | 185 sizeof(rtp_packet) - kExpectedHeaderLength, |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
213 EXPECT_EQ(kAudioDecodeStats.calls_to_neteq, stats.decoding_calls_to_neteq); | 225 EXPECT_EQ(kAudioDecodeStats.calls_to_neteq, stats.decoding_calls_to_neteq); |
214 EXPECT_EQ(kAudioDecodeStats.decoded_normal, stats.decoding_normal); | 226 EXPECT_EQ(kAudioDecodeStats.decoded_normal, stats.decoding_normal); |
215 EXPECT_EQ(kAudioDecodeStats.decoded_plc, stats.decoding_plc); | 227 EXPECT_EQ(kAudioDecodeStats.decoded_plc, stats.decoding_plc); |
216 EXPECT_EQ(kAudioDecodeStats.decoded_cng, stats.decoding_cng); | 228 EXPECT_EQ(kAudioDecodeStats.decoded_cng, stats.decoding_cng); |
217 EXPECT_EQ(kAudioDecodeStats.decoded_plc_cng, stats.decoding_plc_cng); | 229 EXPECT_EQ(kAudioDecodeStats.decoded_plc_cng, stats.decoding_plc_cng); |
218 EXPECT_EQ(kCallStats.capture_start_ntp_time_ms_, | 230 EXPECT_EQ(kCallStats.capture_start_ntp_time_ms_, |
219 stats.capture_start_ntp_time_ms); | 231 stats.capture_start_ntp_time_ms); |
220 } | 232 } |
221 } // namespace test | 233 } // namespace test |
222 } // namespace webrtc | 234 } // namespace webrtc |
OLD | NEW |