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 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 paced_sender_(paced_sender), | 108 paced_sender_(paced_sender), |
109 packet_router_(packet_router), | 109 packet_router_(packet_router), |
110 bandwidth_observer_(bandwidth_observer), | 110 bandwidth_observer_(bandwidth_observer), |
111 transport_feedback_observer_(transport_feedback_observer), | 111 transport_feedback_observer_(transport_feedback_observer), |
112 nack_history_size_sender_(kSendSidePacketHistorySize), | 112 nack_history_size_sender_(kSendSidePacketHistorySize), |
113 max_nack_reordering_threshold_(kMaxPacketAgeToNack), | 113 max_nack_reordering_threshold_(kMaxPacketAgeToNack), |
114 pre_render_callback_(NULL), | 114 pre_render_callback_(NULL), |
115 report_block_stats_sender_(new ReportBlockStats()), | 115 report_block_stats_sender_(new ReportBlockStats()), |
116 time_of_first_rtt_ms_(-1), | 116 time_of_first_rtt_ms_(-1), |
117 rtt_sum_ms_(0), | 117 rtt_sum_ms_(0), |
| 118 last_rtt_ms_(0), |
118 num_rtts_(0), | 119 num_rtts_(0), |
119 rtp_rtcp_modules_( | 120 rtp_rtcp_modules_( |
120 CreateRtpRtcpModules(!sender, | 121 CreateRtpRtcpModules(!sender, |
121 vie_receiver_.GetReceiveStatistics(), | 122 vie_receiver_.GetReceiveStatistics(), |
122 transport, | 123 transport, |
123 sender ? intra_frame_observer_ : nullptr, | 124 sender ? intra_frame_observer_ : nullptr, |
124 sender ? bandwidth_observer_.get() : nullptr, | 125 sender ? bandwidth_observer_.get() : nullptr, |
125 transport_feedback_observer_, | 126 transport_feedback_observer_, |
126 rtt_stats_, | 127 rtt_stats_, |
127 &rtcp_packet_type_counter_observer_, | 128 &rtcp_packet_type_counter_observer_, |
(...skipping 933 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1061 int current_delay_ms, | 1062 int current_delay_ms, |
1062 int target_delay_ms, | 1063 int target_delay_ms, |
1063 int jitter_buffer_ms, | 1064 int jitter_buffer_ms, |
1064 int min_playout_delay_ms, | 1065 int min_playout_delay_ms, |
1065 int render_delay_ms) { | 1066 int render_delay_ms) { |
1066 CriticalSectionScoped cs(crit_.get()); | 1067 CriticalSectionScoped cs(crit_.get()); |
1067 if (!receive_stats_callback_) | 1068 if (!receive_stats_callback_) |
1068 return; | 1069 return; |
1069 receive_stats_callback_->OnDecoderTiming( | 1070 receive_stats_callback_->OnDecoderTiming( |
1070 decode_ms, max_decode_ms, current_delay_ms, target_delay_ms, | 1071 decode_ms, max_decode_ms, current_delay_ms, target_delay_ms, |
1071 jitter_buffer_ms, min_playout_delay_ms, render_delay_ms); | 1072 jitter_buffer_ms, min_playout_delay_ms, render_delay_ms, last_rtt_ms_); |
1072 } | 1073 } |
1073 | 1074 |
1074 int32_t ViEChannel::RequestKeyFrame() { | 1075 int32_t ViEChannel::RequestKeyFrame() { |
1075 return rtp_rtcp_modules_[0]->RequestKeyFrame(); | 1076 return rtp_rtcp_modules_[0]->RequestKeyFrame(); |
1076 } | 1077 } |
1077 | 1078 |
1078 int32_t ViEChannel::SliceLossIndicationRequest( | 1079 int32_t ViEChannel::SliceLossIndicationRequest( |
1079 const uint64_t picture_id) { | 1080 const uint64_t picture_id) { |
1080 return rtp_rtcp_modules_[0]->SendRTCPSliceLossIndication( | 1081 return rtp_rtcp_modules_[0]->SendRTCPSliceLossIndication( |
1081 static_cast<uint8_t>(picture_id)); | 1082 static_cast<uint8_t>(picture_id)); |
(...skipping 13 matching lines...) Expand all Loading... |
1095 return true; | 1096 return true; |
1096 } | 1097 } |
1097 | 1098 |
1098 void ViEChannel::OnRttUpdate(int64_t avg_rtt_ms, int64_t max_rtt_ms) { | 1099 void ViEChannel::OnRttUpdate(int64_t avg_rtt_ms, int64_t max_rtt_ms) { |
1099 vcm_->SetReceiveChannelParameters(max_rtt_ms); | 1100 vcm_->SetReceiveChannelParameters(max_rtt_ms); |
1100 | 1101 |
1101 CriticalSectionScoped cs(crit_.get()); | 1102 CriticalSectionScoped cs(crit_.get()); |
1102 if (time_of_first_rtt_ms_ == -1) | 1103 if (time_of_first_rtt_ms_ == -1) |
1103 time_of_first_rtt_ms_ = Clock::GetRealTimeClock()->TimeInMilliseconds(); | 1104 time_of_first_rtt_ms_ = Clock::GetRealTimeClock()->TimeInMilliseconds(); |
1104 rtt_sum_ms_ += avg_rtt_ms; | 1105 rtt_sum_ms_ += avg_rtt_ms; |
| 1106 last_rtt_ms_ = avg_rtt_ms; |
1105 ++num_rtts_; | 1107 ++num_rtts_; |
1106 } | 1108 } |
1107 | 1109 |
1108 int ViEChannel::ProtectionRequest(const FecProtectionParams* delta_fec_params, | 1110 int ViEChannel::ProtectionRequest(const FecProtectionParams* delta_fec_params, |
1109 const FecProtectionParams* key_fec_params, | 1111 const FecProtectionParams* key_fec_params, |
1110 uint32_t* video_rate_bps, | 1112 uint32_t* video_rate_bps, |
1111 uint32_t* nack_rate_bps, | 1113 uint32_t* nack_rate_bps, |
1112 uint32_t* fec_rate_bps) { | 1114 uint32_t* fec_rate_bps) { |
1113 *video_rate_bps = 0; | 1115 *video_rate_bps = 0; |
1114 *nack_rate_bps = 0; | 1116 *nack_rate_bps = 0; |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1253 CriticalSectionScoped cs(crit_.get()); | 1255 CriticalSectionScoped cs(crit_.get()); |
1254 receive_stats_callback_ = receive_statistics_proxy; | 1256 receive_stats_callback_ = receive_statistics_proxy; |
1255 } | 1257 } |
1256 | 1258 |
1257 void ViEChannel::SetIncomingVideoStream( | 1259 void ViEChannel::SetIncomingVideoStream( |
1258 IncomingVideoStream* incoming_video_stream) { | 1260 IncomingVideoStream* incoming_video_stream) { |
1259 CriticalSectionScoped cs(crit_.get()); | 1261 CriticalSectionScoped cs(crit_.get()); |
1260 incoming_video_stream_ = incoming_video_stream; | 1262 incoming_video_stream_ = incoming_video_stream; |
1261 } | 1263 } |
1262 } // namespace webrtc | 1264 } // namespace webrtc |
OLD | NEW |