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 736 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
747 int32_t ModuleRtpRtcpImpl::RequestKeyFrame() { | 747 int32_t ModuleRtpRtcpImpl::RequestKeyFrame() { |
748 switch (key_frame_req_method_) { | 748 switch (key_frame_req_method_) { |
749 case kKeyFrameReqPliRtcp: | 749 case kKeyFrameReqPliRtcp: |
750 return SendRTCP(kRtcpPli); | 750 return SendRTCP(kRtcpPli); |
751 case kKeyFrameReqFirRtcp: | 751 case kKeyFrameReqFirRtcp: |
752 return SendRTCP(kRtcpFir); | 752 return SendRTCP(kRtcpFir); |
753 } | 753 } |
754 return -1; | 754 return -1; |
755 } | 755 } |
756 | 756 |
757 int32_t ModuleRtpRtcpImpl::SendRTCPSliceLossIndication(uint8_t picture_id) { | |
758 return rtcp_sender_.SendRTCP(GetFeedbackState(), kRtcpSli, 0, 0, picture_id); | |
759 } | |
760 | |
761 void ModuleRtpRtcpImpl::SetUlpfecConfig(int red_payload_type, | 757 void ModuleRtpRtcpImpl::SetUlpfecConfig(int red_payload_type, |
762 int ulpfec_payload_type) { | 758 int ulpfec_payload_type) { |
763 rtp_sender_.SetUlpfecConfig(red_payload_type, ulpfec_payload_type); | 759 rtp_sender_.SetUlpfecConfig(red_payload_type, ulpfec_payload_type); |
764 } | 760 } |
765 | 761 |
766 bool ModuleRtpRtcpImpl::SetFecParameters( | 762 bool ModuleRtpRtcpImpl::SetFecParameters( |
767 const FecProtectionParams& delta_params, | 763 const FecProtectionParams& delta_params, |
768 const FecProtectionParams& key_params) { | 764 const FecProtectionParams& key_params) { |
769 return rtp_sender_.SetFecParameters(delta_params, key_params); | 765 return rtp_sender_.SetFecParameters(delta_params, key_params); |
770 } | 766 } |
(...skipping 11 matching lines...) Expand all Loading... |
782 *total_rate = rtp_sender_.BitrateSent(); | 778 *total_rate = rtp_sender_.BitrateSent(); |
783 *video_rate = rtp_sender_.VideoBitrateSent(); | 779 *video_rate = rtp_sender_.VideoBitrateSent(); |
784 *fec_rate = rtp_sender_.FecOverheadRate(); | 780 *fec_rate = rtp_sender_.FecOverheadRate(); |
785 *nack_rate = rtp_sender_.NackOverheadRate(); | 781 *nack_rate = rtp_sender_.NackOverheadRate(); |
786 } | 782 } |
787 | 783 |
788 void ModuleRtpRtcpImpl::OnRequestSendReport() { | 784 void ModuleRtpRtcpImpl::OnRequestSendReport() { |
789 SendRTCP(kRtcpSr); | 785 SendRTCP(kRtcpSr); |
790 } | 786 } |
791 | 787 |
792 int32_t ModuleRtpRtcpImpl::SendRTCPReferencePictureSelection( | |
793 const uint64_t picture_id) { | |
794 return rtcp_sender_.SendRTCP(GetFeedbackState(), kRtcpRpsi, 0, 0, picture_id); | |
795 } | |
796 | |
797 void ModuleRtpRtcpImpl::OnReceivedNack( | 788 void ModuleRtpRtcpImpl::OnReceivedNack( |
798 const std::vector<uint16_t>& nack_sequence_numbers) { | 789 const std::vector<uint16_t>& nack_sequence_numbers) { |
799 for (uint16_t nack_sequence_number : nack_sequence_numbers) { | 790 for (uint16_t nack_sequence_number : nack_sequence_numbers) { |
800 send_loss_stats_.AddLostPacket(nack_sequence_number); | 791 send_loss_stats_.AddLostPacket(nack_sequence_number); |
801 } | 792 } |
802 if (!rtp_sender_.StorePackets() || | 793 if (!rtp_sender_.StorePackets() || |
803 nack_sequence_numbers.size() == 0) { | 794 nack_sequence_numbers.size() == 0) { |
804 return; | 795 return; |
805 } | 796 } |
806 // Use RTT from RtcpRttStats class if provided. | 797 // Use RTT from RtcpRttStats class if provided. |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
874 StreamDataCountersCallback* | 865 StreamDataCountersCallback* |
875 ModuleRtpRtcpImpl::GetSendChannelRtpStatisticsCallback() const { | 866 ModuleRtpRtcpImpl::GetSendChannelRtpStatisticsCallback() const { |
876 return rtp_sender_.GetRtpStatisticsCallback(); | 867 return rtp_sender_.GetRtpStatisticsCallback(); |
877 } | 868 } |
878 | 869 |
879 void ModuleRtpRtcpImpl::SetVideoBitrateAllocation( | 870 void ModuleRtpRtcpImpl::SetVideoBitrateAllocation( |
880 const BitrateAllocation& bitrate) { | 871 const BitrateAllocation& bitrate) { |
881 rtcp_sender_.SetVideoBitrateAllocation(bitrate); | 872 rtcp_sender_.SetVideoBitrateAllocation(bitrate); |
882 } | 873 } |
883 } // namespace webrtc | 874 } // namespace webrtc |
OLD | NEW |