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