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

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

Issue 2708723003: Introduce new constructor to PlatformThread. (Closed)
Patch Set: Disable RTC_DCHECK in channel_proxy + add TODO Created 3 years, 10 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/end_to_end_tests.cc ('k') | webrtc/voice_engine/channel_proxy.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) 2015 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2015 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/video/video_quality_test.h" 10 #include "webrtc/video/video_quality_test.h"
(...skipping 537 matching lines...) Expand 10 before | Expand all | Expand 10 after
548 render_time_ms, encoded_size)); 548 render_time_ms, encoded_size));
549 } else { 549 } else {
550 comparisons_.push_back(FrameComparison(dropped, 550 comparisons_.push_back(FrameComparison(dropped,
551 reference.ntp_time_ms(), 551 reference.ntp_time_ms(),
552 send_time_ms, recv_time_ms, 552 send_time_ms, recv_time_ms,
553 render_time_ms, encoded_size)); 553 render_time_ms, encoded_size));
554 } 554 }
555 comparison_available_event_.Set(); 555 comparison_available_event_.Set();
556 } 556 }
557 557
558 static bool PollStatsThread(void* obj) { 558 static void PollStatsThread(void* obj) {
559 return static_cast<VideoAnalyzer*>(obj)->PollStats(); 559 static_cast<VideoAnalyzer*>(obj)->PollStats();
560 } 560 }
561 561
562 bool PollStats() { 562 void PollStats() {
563 if (done_.Wait(kSendStatsPollingIntervalMs)) 563 while (!done_.Wait(kSendStatsPollingIntervalMs)) {
564 return false; 564 rtc::CritScope crit(&comparison_lock_);
565 565
566 rtc::CritScope crit(&comparison_lock_); 566 VideoSendStream::Stats send_stats = send_stream_->GetStats();
567 // It's not certain that we yet have estimates for any of these stats.
568 // Check that they are positive before mixing them in.
569 if (send_stats.encode_frame_rate > 0)
570 encode_frame_rate_.AddSample(send_stats.encode_frame_rate);
571 if (send_stats.avg_encode_time_ms > 0)
572 encode_time_ms_.AddSample(send_stats.avg_encode_time_ms);
573 if (send_stats.encode_usage_percent > 0)
574 encode_usage_percent_.AddSample(send_stats.encode_usage_percent);
575 if (send_stats.media_bitrate_bps > 0)
576 media_bitrate_bps_.AddSample(send_stats.media_bitrate_bps);
567 577
568 VideoSendStream::Stats send_stats = send_stream_->GetStats(); 578 if (receive_stream_ != nullptr) {
569 // It's not certain that we yet have estimates for any of these stats. Check 579 VideoReceiveStream::Stats receive_stats = receive_stream_->GetStats();
570 // that they are positive before mixing them in. 580 if (receive_stats.decode_ms > 0)
571 if (send_stats.encode_frame_rate > 0) 581 decode_time_ms_.AddSample(receive_stats.decode_ms);
572 encode_frame_rate_.AddSample(send_stats.encode_frame_rate); 582 if (receive_stats.max_decode_ms > 0)
573 if (send_stats.avg_encode_time_ms > 0) 583 decode_time_max_ms_.AddSample(receive_stats.max_decode_ms);
574 encode_time_ms_.AddSample(send_stats.avg_encode_time_ms); 584 }
575 if (send_stats.encode_usage_percent > 0)
576 encode_usage_percent_.AddSample(send_stats.encode_usage_percent);
577 if (send_stats.media_bitrate_bps > 0)
578 media_bitrate_bps_.AddSample(send_stats.media_bitrate_bps);
579
580 if (receive_stream_ != nullptr) {
581 VideoReceiveStream::Stats receive_stats = receive_stream_->GetStats();
582 if (receive_stats.decode_ms > 0)
583 decode_time_ms_.AddSample(receive_stats.decode_ms);
584 if (receive_stats.max_decode_ms > 0)
585 decode_time_max_ms_.AddSample(receive_stats.max_decode_ms);
586 } 585 }
587
588 return true;
589 } 586 }
590 587
591 static bool FrameComparisonThread(void* obj) { 588 static bool FrameComparisonThread(void* obj) {
592 return static_cast<VideoAnalyzer*>(obj)->CompareFrames(); 589 return static_cast<VideoAnalyzer*>(obj)->CompareFrames();
593 } 590 }
594 591
595 bool CompareFrames() { 592 bool CompareFrames() {
596 if (AllFramesRecorded()) 593 if (AllFramesRecorded())
597 return false; 594 return false;
598 595
(...skipping 1005 matching lines...) Expand 10 before | Expand all | Expand 10 after
1604 std::ostringstream str; 1601 std::ostringstream str;
1605 str << receive_logs_++; 1602 str << receive_logs_++;
1606 std::string path = 1603 std::string path =
1607 params_.video.encoded_frame_base_path + "." + str.str() + ".recv.ivf"; 1604 params_.video.encoded_frame_base_path + "." + str.str() + ".recv.ivf";
1608 stream->EnableEncodedFrameRecording(rtc::CreatePlatformFile(path), 1605 stream->EnableEncodedFrameRecording(rtc::CreatePlatformFile(path),
1609 10000000); 1606 10000000);
1610 } 1607 }
1611 } 1608 }
1612 1609
1613 } // namespace webrtc 1610 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/video/end_to_end_tests.cc ('k') | webrtc/voice_engine/channel_proxy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698