| 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 590 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 601 TraceFrameDropStart(); | 601 TraceFrameDropStart(); |
| 602 return; | 602 return; |
| 603 } | 603 } |
| 604 TraceFrameDropEnd(); | 604 TraceFrameDropEnd(); |
| 605 | 605 |
| 606 TRACE_EVENT_ASYNC_STEP0("webrtc", "Video", video_frame.render_time_ms(), | 606 TRACE_EVENT_ASYNC_STEP0("webrtc", "Video", video_frame.render_time_ms(), |
| 607 "Encode"); | 607 "Encode"); |
| 608 | 608 |
| 609 overuse_detector_.FrameCaptured(video_frame, time_when_posted_us); | 609 overuse_detector_.FrameCaptured(video_frame, time_when_posted_us); |
| 610 | 610 |
| 611 if (codec_type_ == webrtc::kVideoCodecVP8) { | |
| 612 webrtc::CodecSpecificInfo codec_specific_info; | |
| 613 codec_specific_info.codecType = webrtc::kVideoCodecVP8; | |
| 614 | |
| 615 codec_specific_info.codecSpecific.VP8.hasReceivedRPSI = has_received_rpsi_; | |
| 616 codec_specific_info.codecSpecific.VP8.hasReceivedSLI = has_received_sli_; | |
| 617 codec_specific_info.codecSpecific.VP8.pictureIdRPSI = picture_id_rpsi_; | |
| 618 codec_specific_info.codecSpecific.VP8.pictureIdSLI = picture_id_sli_; | |
| 619 has_received_sli_ = false; | |
| 620 has_received_rpsi_ = false; | |
| 621 | |
| 622 video_sender_.AddVideoFrame(video_frame, &codec_specific_info); | |
| 623 return; | |
| 624 } | |
| 625 video_sender_.AddVideoFrame(video_frame, nullptr); | 611 video_sender_.AddVideoFrame(video_frame, nullptr); |
| 626 } | 612 } |
| 627 | 613 |
| 628 void ViEEncoder::SendKeyFrame() { | 614 void ViEEncoder::SendKeyFrame() { |
| 629 if (!encoder_queue_.IsCurrent()) { | 615 if (!encoder_queue_.IsCurrent()) { |
| 630 encoder_queue_.PostTask([this] { SendKeyFrame(); }); | 616 encoder_queue_.PostTask([this] { SendKeyFrame(); }); |
| 631 return; | 617 return; |
| 632 } | 618 } |
| 633 RTC_DCHECK_RUN_ON(&encoder_queue_); | 619 RTC_DCHECK_RUN_ON(&encoder_queue_); |
| 634 video_sender_.IntraFrameRequest(0); | 620 video_sender_.IntraFrameRequest(0); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 665 if (quality_scaler_) | 651 if (quality_scaler_) |
| 666 quality_scaler_->ReportDroppedFrame(); | 652 quality_scaler_->ReportDroppedFrame(); |
| 667 }); | 653 }); |
| 668 } | 654 } |
| 669 | 655 |
| 670 void ViEEncoder::SendStatistics(uint32_t bit_rate, uint32_t frame_rate) { | 656 void ViEEncoder::SendStatistics(uint32_t bit_rate, uint32_t frame_rate) { |
| 671 RTC_DCHECK(module_process_thread_checker_.CalledOnValidThread()); | 657 RTC_DCHECK(module_process_thread_checker_.CalledOnValidThread()); |
| 672 stats_proxy_->OnEncoderStatsUpdate(frame_rate, bit_rate); | 658 stats_proxy_->OnEncoderStatsUpdate(frame_rate, bit_rate); |
| 673 } | 659 } |
| 674 | 660 |
| 661 // TODO(nisse): Delete. |
| 675 void ViEEncoder::OnReceivedSLI(uint8_t picture_id) { | 662 void ViEEncoder::OnReceivedSLI(uint8_t picture_id) { |
| 676 if (!encoder_queue_.IsCurrent()) { | 663 if (!encoder_queue_.IsCurrent()) { |
| 677 encoder_queue_.PostTask([this, picture_id] { OnReceivedSLI(picture_id); }); | 664 encoder_queue_.PostTask([this, picture_id] { OnReceivedSLI(picture_id); }); |
| 678 return; | 665 return; |
| 679 } | 666 } |
| 680 RTC_DCHECK_RUN_ON(&encoder_queue_); | 667 RTC_DCHECK_RUN_ON(&encoder_queue_); |
| 681 picture_id_sli_ = picture_id; | 668 picture_id_sli_ = picture_id; |
| 682 has_received_sli_ = true; | 669 has_received_sli_ = true; |
| 683 } | 670 } |
| 684 | 671 |
| 672 // TODO(nisse): Delete. |
| 685 void ViEEncoder::OnReceivedRPSI(uint64_t picture_id) { | 673 void ViEEncoder::OnReceivedRPSI(uint64_t picture_id) { |
| 686 if (!encoder_queue_.IsCurrent()) { | 674 if (!encoder_queue_.IsCurrent()) { |
| 687 encoder_queue_.PostTask([this, picture_id] { OnReceivedRPSI(picture_id); }); | 675 encoder_queue_.PostTask([this, picture_id] { OnReceivedRPSI(picture_id); }); |
| 688 return; | 676 return; |
| 689 } | 677 } |
| 690 RTC_DCHECK_RUN_ON(&encoder_queue_); | 678 RTC_DCHECK_RUN_ON(&encoder_queue_); |
| 691 picture_id_rpsi_ = picture_id; | 679 picture_id_rpsi_ = picture_id; |
| 692 has_received_rpsi_ = true; | 680 has_received_rpsi_ = true; |
| 693 } | 681 } |
| 694 | 682 |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 809 --scale_counter_[reason]; | 797 --scale_counter_[reason]; |
| 810 source_proxy_->RequestHigherResolutionThan(current_pixel_count); | 798 source_proxy_->RequestHigherResolutionThan(current_pixel_count); |
| 811 LOG(LS_INFO) << "Scaling up resolution."; | 799 LOG(LS_INFO) << "Scaling up resolution."; |
| 812 for (size_t i = 0; i < kScaleReasonSize; ++i) { | 800 for (size_t i = 0; i < kScaleReasonSize; ++i) { |
| 813 LOG(LS_INFO) << "Scaled " << scale_counter_[i] | 801 LOG(LS_INFO) << "Scaled " << scale_counter_[i] |
| 814 << " times for reason: " << (i ? "cpu" : "quality"); | 802 << " times for reason: " << (i ? "cpu" : "quality"); |
| 815 } | 803 } |
| 816 } | 804 } |
| 817 | 805 |
| 818 } // namespace webrtc | 806 } // namespace webrtc |
| OLD | NEW |