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 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
170 frame_generator_capturer_(), | 170 frame_generator_capturer_(), |
171 fake_encoder_(Clock::GetRealTimeClock()), | 171 fake_encoder_(Clock::GetRealTimeClock()), |
172 fake_decoder_() { | 172 fake_decoder_() { |
173 test_->video_send_config_.rtp.ssrcs[0]++; | 173 test_->video_send_config_.rtp.ssrcs[0]++; |
174 test_->video_send_config_.encoder_settings.encoder = &fake_encoder_; | 174 test_->video_send_config_.encoder_settings.encoder = &fake_encoder_; |
175 send_stream_ = test_->sender_call_->CreateVideoSendStream( | 175 send_stream_ = test_->sender_call_->CreateVideoSendStream( |
176 test_->video_send_config_.Copy(), | 176 test_->video_send_config_.Copy(), |
177 test_->video_encoder_config_.Copy()); | 177 test_->video_encoder_config_.Copy()); |
178 RTC_DCHECK_EQ(1u, test_->video_encoder_config_.streams.size()); | 178 RTC_DCHECK_EQ(1u, test_->video_encoder_config_.streams.size()); |
179 frame_generator_capturer_.reset(test::FrameGeneratorCapturer::Create( | 179 frame_generator_capturer_.reset(test::FrameGeneratorCapturer::Create( |
180 send_stream_->Input(), test_->video_encoder_config_.streams[0].width, | 180 test_->video_encoder_config_.streams[0].width, |
181 test_->video_encoder_config_.streams[0].height, 30, | 181 test_->video_encoder_config_.streams[0].height, 30, |
182 Clock::GetRealTimeClock())); | 182 Clock::GetRealTimeClock())); |
| 183 send_stream_->SetSource(frame_generator_capturer_.get()); |
183 send_stream_->Start(); | 184 send_stream_->Start(); |
184 frame_generator_capturer_->Start(); | 185 frame_generator_capturer_->Start(); |
185 | 186 |
186 if (receive_audio) { | 187 if (receive_audio) { |
187 AudioReceiveStream::Config receive_config; | 188 AudioReceiveStream::Config receive_config; |
188 receive_config.rtp.remote_ssrc = test_->video_send_config_.rtp.ssrcs[0]; | 189 receive_config.rtp.remote_ssrc = test_->video_send_config_.rtp.ssrcs[0]; |
189 // Bogus non-default id to prevent hitting a RTC_DCHECK when creating | 190 // Bogus non-default id to prevent hitting a RTC_DCHECK when creating |
190 // the AudioReceiveStream. Every receive stream has to correspond to | 191 // the AudioReceiveStream. Every receive stream has to correspond to |
191 // an underlying channel id. | 192 // an underlying channel id. |
192 receive_config.voe_channel_id = 0; | 193 receive_config.voe_channel_id = 0; |
(...skipping 16 matching lines...) Expand all Loading... |
209 test_->receive_config_.rtp.local_ssrc++; | 210 test_->receive_config_.rtp.local_ssrc++; |
210 video_receive_stream_ = test_->receiver_call_->CreateVideoReceiveStream( | 211 video_receive_stream_ = test_->receiver_call_->CreateVideoReceiveStream( |
211 test_->receive_config_.Copy()); | 212 test_->receive_config_.Copy()); |
212 video_receive_stream_->Start(); | 213 video_receive_stream_->Start(); |
213 } | 214 } |
214 is_sending_receiving_ = true; | 215 is_sending_receiving_ = true; |
215 } | 216 } |
216 | 217 |
217 ~Stream() { | 218 ~Stream() { |
218 EXPECT_FALSE(is_sending_receiving_); | 219 EXPECT_FALSE(is_sending_receiving_); |
| 220 test_->sender_call_->DestroyVideoSendStream(send_stream_); |
219 frame_generator_capturer_.reset(nullptr); | 221 frame_generator_capturer_.reset(nullptr); |
220 test_->sender_call_->DestroyVideoSendStream(send_stream_); | |
221 send_stream_ = nullptr; | 222 send_stream_ = nullptr; |
222 if (audio_receive_stream_) { | 223 if (audio_receive_stream_) { |
223 test_->receiver_call_->DestroyAudioReceiveStream(audio_receive_stream_); | 224 test_->receiver_call_->DestroyAudioReceiveStream(audio_receive_stream_); |
224 audio_receive_stream_ = nullptr; | 225 audio_receive_stream_ = nullptr; |
225 } | 226 } |
226 if (video_receive_stream_) { | 227 if (video_receive_stream_) { |
227 test_->receiver_call_->DestroyVideoReceiveStream(video_receive_stream_); | 228 test_->receiver_call_->DestroyVideoReceiveStream(video_receive_stream_); |
228 video_receive_stream_ = nullptr; | 229 video_receive_stream_ = nullptr; |
229 } | 230 } |
230 } | 231 } |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
323 RtpExtension(RtpExtension::kTimestampOffsetUri, kTOFExtensionId); | 324 RtpExtension(RtpExtension::kTimestampOffsetUri, kTOFExtensionId); |
324 receiver_log_.PushExpectedLogLine(kAbsSendTimeLog); | 325 receiver_log_.PushExpectedLogLine(kAbsSendTimeLog); |
325 receiver_log_.PushExpectedLogLine( | 326 receiver_log_.PushExpectedLogLine( |
326 "WrappingBitrateEstimator: Switching to transmission time offset RBE."); | 327 "WrappingBitrateEstimator: Switching to transmission time offset RBE."); |
327 streams_.push_back(new Stream(this, false)); | 328 streams_.push_back(new Stream(this, false)); |
328 streams_[0]->StopSending(); | 329 streams_[0]->StopSending(); |
329 streams_[1]->StopSending(); | 330 streams_[1]->StopSending(); |
330 EXPECT_TRUE(receiver_log_.Wait()); | 331 EXPECT_TRUE(receiver_log_.Wait()); |
331 } | 332 } |
332 } // namespace webrtc | 333 } // namespace webrtc |
OLD | NEW |