Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(417)

Side by Side Diff: webrtc/audio/audio_receive_stream_unittest.cc

Issue 2455013003: Clean up abs-send-time for audio. (Closed)
Patch Set: Rebase. Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/audio/audio_receive_stream.cc ('k') | webrtc/audio/audio_send_stream.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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));
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
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;
241 config.voe_channel_id = kChannelId;
247 config.rtp.extensions.push_back( 242 config.rtp.extensions.push_back(
248 RtpExtension(RtpExtension::kAbsSendTimeUri, kAbsSendTimeId)); 243 RtpExtension(RtpExtension::kAudioLevelUri, kAudioLevelId));
249 config.voe_channel_id = kChannelId;
250 EXPECT_EQ( 244 EXPECT_EQ(
251 "{rtp: {remote_ssrc: 1234, local_ssrc: 5678, transport_cc: off, " 245 "{rtp: {remote_ssrc: 1234, local_ssrc: 5678, transport_cc: off, nack: "
252 "nack: {rtp_history_ms: 0}, extensions: [{uri: " 246 "{rtp_history_ms: 0}, extensions: [{uri: "
253 "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time, id: 2}]}, " 247 "urn:ietf:params:rtp-hdrext:ssrc-audio-level, id: 3}]}, "
254 "rtcp_send_transport: nullptr, " 248 "rtcp_send_transport: nullptr, voe_channel_id: 2}",
255 "voe_channel_id: 2}",
256 config.ToString()); 249 config.ToString());
257 } 250 }
258 251
259 TEST(AudioReceiveStreamTest, ConstructDestruct) { 252 TEST(AudioReceiveStreamTest, ConstructDestruct) {
260 ConfigHelper helper; 253 ConfigHelper helper;
261 internal::AudioReceiveStream recv_stream( 254 internal::AudioReceiveStream recv_stream(
262 helper.congestion_controller(), helper.config(), helper.audio_state(), 255 helper.congestion_controller(), helper.config(), helper.audio_state(),
263 helper.event_log()); 256 helper.event_log());
264 } 257 }
265 258
266 MATCHER_P(VerifyHeaderExtension, expected_extension, "") { 259 MATCHER_P(VerifyHeaderExtension, expected_extension, "") {
267 return arg.extension.hasAbsoluteSendTime == 260 return arg.extension.hasTransportSequenceNumber ==
268 expected_extension.hasAbsoluteSendTime &&
269 arg.extension.absoluteSendTime ==
270 expected_extension.absoluteSendTime &&
271 arg.extension.hasTransportSequenceNumber ==
272 expected_extension.hasTransportSequenceNumber && 261 expected_extension.hasTransportSequenceNumber &&
273 arg.extension.transportSequenceNumber == 262 arg.extension.transportSequenceNumber ==
274 expected_extension.transportSequenceNumber; 263 expected_extension.transportSequenceNumber;
275 } 264 }
276 265
277 TEST(AudioReceiveStreamTest, ReceiveRtpPacket) { 266 TEST(AudioReceiveStreamTest, ReceiveRtpPacket) {
278 ConfigHelper helper; 267 ConfigHelper helper;
279 helper.config().rtp.transport_cc = true; 268 helper.config().rtp.transport_cc = true;
280 helper.SetupMockForBweFeedback(true); 269 helper.SetupMockForBweFeedback(true);
281 internal::AudioReceiveStream recv_stream( 270 internal::AudioReceiveStream recv_stream(
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 ConfigHelper helper; 356 ConfigHelper helper;
368 internal::AudioReceiveStream recv_stream( 357 internal::AudioReceiveStream recv_stream(
369 helper.congestion_controller(), helper.config(), helper.audio_state(), 358 helper.congestion_controller(), helper.config(), helper.audio_state(),
370 helper.event_log()); 359 helper.event_log());
371 EXPECT_CALL(*helper.channel_proxy(), 360 EXPECT_CALL(*helper.channel_proxy(),
372 SetChannelOutputVolumeScaling(FloatEq(0.765f))); 361 SetChannelOutputVolumeScaling(FloatEq(0.765f)));
373 recv_stream.SetGain(0.765f); 362 recv_stream.SetGain(0.765f);
374 } 363 }
375 } // namespace test 364 } // namespace test
376 } // namespace webrtc 365 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/audio/audio_receive_stream.cc ('k') | webrtc/audio/audio_send_stream.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698