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

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

Issue 1333483002: Wire up PacketTime to ReceiveStreams. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 5 years, 3 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
« no previous file with comments | « webrtc/video/call.cc ('k') | webrtc/video/end_to_end_tests.cc » ('j') | no next file with comments »
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 <algorithm> 10 #include <algorithm>
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 }; 190 };
191 191
192 void CallPerfTest::TestAudioVideoSync(bool fec, bool create_audio_first) { 192 void CallPerfTest::TestAudioVideoSync(bool fec, bool create_audio_first) {
193 const char* kSyncGroup = "av_sync"; 193 const char* kSyncGroup = "av_sync";
194 class AudioPacketReceiver : public PacketReceiver { 194 class AudioPacketReceiver : public PacketReceiver {
195 public: 195 public:
196 AudioPacketReceiver(int channel, VoENetwork* voe_network) 196 AudioPacketReceiver(int channel, VoENetwork* voe_network)
197 : channel_(channel), 197 : channel_(channel),
198 voe_network_(voe_network), 198 voe_network_(voe_network),
199 parser_(RtpHeaderParser::Create()) {} 199 parser_(RtpHeaderParser::Create()) {}
200 DeliveryStatus DeliverPacket(MediaType media_type, const uint8_t* packet, 200 DeliveryStatus DeliverPacket(MediaType media_type,
201 size_t length) override { 201 const uint8_t* packet,
202 size_t length,
203 const PacketTime& packet_time) override {
202 EXPECT_TRUE(media_type == MediaType::ANY || 204 EXPECT_TRUE(media_type == MediaType::ANY ||
203 media_type == MediaType::AUDIO); 205 media_type == MediaType::AUDIO);
204 int ret; 206 int ret;
205 if (parser_->IsRtcp(packet, length)) { 207 if (parser_->IsRtcp(packet, length)) {
206 ret = voe_network_->ReceivedRTCPPacket(channel_, packet, length); 208 ret = voe_network_->ReceivedRTCPPacket(channel_, packet, length);
207 } else { 209 } else {
208 ret = voe_network_->ReceivedRTPPacket(channel_, packet, length, 210 ret = voe_network_->ReceivedRTPPacket(channel_, packet, length,
209 PacketTime()); 211 PacketTime());
210 } 212 }
211 return ret == 0 ? DELIVERY_OK : DELIVERY_PACKET_ERROR; 213 return ret == 0 ? DELIVERY_OK : DELIVERY_PACKET_ERROR;
(...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after
538 pad_to_min_bitrate_(using_min_transmit_bitrate), 540 pad_to_min_bitrate_(using_min_transmit_bitrate),
539 num_bitrate_observations_in_range_(0) {} 541 num_bitrate_observations_in_range_(0) {}
540 542
541 private: 543 private:
542 void SetReceivers(PacketReceiver* send_transport_receiver, 544 void SetReceivers(PacketReceiver* send_transport_receiver,
543 PacketReceiver* receive_transport_receiver) override { 545 PacketReceiver* receive_transport_receiver) override {
544 send_transport_receiver_ = send_transport_receiver; 546 send_transport_receiver_ = send_transport_receiver;
545 test::RtpRtcpObserver::SetReceivers(this, receive_transport_receiver); 547 test::RtpRtcpObserver::SetReceivers(this, receive_transport_receiver);
546 } 548 }
547 549
548 DeliveryStatus DeliverPacket(MediaType media_type, const uint8_t* packet, 550 DeliveryStatus DeliverPacket(MediaType media_type,
549 size_t length) override { 551 const uint8_t* packet,
552 size_t length,
553 const PacketTime& packet_time) override {
550 VideoSendStream::Stats stats = send_stream_->GetStats(); 554 VideoSendStream::Stats stats = send_stream_->GetStats();
551 if (stats.substreams.size() > 0) { 555 if (stats.substreams.size() > 0) {
552 DCHECK_EQ(1u, stats.substreams.size()); 556 DCHECK_EQ(1u, stats.substreams.size());
553 int bitrate_kbps = 557 int bitrate_kbps =
554 stats.substreams.begin()->second.total_bitrate_bps / 1000; 558 stats.substreams.begin()->second.total_bitrate_bps / 1000;
555 if (bitrate_kbps > 0) { 559 if (bitrate_kbps > 0) {
556 test::PrintResult( 560 test::PrintResult(
557 "bitrate_stats_", 561 "bitrate_stats_",
558 (pad_to_min_bitrate_ ? "min_transmit_bitrate" 562 (pad_to_min_bitrate_ ? "min_transmit_bitrate"
559 : "without_min_transmit_bitrate"), 563 : "without_min_transmit_bitrate"),
(...skipping 13 matching lines...) Expand all
573 bitrate_kbps < (kMaxEncodeBitrateKbps + 577 bitrate_kbps < (kMaxEncodeBitrateKbps +
574 kAcceptableBitrateErrorMargin / 2)) { 578 kAcceptableBitrateErrorMargin / 2)) {
575 ++num_bitrate_observations_in_range_; 579 ++num_bitrate_observations_in_range_;
576 } 580 }
577 } 581 }
578 if (num_bitrate_observations_in_range_ == 582 if (num_bitrate_observations_in_range_ ==
579 kNumBitrateObservationsInRange) 583 kNumBitrateObservationsInRange)
580 observation_complete_->Set(); 584 observation_complete_->Set();
581 } 585 }
582 } 586 }
583 return send_transport_receiver_->DeliverPacket(media_type, packet, 587 return send_transport_receiver_->DeliverPacket(media_type, packet, length,
584 length); 588 packet_time);
585 } 589 }
586 590
587 void OnStreamsCreated( 591 void OnStreamsCreated(
588 VideoSendStream* send_stream, 592 VideoSendStream* send_stream,
589 const std::vector<VideoReceiveStream*>& receive_streams) override { 593 const std::vector<VideoReceiveStream*>& receive_streams) override {
590 send_stream_ = send_stream; 594 send_stream_ = send_stream;
591 } 595 }
592 596
593 void ModifyConfigs(VideoSendStream::Config* send_config, 597 void ModifyConfigs(VideoSendStream::Config* send_config,
594 std::vector<VideoReceiveStream::Config>* receive_configs, 598 std::vector<VideoReceiveStream::Config>* receive_configs,
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
704 int encoder_inits_; 708 int encoder_inits_;
705 uint32_t last_set_bitrate_; 709 uint32_t last_set_bitrate_;
706 VideoSendStream* send_stream_; 710 VideoSendStream* send_stream_;
707 VideoEncoderConfig encoder_config_; 711 VideoEncoderConfig encoder_config_;
708 } test; 712 } test;
709 713
710 RunBaseTest(&test); 714 RunBaseTest(&test);
711 } 715 }
712 716
713 } // namespace webrtc 717 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/video/call.cc ('k') | webrtc/video/end_to_end_tests.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698