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 620 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
631 } | 631 } |
632 | 632 |
633 void ViEChannel::SetRtpStateForSsrc(uint32_t ssrc, const RtpState& rtp_state) { | 633 void ViEChannel::SetRtpStateForSsrc(uint32_t ssrc, const RtpState& rtp_state) { |
634 RTC_DCHECK(!rtp_rtcp_modules_[0]->Sending()); | 634 RTC_DCHECK(!rtp_rtcp_modules_[0]->Sending()); |
635 for (RtpRtcp* rtp_rtcp : rtp_rtcp_modules_) { | 635 for (RtpRtcp* rtp_rtcp : rtp_rtcp_modules_) { |
636 if (rtp_rtcp->SetRtpStateForSsrc(ssrc, rtp_state)) | 636 if (rtp_rtcp->SetRtpStateForSsrc(ssrc, rtp_state)) |
637 return; | 637 return; |
638 } | 638 } |
639 } | 639 } |
640 | 640 |
641 RtpState ViEChannel::GetRtpStateForSsrc(uint32_t ssrc) { | 641 RtpState ViEChannel::GetRtpStateForSsrc(uint32_t ssrc) const { |
642 RTC_DCHECK(!rtp_rtcp_modules_[0]->Sending()); | 642 RTC_DCHECK(!rtp_rtcp_modules_[0]->Sending()); |
643 RtpState rtp_state; | 643 RtpState rtp_state; |
644 for (RtpRtcp* rtp_rtcp : rtp_rtcp_modules_) { | 644 for (RtpRtcp* rtp_rtcp : rtp_rtcp_modules_) { |
645 if (rtp_rtcp->GetRtpStateForSsrc(ssrc, &rtp_state)) | 645 if (rtp_rtcp->GetRtpStateForSsrc(ssrc, &rtp_state)) |
646 return rtp_state; | 646 return rtp_state; |
647 } | 647 } |
648 LOG(LS_ERROR) << "Couldn't get RTP state for ssrc: " << ssrc; | 648 LOG(LS_ERROR) << "Couldn't get RTP state for ssrc: " << ssrc; |
649 return rtp_state; | 649 return rtp_state; |
650 } | 650 } |
651 | 651 |
652 // TODO(pbos): Set CNAME on all modules. | 652 // TODO(pbos): Set CNAME on all modules. |
653 int32_t ViEChannel::SetRTCPCName(const char* rtcp_cname) { | 653 int32_t ViEChannel::SetRTCPCName(const char* rtcp_cname) { |
654 RTC_DCHECK(!rtp_rtcp_modules_[0]->Sending()); | 654 RTC_DCHECK(!rtp_rtcp_modules_[0]->Sending()); |
655 return rtp_rtcp_modules_[0]->SetCNAME(rtcp_cname); | 655 return rtp_rtcp_modules_[0]->SetCNAME(rtcp_cname); |
656 } | 656 } |
657 | 657 |
658 int32_t ViEChannel::GetRemoteRTCPCName(char rtcp_cname[]) { | 658 int32_t ViEChannel::GetRemoteRTCPCName(char rtcp_cname[]) { |
659 uint32_t remoteSSRC = vie_receiver_.GetRemoteSsrc(); | 659 uint32_t remoteSSRC = vie_receiver_.GetRemoteSsrc(); |
660 return rtp_rtcp_modules_[0]->RemoteCNAME(remoteSSRC, rtcp_cname); | 660 return rtp_rtcp_modules_[0]->RemoteCNAME(remoteSSRC, rtcp_cname); |
661 } | 661 } |
662 | 662 |
663 int32_t ViEChannel::GetSendRtcpStatistics(uint16_t* fraction_lost, | 663 int32_t ViEChannel::GetSendRtcpStatistics(uint16_t* fraction_lost, |
664 uint32_t* cumulative_lost, | 664 uint32_t* cumulative_lost, |
665 uint32_t* extended_max, | 665 uint32_t* extended_max, |
666 uint32_t* jitter_samples, | 666 uint32_t* jitter_samples, |
667 int64_t* rtt_ms) { | 667 int64_t* rtt_ms) const { |
668 // Aggregate the report blocks associated with streams sent on this channel. | 668 // Aggregate the report blocks associated with streams sent on this channel. |
669 std::vector<RTCPReportBlock> report_blocks; | 669 std::vector<RTCPReportBlock> report_blocks; |
670 for (RtpRtcp* rtp_rtcp : rtp_rtcp_modules_) | 670 for (RtpRtcp* rtp_rtcp : rtp_rtcp_modules_) |
671 rtp_rtcp->RemoteRTCPStat(&report_blocks); | 671 rtp_rtcp->RemoteRTCPStat(&report_blocks); |
672 | 672 |
673 if (report_blocks.empty()) | 673 if (report_blocks.empty()) |
674 return -1; | 674 return -1; |
675 | 675 |
676 uint32_t remote_ssrc = vie_receiver_.GetRemoteSsrc(); | 676 uint32_t remote_ssrc = vie_receiver_.GetRemoteSsrc(); |
677 std::vector<RTCPReportBlock>::const_iterator it = report_blocks.begin(); | 677 std::vector<RTCPReportBlock>::const_iterator it = report_blocks.begin(); |
(...skipping 432 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1110 rtc::CritScope lock(&crit_); | 1110 rtc::CritScope lock(&crit_); |
1111 receive_stats_callback_ = receive_statistics_proxy; | 1111 receive_stats_callback_ = receive_statistics_proxy; |
1112 } | 1112 } |
1113 | 1113 |
1114 void ViEChannel::SetIncomingVideoStream( | 1114 void ViEChannel::SetIncomingVideoStream( |
1115 IncomingVideoStream* incoming_video_stream) { | 1115 IncomingVideoStream* incoming_video_stream) { |
1116 rtc::CritScope lock(&crit_); | 1116 rtc::CritScope lock(&crit_); |
1117 incoming_video_stream_ = incoming_video_stream; | 1117 incoming_video_stream_ = incoming_video_stream; |
1118 } | 1118 } |
1119 } // namespace webrtc | 1119 } // namespace webrtc |
OLD | NEW |