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

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

Issue 2794243002: Making FakeNetworkPipe demux audio and video packets. (Closed)
Patch Set: fixing android Created 3 years, 8 months 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
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 10
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 private: 184 private:
185 PacketReceiver* packet_receiver_; 185 PacketReceiver* packet_receiver_;
186 const MediaType media_type_; 186 const MediaType media_type_;
187 187
188 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(MediaTypePacketReceiver); 188 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(MediaTypePacketReceiver);
189 }; 189 };
190 190
191 FakeNetworkPipe::Config audio_net_config; 191 FakeNetworkPipe::Config audio_net_config;
192 audio_net_config.queue_delay_ms = 500; 192 audio_net_config.queue_delay_ms = 500;
193 audio_net_config.loss_percent = 5; 193 audio_net_config.loss_percent = 5;
194
195 std::map<uint8_t, MediaType> audio_pt_map;
196 std::map<uint8_t, MediaType> video_pt_map;
197 std::copy_if(std::begin(payload_type_map_), std::end(payload_type_map_),
198 std::inserter(audio_pt_map, audio_pt_map.end()),
199 [](const std::pair<const uint8_t, MediaType>& pair) {
200 return pair.second == MediaType::AUDIO;
201 });
202 std::copy_if(std::begin(payload_type_map_), std::end(payload_type_map_),
203 std::inserter(video_pt_map, video_pt_map.end()),
204 [](const std::pair<const uint8_t, MediaType>& pair) {
205 return pair.second == MediaType::VIDEO;
206 });
207
194 test::PacketTransport audio_send_transport(sender_call_.get(), &observer, 208 test::PacketTransport audio_send_transport(sender_call_.get(), &observer,
195 test::PacketTransport::kSender, 209 test::PacketTransport::kSender,
196 MediaType::AUDIO, 210 audio_pt_map, audio_net_config);
197 audio_net_config);
198 MediaTypePacketReceiver audio_receiver(receiver_call_->Receiver(), 211 MediaTypePacketReceiver audio_receiver(receiver_call_->Receiver(),
199 MediaType::AUDIO); 212 MediaType::AUDIO);
200 audio_send_transport.SetReceiver(&audio_receiver); 213 audio_send_transport.SetReceiver(&audio_receiver);
201 214
202 test::PacketTransport video_send_transport(sender_call_.get(), &observer, 215 test::PacketTransport video_send_transport(
203 test::PacketTransport::kSender, 216 sender_call_.get(), &observer, test::PacketTransport::kSender,
204 MediaType::VIDEO, 217 video_pt_map, FakeNetworkPipe::Config());
205 FakeNetworkPipe::Config());
206 MediaTypePacketReceiver video_receiver(receiver_call_->Receiver(), 218 MediaTypePacketReceiver video_receiver(receiver_call_->Receiver(),
207 MediaType::VIDEO); 219 MediaType::VIDEO);
208 video_send_transport.SetReceiver(&video_receiver); 220 video_send_transport.SetReceiver(&video_receiver);
209 221
210 test::PacketTransport receive_transport( 222 test::PacketTransport receive_transport(
211 receiver_call_.get(), &observer, test::PacketTransport::kReceiver, 223 receiver_call_.get(), &observer, test::PacketTransport::kReceiver,
212 MediaType::VIDEO, 224 payload_type_map_, FakeNetworkPipe::Config());
213 FakeNetworkPipe::Config());
214 receive_transport.SetReceiver(sender_call_->Receiver()); 225 receive_transport.SetReceiver(sender_call_->Receiver());
215 226
216 test::FakeDecoder fake_decoder; 227 test::FakeDecoder fake_decoder;
217 228
218 CreateSendConfig(1, 0, 0, &video_send_transport); 229 CreateSendConfig(1, 0, 0, &video_send_transport);
219 CreateMatchingReceiveConfigs(&receive_transport); 230 CreateMatchingReceiveConfigs(&receive_transport);
220 231
221 AudioSendStream::Config audio_send_config(&audio_send_transport); 232 AudioSendStream::Config audio_send_config(&audio_send_transport);
222 audio_send_config.voe_channel_id = send_channel_id; 233 audio_send_config.voe_channel_id = send_channel_id;
223 audio_send_config.rtp.ssrc = kAudioSendSsrc; 234 audio_send_config.rtp.ssrc = kAudioSendSsrc;
224 audio_send_config.send_codec_spec.codec_inst = 235 audio_send_config.send_codec_spec.codec_inst =
225 CodecInst{103, "ISAC", 16000, 480, 1, 32000}; 236 CodecInst{kAudioSendPayloadType, "ISAC", 16000, 480, 1, 32000};
226 AudioSendStream* audio_send_stream = 237 AudioSendStream* audio_send_stream =
227 sender_call_->CreateAudioSendStream(audio_send_config); 238 sender_call_->CreateAudioSendStream(audio_send_config);
228 239
229 video_send_config_.rtp.nack.rtp_history_ms = kNackRtpHistoryMs; 240 video_send_config_.rtp.nack.rtp_history_ms = kNackRtpHistoryMs;
230 if (fec == FecMode::kOn) { 241 if (fec == FecMode::kOn) {
231 video_send_config_.rtp.ulpfec.red_payload_type = kRedPayloadType; 242 video_send_config_.rtp.ulpfec.red_payload_type = kRedPayloadType;
232 video_send_config_.rtp.ulpfec.ulpfec_payload_type = kUlpfecPayloadType; 243 video_send_config_.rtp.ulpfec.ulpfec_payload_type = kUlpfecPayloadType;
233 video_receive_configs_[0].rtp.ulpfec.red_payload_type = kRedPayloadType; 244 video_receive_configs_[0].rtp.ulpfec.red_payload_type = kRedPayloadType;
234 video_receive_configs_[0].rtp.ulpfec.ulpfec_payload_type = 245 video_receive_configs_[0].rtp.ulpfec.ulpfec_payload_type =
235 kUlpfecPayloadType; 246 kUlpfecPayloadType;
236 } 247 }
237 video_receive_configs_[0].rtp.nack.rtp_history_ms = 1000; 248 video_receive_configs_[0].rtp.nack.rtp_history_ms = 1000;
238 video_receive_configs_[0].renderer = &observer; 249 video_receive_configs_[0].renderer = &observer;
239 video_receive_configs_[0].sync_group = kSyncGroup; 250 video_receive_configs_[0].sync_group = kSyncGroup;
240 251
241 AudioReceiveStream::Config audio_recv_config; 252 AudioReceiveStream::Config audio_recv_config;
242 audio_recv_config.rtp.remote_ssrc = kAudioSendSsrc; 253 audio_recv_config.rtp.remote_ssrc = kAudioSendSsrc;
243 audio_recv_config.rtp.local_ssrc = kAudioRecvSsrc; 254 audio_recv_config.rtp.local_ssrc = kAudioRecvSsrc;
244 audio_recv_config.voe_channel_id = recv_channel_id; 255 audio_recv_config.voe_channel_id = recv_channel_id;
245 audio_recv_config.sync_group = kSyncGroup; 256 audio_recv_config.sync_group = kSyncGroup;
246 audio_recv_config.decoder_factory = decoder_factory_; 257 audio_recv_config.decoder_factory = decoder_factory_;
247 audio_recv_config.decoder_map = {{103, {"ISAC", 16000, 1}}}; 258 audio_recv_config.decoder_map = {{kAudioSendPayloadType, {"ISAC", 16000, 1}}};
248 259
249 AudioReceiveStream* audio_receive_stream; 260 AudioReceiveStream* audio_receive_stream;
250 261
251 if (create_first == CreateOrder::kAudioFirst) { 262 if (create_first == CreateOrder::kAudioFirst) {
252 audio_receive_stream = 263 audio_receive_stream =
253 receiver_call_->CreateAudioReceiveStream(audio_recv_config); 264 receiver_call_->CreateAudioReceiveStream(audio_recv_config);
254 CreateVideoStreams(); 265 CreateVideoStreams();
255 } else { 266 } else {
256 CreateVideoStreams(); 267 CreateVideoStreams();
257 audio_receive_stream = 268 audio_receive_stream =
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 threshold_ms_(threshold_ms), 349 threshold_ms_(threshold_ms),
339 start_time_ms_(start_time_ms), 350 start_time_ms_(start_time_ms),
340 run_time_ms_(run_time_ms), 351 run_time_ms_(run_time_ms),
341 creation_time_ms_(clock_->TimeInMilliseconds()), 352 creation_time_ms_(clock_->TimeInMilliseconds()),
342 capturer_(nullptr), 353 capturer_(nullptr),
343 rtp_start_timestamp_set_(false), 354 rtp_start_timestamp_set_(false),
344 rtp_start_timestamp_(0) {} 355 rtp_start_timestamp_(0) {}
345 356
346 private: 357 private:
347 test::PacketTransport* CreateSendTransport(Call* sender_call) override { 358 test::PacketTransport* CreateSendTransport(Call* sender_call) override {
348 return new test::PacketTransport( 359 return new test::PacketTransport(sender_call, this,
349 sender_call, this, test::PacketTransport::kSender, MediaType::VIDEO, 360 test::PacketTransport::kSender,
350 net_config_); 361 payload_type_map_, net_config_);
351 } 362 }
352 363
353 test::PacketTransport* CreateReceiveTransport() override { 364 test::PacketTransport* CreateReceiveTransport() override {
354 return new test::PacketTransport( 365 return new test::PacketTransport(nullptr, this,
355 nullptr, this, test::PacketTransport::kReceiver, MediaType::VIDEO, 366 test::PacketTransport::kReceiver,
356 net_config_); 367 payload_type_map_, net_config_);
357 } 368 }
358 369
359 void OnFrame(const VideoFrame& video_frame) override { 370 void OnFrame(const VideoFrame& video_frame) override {
360 rtc::CritScope lock(&crit_); 371 rtc::CritScope lock(&crit_);
361 if (video_frame.ntp_time_ms() <= 0) { 372 if (video_frame.ntp_time_ms() <= 0) {
362 // Haven't got enough RTCP SR in order to calculate the capture ntp 373 // Haven't got enough RTCP SR in order to calculate the capture ntp
363 // time. 374 // time.
364 return; 375 return;
365 } 376 }
366 377
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after
763 uint32_t last_set_bitrate_kbps_; 774 uint32_t last_set_bitrate_kbps_;
764 VideoSendStream* send_stream_; 775 VideoSendStream* send_stream_;
765 test::FrameGeneratorCapturer* frame_generator_; 776 test::FrameGeneratorCapturer* frame_generator_;
766 VideoEncoderConfig encoder_config_; 777 VideoEncoderConfig encoder_config_;
767 } test; 778 } test;
768 779
769 RunBaseTest(&test); 780 RunBaseTest(&test);
770 } 781 }
771 782
772 } // namespace webrtc 783 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698