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 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
44 audio_decode_stats.decoded_plc_cng = 789; | 44 audio_decode_stats.decoded_plc_cng = 789; |
45 audio_decode_stats.decoded_muted_output = 987; | 45 audio_decode_stats.decoded_muted_output = 987; |
46 return audio_decode_stats; | 46 return audio_decode_stats; |
47 } | 47 } |
48 | 48 |
49 const int kChannelId = 2; | 49 const int kChannelId = 2; |
50 const uint32_t kRemoteSsrc = 1234; | 50 const uint32_t kRemoteSsrc = 1234; |
51 const uint32_t kLocalSsrc = 5678; | 51 const uint32_t kLocalSsrc = 5678; |
52 const size_t kOneByteExtensionHeaderLength = 4; | 52 const size_t kOneByteExtensionHeaderLength = 4; |
53 const size_t kOneByteExtensionLength = 4; | 53 const size_t kOneByteExtensionLength = 4; |
54 const int kAbsSendTimeId = 2; | |
55 const int kAudioLevelId = 3; | 54 const int kAudioLevelId = 3; |
56 const int kTransportSequenceNumberId = 4; | 55 const int kTransportSequenceNumberId = 4; |
57 const int kJitterBufferDelay = -7; | 56 const int kJitterBufferDelay = -7; |
58 const int kPlayoutBufferDelay = 302; | 57 const int kPlayoutBufferDelay = 302; |
59 const unsigned int kSpeechOutputLevel = 99; | 58 const unsigned int kSpeechOutputLevel = 99; |
60 const CallStatistics kCallStats = { | 59 const CallStatistics kCallStats = { |
61 345, 678, 901, 234, -12, 3456, 7890, 567, 890, 123}; | 60 345, 678, 901, 234, -12, 3456, 7890, 567, 890, 123}; |
62 const CodecInst kCodecInst = { | 61 const CodecInst kCodecInst = { |
63 123, "codec_name_recv", 96000, -187, 0, -103}; | 62 123, "codec_name_recv", 96000, -187, 0, -103}; |
64 const NetworkStatistics kNetworkStats = { | 63 const NetworkStatistics kNetworkStats = { |
(...skipping 18 matching lines...) Expand all Loading... | |
83 config.voice_engine = &voice_engine_; | 82 config.voice_engine = &voice_engine_; |
84 audio_state_ = AudioState::Create(config); | 83 audio_state_ = AudioState::Create(config); |
85 | 84 |
86 EXPECT_CALL(voice_engine_, ChannelProxyFactory(kChannelId)) | 85 EXPECT_CALL(voice_engine_, ChannelProxyFactory(kChannelId)) |
87 .WillOnce(Invoke([this](int channel_id) { | 86 .WillOnce(Invoke([this](int channel_id) { |
88 EXPECT_FALSE(channel_proxy_); | 87 EXPECT_FALSE(channel_proxy_); |
89 channel_proxy_ = new testing::StrictMock<MockVoEChannelProxy>(); | 88 channel_proxy_ = new testing::StrictMock<MockVoEChannelProxy>(); |
90 EXPECT_CALL(*channel_proxy_, SetLocalSSRC(kLocalSsrc)).Times(1); | 89 EXPECT_CALL(*channel_proxy_, SetLocalSSRC(kLocalSsrc)).Times(1); |
91 EXPECT_CALL(*channel_proxy_, SetNACKStatus(true, 15)).Times(1); | 90 EXPECT_CALL(*channel_proxy_, SetNACKStatus(true, 15)).Times(1); |
92 EXPECT_CALL(*channel_proxy_, | 91 EXPECT_CALL(*channel_proxy_, |
93 SetReceiveAbsoluteSenderTimeStatus(true, kAbsSendTimeId)) | |
94 .Times(1); | |
95 EXPECT_CALL(*channel_proxy_, | |
96 SetReceiveAudioLevelIndicationStatus(true, kAudioLevelId)) | 92 SetReceiveAudioLevelIndicationStatus(true, kAudioLevelId)) |
97 .Times(1); | 93 .Times(1); |
98 EXPECT_CALL(*channel_proxy_, | 94 EXPECT_CALL(*channel_proxy_, |
99 EnableReceiveTransportSequenceNumber(kTransportSequenceNumberId)) | 95 EnableReceiveTransportSequenceNumber(kTransportSequenceNumberId)) |
100 .Times(1); | 96 .Times(1); |
101 EXPECT_CALL(*channel_proxy_, | 97 EXPECT_CALL(*channel_proxy_, |
102 RegisterReceiverCongestionControlObjects(&packet_router_)) | 98 RegisterReceiverCongestionControlObjects(&packet_router_)) |
103 .Times(1); | 99 .Times(1); |
104 EXPECT_CALL(congestion_controller_, packet_router()) | 100 EXPECT_CALL(congestion_controller_, packet_router()) |
105 .WillOnce(Return(&packet_router_)); | 101 .WillOnce(Return(&packet_router_)); |
(...skipping 12 matching lines...) Expand all Loading... | |
118 .Times(1) | 114 .Times(1) |
119 .After(expect_set); | 115 .After(expect_set); |
120 return channel_proxy_; | 116 return channel_proxy_; |
121 })); | 117 })); |
122 EXPECT_CALL(voice_engine_, StopPlayout(kChannelId)).WillOnce(Return(0)); | 118 EXPECT_CALL(voice_engine_, StopPlayout(kChannelId)).WillOnce(Return(0)); |
123 stream_config_.voe_channel_id = kChannelId; | 119 stream_config_.voe_channel_id = kChannelId; |
124 stream_config_.rtp.local_ssrc = kLocalSsrc; | 120 stream_config_.rtp.local_ssrc = kLocalSsrc; |
125 stream_config_.rtp.remote_ssrc = kRemoteSsrc; | 121 stream_config_.rtp.remote_ssrc = kRemoteSsrc; |
126 stream_config_.rtp.nack.rtp_history_ms = 300; | 122 stream_config_.rtp.nack.rtp_history_ms = 300; |
127 stream_config_.rtp.extensions.push_back( | 123 stream_config_.rtp.extensions.push_back( |
128 RtpExtension(RtpExtension::kAbsSendTimeUri, kAbsSendTimeId)); | |
the sun
2016/10/27 16:09:17
Add audio level instead, and keep the test of ToSt
stefan-webrtc
2016/10/31 15:40:27
Audio level is already there. This is unrelated to
the sun
2016/11/01 08:39:40
Thank you!
| |
129 stream_config_.rtp.extensions.push_back( | |
130 RtpExtension(RtpExtension::kAudioLevelUri, kAudioLevelId)); | 124 RtpExtension(RtpExtension::kAudioLevelUri, kAudioLevelId)); |
131 stream_config_.rtp.extensions.push_back(RtpExtension( | 125 stream_config_.rtp.extensions.push_back(RtpExtension( |
132 RtpExtension::kTransportSequenceNumberUri, kTransportSequenceNumberId)); | 126 RtpExtension::kTransportSequenceNumberUri, kTransportSequenceNumberId)); |
133 stream_config_.decoder_factory = decoder_factory_; | 127 stream_config_.decoder_factory = decoder_factory_; |
134 } | 128 } |
135 | 129 |
136 MockCongestionController* congestion_controller() { | 130 MockCongestionController* congestion_controller() { |
137 return &congestion_controller_; | 131 return &congestion_controller_; |
138 } | 132 } |
139 MockRemoteBitrateEstimator* remote_bitrate_estimator() { | 133 MockRemoteBitrateEstimator* remote_bitrate_estimator() { |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
237 ByteWriter<uint16_t>::WriteBigEndian(&packet[2], 6); | 231 ByteWriter<uint16_t>::WriteBigEndian(&packet[2], 6); |
238 ByteWriter<uint32_t>::WriteBigEndian(&packet[4], kLocalSsrc); | 232 ByteWriter<uint32_t>::WriteBigEndian(&packet[4], kLocalSsrc); |
239 return packet; | 233 return packet; |
240 } | 234 } |
241 } // namespace | 235 } // namespace |
242 | 236 |
243 TEST(AudioReceiveStreamTest, ConfigToString) { | 237 TEST(AudioReceiveStreamTest, ConfigToString) { |
244 AudioReceiveStream::Config config; | 238 AudioReceiveStream::Config config; |
245 config.rtp.remote_ssrc = kRemoteSsrc; | 239 config.rtp.remote_ssrc = kRemoteSsrc; |
246 config.rtp.local_ssrc = kLocalSsrc; | 240 config.rtp.local_ssrc = kLocalSsrc; |
247 config.rtp.extensions.push_back( | |
248 RtpExtension(RtpExtension::kAbsSendTimeUri, kAbsSendTimeId)); | |
249 config.voe_channel_id = kChannelId; | 241 config.voe_channel_id = kChannelId; |
250 EXPECT_EQ( | 242 EXPECT_EQ( |
251 "{rtp: {remote_ssrc: 1234, local_ssrc: 5678, transport_cc: off, " | 243 "{rtp: {remote_ssrc: 1234, local_ssrc: 5678, transport_cc: off, nack: " |
252 "nack: {rtp_history_ms: 0}, extensions: [{uri: " | 244 "{rtp_history_ms: 0}, extensions: []}, rtcp_send_transport: nullptr, " |
253 "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time, id: 2}]}, " | |
254 "rtcp_send_transport: nullptr, " | |
255 "voe_channel_id: 2}", | 245 "voe_channel_id: 2}", |
256 config.ToString()); | 246 config.ToString()); |
257 } | 247 } |
258 | 248 |
259 TEST(AudioReceiveStreamTest, ConstructDestruct) { | 249 TEST(AudioReceiveStreamTest, ConstructDestruct) { |
260 ConfigHelper helper; | 250 ConfigHelper helper; |
261 internal::AudioReceiveStream recv_stream( | 251 internal::AudioReceiveStream recv_stream( |
262 helper.congestion_controller(), helper.config(), helper.audio_state(), | 252 helper.congestion_controller(), helper.config(), helper.audio_state(), |
263 helper.event_log()); | 253 helper.event_log()); |
264 } | 254 } |
265 | 255 |
266 MATCHER_P(VerifyHeaderExtension, expected_extension, "") { | 256 MATCHER_P(VerifyHeaderExtension, expected_extension, "") { |
267 return arg.extension.hasAbsoluteSendTime == | 257 return arg.extension.hasTransportSequenceNumber == |
268 expected_extension.hasAbsoluteSendTime && | |
269 arg.extension.absoluteSendTime == | |
270 expected_extension.absoluteSendTime && | |
271 arg.extension.hasTransportSequenceNumber == | |
272 expected_extension.hasTransportSequenceNumber && | 258 expected_extension.hasTransportSequenceNumber && |
273 arg.extension.transportSequenceNumber == | 259 arg.extension.transportSequenceNumber == |
274 expected_extension.transportSequenceNumber; | 260 expected_extension.transportSequenceNumber; |
275 } | 261 } |
276 | 262 |
277 TEST(AudioReceiveStreamTest, ReceiveRtpPacket) { | 263 TEST(AudioReceiveStreamTest, ReceiveRtpPacket) { |
278 ConfigHelper helper; | 264 ConfigHelper helper; |
279 helper.config().rtp.transport_cc = true; | 265 helper.config().rtp.transport_cc = true; |
280 helper.SetupMockForBweFeedback(true); | 266 helper.SetupMockForBweFeedback(true); |
281 internal::AudioReceiveStream recv_stream( | 267 internal::AudioReceiveStream recv_stream( |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
367 ConfigHelper helper; | 353 ConfigHelper helper; |
368 internal::AudioReceiveStream recv_stream( | 354 internal::AudioReceiveStream recv_stream( |
369 helper.congestion_controller(), helper.config(), helper.audio_state(), | 355 helper.congestion_controller(), helper.config(), helper.audio_state(), |
370 helper.event_log()); | 356 helper.event_log()); |
371 EXPECT_CALL(*helper.channel_proxy(), | 357 EXPECT_CALL(*helper.channel_proxy(), |
372 SetChannelOutputVolumeScaling(FloatEq(0.765f))); | 358 SetChannelOutputVolumeScaling(FloatEq(0.765f))); |
373 recv_stream.SetGain(0.765f); | 359 recv_stream.SetGain(0.765f); |
374 } | 360 } |
375 } // namespace test | 361 } // namespace test |
376 } // namespace webrtc | 362 } // namespace webrtc |
OLD | NEW |