From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- third_party/libwebrtc/moz-patch-stack/0007.patch | 145 +++++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 third_party/libwebrtc/moz-patch-stack/0007.patch (limited to 'third_party/libwebrtc/moz-patch-stack/0007.patch') diff --git a/third_party/libwebrtc/moz-patch-stack/0007.patch b/third_party/libwebrtc/moz-patch-stack/0007.patch new file mode 100644 index 0000000000..b217db4f34 --- /dev/null +++ b/third_party/libwebrtc/moz-patch-stack/0007.patch @@ -0,0 +1,145 @@ +From: Nico Grunbaum +Date: Fri, 5 Jun 2020 11:41:00 +0000 +Subject: Bug 1615191 - P0 - implement remoteTimestamp for + RTCRemoteOutboundRtpStreamStats in libwebrtc;r=dminor + +Differential Revision: https://phabricator.services.mozilla.com/D78004 +Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/cd901e96d23e004e4bee19b96c8c2f1ca3b42830 + +This patch also absorbs two additional patches that collapse into using ms for the remote timestamp: +Bug 1654112 - Plumb RemoteRTCPSenderInfo through also for audio and change unit to ms. r=ng +Bug 1654112 - Replace custom upstream code for remote received audio stats with cherry-pick. r=ng +--- + call/video_receive_stream.h | 1 + + modules/rtp_rtcp/source/rtcp_receiver.cc | 4 +++- + modules/rtp_rtcp/source/rtcp_receiver.h | 3 ++- + modules/rtp_rtcp/source/rtp_rtcp_impl.cc | 6 ++++-- + modules/rtp_rtcp/source/rtp_rtcp_impl.h | 3 ++- + modules/rtp_rtcp/source/rtp_rtcp_impl2.cc | 6 ++++-- + modules/rtp_rtcp/source/rtp_rtcp_impl2.h | 3 ++- + modules/rtp_rtcp/source/rtp_rtcp_interface.h | 5 +++-- + 8 files changed, 21 insertions(+), 10 deletions(-) + +diff --git a/call/video_receive_stream.h b/call/video_receive_stream.h +index 500ca1447f..95f1a47f4e 100644 +--- a/call/video_receive_stream.h ++++ b/call/video_receive_stream.h +@@ -153,6 +153,7 @@ class VideoReceiveStreamInterface : public MediaReceiveStreamInterface { + + uint32_t rtcp_sender_packets_sent; + uint32_t rtcp_sender_octets_sent; ++ int64_t rtcp_sender_ntp_timestamp_ms; + + // Timing frame info: all important timestamps for a full lifetime of a + // single 'timing frame'. +diff --git a/modules/rtp_rtcp/source/rtcp_receiver.cc b/modules/rtp_rtcp/source/rtcp_receiver.cc +index 61b88c89b8..a98b200c05 100644 +--- a/modules/rtp_rtcp/source/rtcp_receiver.cc ++++ b/modules/rtp_rtcp/source/rtcp_receiver.cc +@@ -362,10 +362,12 @@ RTCPReceiver::ConsumeReceivedXrReferenceTimeInfo() { + } + + void RTCPReceiver::RemoteRTCPSenderInfo(uint32_t* packet_count, +- uint32_t* octet_count) const { ++ uint32_t* octet_count, ++ int64_t* ntp_timestamp_ms) const { + MutexLock lock(&rtcp_receiver_lock_); + *packet_count = remote_sender_packet_count_; + *octet_count = remote_sender_octet_count_; ++ *ntp_timestamp_ms = remote_sender_ntp_time_.ToMs(); + } + + std::vector RTCPReceiver::GetLatestReportBlockData() const { +diff --git a/modules/rtp_rtcp/source/rtcp_receiver.h b/modules/rtp_rtcp/source/rtcp_receiver.h +index 59e0258df5..e748b257e8 100644 +--- a/modules/rtp_rtcp/source/rtcp_receiver.h ++++ b/modules/rtp_rtcp/source/rtcp_receiver.h +@@ -119,7 +119,8 @@ class RTCPReceiver final { + + // Get received sender packet and octet counts + void RemoteRTCPSenderInfo(uint32_t* packet_count, +- uint32_t* octet_count) const; ++ uint32_t* octet_count, ++ int64_t* ntp_timestamp_ms) const; + + absl::optional AverageRtt() const; + absl::optional LastRtt() const; +diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl.cc b/modules/rtp_rtcp/source/rtp_rtcp_impl.cc +index 98c37c8d28..18508a4554 100644 +--- a/modules/rtp_rtcp/source/rtp_rtcp_impl.cc ++++ b/modules/rtp_rtcp/source/rtp_rtcp_impl.cc +@@ -500,8 +500,10 @@ void ModuleRtpRtcpImpl::GetSendStreamDataCounters( + + // Received RTCP report. + void ModuleRtpRtcpImpl::RemoteRTCPSenderInfo(uint32_t* packet_count, +- uint32_t* octet_count) const { +- return rtcp_receiver_.RemoteRTCPSenderInfo(packet_count, octet_count); ++ uint32_t* octet_count, ++ int64_t* ntp_timestamp_ms) const { ++ return rtcp_receiver_.RemoteRTCPSenderInfo(packet_count, octet_count, ++ ntp_timestamp_ms); + } + + std::vector ModuleRtpRtcpImpl::GetLatestReportBlockData() +diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl.h b/modules/rtp_rtcp/source/rtp_rtcp_impl.h +index dd706e569d..742a69cce3 100644 +--- a/modules/rtp_rtcp/source/rtp_rtcp_impl.h ++++ b/modules/rtp_rtcp/source/rtp_rtcp_impl.h +@@ -183,7 +183,8 @@ class ABSL_DEPRECATED("") ModuleRtpRtcpImpl + StreamDataCounters* rtx_counters) const override; + + void RemoteRTCPSenderInfo(uint32_t* packet_count, +- uint32_t* octet_count) const override; ++ uint32_t* octet_count, ++ int64_t* ntp_timestamp_ms) const override; + + // A snapshot of the most recent Report Block with additional data of + // interest to statistics. Used to implement RTCRemoteInboundRtpStreamStats. +diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc b/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc +index 0df8543497..31a1b764b3 100644 +--- a/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc ++++ b/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc +@@ -504,8 +504,10 @@ void ModuleRtpRtcpImpl2::GetSendStreamDataCounters( + + // Received RTCP report. + void ModuleRtpRtcpImpl2::RemoteRTCPSenderInfo(uint32_t* packet_count, +- uint32_t* octet_count) const { +- return rtcp_receiver_.RemoteRTCPSenderInfo(packet_count, octet_count); ++ uint32_t* octet_count, ++ int64_t* ntp_timestamp_ms) const { ++ return rtcp_receiver_.RemoteRTCPSenderInfo(packet_count, octet_count, ++ ntp_timestamp_ms); + } + + std::vector ModuleRtpRtcpImpl2::GetLatestReportBlockData() +diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl2.h b/modules/rtp_rtcp/source/rtp_rtcp_impl2.h +index 663b28af3e..a9d18ec44a 100644 +--- a/modules/rtp_rtcp/source/rtp_rtcp_impl2.h ++++ b/modules/rtp_rtcp/source/rtp_rtcp_impl2.h +@@ -195,7 +195,8 @@ class ModuleRtpRtcpImpl2 final : public RtpRtcpInterface, + StreamDataCounters* rtx_counters) const override; + + void RemoteRTCPSenderInfo(uint32_t* packet_count, +- uint32_t* octet_count) const override; ++ uint32_t* octet_count, ++ int64_t* ntp_timestamp_ms) const override; + + // A snapshot of the most recent Report Block with additional data of + // interest to statistics. Used to implement RTCRemoteInboundRtpStreamStats. +diff --git a/modules/rtp_rtcp/source/rtp_rtcp_interface.h b/modules/rtp_rtcp/source/rtp_rtcp_interface.h +index 8df810a95e..0bdd389795 100644 +--- a/modules/rtp_rtcp/source/rtp_rtcp_interface.h ++++ b/modules/rtp_rtcp/source/rtp_rtcp_interface.h +@@ -388,9 +388,10 @@ class RtpRtcpInterface : public RtcpFeedbackSenderInterface { + StreamDataCounters* rtx_counters) const = 0; + + +- // Returns packet count and octet count from RTCP sender report. ++ // Returns packet count, octet count, and timestamp from RTCP sender report. + virtual void RemoteRTCPSenderInfo(uint32_t* packet_count, +- uint32_t* octet_count) const = 0; ++ uint32_t* octet_count, ++ int64_t* ntp_timestamp_ms) const = 0; + // A snapshot of Report Blocks with additional data of interest to statistics. + // Within this list, the sender-source SSRC pair is unique and per-pair the + // ReportBlockData represents the latest Report Block that was received for -- cgit v1.2.3