OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2014 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 "webrtc/base/checks.h" | 10 #include "webrtc/base/checks.h" |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
53 CreateSenderCall(send_config); | 53 CreateSenderCall(send_config); |
54 if (test->ShouldCreateReceivers()) { | 54 if (test->ShouldCreateReceivers()) { |
55 Call::Config recv_config(test->GetReceiverCallConfig()); | 55 Call::Config recv_config(test->GetReceiverCallConfig()); |
56 if (num_audio_streams_ > 0) { | 56 if (num_audio_streams_ > 0) { |
57 AudioState::Config audio_state_config; | 57 AudioState::Config audio_state_config; |
58 audio_state_config.voice_engine = voe_recv_.voice_engine; | 58 audio_state_config.voice_engine = voe_recv_.voice_engine; |
59 recv_config.audio_state = AudioState::Create(audio_state_config); | 59 recv_config.audio_state = AudioState::Create(audio_state_config); |
60 } | 60 } |
61 CreateReceiverCall(recv_config); | 61 CreateReceiverCall(recv_config); |
62 } | 62 } |
63 test->OnCallsCreated(sender_call_.get(), receiver_call_.get()); | |
mflodman
2016/01/14 08:53:16
Any particular reason for moving this?
stefan-webrtc
2016/01/14 08:59:16
There was a reason. The previous version of the te
| |
63 send_transport_.reset(test->CreateSendTransport(sender_call_.get())); | 64 send_transport_.reset(test->CreateSendTransport(sender_call_.get())); |
64 receive_transport_.reset(test->CreateReceiveTransport()); | 65 receive_transport_.reset(test->CreateReceiveTransport()); |
65 test->OnCallsCreated(sender_call_.get(), receiver_call_.get()); | |
66 | 66 |
67 if (test->ShouldCreateReceivers()) { | 67 if (test->ShouldCreateReceivers()) { |
68 send_transport_->SetReceiver(receiver_call_->Receiver()); | 68 send_transport_->SetReceiver(receiver_call_->Receiver()); |
69 receive_transport_->SetReceiver(sender_call_->Receiver()); | 69 receive_transport_->SetReceiver(sender_call_->Receiver()); |
70 } else { | 70 } else { |
71 // Sender-only call delivers to itself. | 71 // Sender-only call delivers to itself. |
72 send_transport_->SetReceiver(sender_call_->Receiver()); | 72 send_transport_->SetReceiver(sender_call_->Receiver()); |
73 receive_transport_->SetReceiver(nullptr); | 73 receive_transport_->SetReceiver(nullptr); |
74 } | 74 } |
75 | 75 |
(...skipping 14 matching lines...) Expand all Loading... | |
90 | 90 |
91 if (num_video_streams_ > 0) { | 91 if (num_video_streams_ > 0) { |
92 CreateVideoStreams(); | 92 CreateVideoStreams(); |
93 test->OnVideoStreamsCreated(video_send_stream_, video_receive_streams_); | 93 test->OnVideoStreamsCreated(video_send_stream_, video_receive_streams_); |
94 } | 94 } |
95 if (num_audio_streams_ > 0) { | 95 if (num_audio_streams_ > 0) { |
96 CreateAudioStreams(); | 96 CreateAudioStreams(); |
97 test->OnAudioStreamsCreated(audio_send_stream_, audio_receive_streams_); | 97 test->OnAudioStreamsCreated(audio_send_stream_, audio_receive_streams_); |
98 } | 98 } |
99 | 99 |
100 CreateFrameGeneratorCapturer(); | 100 if (num_video_streams_ > 0) { |
101 test->OnFrameGeneratorCapturerCreated(frame_generator_capturer_.get()); | 101 CreateFrameGeneratorCapturer(); |
102 test->OnFrameGeneratorCapturerCreated(frame_generator_capturer_.get()); | |
103 } | |
102 | 104 |
103 Start(); | 105 Start(); |
104 test->PerformTest(); | 106 test->PerformTest(); |
105 send_transport_->StopSending(); | 107 send_transport_->StopSending(); |
106 receive_transport_->StopSending(); | 108 receive_transport_->StopSending(); |
107 Stop(); | 109 Stop(); |
108 | 110 |
109 DestroyStreams(); | 111 DestroyStreams(); |
110 DestroyCalls(); | 112 DestroyCalls(); |
111 if (num_audio_streams_ > 0) | 113 if (num_audio_streams_ > 0) |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
172 sender_call_.reset(); | 174 sender_call_.reset(); |
173 receiver_call_.reset(); | 175 receiver_call_.reset(); |
174 } | 176 } |
175 | 177 |
176 void CallTest::CreateSendConfig(size_t num_video_streams, | 178 void CallTest::CreateSendConfig(size_t num_video_streams, |
177 size_t num_audio_streams, | 179 size_t num_audio_streams, |
178 Transport* send_transport) { | 180 Transport* send_transport) { |
179 RTC_DCHECK(num_video_streams <= kNumSsrcs); | 181 RTC_DCHECK(num_video_streams <= kNumSsrcs); |
180 RTC_DCHECK_LE(num_audio_streams, 1u); | 182 RTC_DCHECK_LE(num_audio_streams, 1u); |
181 RTC_DCHECK(num_audio_streams == 0 || voe_send_.channel_id >= 0); | 183 RTC_DCHECK(num_audio_streams == 0 || voe_send_.channel_id >= 0); |
182 video_send_config_ = VideoSendStream::Config(send_transport); | 184 if (num_video_streams > 0) { |
183 video_send_config_.encoder_settings.encoder = &fake_encoder_; | 185 video_send_config_ = VideoSendStream::Config(send_transport); |
184 video_send_config_.encoder_settings.payload_name = "FAKE"; | 186 video_send_config_.encoder_settings.encoder = &fake_encoder_; |
185 video_send_config_.encoder_settings.payload_type = kFakeVideoSendPayloadType; | 187 video_send_config_.encoder_settings.payload_name = "FAKE"; |
186 video_send_config_.rtp.extensions.push_back( | 188 video_send_config_.encoder_settings.payload_type = |
187 RtpExtension(RtpExtension::kAbsSendTime, kAbsSendTimeExtensionId)); | 189 kFakeVideoSendPayloadType; |
188 video_encoder_config_.streams = test::CreateVideoStreams(num_video_streams); | 190 video_send_config_.rtp.extensions.push_back( |
189 for (size_t i = 0; i < num_video_streams; ++i) | 191 RtpExtension(RtpExtension::kAbsSendTime, kAbsSendTimeExtensionId)); |
190 video_send_config_.rtp.ssrcs.push_back(kVideoSendSsrcs[i]); | 192 video_encoder_config_.streams = test::CreateVideoStreams(num_video_streams); |
191 video_send_config_.rtp.extensions.push_back( | 193 for (size_t i = 0; i < num_video_streams; ++i) |
192 RtpExtension(RtpExtension::kVideoRotation, kVideoRotationRtpExtensionId)); | 194 video_send_config_.rtp.ssrcs.push_back(kVideoSendSsrcs[i]); |
195 video_send_config_.rtp.extensions.push_back(RtpExtension( | |
196 RtpExtension::kVideoRotation, kVideoRotationRtpExtensionId)); | |
197 } | |
193 | 198 |
194 if (num_audio_streams > 0) { | 199 if (num_audio_streams > 0) { |
195 audio_send_config_ = AudioSendStream::Config(send_transport); | 200 audio_send_config_ = AudioSendStream::Config(send_transport); |
196 audio_send_config_.voe_channel_id = voe_send_.channel_id; | 201 audio_send_config_.voe_channel_id = voe_send_.channel_id; |
197 audio_send_config_.rtp.ssrc = kAudioSendSsrc; | 202 audio_send_config_.rtp.ssrc = kAudioSendSsrc; |
198 } | 203 } |
199 } | 204 } |
200 | 205 |
201 void CallTest::CreateMatchingReceiveConfigs(Transport* rtcp_send_transport) { | 206 void CallTest::CreateMatchingReceiveConfigs(Transport* rtcp_send_transport) { |
202 RTC_DCHECK(!video_send_config_.rtp.ssrcs.empty()); | |
203 RTC_DCHECK(video_receive_configs_.empty()); | 207 RTC_DCHECK(video_receive_configs_.empty()); |
204 RTC_DCHECK(allocated_decoders_.empty()); | 208 RTC_DCHECK(allocated_decoders_.empty()); |
205 RTC_DCHECK(num_audio_streams_ == 0 || voe_send_.channel_id >= 0); | 209 if (num_video_streams_ > 0) { |
206 VideoReceiveStream::Config video_config(rtcp_send_transport); | 210 RTC_DCHECK(!video_send_config_.rtp.ssrcs.empty()); |
207 video_config.rtp.remb = true; | 211 VideoReceiveStream::Config video_config(rtcp_send_transport); |
208 video_config.rtp.local_ssrc = kReceiverLocalVideoSsrc; | 212 video_config.rtp.remb = true; |
209 for (const RtpExtension& extension : video_send_config_.rtp.extensions) | 213 video_config.rtp.local_ssrc = kReceiverLocalVideoSsrc; |
210 video_config.rtp.extensions.push_back(extension); | 214 for (const RtpExtension& extension : video_send_config_.rtp.extensions) |
211 for (size_t i = 0; i < video_send_config_.rtp.ssrcs.size(); ++i) { | 215 video_config.rtp.extensions.push_back(extension); |
212 VideoReceiveStream::Decoder decoder = | 216 for (size_t i = 0; i < video_send_config_.rtp.ssrcs.size(); ++i) { |
213 test::CreateMatchingDecoder(video_send_config_.encoder_settings); | 217 VideoReceiveStream::Decoder decoder = |
214 allocated_decoders_.push_back(decoder.decoder); | 218 test::CreateMatchingDecoder(video_send_config_.encoder_settings); |
215 video_config.decoders.clear(); | 219 allocated_decoders_.push_back(decoder.decoder); |
216 video_config.decoders.push_back(decoder); | 220 video_config.decoders.clear(); |
217 video_config.rtp.remote_ssrc = video_send_config_.rtp.ssrcs[i]; | 221 video_config.decoders.push_back(decoder); |
218 video_receive_configs_.push_back(video_config); | 222 video_config.rtp.remote_ssrc = video_send_config_.rtp.ssrcs[i]; |
223 video_receive_configs_.push_back(video_config); | |
224 } | |
219 } | 225 } |
220 | 226 |
221 RTC_DCHECK(num_audio_streams_ <= 1); | 227 RTC_DCHECK(num_audio_streams_ <= 1); |
222 if (num_audio_streams_ == 1) { | 228 if (num_audio_streams_ == 1) { |
229 RTC_DCHECK(voe_send_.channel_id >= 0); | |
223 AudioReceiveStream::Config audio_config; | 230 AudioReceiveStream::Config audio_config; |
224 audio_config.rtp.local_ssrc = kReceiverLocalAudioSsrc; | 231 audio_config.rtp.local_ssrc = kReceiverLocalAudioSsrc; |
225 audio_config.rtcp_send_transport = rtcp_send_transport; | 232 audio_config.rtcp_send_transport = rtcp_send_transport; |
226 audio_config.voe_channel_id = voe_recv_.channel_id; | 233 audio_config.voe_channel_id = voe_recv_.channel_id; |
227 audio_config.rtp.remote_ssrc = audio_send_config_.rtp.ssrc; | 234 audio_config.rtp.remote_ssrc = audio_send_config_.rtp.ssrc; |
228 audio_receive_configs_.push_back(audio_config); | 235 audio_receive_configs_.push_back(audio_config); |
229 } | 236 } |
230 } | 237 } |
231 | 238 |
232 void CallTest::CreateFrameGeneratorCapturer() { | 239 void CallTest::CreateFrameGeneratorCapturer() { |
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
428 | 435 |
429 EndToEndTest::EndToEndTest(unsigned int timeout_ms) : BaseTest(timeout_ms) { | 436 EndToEndTest::EndToEndTest(unsigned int timeout_ms) : BaseTest(timeout_ms) { |
430 } | 437 } |
431 | 438 |
432 bool EndToEndTest::ShouldCreateReceivers() const { | 439 bool EndToEndTest::ShouldCreateReceivers() const { |
433 return true; | 440 return true; |
434 } | 441 } |
435 | 442 |
436 } // namespace test | 443 } // namespace test |
437 } // namespace webrtc | 444 } // namespace webrtc |
OLD | NEW |