Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 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 591 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 602 TraceFrameDropStart(); | 602 TraceFrameDropStart(); |
| 603 return; | 603 return; |
| 604 } | 604 } |
| 605 TraceFrameDropEnd(); | 605 TraceFrameDropEnd(); |
| 606 | 606 |
| 607 TRACE_EVENT_ASYNC_STEP0("webrtc", "Video", video_frame.render_time_ms(), | 607 TRACE_EVENT_ASYNC_STEP0("webrtc", "Video", video_frame.render_time_ms(), |
| 608 "Encode"); | 608 "Encode"); |
| 609 | 609 |
| 610 overuse_detector_.FrameCaptured(video_frame, time_when_posted_us); | 610 overuse_detector_.FrameCaptured(video_frame, time_when_posted_us); |
| 611 | 611 |
| 612 if (codec_type_ == webrtc::kVideoCodecVP8) { | |
| 613 webrtc::CodecSpecificInfo codec_specific_info; | |
| 614 codec_specific_info.codecType = webrtc::kVideoCodecVP8; | |
| 615 | |
| 616 codec_specific_info.codecSpecific.VP8.hasReceivedRPSI = has_received_rpsi_; | |
| 617 codec_specific_info.codecSpecific.VP8.hasReceivedSLI = has_received_sli_; | |
| 618 codec_specific_info.codecSpecific.VP8.pictureIdRPSI = picture_id_rpsi_; | |
| 619 codec_specific_info.codecSpecific.VP8.pictureIdSLI = picture_id_sli_; | |
| 620 has_received_sli_ = false; | |
| 621 has_received_rpsi_ = false; | |
| 622 | |
| 623 video_sender_.AddVideoFrame(video_frame, &codec_specific_info); | |
| 624 return; | |
| 625 } | |
| 626 video_sender_.AddVideoFrame(video_frame, nullptr); | 612 video_sender_.AddVideoFrame(video_frame, nullptr); |
| 627 } | 613 } |
| 628 | 614 |
| 629 void ViEEncoder::SendKeyFrame() { | 615 void ViEEncoder::SendKeyFrame() { |
| 630 if (!encoder_queue_.IsCurrent()) { | 616 if (!encoder_queue_.IsCurrent()) { |
| 631 encoder_queue_.PostTask([this] { SendKeyFrame(); }); | 617 encoder_queue_.PostTask([this] { SendKeyFrame(); }); |
| 632 return; | 618 return; |
| 633 } | 619 } |
| 634 RTC_DCHECK_RUN_ON(&encoder_queue_); | 620 RTC_DCHECK_RUN_ON(&encoder_queue_); |
| 635 video_sender_.IntraFrameRequest(0); | 621 video_sender_.IntraFrameRequest(0); |
| (...skipping 30 matching lines...) Expand all Loading... | |
| 666 if (quality_scaler_) | 652 if (quality_scaler_) |
| 667 quality_scaler_->ReportDroppedFrame(); | 653 quality_scaler_->ReportDroppedFrame(); |
| 668 }); | 654 }); |
| 669 } | 655 } |
| 670 | 656 |
| 671 void ViEEncoder::SendStatistics(uint32_t bit_rate, uint32_t frame_rate) { | 657 void ViEEncoder::SendStatistics(uint32_t bit_rate, uint32_t frame_rate) { |
| 672 RTC_DCHECK(module_process_thread_checker_.CalledOnValidThread()); | 658 RTC_DCHECK(module_process_thread_checker_.CalledOnValidThread()); |
| 673 stats_proxy_->OnEncoderStatsUpdate(frame_rate, bit_rate); | 659 stats_proxy_->OnEncoderStatsUpdate(frame_rate, bit_rate); |
| 674 } | 660 } |
| 675 | 661 |
| 662 // TODO(nisse): Delete. | |
|
danilchap
2017/03/15 09:05:32
may be replace implementation with a noop (which w
nisse-webrtc
2017/03/15 09:29:46
To me it seems good enough to leave these untouche
danilchap
2017/03/15 12:00:16
Ok
| |
| 676 void ViEEncoder::OnReceivedSLI(uint8_t picture_id) { | 663 void ViEEncoder::OnReceivedSLI(uint8_t picture_id) { |
| 677 if (!encoder_queue_.IsCurrent()) { | 664 if (!encoder_queue_.IsCurrent()) { |
| 678 encoder_queue_.PostTask([this, picture_id] { OnReceivedSLI(picture_id); }); | 665 encoder_queue_.PostTask([this, picture_id] { OnReceivedSLI(picture_id); }); |
| 679 return; | 666 return; |
| 680 } | 667 } |
| 681 RTC_DCHECK_RUN_ON(&encoder_queue_); | 668 RTC_DCHECK_RUN_ON(&encoder_queue_); |
| 682 picture_id_sli_ = picture_id; | 669 picture_id_sli_ = picture_id; |
| 683 has_received_sli_ = true; | 670 has_received_sli_ = true; |
| 684 } | 671 } |
| 685 | 672 |
| 673 // TODO(nisse): Delete. | |
| 686 void ViEEncoder::OnReceivedRPSI(uint64_t picture_id) { | 674 void ViEEncoder::OnReceivedRPSI(uint64_t picture_id) { |
| 687 if (!encoder_queue_.IsCurrent()) { | 675 if (!encoder_queue_.IsCurrent()) { |
| 688 encoder_queue_.PostTask([this, picture_id] { OnReceivedRPSI(picture_id); }); | 676 encoder_queue_.PostTask([this, picture_id] { OnReceivedRPSI(picture_id); }); |
| 689 return; | 677 return; |
| 690 } | 678 } |
| 691 RTC_DCHECK_RUN_ON(&encoder_queue_); | 679 RTC_DCHECK_RUN_ON(&encoder_queue_); |
| 692 picture_id_rpsi_ = picture_id; | 680 picture_id_rpsi_ = picture_id; |
| 693 has_received_rpsi_ = true; | 681 has_received_rpsi_ = true; |
| 694 } | 682 } |
| 695 | 683 |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 810 --scale_counter_[reason]; | 798 --scale_counter_[reason]; |
| 811 source_proxy_->RequestHigherResolutionThan(current_pixel_count); | 799 source_proxy_->RequestHigherResolutionThan(current_pixel_count); |
| 812 LOG(LS_INFO) << "Scaling up resolution."; | 800 LOG(LS_INFO) << "Scaling up resolution."; |
| 813 for (size_t i = 0; i < kScaleReasonSize; ++i) { | 801 for (size_t i = 0; i < kScaleReasonSize; ++i) { |
| 814 LOG(LS_INFO) << "Scaled " << scale_counter_[i] | 802 LOG(LS_INFO) << "Scaled " << scale_counter_[i] |
| 815 << " times for reason: " << (i ? "cpu" : "quality"); | 803 << " times for reason: " << (i ? "cpu" : "quality"); |
| 816 } | 804 } |
| 817 } | 805 } |
| 818 | 806 |
| 819 } // namespace webrtc | 807 } // namespace webrtc |
| OLD | NEW |