We already cherry-picked this when we vendored f30c044cf9. Upstream commit: https://webrtc.googlesource.com/src/+/995688c8e85b520d50961486abbe0cc03eae9558 Revert "more p2p cleanups" This reverts commit f30c044cf9bd06f91017c171d98690094ce6d88b. Reason for revert: breaks roll to chromium: https://ci.chromium.org/ui/p/chromium/builders/try/mac_chromium_compile_dbg_ng/2290104/overview Original change's description: > more p2p cleanups > > Move test code from p2p/base and rtc_base/ into p2p/test/ > This p2p/base much less crowded and > clarifies that the rtc_base/nat* is in fact only test code. > > BUG=webrtc:0 > > Change-Id: I4d14fae24cb0eff6783962f4b4483b560367ca5d > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/378900 > Commit-Queue: Jonas Oreland <jonaso@webrtc.org> > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Auto-Submit: Jonas Oreland <jonaso@webrtc.org> > Cr-Commit-Position: refs/heads/main@{#43995} Bug: webrtc:0 Change-Id: I6c79fa85f53fdb9a1dacbe38911771f9a4289c76 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/379040 Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> Owners-Override: Ilya Nikolaevskiy <ilnik@webrtc.org> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org> Cr-Commit-Position: refs/heads/main@{#43999} Differential Revision: https://phabricator.services.mozilla.com/D244009
172 lines
6.0 KiB
Diff
172 lines
6.0 KiB
Diff
From: Andreas Pehrson <apehrson@mozilla.com>
|
|
Date: Mon, 18 Jan 2021 11:07:00 +0100
|
|
Subject: Bug 1766646 - (fix-ae0d117d51) ifdef our Csrc impl vs upstream's
|
|
impl, see Bug 1771332.
|
|
|
|
---
|
|
modules/rtp_rtcp/source/rtp_header_extensions.cc | 4 ++++
|
|
modules/rtp_rtcp/source/rtp_header_extensions.h | 4 ++++
|
|
modules/rtp_rtcp/source/rtp_packet.cc | 4 ++++
|
|
modules/rtp_rtcp/source/rtp_sender.cc | 4 ++++
|
|
test/fuzzers/rtp_packet_fuzzer.cc | 4 ++++
|
|
5 files changed, 20 insertions(+)
|
|
|
|
diff --git a/modules/rtp_rtcp/source/rtp_header_extensions.cc b/modules/rtp_rtcp/source/rtp_header_extensions.cc
|
|
index bb035729f8..53211fa2b4 100644
|
|
--- a/modules/rtp_rtcp/source/rtp_header_extensions.cc
|
|
+++ b/modules/rtp_rtcp/source/rtp_header_extensions.cc
|
|
@@ -181,6 +181,7 @@ bool AudioLevelExtension::Write(rtc::ArrayView<uint8_t> data,
|
|
return true;
|
|
}
|
|
|
|
+#if !defined(WEBRTC_MOZILLA_BUILD)
|
|
// An RTP Header Extension for Mixer-to-Client Audio Level Indication
|
|
//
|
|
// https://tools.ietf.org/html/rfc6465
|
|
@@ -230,6 +231,7 @@ bool CsrcAudioLevel::Write(rtc::ArrayView<uint8_t> data,
|
|
}
|
|
return true;
|
|
}
|
|
+#endif
|
|
|
|
// From RFC 5450: Transmission Time Offsets in RTP Streams.
|
|
//
|
|
@@ -423,6 +425,7 @@ bool PlayoutDelayLimits::Write(rtc::ArrayView<uint8_t> data,
|
|
return true;
|
|
}
|
|
|
|
+#if defined(WEBRTC_MOZILLA_BUILD)
|
|
// CSRCAudioLevel
|
|
// Sample Audio Level Encoding Using the One-Byte Header Format
|
|
// Note that the range of len is 1 to 15 which is encoded as 0 to 14
|
|
@@ -461,6 +464,7 @@ bool CsrcAudioLevel::Write(rtc::ArrayView<uint8_t> data,
|
|
// This extension if used must have at least one audio level
|
|
return csrcAudioLevels.numAudioLevels;
|
|
}
|
|
+#endif
|
|
|
|
// Video Content Type.
|
|
//
|
|
diff --git a/modules/rtp_rtcp/source/rtp_header_extensions.h b/modules/rtp_rtcp/source/rtp_header_extensions.h
|
|
index a42dcfd1cf..134d9cfe4d 100644
|
|
--- a/modules/rtp_rtcp/source/rtp_header_extensions.h
|
|
+++ b/modules/rtp_rtcp/source/rtp_header_extensions.h
|
|
@@ -106,6 +106,7 @@ class AudioLevelExtension {
|
|
static bool Write(rtc::ArrayView<uint8_t> data, const AudioLevel& extension);
|
|
};
|
|
|
|
+#if !defined(WEBRTC_MOZILLA_BUILD)
|
|
class CsrcAudioLevel {
|
|
public:
|
|
static constexpr RTPExtensionType kId = kRtpExtensionCsrcAudioLevel;
|
|
@@ -120,6 +121,7 @@ class CsrcAudioLevel {
|
|
static bool Write(rtc::ArrayView<uint8_t> data,
|
|
rtc::ArrayView<const uint8_t> csrc_audio_levels);
|
|
};
|
|
+#endif
|
|
|
|
class TransmissionOffset {
|
|
public:
|
|
@@ -310,6 +312,7 @@ class ColorSpaceExtension {
|
|
static size_t WriteLuminance(uint8_t* data, float f, int denominator);
|
|
};
|
|
|
|
+#if defined(WEBRTC_MOZILLA_BUILD)
|
|
class CsrcAudioLevel {
|
|
public:
|
|
static constexpr RTPExtensionType kId = kRtpExtensionCsrcAudioLevel;
|
|
@@ -325,6 +328,7 @@ class CsrcAudioLevel {
|
|
static bool Write(rtc::ArrayView<uint8_t> data,
|
|
const CsrcAudioLevelList& csrcAudioLevels);
|
|
};
|
|
+#endif
|
|
|
|
// Base extension class for RTP header extensions which are strings.
|
|
// Subclasses must defined kId and kUri static constexpr members.
|
|
diff --git a/modules/rtp_rtcp/source/rtp_packet.cc b/modules/rtp_rtcp/source/rtp_packet.cc
|
|
index 2277fb95d7..49b844f71d 100644
|
|
--- a/modules/rtp_rtcp/source/rtp_packet.cc
|
|
+++ b/modules/rtp_rtcp/source/rtp_packet.cc
|
|
@@ -193,7 +193,9 @@ void RtpPacket::ZeroMutableExtensions() {
|
|
break;
|
|
}
|
|
case RTPExtensionType::kRtpExtensionAudioLevel:
|
|
+#if !defined(WEBRTC_MOZILLA_BUILD)
|
|
case RTPExtensionType::kRtpExtensionCsrcAudioLevel:
|
|
+#endif
|
|
case RTPExtensionType::kRtpExtensionAbsoluteCaptureTime:
|
|
case RTPExtensionType::kRtpExtensionColorSpace:
|
|
case RTPExtensionType::kRtpExtensionCorruptionDetection:
|
|
@@ -212,10 +214,12 @@ void RtpPacket::ZeroMutableExtensions() {
|
|
// Non-mutable extension. Don't change it.
|
|
break;
|
|
}
|
|
+#if defined(WEBRTC_MOZILLA_BUILD)
|
|
case RTPExtensionType::kRtpExtensionCsrcAudioLevel: {
|
|
// TODO: This is a Mozilla addition, we need to add a handler for this.
|
|
RTC_CHECK(false);
|
|
}
|
|
+#endif
|
|
}
|
|
}
|
|
}
|
|
diff --git a/modules/rtp_rtcp/source/rtp_sender.cc b/modules/rtp_rtcp/source/rtp_sender.cc
|
|
index 1988c61d19..cc8510c8c8 100644
|
|
--- a/modules/rtp_rtcp/source/rtp_sender.cc
|
|
+++ b/modules/rtp_rtcp/source/rtp_sender.cc
|
|
@@ -115,7 +115,9 @@ bool IsNonVolatile(RTPExtensionType type) {
|
|
switch (type) {
|
|
case kRtpExtensionTransmissionTimeOffset:
|
|
case kRtpExtensionAudioLevel:
|
|
+#if !defined(WEBRTC_MOZILLA_BUILD)
|
|
case kRtpExtensionCsrcAudioLevel:
|
|
+#endif
|
|
case kRtpExtensionAbsoluteSendTime:
|
|
case kRtpExtensionTransportSequenceNumber:
|
|
case kRtpExtensionTransportSequenceNumber02:
|
|
@@ -140,10 +142,12 @@ bool IsNonVolatile(RTPExtensionType type) {
|
|
case kRtpExtensionNumberOfExtensions:
|
|
RTC_DCHECK_NOTREACHED();
|
|
return false;
|
|
+#if defined(WEBRTC_MOZILLA_BUILD)
|
|
case kRtpExtensionCsrcAudioLevel:
|
|
// TODO: Mozilla implement for CsrcAudioLevel
|
|
RTC_CHECK(false);
|
|
return false;
|
|
+#endif
|
|
}
|
|
RTC_CHECK_NOTREACHED();
|
|
}
|
|
diff --git a/test/fuzzers/rtp_packet_fuzzer.cc b/test/fuzzers/rtp_packet_fuzzer.cc
|
|
index 8eeed5cf5a..c9a3899b6f 100644
|
|
--- a/test/fuzzers/rtp_packet_fuzzer.cc
|
|
+++ b/test/fuzzers/rtp_packet_fuzzer.cc
|
|
@@ -88,11 +88,13 @@ void FuzzOneInput(const uint8_t* data, size_t size) {
|
|
packet.GetExtension<AudioLevelExtension>(&audio_level);
|
|
break;
|
|
}
|
|
+#if !defined(WEBRTC_MOZILLA_BUILD)
|
|
case kRtpExtensionCsrcAudioLevel: {
|
|
std::vector<uint8_t> audio_levels;
|
|
packet.GetExtension<CsrcAudioLevel>(&audio_levels);
|
|
break;
|
|
}
|
|
+#endif
|
|
case kRtpExtensionAbsoluteSendTime:
|
|
uint32_t sendtime;
|
|
packet.GetExtension<AbsoluteSendTime>(&sendtime);
|
|
@@ -179,11 +181,13 @@ void FuzzOneInput(const uint8_t* data, size_t size) {
|
|
CorruptionDetectionMessage message;
|
|
packet.GetExtension<CorruptionDetectionExtension>(&message);
|
|
break;
|
|
+#if defined(WEBRTC_MOZILLA_BUILD)
|
|
case kRtpExtensionCsrcAudioLevel: {
|
|
CsrcAudioLevelList levels;
|
|
packet.GetExtension<CsrcAudioLevel>(&levels);
|
|
break;
|
|
}
|
|
+#endif
|
|
}
|
|
}
|
|
|