mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-16 15:20:42 +01:00
Set RtpRtcp config receive_only in voe::ChannelReceive
Followup to https://webrtc-review.googlesource.com/c/103803 Bug: webrtc:9801 Change-Id: I8467aea241f0470aa116639ddcf5f7ef9a3cc711 Reviewed-on: https://webrtc-review.googlesource.com/c/106860 Commit-Queue: Niels Moller <nisse@webrtc.org> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Cr-Commit-Position: refs/heads/master@{#25501}
This commit is contained in:
parent
aed3070ad4
commit
fd1a2fb8e4
2 changed files with 11 additions and 4 deletions
|
@ -299,9 +299,7 @@ ChannelReceive::ChannelReceive(
|
|||
rtp_receive_statistics_->EnableRetransmitDetection(remote_ssrc_, true);
|
||||
RtpRtcp::Configuration configuration;
|
||||
configuration.audio = true;
|
||||
// TODO(nisse): Also set receiver_only = true, but that seems to break RTT
|
||||
// estimation, resulting in test failures for
|
||||
// PeerConnectionIntegrationTest.GetCaptureStartNtpTimeWithOldStatsApi
|
||||
configuration.receiver_only = true;
|
||||
configuration.outgoing_transport = rtcp_send_transport;
|
||||
configuration.receive_statistics = rtp_receive_statistics_.get();
|
||||
|
||||
|
@ -779,6 +777,8 @@ int64_t ChannelReceive::GetRTT() const {
|
|||
int64_t avg_rtt = 0;
|
||||
int64_t max_rtt = 0;
|
||||
int64_t min_rtt = 0;
|
||||
// TODO(nisse): This method computes RTT based on sender reports, even though
|
||||
// a receive stream is not supposed to do that.
|
||||
if (_rtpRtcpModule->RTT(remote_ssrc_, &rtt, &avg_rtt, &min_rtt, &max_rtt) !=
|
||||
0) {
|
||||
return 0;
|
||||
|
|
|
@ -504,7 +504,14 @@ void RTCPReceiver::HandleReportBlock(const ReportBlock& report_block,
|
|||
// If no SR has been received yet, the field is set to zero.
|
||||
// Receiver rtp_rtcp module is not expected to calculate rtt using
|
||||
// Sender Reports even if it accidentally can.
|
||||
if (!receiver_only_ && send_time_ntp != 0) {
|
||||
|
||||
// TODO(nisse): Use this way to determine the RTT only when |receiver_only_|
|
||||
// is false. However, that currently breaks the tests of the
|
||||
// googCaptureStartNtpTimeMs stat for audio receive streams. To fix, either
|
||||
// delete all dependencies on RTT measurements for audio receive streams, or
|
||||
// ensure that audio receive streams that need RTT and stats that depend on it
|
||||
// are configured with an associated audio send stream.
|
||||
if (send_time_ntp != 0) {
|
||||
uint32_t delay_ntp = report_block.delay_since_last_sr();
|
||||
// Local NTP time.
|
||||
uint32_t receive_time_ntp =
|
||||
|
|
Loading…
Reference in a new issue