| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2013 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 #include <functional> | 10 #include <functional> |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 127 video_send_config_.encoder_settings.payload_type = | 127 video_send_config_.encoder_settings.payload_type = |
| 128 kFakeVideoSendPayloadType; | 128 kFakeVideoSendPayloadType; |
| 129 video_encoder_config_.streams = test::CreateVideoStreams(1); | 129 video_encoder_config_.streams = test::CreateVideoStreams(1); |
| 130 | 130 |
| 131 receive_config_ = VideoReceiveStream::Config(receive_transport_.get()); | 131 receive_config_ = VideoReceiveStream::Config(receive_transport_.get()); |
| 132 // receive_config_.decoders will be set by every stream separately. | 132 // receive_config_.decoders will be set by every stream separately. |
| 133 receive_config_.rtp.remote_ssrc = video_send_config_.rtp.ssrcs[0]; | 133 receive_config_.rtp.remote_ssrc = video_send_config_.rtp.ssrcs[0]; |
| 134 receive_config_.rtp.local_ssrc = kReceiverLocalVideoSsrc; | 134 receive_config_.rtp.local_ssrc = kReceiverLocalVideoSsrc; |
| 135 receive_config_.rtp.remb = true; | 135 receive_config_.rtp.remb = true; |
| 136 receive_config_.rtp.extensions.push_back( | 136 receive_config_.rtp.extensions.push_back( |
| 137 RtpExtension(RtpExtension::kTOffset, kTOFExtensionId)); | 137 RtpExtension(RtpExtension::kTimestampOffsetUri, kTOFExtensionId)); |
| 138 receive_config_.rtp.extensions.push_back( | 138 receive_config_.rtp.extensions.push_back( |
| 139 RtpExtension(RtpExtension::kAbsSendTime, kASTExtensionId)); | 139 RtpExtension(RtpExtension::kAbsSendTimeUri, kASTExtensionId)); |
| 140 } | 140 } |
| 141 | 141 |
| 142 virtual void TearDown() { | 142 virtual void TearDown() { |
| 143 std::for_each(streams_.begin(), streams_.end(), | 143 std::for_each(streams_.begin(), streams_.end(), |
| 144 std::mem_fun(&Stream::StopSending)); | 144 std::mem_fun(&Stream::StopSending)); |
| 145 | 145 |
| 146 send_transport_->StopSending(); | 146 send_transport_->StopSending(); |
| 147 receive_transport_->StopSending(); | 147 receive_transport_->StopSending(); |
| 148 | 148 |
| 149 while (!streams_.empty()) { | 149 while (!streams_.empty()) { |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 182 frame_generator_capturer_->Start(); | 182 frame_generator_capturer_->Start(); |
| 183 | 183 |
| 184 if (receive_audio) { | 184 if (receive_audio) { |
| 185 AudioReceiveStream::Config receive_config; | 185 AudioReceiveStream::Config receive_config; |
| 186 receive_config.rtp.remote_ssrc = test_->video_send_config_.rtp.ssrcs[0]; | 186 receive_config.rtp.remote_ssrc = test_->video_send_config_.rtp.ssrcs[0]; |
| 187 // Bogus non-default id to prevent hitting a RTC_DCHECK when creating | 187 // Bogus non-default id to prevent hitting a RTC_DCHECK when creating |
| 188 // the AudioReceiveStream. Every receive stream has to correspond to | 188 // the AudioReceiveStream. Every receive stream has to correspond to |
| 189 // an underlying channel id. | 189 // an underlying channel id. |
| 190 receive_config.voe_channel_id = 0; | 190 receive_config.voe_channel_id = 0; |
| 191 receive_config.rtp.extensions.push_back( | 191 receive_config.rtp.extensions.push_back( |
| 192 RtpExtension(RtpExtension::kAbsSendTime, kASTExtensionId)); | 192 RtpExtension(RtpExtension::kAbsSendTimeUri, kASTExtensionId)); |
| 193 audio_receive_stream_ = | 193 audio_receive_stream_ = |
| 194 test_->receiver_call_->CreateAudioReceiveStream(receive_config); | 194 test_->receiver_call_->CreateAudioReceiveStream(receive_config); |
| 195 } else { | 195 } else { |
| 196 VideoReceiveStream::Decoder decoder; | 196 VideoReceiveStream::Decoder decoder; |
| 197 decoder.decoder = &fake_decoder_; | 197 decoder.decoder = &fake_decoder_; |
| 198 decoder.payload_type = | 198 decoder.payload_type = |
| 199 test_->video_send_config_.encoder_settings.payload_type; | 199 test_->video_send_config_.encoder_settings.payload_type; |
| 200 decoder.payload_name = | 200 decoder.payload_name = |
| 201 test_->video_send_config_.encoder_settings.payload_name; | 201 test_->video_send_config_.encoder_settings.payload_name; |
| 202 test_->receive_config_.decoders.clear(); | 202 test_->receive_config_.decoders.clear(); |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 258 std::vector<Stream*> streams_; | 258 std::vector<Stream*> streams_; |
| 259 }; | 259 }; |
| 260 | 260 |
| 261 static const char* kAbsSendTimeLog = | 261 static const char* kAbsSendTimeLog = |
| 262 "RemoteBitrateEstimatorAbsSendTime: Instantiating."; | 262 "RemoteBitrateEstimatorAbsSendTime: Instantiating."; |
| 263 static const char* kSingleStreamLog = | 263 static const char* kSingleStreamLog = |
| 264 "RemoteBitrateEstimatorSingleStream: Instantiating."; | 264 "RemoteBitrateEstimatorSingleStream: Instantiating."; |
| 265 | 265 |
| 266 TEST_F(BitrateEstimatorTest, InstantiatesTOFPerDefaultForVideo) { | 266 TEST_F(BitrateEstimatorTest, InstantiatesTOFPerDefaultForVideo) { |
| 267 video_send_config_.rtp.extensions.push_back( | 267 video_send_config_.rtp.extensions.push_back( |
| 268 RtpExtension(RtpExtension::kTOffset, kTOFExtensionId)); | 268 RtpExtension(RtpExtension::kTimestampOffsetUri, kTOFExtensionId)); |
| 269 receiver_log_.PushExpectedLogLine(kSingleStreamLog); | 269 receiver_log_.PushExpectedLogLine(kSingleStreamLog); |
| 270 receiver_log_.PushExpectedLogLine(kAbsSendTimeLog); | 270 receiver_log_.PushExpectedLogLine(kAbsSendTimeLog); |
| 271 receiver_log_.PushExpectedLogLine(kSingleStreamLog); | 271 receiver_log_.PushExpectedLogLine(kSingleStreamLog); |
| 272 streams_.push_back(new Stream(this, false)); | 272 streams_.push_back(new Stream(this, false)); |
| 273 EXPECT_TRUE(receiver_log_.Wait()); | 273 EXPECT_TRUE(receiver_log_.Wait()); |
| 274 } | 274 } |
| 275 | 275 |
| 276 TEST_F(BitrateEstimatorTest, ImmediatelySwitchToASTForVideo) { | 276 TEST_F(BitrateEstimatorTest, ImmediatelySwitchToASTForVideo) { |
| 277 video_send_config_.rtp.extensions.push_back( | 277 video_send_config_.rtp.extensions.push_back( |
| 278 RtpExtension(RtpExtension::kAbsSendTime, kASTExtensionId)); | 278 RtpExtension(RtpExtension::kAbsSendTimeUri, kASTExtensionId)); |
| 279 receiver_log_.PushExpectedLogLine(kSingleStreamLog); | 279 receiver_log_.PushExpectedLogLine(kSingleStreamLog); |
| 280 receiver_log_.PushExpectedLogLine(kAbsSendTimeLog); | 280 receiver_log_.PushExpectedLogLine(kAbsSendTimeLog); |
| 281 receiver_log_.PushExpectedLogLine(kSingleStreamLog); | 281 receiver_log_.PushExpectedLogLine(kSingleStreamLog); |
| 282 receiver_log_.PushExpectedLogLine(kAbsSendTimeLog); | 282 receiver_log_.PushExpectedLogLine(kAbsSendTimeLog); |
| 283 receiver_log_.PushExpectedLogLine("Switching to absolute send time RBE."); | 283 receiver_log_.PushExpectedLogLine("Switching to absolute send time RBE."); |
| 284 streams_.push_back(new Stream(this, false)); | 284 streams_.push_back(new Stream(this, false)); |
| 285 EXPECT_TRUE(receiver_log_.Wait()); | 285 EXPECT_TRUE(receiver_log_.Wait()); |
| 286 } | 286 } |
| 287 | 287 |
| 288 TEST_F(BitrateEstimatorTest, SwitchesToASTForVideo) { | 288 TEST_F(BitrateEstimatorTest, SwitchesToASTForVideo) { |
| 289 video_send_config_.rtp.extensions.push_back( | 289 video_send_config_.rtp.extensions.push_back( |
| 290 RtpExtension(RtpExtension::kTOffset, kTOFExtensionId)); | 290 RtpExtension(RtpExtension::kTimestampOffsetUri, kTOFExtensionId)); |
| 291 receiver_log_.PushExpectedLogLine(kSingleStreamLog); | 291 receiver_log_.PushExpectedLogLine(kSingleStreamLog); |
| 292 receiver_log_.PushExpectedLogLine(kAbsSendTimeLog); | 292 receiver_log_.PushExpectedLogLine(kAbsSendTimeLog); |
| 293 receiver_log_.PushExpectedLogLine(kSingleStreamLog); | 293 receiver_log_.PushExpectedLogLine(kSingleStreamLog); |
| 294 streams_.push_back(new Stream(this, false)); | 294 streams_.push_back(new Stream(this, false)); |
| 295 EXPECT_TRUE(receiver_log_.Wait()); | 295 EXPECT_TRUE(receiver_log_.Wait()); |
| 296 | 296 |
| 297 video_send_config_.rtp.extensions[0] = | 297 video_send_config_.rtp.extensions[0] = |
| 298 RtpExtension(RtpExtension::kAbsSendTime, kASTExtensionId); | 298 RtpExtension(RtpExtension::kAbsSendTimeUri, kASTExtensionId); |
| 299 receiver_log_.PushExpectedLogLine(kAbsSendTimeLog); | 299 receiver_log_.PushExpectedLogLine(kAbsSendTimeLog); |
| 300 receiver_log_.PushExpectedLogLine("Switching to absolute send time RBE."); | 300 receiver_log_.PushExpectedLogLine("Switching to absolute send time RBE."); |
| 301 streams_.push_back(new Stream(this, false)); | 301 streams_.push_back(new Stream(this, false)); |
| 302 EXPECT_TRUE(receiver_log_.Wait()); | 302 EXPECT_TRUE(receiver_log_.Wait()); |
| 303 } | 303 } |
| 304 | 304 |
| 305 // This test is flaky. See webrtc:5790. | 305 // This test is flaky. See webrtc:5790. |
| 306 TEST_F(BitrateEstimatorTest, DISABLED_SwitchesToASTThenBackToTOFForVideo) { | 306 TEST_F(BitrateEstimatorTest, DISABLED_SwitchesToASTThenBackToTOFForVideo) { |
| 307 video_send_config_.rtp.extensions.push_back( | 307 video_send_config_.rtp.extensions.push_back( |
| 308 RtpExtension(RtpExtension::kTOffset, kTOFExtensionId)); | 308 RtpExtension(RtpExtension::kTimestampOffsetUri, kTOFExtensionId)); |
| 309 receiver_log_.PushExpectedLogLine(kSingleStreamLog); | 309 receiver_log_.PushExpectedLogLine(kSingleStreamLog); |
| 310 receiver_log_.PushExpectedLogLine(kAbsSendTimeLog); | 310 receiver_log_.PushExpectedLogLine(kAbsSendTimeLog); |
| 311 receiver_log_.PushExpectedLogLine(kSingleStreamLog); | 311 receiver_log_.PushExpectedLogLine(kSingleStreamLog); |
| 312 streams_.push_back(new Stream(this, false)); | 312 streams_.push_back(new Stream(this, false)); |
| 313 EXPECT_TRUE(receiver_log_.Wait()); | 313 EXPECT_TRUE(receiver_log_.Wait()); |
| 314 | 314 |
| 315 video_send_config_.rtp.extensions[0] = | 315 video_send_config_.rtp.extensions[0] = |
| 316 RtpExtension(RtpExtension::kAbsSendTime, kASTExtensionId); | 316 RtpExtension(RtpExtension::kAbsSendTimeUri, kASTExtensionId); |
| 317 receiver_log_.PushExpectedLogLine(kAbsSendTimeLog); | 317 receiver_log_.PushExpectedLogLine(kAbsSendTimeLog); |
| 318 receiver_log_.PushExpectedLogLine("Switching to absolute send time RBE."); | 318 receiver_log_.PushExpectedLogLine("Switching to absolute send time RBE."); |
| 319 streams_.push_back(new Stream(this, false)); | 319 streams_.push_back(new Stream(this, false)); |
| 320 EXPECT_TRUE(receiver_log_.Wait()); | 320 EXPECT_TRUE(receiver_log_.Wait()); |
| 321 | 321 |
| 322 video_send_config_.rtp.extensions[0] = | 322 video_send_config_.rtp.extensions[0] = |
| 323 RtpExtension(RtpExtension::kTOffset, kTOFExtensionId); | 323 RtpExtension(RtpExtension::kTimestampOffsetUri, kTOFExtensionId); |
| 324 receiver_log_.PushExpectedLogLine(kAbsSendTimeLog); | 324 receiver_log_.PushExpectedLogLine(kAbsSendTimeLog); |
| 325 receiver_log_.PushExpectedLogLine( | 325 receiver_log_.PushExpectedLogLine( |
| 326 "WrappingBitrateEstimator: Switching to transmission time offset RBE."); | 326 "WrappingBitrateEstimator: Switching to transmission time offset RBE."); |
| 327 streams_.push_back(new Stream(this, false)); | 327 streams_.push_back(new Stream(this, false)); |
| 328 streams_[0]->StopSending(); | 328 streams_[0]->StopSending(); |
| 329 streams_[1]->StopSending(); | 329 streams_[1]->StopSending(); |
| 330 EXPECT_TRUE(receiver_log_.Wait()); | 330 EXPECT_TRUE(receiver_log_.Wait()); |
| 331 } | 331 } |
| 332 } // namespace webrtc | 332 } // namespace webrtc |
| OLD | NEW |