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

Side by Side Diff: webrtc/call/bitrate_estimator_tests.cc

Issue 1419193002: Call OnSentPacket for all packets sent in the test framework. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: . Created 5 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 | « no previous file | webrtc/call/call.cc » ('j') | webrtc/call/call_perf_tests.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 109
110 Callback callback_; 110 Callback callback_;
111 }; 111 };
112 } // namespace 112 } // namespace
113 113
114 static const int kTOFExtensionId = 4; 114 static const int kTOFExtensionId = 4;
115 static const int kASTExtensionId = 5; 115 static const int kASTExtensionId = 5;
116 116
117 class BitrateEstimatorTest : public test::CallTest { 117 class BitrateEstimatorTest : public test::CallTest {
118 public: 118 public:
119 BitrateEstimatorTest() 119 BitrateEstimatorTest() : receive_config_(nullptr) {}
120 : receiver_trace_(),
121 send_transport_(),
122 receive_transport_(),
123 sender_call_(),
124 receiver_call_(),
125 receive_config_(nullptr),
126 streams_() {
127 }
128 120
129 virtual ~BitrateEstimatorTest() { 121 virtual ~BitrateEstimatorTest() {
130 EXPECT_TRUE(streams_.empty()); 122 EXPECT_TRUE(streams_.empty());
131 } 123 }
132 124
133 virtual void SetUp() { 125 virtual void SetUp() {
134 Call::Config config; 126 Call::Config config;
135 config.voice_engine = &fake_voice_engine_; 127 config.voice_engine = &fake_voice_engine_;
136 receiver_call_.reset(Call::Create(config)); 128 receiver_call_.reset(Call::Create(config));
137 sender_call_.reset(Call::Create(config)); 129 sender_call_.reset(Call::Create(config));
138 130
139 send_transport_.SetReceiver(receiver_call_->Receiver()); 131 send_transport_.reset(new test::DirectTransport(sender_call_.get()));
140 receive_transport_.SetReceiver(sender_call_->Receiver()); 132 send_transport_->SetReceiver(receiver_call_->Receiver());
133 receive_transport_.reset(new test::DirectTransport(receiver_call_.get()));
134 receive_transport_->SetReceiver(sender_call_->Receiver());
141 135
142 send_config_ = VideoSendStream::Config(&send_transport_); 136 send_config_ = VideoSendStream::Config(send_transport_.get());
143 send_config_.rtp.ssrcs.push_back(kSendSsrcs[0]); 137 send_config_.rtp.ssrcs.push_back(kSendSsrcs[0]);
144 // Encoders will be set separately per stream. 138 // Encoders will be set separately per stream.
145 send_config_.encoder_settings.encoder = nullptr; 139 send_config_.encoder_settings.encoder = nullptr;
146 send_config_.encoder_settings.payload_name = "FAKE"; 140 send_config_.encoder_settings.payload_name = "FAKE";
147 send_config_.encoder_settings.payload_type = kFakeSendPayloadType; 141 send_config_.encoder_settings.payload_type = kFakeSendPayloadType;
148 encoder_config_.streams = test::CreateVideoStreams(1); 142 encoder_config_.streams = test::CreateVideoStreams(1);
149 143
150 receive_config_ = VideoReceiveStream::Config(&receive_transport_); 144 receive_config_ = VideoReceiveStream::Config(receive_transport_.get());
151 // receive_config_.decoders will be set by every stream separately. 145 // receive_config_.decoders will be set by every stream separately.
152 receive_config_.rtp.remote_ssrc = send_config_.rtp.ssrcs[0]; 146 receive_config_.rtp.remote_ssrc = send_config_.rtp.ssrcs[0];
153 receive_config_.rtp.local_ssrc = kReceiverLocalSsrc; 147 receive_config_.rtp.local_ssrc = kReceiverLocalSsrc;
154 receive_config_.rtp.remb = true; 148 receive_config_.rtp.remb = true;
155 receive_config_.rtp.extensions.push_back( 149 receive_config_.rtp.extensions.push_back(
156 RtpExtension(RtpExtension::kTOffset, kTOFExtensionId)); 150 RtpExtension(RtpExtension::kTOffset, kTOFExtensionId));
157 receive_config_.rtp.extensions.push_back( 151 receive_config_.rtp.extensions.push_back(
158 RtpExtension(RtpExtension::kAbsSendTime, kASTExtensionId)); 152 RtpExtension(RtpExtension::kAbsSendTime, kASTExtensionId));
159 } 153 }
160 154
161 virtual void TearDown() { 155 virtual void TearDown() {
162 std::for_each(streams_.begin(), streams_.end(), 156 std::for_each(streams_.begin(), streams_.end(),
163 std::mem_fun(&Stream::StopSending)); 157 std::mem_fun(&Stream::StopSending));
164 158
165 send_transport_.StopSending(); 159 send_transport_->StopSending();
166 receive_transport_.StopSending(); 160 receive_transport_->StopSending();
167 161
168 while (!streams_.empty()) { 162 while (!streams_.empty()) {
169 delete streams_.back(); 163 delete streams_.back();
170 streams_.pop_back(); 164 streams_.pop_back();
171 } 165 }
172 166
173 receiver_call_.reset(); 167 receiver_call_.reset();
174 } 168 }
175 169
176 protected: 170 protected:
(...skipping 27 matching lines...) Expand all
204 if (receive_audio) { 198 if (receive_audio) {
205 AudioReceiveStream::Config receive_config; 199 AudioReceiveStream::Config receive_config;
206 receive_config.rtp.remote_ssrc = test_->send_config_.rtp.ssrcs[0]; 200 receive_config.rtp.remote_ssrc = test_->send_config_.rtp.ssrcs[0];
207 // Bogus non-default id to prevent hitting a RTC_DCHECK when creating 201 // Bogus non-default id to prevent hitting a RTC_DCHECK when creating
208 // the AudioReceiveStream. Every receive stream has to correspond to 202 // the AudioReceiveStream. Every receive stream has to correspond to
209 // an underlying channel id. 203 // an underlying channel id.
210 receive_config.voe_channel_id = 0; 204 receive_config.voe_channel_id = 0;
211 receive_config.rtp.extensions.push_back( 205 receive_config.rtp.extensions.push_back(
212 RtpExtension(RtpExtension::kAbsSendTime, kASTExtensionId)); 206 RtpExtension(RtpExtension::kAbsSendTime, kASTExtensionId));
213 receive_config.combined_audio_video_bwe = true; 207 receive_config.combined_audio_video_bwe = true;
214 audio_receive_stream_ = test_->receiver_call_->CreateAudioReceiveStream( 208 audio_receive_stream_ =
215 receive_config); 209 test_->receiver_call_->CreateAudioReceiveStream(receive_config);
216 } else { 210 } else {
217 VideoReceiveStream::Decoder decoder; 211 VideoReceiveStream::Decoder decoder;
218 decoder.decoder = &fake_decoder_; 212 decoder.decoder = &fake_decoder_;
219 decoder.payload_type = 213 decoder.payload_type =
220 test_->send_config_.encoder_settings.payload_type; 214 test_->send_config_.encoder_settings.payload_type;
221 decoder.payload_name = 215 decoder.payload_name =
222 test_->send_config_.encoder_settings.payload_name; 216 test_->send_config_.encoder_settings.payload_name;
223 test_->receive_config_.decoders.push_back(decoder); 217 test_->receive_config_.decoders.push_back(decoder);
224 test_->receive_config_.rtp.remote_ssrc = 218 test_->receive_config_.rtp.remote_ssrc =
225 test_->send_config_.rtp.ssrcs[0]; 219 test_->send_config_.rtp.ssrcs[0];
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 VideoSendStream* send_stream_; 257 VideoSendStream* send_stream_;
264 AudioReceiveStream* audio_receive_stream_; 258 AudioReceiveStream* audio_receive_stream_;
265 VideoReceiveStream* video_receive_stream_; 259 VideoReceiveStream* video_receive_stream_;
266 rtc::scoped_ptr<test::FrameGeneratorCapturer> frame_generator_capturer_; 260 rtc::scoped_ptr<test::FrameGeneratorCapturer> frame_generator_capturer_;
267 test::FakeEncoder fake_encoder_; 261 test::FakeEncoder fake_encoder_;
268 test::FakeDecoder fake_decoder_; 262 test::FakeDecoder fake_decoder_;
269 }; 263 };
270 264
271 test::FakeVoiceEngine fake_voice_engine_; 265 test::FakeVoiceEngine fake_voice_engine_;
272 TraceObserver receiver_trace_; 266 TraceObserver receiver_trace_;
273 test::DirectTransport send_transport_; 267 rtc::scoped_ptr<test::DirectTransport> send_transport_;
274 test::DirectTransport receive_transport_; 268 rtc::scoped_ptr<test::DirectTransport> receive_transport_;
275 rtc::scoped_ptr<Call> sender_call_; 269 rtc::scoped_ptr<Call> sender_call_;
276 rtc::scoped_ptr<Call> receiver_call_; 270 rtc::scoped_ptr<Call> receiver_call_;
277 VideoReceiveStream::Config receive_config_; 271 VideoReceiveStream::Config receive_config_;
278 std::vector<Stream*> streams_; 272 std::vector<Stream*> streams_;
279 }; 273 };
280 274
281 static const char* kAbsSendTimeLog = 275 static const char* kAbsSendTimeLog =
282 "RemoteBitrateEstimatorAbsSendTime: Instantiating."; 276 "RemoteBitrateEstimatorAbsSendTime: Instantiating.";
283 static const char* kSingleStreamLog = 277 static const char* kSingleStreamLog =
284 "RemoteBitrateEstimatorSingleStream: Instantiating."; 278 "RemoteBitrateEstimatorSingleStream: Instantiating.";
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
363 RtpExtension(RtpExtension::kTOffset, kTOFExtensionId); 357 RtpExtension(RtpExtension::kTOffset, kTOFExtensionId);
364 receiver_trace_.PushExpectedLogLine( 358 receiver_trace_.PushExpectedLogLine(
365 "WrappingBitrateEstimator: Switching to transmission time offset RBE."); 359 "WrappingBitrateEstimator: Switching to transmission time offset RBE.");
366 receiver_trace_.PushExpectedLogLine(kSingleStreamLog); 360 receiver_trace_.PushExpectedLogLine(kSingleStreamLog);
367 streams_.push_back(new Stream(this, false)); 361 streams_.push_back(new Stream(this, false));
368 streams_[0]->StopSending(); 362 streams_[0]->StopSending();
369 streams_[1]->StopSending(); 363 streams_[1]->StopSending();
370 EXPECT_EQ(kEventSignaled, receiver_trace_.Wait()); 364 EXPECT_EQ(kEventSignaled, receiver_trace_.Wait());
371 } 365 }
372 } // namespace webrtc 366 } // namespace webrtc
OLDNEW
« no previous file with comments | « no previous file | webrtc/call/call.cc » ('j') | webrtc/call/call_perf_tests.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698