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> |
11 #include <list> | 11 #include <list> |
12 #include <string> | 12 #include <string> |
13 | 13 |
14 #include "testing/gtest/include/gtest/gtest.h" | 14 #include "testing/gtest/include/gtest/gtest.h" |
15 | 15 |
| 16 #include "webrtc/audio_state.h" |
16 #include "webrtc/base/checks.h" | 17 #include "webrtc/base/checks.h" |
17 #include "webrtc/base/scoped_ptr.h" | 18 #include "webrtc/base/scoped_ptr.h" |
18 #include "webrtc/base/thread_annotations.h" | 19 #include "webrtc/base/thread_annotations.h" |
19 #include "webrtc/call.h" | 20 #include "webrtc/call.h" |
20 #include "webrtc/system_wrappers/interface/critical_section_wrapper.h" | 21 #include "webrtc/system_wrappers/interface/critical_section_wrapper.h" |
21 #include "webrtc/system_wrappers/interface/event_wrapper.h" | 22 #include "webrtc/system_wrappers/interface/event_wrapper.h" |
22 #include "webrtc/system_wrappers/interface/trace.h" | 23 #include "webrtc/system_wrappers/interface/trace.h" |
23 #include "webrtc/test/call_test.h" | 24 #include "webrtc/test/call_test.h" |
24 #include "webrtc/test/direct_transport.h" | 25 #include "webrtc/test/direct_transport.h" |
25 #include "webrtc/test/encoder_settings.h" | 26 #include "webrtc/test/encoder_settings.h" |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
124 receiver_call_(), | 125 receiver_call_(), |
125 receive_config_(nullptr), | 126 receive_config_(nullptr), |
126 streams_() { | 127 streams_() { |
127 } | 128 } |
128 | 129 |
129 virtual ~BitrateEstimatorTest() { | 130 virtual ~BitrateEstimatorTest() { |
130 EXPECT_TRUE(streams_.empty()); | 131 EXPECT_TRUE(streams_.empty()); |
131 } | 132 } |
132 | 133 |
133 virtual void SetUp() { | 134 virtual void SetUp() { |
| 135 AudioState::Config audio_state_config; |
| 136 audio_state_config.voice_engine = &fake_voice_engine_; |
| 137 audio_state_.reset(AudioState::Create(audio_state_config)); |
134 Call::Config config; | 138 Call::Config config; |
135 config.voice_engine = &fake_voice_engine_; | 139 config.audio_state = audio_state_.get(); |
136 receiver_call_.reset(Call::Create(config)); | 140 receiver_call_.reset(Call::Create(config)); |
137 sender_call_.reset(Call::Create(config)); | 141 sender_call_.reset(Call::Create(config)); |
138 | 142 |
139 send_transport_.SetReceiver(receiver_call_->Receiver()); | 143 send_transport_.SetReceiver(receiver_call_->Receiver()); |
140 receive_transport_.SetReceiver(sender_call_->Receiver()); | 144 receive_transport_.SetReceiver(sender_call_->Receiver()); |
141 | 145 |
142 send_config_ = VideoSendStream::Config(&send_transport_); | 146 send_config_ = VideoSendStream::Config(&send_transport_); |
143 send_config_.rtp.ssrcs.push_back(kSendSsrcs[0]); | 147 send_config_.rtp.ssrcs.push_back(kSendSsrcs[0]); |
144 // Encoders will be set separately per stream. | 148 // Encoders will be set separately per stream. |
145 send_config_.encoder_settings.encoder = nullptr; | 149 send_config_.encoder_settings.encoder = nullptr; |
(...skipping 18 matching lines...) Expand all Loading... |
164 | 168 |
165 send_transport_.StopSending(); | 169 send_transport_.StopSending(); |
166 receive_transport_.StopSending(); | 170 receive_transport_.StopSending(); |
167 | 171 |
168 while (!streams_.empty()) { | 172 while (!streams_.empty()) { |
169 delete streams_.back(); | 173 delete streams_.back(); |
170 streams_.pop_back(); | 174 streams_.pop_back(); |
171 } | 175 } |
172 | 176 |
173 receiver_call_.reset(); | 177 receiver_call_.reset(); |
| 178 sender_call_.reset(); |
174 } | 179 } |
175 | 180 |
176 protected: | 181 protected: |
177 friend class Stream; | 182 friend class Stream; |
178 | 183 |
179 class Stream { | 184 class Stream { |
180 public: | 185 public: |
181 Stream(BitrateEstimatorTest* test, bool receive_audio) | 186 Stream(BitrateEstimatorTest* test, bool receive_audio) |
182 : test_(test), | 187 : test_(test), |
183 is_sending_receiving_(false), | 188 is_sending_receiving_(false), |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
262 bool is_sending_receiving_; | 267 bool is_sending_receiving_; |
263 VideoSendStream* send_stream_; | 268 VideoSendStream* send_stream_; |
264 AudioReceiveStream* audio_receive_stream_; | 269 AudioReceiveStream* audio_receive_stream_; |
265 VideoReceiveStream* video_receive_stream_; | 270 VideoReceiveStream* video_receive_stream_; |
266 rtc::scoped_ptr<test::FrameGeneratorCapturer> frame_generator_capturer_; | 271 rtc::scoped_ptr<test::FrameGeneratorCapturer> frame_generator_capturer_; |
267 test::FakeEncoder fake_encoder_; | 272 test::FakeEncoder fake_encoder_; |
268 test::FakeDecoder fake_decoder_; | 273 test::FakeDecoder fake_decoder_; |
269 }; | 274 }; |
270 | 275 |
271 test::FakeVoiceEngine fake_voice_engine_; | 276 test::FakeVoiceEngine fake_voice_engine_; |
| 277 rtc::scoped_ptr<AudioState> audio_state_; |
272 TraceObserver receiver_trace_; | 278 TraceObserver receiver_trace_; |
273 test::DirectTransport send_transport_; | 279 test::DirectTransport send_transport_; |
274 test::DirectTransport receive_transport_; | 280 test::DirectTransport receive_transport_; |
275 rtc::scoped_ptr<Call> sender_call_; | 281 rtc::scoped_ptr<Call> sender_call_; |
276 rtc::scoped_ptr<Call> receiver_call_; | 282 rtc::scoped_ptr<Call> receiver_call_; |
277 VideoReceiveStream::Config receive_config_; | 283 VideoReceiveStream::Config receive_config_; |
278 std::vector<Stream*> streams_; | 284 std::vector<Stream*> streams_; |
279 }; | 285 }; |
280 | 286 |
281 static const char* kAbsSendTimeLog = | 287 static const char* kAbsSendTimeLog = |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
363 RtpExtension(RtpExtension::kTOffset, kTOFExtensionId); | 369 RtpExtension(RtpExtension::kTOffset, kTOFExtensionId); |
364 receiver_trace_.PushExpectedLogLine( | 370 receiver_trace_.PushExpectedLogLine( |
365 "WrappingBitrateEstimator: Switching to transmission time offset RBE."); | 371 "WrappingBitrateEstimator: Switching to transmission time offset RBE."); |
366 receiver_trace_.PushExpectedLogLine(kSingleStreamLog); | 372 receiver_trace_.PushExpectedLogLine(kSingleStreamLog); |
367 streams_.push_back(new Stream(this, false)); | 373 streams_.push_back(new Stream(this, false)); |
368 streams_[0]->StopSending(); | 374 streams_[0]->StopSending(); |
369 streams_[1]->StopSending(); | 375 streams_[1]->StopSending(); |
370 EXPECT_EQ(kEventSignaled, receiver_trace_.Wait()); | 376 EXPECT_EQ(kEventSignaled, receiver_trace_.Wait()); |
371 } | 377 } |
372 } // namespace webrtc | 378 } // namespace webrtc |
OLD | NEW |