summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/moz-patch-stack/0006.patch
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libwebrtc/moz-patch-stack/0006.patch')
-rw-r--r--third_party/libwebrtc/moz-patch-stack/0006.patch139
1 files changed, 139 insertions, 0 deletions
diff --git a/third_party/libwebrtc/moz-patch-stack/0006.patch b/third_party/libwebrtc/moz-patch-stack/0006.patch
new file mode 100644
index 0000000000..70d4576a93
--- /dev/null
+++ b/third_party/libwebrtc/moz-patch-stack/0006.patch
@@ -0,0 +1,139 @@
+From: Dan Minor <dminor@mozilla.com>
+Date: Wed, 7 Feb 2018 15:00:00 -0500
+Subject: Bug 1376873 - Fix GetRTCPSenderReport; r=ng
+
+Differential Revision: https://phabricator.services.mozilla.com/D7431
+Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/b55b0368d9f21849fa465fa9b3f028285c9ea6ae
+---
+ call/video_receive_stream.h | 3 +++
+ modules/rtp_rtcp/source/rtcp_receiver.cc | 7 +++++++
+ modules/rtp_rtcp/source/rtcp_receiver.h | 4 ++++
+ modules/rtp_rtcp/source/rtp_rtcp_impl.cc | 5 +++++
+ modules/rtp_rtcp/source/rtp_rtcp_impl.h | 3 +++
+ modules/rtp_rtcp/source/rtp_rtcp_impl2.cc | 5 +++++
+ modules/rtp_rtcp/source/rtp_rtcp_impl2.h | 3 +++
+ modules/rtp_rtcp/source/rtp_rtcp_interface.h | 4 ++++
+ 8 files changed, 34 insertions(+)
+
+diff --git a/call/video_receive_stream.h b/call/video_receive_stream.h
+index 542067d30c..500ca1447f 100644
+--- a/call/video_receive_stream.h
++++ b/call/video_receive_stream.h
+@@ -151,6 +151,9 @@ class VideoReceiveStreamInterface : public MediaReceiveStreamInterface {
+ RtcpPacketTypeCounter rtcp_packet_type_counts;
+ absl::optional<RtpReceiveStats> rtx_rtp_stats;
+
++ uint32_t rtcp_sender_packets_sent;
++ uint32_t rtcp_sender_octets_sent;
++
+ // Timing frame info: all important timestamps for a full lifetime of a
+ // single 'timing frame'.
+ absl::optional<webrtc::TimingFrameInfo> timing_frame_info;
+diff --git a/modules/rtp_rtcp/source/rtcp_receiver.cc b/modules/rtp_rtcp/source/rtcp_receiver.cc
+index ba5b951f4d..61b88c89b8 100644
+--- a/modules/rtp_rtcp/source/rtcp_receiver.cc
++++ b/modules/rtp_rtcp/source/rtcp_receiver.cc
+@@ -361,6 +361,13 @@ RTCPReceiver::ConsumeReceivedXrReferenceTimeInfo() {
+ return last_xr_rtis;
+ }
+
++void RTCPReceiver::RemoteRTCPSenderInfo(uint32_t* packet_count,
++ uint32_t* octet_count) const {
++ MutexLock lock(&rtcp_receiver_lock_);
++ *packet_count = remote_sender_packet_count_;
++ *octet_count = remote_sender_octet_count_;
++}
++
+ std::vector<ReportBlockData> RTCPReceiver::GetLatestReportBlockData() const {
+ std::vector<ReportBlockData> result;
+ MutexLock lock(&rtcp_receiver_lock_);
+diff --git a/modules/rtp_rtcp/source/rtcp_receiver.h b/modules/rtp_rtcp/source/rtcp_receiver.h
+index a6175d0774..59e0258df5 100644
+--- a/modules/rtp_rtcp/source/rtcp_receiver.h
++++ b/modules/rtp_rtcp/source/rtcp_receiver.h
+@@ -117,6 +117,10 @@ class RTCPReceiver final {
+
+ std::vector<rtcp::ReceiveTimeInfo> ConsumeReceivedXrReferenceTimeInfo();
+
++ // Get received sender packet and octet counts
++ void RemoteRTCPSenderInfo(uint32_t* packet_count,
++ uint32_t* octet_count) const;
++
+ absl::optional<TimeDelta> AverageRtt() const;
+ absl::optional<TimeDelta> LastRtt() const;
+
+diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl.cc b/modules/rtp_rtcp/source/rtp_rtcp_impl.cc
+index 20862e3c45..98c37c8d28 100644
+--- a/modules/rtp_rtcp/source/rtp_rtcp_impl.cc
++++ b/modules/rtp_rtcp/source/rtp_rtcp_impl.cc
+@@ -499,6 +499,11 @@ 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);
++}
++
+ std::vector<ReportBlockData> ModuleRtpRtcpImpl::GetLatestReportBlockData()
+ const {
+ return rtcp_receiver_.GetLatestReportBlockData();
+diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl.h b/modules/rtp_rtcp/source/rtp_rtcp_impl.h
+index d298081432..dd706e569d 100644
+--- a/modules/rtp_rtcp/source/rtp_rtcp_impl.h
++++ b/modules/rtp_rtcp/source/rtp_rtcp_impl.h
+@@ -182,6 +182,9 @@ class ABSL_DEPRECATED("") ModuleRtpRtcpImpl
+ StreamDataCounters* rtp_counters,
+ StreamDataCounters* rtx_counters) const override;
+
++ void RemoteRTCPSenderInfo(uint32_t* packet_count,
++ uint32_t* octet_count) const override;
++
+ // A snapshot of the most recent Report Block with additional data of
+ // interest to statistics. Used to implement RTCRemoteInboundRtpStreamStats.
+ // Within this list, the `ReportBlockData::source_ssrc()`, which is the SSRC
+diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc b/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc
+index 800ec77d3e..0df8543497 100644
+--- a/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc
++++ b/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc
+@@ -503,6 +503,11 @@ 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);
++}
++
+ std::vector<ReportBlockData> ModuleRtpRtcpImpl2::GetLatestReportBlockData()
+ const {
+ return rtcp_receiver_.GetLatestReportBlockData();
+diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl2.h b/modules/rtp_rtcp/source/rtp_rtcp_impl2.h
+index 36e6deffba..663b28af3e 100644
+--- a/modules/rtp_rtcp/source/rtp_rtcp_impl2.h
++++ b/modules/rtp_rtcp/source/rtp_rtcp_impl2.h
+@@ -194,6 +194,9 @@ class ModuleRtpRtcpImpl2 final : public RtpRtcpInterface,
+ StreamDataCounters* rtp_counters,
+ StreamDataCounters* rtx_counters) const override;
+
++ void RemoteRTCPSenderInfo(uint32_t* packet_count,
++ uint32_t* octet_count) const override;
++
+ // A snapshot of the most recent Report Block with additional data of
+ // interest to statistics. Used to implement RTCRemoteInboundRtpStreamStats.
+ // Within this list, the `ReportBlockData::source_ssrc()`, which is the SSRC
+diff --git a/modules/rtp_rtcp/source/rtp_rtcp_interface.h b/modules/rtp_rtcp/source/rtp_rtcp_interface.h
+index 924c764ccd..8df810a95e 100644
+--- a/modules/rtp_rtcp/source/rtp_rtcp_interface.h
++++ b/modules/rtp_rtcp/source/rtp_rtcp_interface.h
+@@ -387,6 +387,10 @@ class RtpRtcpInterface : public RtcpFeedbackSenderInterface {
+ StreamDataCounters* rtp_counters,
+ StreamDataCounters* rtx_counters) const = 0;
+
++
++ // Returns packet count and octet count from RTCP sender report.
++ virtual void RemoteRTCPSenderInfo(uint32_t* packet_count,
++ uint32_t* octet_count) 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