Reenable -Wexit-time-destructors -and Wglobal-constructors in libwebrtc
authoryouenn@apple.com <youenn@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 28 Aug 2018 18:00:45 +0000 (18:00 +0000)
committeryouenn@apple.com <youenn@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 28 Aug 2018 18:00:45 +0000 (18:00 +0000)
https://bugs.webkit.org/show_bug.cgi?id=189036

Reviewed by Geoffrey Garen.

Renable these compilation warnings and introduce rtc::NeverDestroyed as helper.

* Configurations/Base.xcconfig:
* Source/webrtc/modules/audio_processing/agc2/rnn_vad/spectral_features_internal.cc:
* Source/webrtc/modules/congestion_controller/bbr/bbr_network_controller.cc:
* Source/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc:
* Source/webrtc/pc/peerconnection.cc:
* Source/webrtc/rtc_base/flags.h:
* Source/webrtc/rtc_base/logging.cc:
* Source/webrtc/rtc_base/never_destroyed.h: Added.
(rtc::NeverDestroyed::NeverDestroyed):
(rtc::NeverDestroyed::operator T&):
(rtc::NeverDestroyed::get):
(rtc::NeverDestroyed::operator const T& const):
(rtc::NeverDestroyed::get const):
(rtc::NeverDestroyed::storagePointer const):
(rtc::makeNeverDestroyed):
* Source/webrtc/rtc_base/virtualsocketserver.cc:
* Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodec.mm:
* Source/webrtc/system_wrappers/source/clock.cc:
* Source/webrtc/system_wrappers/source/runtime_enabled_features_default.cc:
* libwebrtc.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235430 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 files changed:
Source/ThirdParty/libwebrtc/ChangeLog
Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig
Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_processing/agc2/rnn_vad/spectral_features_internal.cc
Source/ThirdParty/libwebrtc/Source/webrtc/modules/congestion_controller/bbr/bbr_network_controller.cc
Source/ThirdParty/libwebrtc/Source/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
Source/ThirdParty/libwebrtc/Source/webrtc/pc/peerconnection.cc
Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/flags.h
Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/logging.cc
Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/never_destroyed.h [new file with mode: 0644]
Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/virtualsocketserver.cc
Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodec.mm
Source/ThirdParty/libwebrtc/Source/webrtc/system_wrappers/source/clock.cc
Source/ThirdParty/libwebrtc/Source/webrtc/system_wrappers/source/runtime_enabled_features_default.cc
Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj

index a98e556..06b872e 100644 (file)
@@ -1,3 +1,33 @@
+2018-08-28  Youenn Fablet  <youenn@apple.com>
+
+        Reenable -Wexit-time-destructors -and Wglobal-constructors in libwebrtc
+        https://bugs.webkit.org/show_bug.cgi?id=189036
+
+        Reviewed by Geoffrey Garen.
+
+        Renable these compilation warnings and introduce rtc::NeverDestroyed as helper.
+
+        * Configurations/Base.xcconfig:
+        * Source/webrtc/modules/audio_processing/agc2/rnn_vad/spectral_features_internal.cc:
+        * Source/webrtc/modules/congestion_controller/bbr/bbr_network_controller.cc:
+        * Source/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc:
+        * Source/webrtc/pc/peerconnection.cc:
+        * Source/webrtc/rtc_base/flags.h:
+        * Source/webrtc/rtc_base/logging.cc:
+        * Source/webrtc/rtc_base/never_destroyed.h: Added.
+        (rtc::NeverDestroyed::NeverDestroyed):
+        (rtc::NeverDestroyed::operator T&):
+        (rtc::NeverDestroyed::get):
+        (rtc::NeverDestroyed::operator const T& const):
+        (rtc::NeverDestroyed::get const):
+        (rtc::NeverDestroyed::storagePointer const):
+        (rtc::makeNeverDestroyed):
+        * Source/webrtc/rtc_base/virtualsocketserver.cc:
+        * Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodec.mm:
+        * Source/webrtc/system_wrappers/source/clock.cc:
+        * Source/webrtc/system_wrappers/source/runtime_enabled_features_default.cc:
+        * libwebrtc.xcodeproj/project.pbxproj:
+
 2018-08-27  Keith Rollin  <krollin@apple.com>
 
         Unreviewed build fix -- disable LTO for production builds
index fd65ee1..fbc8a52 100644 (file)
@@ -52,7 +52,7 @@ GCC_WARN_UNUSED_FUNCTION = YES;
 GCC_WARN_UNUSED_VARIABLE = YES;
 PREBINDING = NO;
 STRIP_INSTALLED_PRODUCT = NO;
-WARNING_CFLAGS = -Wthread-safety;
+WARNING_CFLAGS = -Wexit-time-destructors -Wglobal-constructors -Wthread-safety;
 
 SUPPORTED_PLATFORMS = iphoneos iphonesimulator macosx;
 VALID_ARCHS = $(ARCHS_STANDARD_64_BIT);
index 4cbe48a..9a14efd 100644 (file)
@@ -20,7 +20,11 @@ namespace rnn_vad {
 namespace {
 
 // DCT scaling factor.
-const float kDctScalingFactor = std::sqrt(2.f / kNumBands);
+float kDctScalingFactor()
+{
+    static const float kDctScalingFactor = std::sqrt(2.f / kNumBands);
+    return kDctScalingFactor;
+}
 
 }  // namespace
 
@@ -120,7 +124,7 @@ void ComputeDct(rtc::ArrayView<const float, kNumBands> in,
     for (size_t j = 0; j < in.size(); ++j) {
       out[i] += in[j] * dct_table[j * in.size() + i];
     }
-    out[i] *= kDctScalingFactor;
+    out[i] *= kDctScalingFactor();
   }
 }
 
index 890b285..ec5ef77 100644 (file)
@@ -35,13 +35,13 @@ const double kProbeBWCongestionWindowGain = 2.0f;
 // minus the IP and UDP headers. IPv6 has a 40 byte header, UDP adds an
 // additional 8 bytes.  This is a total overhead of 48 bytes.  Ethernet's
 // max packet size is 1500 bytes,  1500 - 48 = 1452.
-const DataSize kMaxPacketSize = DataSize::bytes(1452);
+const int kMaxPacketSize = 1452;
 
 // Default maximum packet size used in the Linux TCP implementation.
 // Used in QUIC for congestion window computations in bytes.
-const DataSize kDefaultTCPMSS = DataSize::bytes(1460);
+const int kDefaultTCPMSS = 1460;
 // Constants based on TCP defaults.
-const DataSize kMaxSegmentSize = kDefaultTCPMSS;
+const int kMaxSegmentSize = kDefaultTCPMSS;
 
 // The gain used for the slow start, equal to 2/ln(2).
 const double kHighGain = 2.885f;
@@ -90,13 +90,13 @@ BbrNetworkController::BbrControllerConfig::BbrControllerConfig(
                                  TimeDelta::PlusInfinity()),
       initial_congestion_window(
           "initial_cwin",
-          kInitialCongestionWindowPackets * kDefaultTCPMSS),
+          kInitialCongestionWindowPackets * DataSize::bytes(kDefaultTCPMSS)),
       min_congestion_window(
           "min_cwin",
-          kDefaultMinCongestionWindowPackets * kDefaultTCPMSS),
+          kDefaultMinCongestionWindowPackets * DataSize::bytes(kDefaultTCPMSS)),
       max_congestion_window(
           "max_cwin",
-          kDefaultMaxCongestionWindowPackets * kDefaultTCPMSS),
+          kDefaultMaxCongestionWindowPackets * DataSize::bytes(kDefaultTCPMSS)),
       probe_rtt_congestion_window_gain("probe_rtt_cwin_gain", 0.75),
       pacing_rate_as_target("pacing_rate_as_target", false),
       exit_startup_on_loss("exit_startup_on_loss", true),
@@ -725,7 +725,7 @@ void BbrNetworkController::MaybeEnterOrExitProbeRtt(
       // PROBE_RTT.  The CWND during PROBE_RTT is kMinimumCongestionWindow, but
       // we allow an extra packet since QUIC checks CWND before sending a
       // packet.
-      if (msg.data_in_flight < ProbeRttCongestionWindow() + kMaxPacketSize) {
+      if (msg.data_in_flight < ProbeRttCongestionWindow() + DataSize::bytes(kMaxPacketSize)) {
         exit_probe_rtt_at_ = msg.feedback_time + TimeDelta::ms(kProbeRttTimeMs);
         probe_rtt_round_passed_ = false;
       }
@@ -914,7 +914,7 @@ void BbrNetworkController::CalculateRecoveryWindow(DataSize bytes_acked,
   // integer underflow.
   recovery_window_ = recovery_window_ >= bytes_lost
                          ? recovery_window_ - bytes_lost
-                         : kMaxSegmentSize;
+                         : DataSize::bytes(kMaxSegmentSize);
 
   // In CONSERVATION mode, just subtracting losses is sufficient.  In GROWTH,
   // release additional |bytes_acked| to achieve a slow-start-like behavior.
index 4c33054..c9bb42e 100644 (file)
@@ -39,7 +39,7 @@ const char kCwndExperiment[] = "WebRTC-CwndExperiment";
 const int64_t kDefaultAcceptedQueueMs = 250;
 
 // From RTCPSender video report interval.
-const TimeDelta kLossUpdateInterval = TimeDelta::ms(1000);
+const int kLossUpdateIntervalMs = 1000;
 
 // Pacing-rate relative to our target send rate.
 // Multiplicative factor that is applied to the target bitrate to calculate
@@ -369,7 +369,7 @@ NetworkControlUpdate GoogCcNetworkController::OnTransportPacketsFeedback(
           packet_feedback.receive_time.IsFinite() ? 0 : 1;
     }
     if (report.feedback_time > next_loss_update_) {
-      next_loss_update_ += kLossUpdateInterval;
+      next_loss_update_ += TimeDelta::ms(kLossUpdateIntervalMs);
       bandwidth_estimation_->UpdatePacketsLost(
           expected_packets_since_last_loss_update_,
           lost_packets_since_last_loss_update_, report.feedback_time.ms());
index e068f60..c0d7a21 100644 (file)
@@ -46,6 +46,7 @@
 #include "rtc_base/bind.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/logging.h"
+#include "rtc_base/never_destroyed.h"
 #include "rtc_base/numerics/safe_conversions.h"
 #include "rtc_base/stringencode.h"
 #include "rtc_base/stringutils.h"
@@ -389,9 +390,8 @@ void NoteKeyProtocolAndMedia(KeyExchangeProtocolType protocol_type,
                              cricket::MediaType media_type) {
   RTC_HISTOGRAM_ENUMERATION("WebRTC.PeerConnection.KeyProtocol", protocol_type,
                             kEnumCounterKeyProtocolMax);
-  static const std::map<std::pair<KeyExchangeProtocolType, cricket::MediaType>,
-                        KeyExchangeProtocolMedia>
-      proto_media_counter_map = {
+    auto proto_media_counter_map = rtc::makeNeverDestroyed(std::map<std::pair<KeyExchangeProtocolType, cricket::MediaType>,
+                        KeyExchangeProtocolMedia> {
           {{kEnumCounterKeyProtocolDtls, cricket::MEDIA_TYPE_AUDIO},
            kEnumCounterKeyProtocolMediaTypeDtlsAudio},
           {{kEnumCounterKeyProtocolDtls, cricket::MEDIA_TYPE_VIDEO},
@@ -403,10 +403,10 @@ void NoteKeyProtocolAndMedia(KeyExchangeProtocolType protocol_type,
           {{kEnumCounterKeyProtocolSdes, cricket::MEDIA_TYPE_VIDEO},
            kEnumCounterKeyProtocolMediaTypeSdesVideo},
           {{kEnumCounterKeyProtocolSdes, cricket::MEDIA_TYPE_DATA},
-           kEnumCounterKeyProtocolMediaTypeSdesData}};
+           kEnumCounterKeyProtocolMediaTypeSdesData}});
 
-  auto it = proto_media_counter_map.find({protocol_type, media_type});
-  if (it != proto_media_counter_map.end()) {
+  auto it = proto_media_counter_map.get().find({protocol_type, media_type});
+  if (it != proto_media_counter_map.get().end()) {
     RTC_HISTOGRAM_ENUMERATION("WebRTC.PeerConnection.KeyProtocolByMedia",
                               it->second, kEnumCounterKeyProtocolMediaTypeMax);
   }
index 33f6e5b..30a5223 100644 (file)
@@ -152,18 +152,24 @@ class Flag {
 };
 
 // Internal use only.
-#define DEFINE_FLAG(type, c_type, name, default, comment)                   \
-  /* define and initialize the flag */                                      \
-  c_type FLAG_##name = (default);                                           \
-  /* register the flag */                                                   \
-  static rtc::Flag Flag_##name(__FILE__, #name, (comment), rtc::Flag::type, \
-                               &FLAG_##name,                                \
-                               rtc::FlagValue::New_##type(default))
+#define DEFINE_FLAG(type, c_type, name, default, comment)    \
+  static std::pair<std::reference_wrapper<c_type>, std::reference_wrapper<rtc::Flag>> name() { \
+    /* define and initialize the flag */                     \
+    static c_type FLAG_##name = (default);                   \
+    /* register the flag */                                  \
+    static rtc::Flag Flag_##name(__FILE__, #name, (comment), \
+      rtc::Flag::type, &FLAG_##name,                         \
+      rtc::FlagValue::New_##type(default));                  \
+    return std::make_pair<std::reference_wrapper<c_type>, std::reference_wrapper<rtc::Flag>>(FLAG_##name, Flag_##name); \
+  }                       \
+  c_type& FLAG_##name() { \
+    return name().first;  \
+  }
 
 // Internal use only.
 #define DECLARE_FLAG(c_type, name) \
-  /* declare the external flag */  \
-  extern c_type FLAG_##name
+  /* declare the flag getter */  \
+  c_type& FLAG_##name();
 
 // Use the following macros to define a new flag:
 #define DEFINE_bool(name, default, comment) \
index c386600..718aab5 100644 (file)
@@ -32,12 +32,15 @@ static const int kMaxLogLineSize = 1024 - 60;
 #include <algorithm>
 #include <cstdarg>
 #include <iomanip>
+#include <mutex>
 #include <ostream>
+#include <type_traits>
 #include <vector>
 
 #include "rtc_base/criticalsection.h"
 #include "rtc_base/logging.h"
 #include "rtc_base/platform_thread_types.h"
+#include "rtc_base/never_destroyed.h"
 #include "rtc_base/stringencode.h"
 #include "rtc_base/strings/string_builder.h"
 #include "rtc_base/stringutils.h"
@@ -69,13 +72,18 @@ std::ostream& GetNoopStream() {
    public:
     int overflow(int c) override { return c; }
   };
-  static NoopStreamBuf noop_buffer;
-  static std::ostream noop_stream(&noop_buffer);
-  return noop_stream;
+
+  static auto noop_buffer = makeNeverDestroyed(NoopStreamBuf { });
+  static NeverDestroyed<std::ostream> noop_stream { &noop_buffer.get() };
+  return noop_stream.get();
+}
+
+// Global lock for log subsystem, only needed to serialize access to streamList().
+CriticalSection& logCriticalScope() {
+  static auto scope = makeNeverDestroyed<>(CriticalSection { });
+  return scope.get();
 }
 
-// Global lock for log subsystem, only needed to serialize access to streams_.
-CriticalSection g_log_crit;
 }  // namespace
 
 // Inefficient default implementation, override is recommended.
@@ -95,7 +103,15 @@ bool LogMessage::log_to_stderr_ = true;
 // Note: we explicitly do not clean this up, because of the uncertain ordering
 // of destructors at program exit.  Let the person who sets the stream trigger
 // cleanup by setting to null, or let it leak (safe at program exit).
-LogMessage::StreamList LogMessage::streams_ RTC_GUARDED_BY(g_log_crit);
+typedef std::pair<LogSink*, LoggingSeverity> StreamAndSeverity;
+typedef std::list<StreamAndSeverity> StreamList;
+
+// The output streams and their associated severities
+StreamList& streamList()
+    RTC_EXCLUSIVE_LOCKS_REQUIRED(logCriticalScope()) {
+        static auto stream_list = makeNeverDestroyed<>(StreamList { });
+  return stream_list.get();
+}
 
 // Boolean options default to false (0)
 bool LogMessage::thread_, LogMessage::timestamp_;
@@ -109,6 +125,10 @@ LogMessage::LogMessage(const char* file,
                        LogErrorContext err_ctx,
                        int err)
     : severity_(sev), is_noop_(IsNoop(sev)) {
+
+  static std::once_flag callLogCriticalScopeOnce;
+  std::call_once(callLogCriticalScopeOnce,[] { logCriticalScope(); });
+
   // If there's no need to do any work, let's not :)
   if (is_noop_)
     return;
@@ -223,8 +243,8 @@ LogMessage::~LogMessage() {
 #endif
   }
 
-  CritScope cs(&g_log_crit);
-  for (auto& kv : streams_) {
+  CritScope cs(&logCriticalScope());
+  for (auto& kv : streamList()) {
     if (severity_ >= kv.second) {
 #if defined(WEBRTC_ANDROID)
       kv.first->OnLogMessage(str, severity_, tag_);
@@ -278,7 +298,7 @@ void LogMessage::LogTimestamps(bool on) {
 
 void LogMessage::LogToDebug(LoggingSeverity min_sev) {
   g_dbg_sev = min_sev;
-  CritScope cs(&g_log_crit);
+  CritScope cs(&logCriticalScope());
   UpdateMinLogSeverity();
 }
 
@@ -287,9 +307,9 @@ void LogMessage::SetLogToStderr(bool log_to_stderr) {
 }
 
 int LogMessage::GetLogToStream(LogSink* stream) {
-  CritScope cs(&g_log_crit);
+  CritScope cs(&logCriticalScope());
   LoggingSeverity sev = LS_NONE;
-  for (auto& kv : streams_) {
+  for (auto& kv : streamList()) {
     if (!stream || stream == kv.first) {
       sev = std::min(sev, kv.second);
     }
@@ -298,16 +318,16 @@ int LogMessage::GetLogToStream(LogSink* stream) {
 }
 
 void LogMessage::AddLogToStream(LogSink* stream, LoggingSeverity min_sev) {
-  CritScope cs(&g_log_crit);
-  streams_.push_back(std::make_pair(stream, min_sev));
+  CritScope cs(&logCriticalScope());
+  streamList().push_back(std::make_pair(stream, min_sev));
   UpdateMinLogSeverity();
 }
 
 void LogMessage::RemoveLogToStream(LogSink* stream) {
-  CritScope cs(&g_log_crit);
-  for (StreamList::iterator it = streams_.begin(); it != streams_.end(); ++it) {
+  CritScope cs(&logCriticalScope());
+  for (StreamList::iterator it = streamList().begin(); it != streamList().end(); ++it) {
     if (stream == it->first) {
-      streams_.erase(it);
+      streamList().erase(it);
       break;
     }
   }
@@ -366,9 +386,9 @@ void LogMessage::ConfigureLogging(const char* params) {
 }
 
 void LogMessage::UpdateMinLogSeverity()
-    RTC_EXCLUSIVE_LOCKS_REQUIRED(g_log_crit) {
+    RTC_EXCLUSIVE_LOCKS_REQUIRED(logCriticalScope()) {
   LoggingSeverity min_sev = g_dbg_sev;
-  for (const auto& kv : streams_) {
+  for (const auto& kv : streamList()) {
     const LoggingSeverity sev = kv.second;
     min_sev = std::min(min_sev, sev);
   }
@@ -482,8 +502,8 @@ bool LogMessage::IsNoop(LoggingSeverity severity) {
   // TODO(tommi): We're grabbing this lock for every LogMessage instance that
   // is going to be logged. This introduces unnecessary synchronization for
   // a feature that's mostly used for testing.
-  CritScope cs(&g_log_crit);
-  return streams_.size() == 0;
+  CritScope cs(&logCriticalScope());
+  return streamList().size() == 0;
 }
 
 void LogMessage::FinishPrintStream() {
diff --git a/Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/never_destroyed.h b/Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/never_destroyed.h
new file mode 100644 (file)
index 0000000..fcc62e3
--- /dev/null
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2018 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <type_traits>
+#include <utility>
+
+namespace rtc {
+
+template<typename T> class NeverDestroyed {
+public:
+    template<typename... Args> NeverDestroyed(Args&&... args)
+    {
+        new (storagePointer()) T(std::forward<Args>(args)...);
+    }
+
+    NeverDestroyed(NeverDestroyed&& other)
+    {
+        new (storagePointer()) T(std::move(*other.storagePointer()));
+    }
+
+    operator T&() { return *storagePointer(); }
+    T& get() { return *storagePointer(); }
+
+    operator const T&() const { return *storagePointer(); }
+    const T& get() const { return *storagePointer(); }
+
+private:
+    NeverDestroyed(const NeverDestroyed&) = delete;
+    NeverDestroyed& operator=(const NeverDestroyed&) = delete;
+
+    using PointerType = typename std::remove_const<T>::type*;
+
+    PointerType storagePointer() const { return const_cast<PointerType>(reinterpret_cast<const T*>(&m_storage)); }
+
+    // FIXME: Investigate whether we should allocate a hunk of virtual memory
+    // and hand out chunks of it to NeverDestroyed instead, to reduce fragmentation.
+    typename std::aligned_storage<sizeof(T), std::alignment_of<T>::value>::type m_storage;
+};
+
+template<typename T> inline NeverDestroyed<T> makeNeverDestroyed(T&& argument)
+{
+    return NeverDestroyed<T>(std::move(argument));
+}
+
+} // namespace rtc
index 53dad46..ae40d78 100644 (file)
@@ -1027,9 +1027,8 @@ void VirtualSocketServer::UpdateDelayDistribution() {
   }
 }
 
-static double PI = 4 * atan(1.0);
-
 static double Normal(double x, double mean, double stddev) {
+  static const double PI = 4 * atan(1.0);
   double a = (x - mean) * (x - mean) / (2 * stddev * stddev);
   return exp(-a) / (stddev * sqrt(2 * PI));
 }
index 955d974..38cfa9f 100644 (file)
 
 namespace {
 
+#if !defined(WEBRTC_WEBKIT_BUILD)
 NSString *MaxSupportedProfileLevelConstrainedHigh();
 NSString *MaxSupportedProfileLevelConstrainedBaseline();
+#endif
 
 }  // namespace
 
-NSString *const kRTCVideoCodecVp8Name = @(cricket::kVp8CodecName);
-NSString *const kRTCVideoCodecVp9Name = @(cricket::kVp9CodecName);
-NSString *const kRTCVideoCodecH264Name = @(cricket::kH264CodecName);
+NSString *const kRTCVideoCodecVp8Name = @"VP8";
+NSString *const kRTCVideoCodecVp9Name = @"VP9";
+NSString *const kRTCVideoCodecH264Name = @"H264";
 NSString *const kRTCLevel31ConstrainedHigh = @"640c1f";
 NSString *const kRTCLevel31ConstrainedBaseline = @"42e01f";
+
+#if defined(WEBRTC_WEBKIT_BUILD)
+
+NSString *const kRTCMaxSupportedH264ProfileLevelConstrainedHigh = @"640c1f";
+NSString *const kRTCMaxSupportedH264ProfileLevelConstrainedBaseline = @"42e01f";
+
+#else
 NSString *const kRTCMaxSupportedH264ProfileLevelConstrainedHigh =
     MaxSupportedProfileLevelConstrainedHigh();
 NSString *const kRTCMaxSupportedH264ProfileLevelConstrainedBaseline =
@@ -43,7 +52,6 @@ namespace {
 using namespace webrtc::H264;
 
 NSString *MaxSupportedLevelForProfile(Profile profile) {
-#if !defined(WEBRTC_WEBKIT_BUILD)
   const absl::optional<ProfileLevelId> profileLevelId = [UIDevice maxSupportedH264Profile];
   if (profileLevelId && profileLevelId->profile >= profile) {
     const absl::optional<std::string> profileString =
@@ -52,7 +60,6 @@ NSString *MaxSupportedLevelForProfile(Profile profile) {
       return [NSString stringForStdString:*profileString];
     }
   }
-#endif
   return nil;
 }
 #endif
@@ -79,6 +86,8 @@ NSString *MaxSupportedProfileLevelConstrainedHigh() {
 
 }  // namespace
 
+#endif // WEBRTC_WEBKIT_BUILD
+
 @implementation RTCVideoCodecInfo
 
 @synthesize name = _name;
index c9940fb..973d77c 100644 (file)
@@ -25,6 +25,7 @@
 #endif  // defined(WEBRTC_POSIX)
 
 #include "rtc_base/criticalsection.h"
+#include "rtc_base/never_destroyed.h"
 #include "rtc_base/synchronization/rw_lock_wrapper.h"
 #include "rtc_base/timeutils.h"
 
@@ -221,8 +222,8 @@ Clock* Clock::GetRealTimeClock() {
   }
   return g_shared_clock;
 #elif defined(WEBRTC_POSIX)
-  static UnixRealTimeClock clock;
-  return &clock;
+  static auto clock = rtc::makeNeverDestroyed(UnixRealTimeClock { });
+  return &clock.get();
 #else   // defined(WEBRTC_POSIX)
   return nullptr;
 #endif  // !defined(WEBRTC_WIN) || defined(WEBRTC_POSIX)
index 1d040a9..0e88fe9 100644 (file)
@@ -12,6 +12,9 @@
 
 #include "rtc_base/flags.h"
 
+#include <functional>
+#include <utility>
+
 namespace flags {
 DEFINE_bool(enable_dual_stream_mode, false, "Enables dual video stream mode.");
 }
@@ -21,7 +24,7 @@ namespace runtime_enabled_features {
 
 bool IsFeatureEnabled(std::string feature_name) {
   if (feature_name == kDualStreamModeFeatureName)
-    return flags::FLAG_enable_dual_stream_mode;
+    return flags::FLAG_enable_dual_stream_mode();
   return false;
 }
 
index 6bc19ce..f25ce62 100644 (file)
                416D3BEC212731C200775F09 /* vad_with_level.cc in Sources */ = {isa = PBXBuildFile; fileRef = 41D6B46C212731A4008F9353 /* vad_with_level.cc */; };
                416D3BED212731C200775F09 /* vector_float_frame.cc in Sources */ = {isa = PBXBuildFile; fileRef = 41D6B466212731A2008F9353 /* vector_float_frame.cc */; };
                417DA4581EF9CD0D00E869DB /* RTCUIApplicationStatusObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 417DA4561EF9CD0A00E869DB /* RTCUIApplicationStatusObserver.h */; };
+               417F7AC72134A08000FBA7EC /* never_destroyed.h in Headers */ = {isa = PBXBuildFile; fileRef = 417F7AC62134A07F00FBA7EC /* never_destroyed.h */; };
                4192413A2127372400634FCF /* features_extraction.cc in Sources */ = {isa = PBXBuildFile; fileRef = 419241312127372200634FCF /* features_extraction.cc */; };
                4192413B2127372400634FCF /* features_extraction.h in Headers */ = {isa = PBXBuildFile; fileRef = 419241322127372200634FCF /* features_extraction.h */; };
                4192413C2127372400634FCF /* pitch_search.h in Headers */ = {isa = PBXBuildFile; fileRef = 419241332127372300634FCF /* pitch_search.h */; };
                415F1FDA2127313F00064CBF /* call_config.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = call_config.h; path = call/call_config.h; sourceTree = "<group>"; };
                416D2F101FA8CC0400097345 /* VideoProcessing.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VideoProcessing.framework; path = System/Library/PrivateFrameworks/VideoProcessing.framework; sourceTree = SDKROOT; };
                417DA4561EF9CD0A00E869DB /* RTCUIApplicationStatusObserver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RTCUIApplicationStatusObserver.h; path = Source/webrtc/sdk/objc/Framework/Classes/Common/RTCUIApplicationStatusObserver.h; sourceTree = SOURCE_ROOT; };
+               417F7AC62134A07F00FBA7EC /* never_destroyed.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = never_destroyed.h; path = rtc_base/never_destroyed.h; sourceTree = "<group>"; };
                419241312127372200634FCF /* features_extraction.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = features_extraction.cc; sourceTree = "<group>"; };
                419241322127372200634FCF /* features_extraction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = features_extraction.h; sourceTree = "<group>"; };
                419241332127372300634FCF /* pitch_search.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pitch_search.h; sourceTree = "<group>"; };
                412455581EF88AD900F11809 /* video_codecs */ = {
                        isa = PBXGroup;
                        children = (
-                               41E02CC22127358700C27CD6 /* builtin_video_encoder_factory.cc */,
-                               41E02CC32127358800C27CD6 /* video_encoder_config.cc */,
                                41DDB27321267AC000296D47 /* builtin_video_decoder_factory.cc */,
                                41DDB27621267AC100296D47 /* builtin_video_decoder_factory.h */,
+                               41E02CC22127358700C27CD6 /* builtin_video_encoder_factory.cc */,
                                41DDB27721267AC100296D47 /* builtin_video_encoder_factory.h */,
                                41DDB27A21267AC200296D47 /* sdp_video_format.cc */,
+                               4145F6191FE1F38B00EB9CAF /* sdp_video_format.h */,
                                41DDB27021267AC000296D47 /* video_codec.cc */,
                                41DDB27121267AC000296D47 /* video_codec.h */,
-                               41DDB27421267AC100296D47 /* video_decoder_software_fallback_wrapper.cc */,
-                               41DDB27821267AC100296D47 /* video_decoder_software_fallback_wrapper.h */,
                                41DDB27221267AC000296D47 /* video_decoder.cc */,
-                               41DDB27B21267AC200296D47 /* video_encoder_config.h */,
-                               41DDB27521267AC100296D47 /* video_encoder_software_fallback_wrapper.cc */,
-                               41DDB27921267AC200296D47 /* video_encoder_software_fallback_wrapper.h */,
-                               4145F6191FE1F38B00EB9CAF /* sdp_video_format.h */,
                                4145E48B1EF88B9600FCF6E6 /* video_decoder.h */,
                                4145F61A1FE1F38C00EB9CAF /* video_decoder_factory.h */,
+                               41DDB27421267AC100296D47 /* video_decoder_software_fallback_wrapper.cc */,
+                               41DDB27821267AC100296D47 /* video_decoder_software_fallback_wrapper.h */,
                                4145F61C1FE1F38D00EB9CAF /* video_encoder.cc */,
                                4145E48C1EF88B9D00FCF6E6 /* video_encoder.h */,
+                               41E02CC32127358800C27CD6 /* video_encoder_config.cc */,
+                               41DDB27B21267AC200296D47 /* video_encoder_config.h */,
                                4145F61B1FE1F38D00EB9CAF /* video_encoder_factory.h */,
+                               41DDB27521267AC100296D47 /* video_encoder_software_fallback_wrapper.cc */,
+                               41DDB27921267AC200296D47 /* video_encoder_software_fallback_wrapper.h */,
                        );
                        name = video_codecs;
                        sourceTree = "<group>";
                                419241352127372300634FCF /* lp_residual.cc */,
                                419241372127372400634FCF /* lp_residual.h */,
                                41299B9B212736DE00B3414B /* pitch_info.h */,
-                               41299B9A212736DE00B3414B /* pitch_search_internal.cc */,
-                               41299B99212736DE00B3414B /* pitch_search_internal.h */,
                                419241382127372400634FCF /* pitch_search.cc */,
                                419241332127372300634FCF /* pitch_search.h */,
+                               41299B9A212736DE00B3414B /* pitch_search_internal.cc */,
+                               41299B99212736DE00B3414B /* pitch_search_internal.h */,
                                419241A7212758D300634FCF /* ring_buffer.h */,
                                41299B9C212736DE00B3414B /* rnn.cc */,
                                419241A3212758D200634FCF /* rnn.h */,
                                419241A5212758D200634FCF /* sequence_buffer.h */,
-                               419241A1212758D200634FCF /* spectral_features_internal.cc */,
-                               41299B9D212736DF00B3414B /* spectral_features_internal.h */,
                                419241A6212758D200634FCF /* spectral_features.cc */,
                                419241A4212758D200634FCF /* spectral_features.h */,
+                               419241A1212758D200634FCF /* spectral_features_internal.cc */,
+                               41299B9D212736DF00B3414B /* spectral_features_internal.h */,
                                419241A2212758D200634FCF /* symmetric_matrix_buffer.h */,
                        );
                        path = rnn_vad;
                413A21431FE18D0100373E99 /* rtc_base */ = {
                        isa = PBXGroup;
                        children = (
-                               4192417A2127390C00634FCF /* time */,
+                               413A21801FE18D7A00373E99 /* DEPS */,
                                419241652127387900634FCF /* experiments */,
+                               41F9BFC82051DD8E00ABF0B9 /* experiments */,
+                               419C83411FE246380040C30F /* numerics */,
+                               413A21FD1FE18DBB00373E99 /* OWNERS */,
+                               41DDB267212679AE00296D47 /* strings */,
+                               4192415C2127379200634FCF /* synchronization */,
+                               41F263A22126808800274F59 /* system */,
+                               41F263B4212680E800274F59 /* third_party */,
+                               4192417A2127390C00634FCF /* time */,
                                41F2639D2126800000274F59 /* aligned_array.h */,
                                41F2639B21267FFF00274F59 /* aligned_malloc.cc */,
                                41F2639C21267FFF00274F59 /* aligned_malloc.h */,
                                413A21501FE18D5100373E99 /* asyncresolverinterface.h */,
                                413A22431FE18DDC00373E99 /* asyncsocket.cc */,
                                413A220B1FE18DC100373E99 /* asyncsocket.h */,
-                               413A22741FE18DF600373E99 /* asynctcpsocket_unittest.cc */,
                                413A22581FE18DE500373E99 /* asynctcpsocket.cc */,
                                413A21641FE18D5F00373E99 /* asynctcpsocket.h */,
-                               413A22911FE18E0000373E99 /* asyncudpsocket_unittest.cc */,
+                               413A22741FE18DF600373E99 /* asynctcpsocket_unittest.cc */,
                                413A21C21FE18D9E00373E99 /* asyncudpsocket.cc */,
                                413A215C1FE18D5800373E99 /* asyncudpsocket.h */,
-                               413A225D1FE18DE600373E99 /* atomicops_unittest.cc */,
+                               413A22911FE18E0000373E99 /* asyncudpsocket_unittest.cc */,
                                413A21981FE18D8A00373E99 /* atomicops.h */,
+                               413A225D1FE18DE600373E99 /* atomicops_unittest.cc */,
                                413A21811FE18D7B00373E99 /* base64_unittest.cc */,
-                               413A222F1FE18DD200373E99 /* bind_unittest.cc */,
                                413A22091FE18DC000373E99 /* bind.h */,
-                               413A22571FE18DE400373E99 /* bitbuffer_unittest.cc */,
+                               413A222F1FE18DD200373E99 /* bind_unittest.cc */,
                                413A21E71FE18DB100373E99 /* bitbuffer.cc */,
                                413A22241FE18DCD00373E99 /* bitbuffer.h */,
-                               413A221C1FE18DC800373E99 /* bitrateallocationstrategy_unittest.cc */,
+                               413A22571FE18DE400373E99 /* bitbuffer_unittest.cc */,
                                413A214A1FE18D4E00373E99 /* bitrateallocationstrategy.cc */,
                                413A21D21FE18DA700373E99 /* bitrateallocationstrategy.h */,
-                               413A22131FE18DC400373E99 /* buffer_unittest.cc */,
+                               413A221C1FE18DC800373E99 /* bitrateallocationstrategy_unittest.cc */,
                                413A223B1FE18DD900373E99 /* buffer.h */,
-                               413A21711FE18D6D00373E99 /* bufferqueue_unittest.cc */,
+                               413A22131FE18DC400373E99 /* buffer_unittest.cc */,
                                413A22481FE18DDE00373E99 /* bufferqueue.cc */,
                                413A21D71FE18DAA00373E99 /* bufferqueue.h */,
+                               413A21711FE18D6D00373E99 /* bufferqueue_unittest.cc */,
                                413A228F1FE18DFF00373E99 /* BUILD.gn */,
-                               413A21C01FE18D9D00373E99 /* bytebuffer_unittest.cc */,
                                413A22A01FE18E0600373E99 /* bytebuffer.cc */,
                                413A22511FE18DE100373E99 /* bytebuffer.h */,
-                               413A22361FE18DD500373E99 /* byteorder_unittest.cc */,
+                               413A21C01FE18D9D00373E99 /* bytebuffer_unittest.cc */,
                                413A21EA1FE18DB300373E99 /* byteorder.h */,
-                               413A218A1FE18D8200373E99 /* callback_unittest.cc */,
+                               413A22361FE18DD500373E99 /* byteorder_unittest.cc */,
                                413A21C31FE18D9E00373E99 /* callback.h */,
                                413A21B71FE18D9900373E99 /* callback.h.pump */,
+                               413A218A1FE18D8200373E99 /* callback_unittest.cc */,
                                413A22201FE18DCA00373E99 /* checks.cc */,
                                413A21FB1FE18DBA00373E99 /* checks.h */,
                                413A22321FE18DD300373E99 /* compile_assert_c.h */,
                                413A22191FE18DC600373E99 /* constructormagic.h */,
-                               413A22961FE18E0200373E99 /* copyonwritebuffer_unittest.cc */,
                                413A21C11FE18D9D00373E99 /* copyonwritebuffer.cc */,
                                413A22591FE18DE500373E99 /* copyonwritebuffer.h */,
-                               413A22611FE18DE800373E99 /* cpu_time_unittest.cc */,
+                               413A22961FE18E0200373E99 /* copyonwritebuffer_unittest.cc */,
                                413A21B81FE18D9900373E99 /* cpu_time.cc */,
                                413A22901FE18E0000373E99 /* cpu_time.h */,
-                               413A22651FE18DEB00373E99 /* crc32_unittest.cc */,
+                               413A22611FE18DE800373E99 /* cpu_time_unittest.cc */,
                                413A21EF1FE18DB500373E99 /* crc32.cc */,
                                413A21511FE18D5200373E99 /* crc32.h */,
-                               413A21D01FE18DA700373E99 /* criticalsection_unittest.cc */,
+                               413A22651FE18DEB00373E99 /* crc32_unittest.cc */,
                                413A22351FE18DD500373E99 /* criticalsection.cc */,
                                413A22161FE18DC500373E99 /* criticalsection.h */,
+                               413A21D01FE18DA700373E99 /* criticalsection_unittest.cc */,
                                413A21CE1FE18DA500373E99 /* cryptstring.cc */,
                                413A21D51FE18DA900373E99 /* cryptstring.h */,
                                41E02CBB2127356A00C27CD6 /* data_rate_limiter.cc */,
                                41E02CBC2127356A00C27CD6 /* data_rate_limiter.h */,
                                413A21FA1FE18DBA00373E99 /* deprecation.h */,
-                               413A21801FE18D7A00373E99 /* DEPS */,
                                413A21F41FE18DB700373E99 /* dscp.h */,
-                               413A223C1FE18DD900373E99 /* event_tracer.cc */,
-                               413A222B1FE18DCF00373E99 /* event_tracer.h */,
                                413A22641FE18DEB00373E99 /* event.cc */,
                                413A22521FE18DE200373E99 /* event.h */,
-                               41F9BFC82051DD8E00ABF0B9 /* experiments */,
+                               413A223C1FE18DD900373E99 /* event_tracer.cc */,
+                               413A222B1FE18DCF00373E99 /* event_tracer.h */,
                                413A21BC1FE18D9B00373E99 /* fakeclock.cc */,
                                413A222C1FE18DD000373E99 /* fakeclock.h */,
                                413A215D1FE18D5900373E99 /* fakenetwork.h */,
                                413A22791FE18DF800373E99 /* fakesslidentity.cc */,
                                413A21A31FE18D9000373E99 /* fakesslidentity.h */,
+                               413A21911FE18D8500373E99 /* file.cc */,
+                               413A21821FE18D7C00373E99 /* file.h */,
                                413A22851FE18DFC00373E99 /* file_posix.cc */,
                                413A218B1FE18D8200373E99 /* file_unittest.cc */,
                                413A21521FE18D5200373E99 /* file_win.cc */,
-                               413A21911FE18D8500373E99 /* file.cc */,
-                               413A21821FE18D7C00373E99 /* file.h */,
-                               413A225A1FE18DE500373E99 /* filerotatingstream_unittest.cc */,
                                413A22871FE18DFD00373E99 /* filerotatingstream.cc */,
                                413A218C1FE18D8300373E99 /* filerotatingstream.h */,
+                               413A225A1FE18DE500373E99 /* filerotatingstream_unittest.cc */,
                                413A22621FE18DE900373E99 /* fileutils.cc */,
                                413A226A1FE18DF000373E99 /* fileutils.h */,
                                413A22171FE18DC600373E99 /* firewallsocketserver.cc */,
                                413A21611FE18D5B00373E99 /* flags.cc */,
                                413A22691FE18DEF00373E99 /* flags.h */,
                                413A21471FE18D4D00373E99 /* format_macros.h */,
-                               413A21891FE18D8100373E99 /* function_view_unittest.cc */,
                                413A21451FE18D4C00373E99 /* function_view.h */,
+                               413A21891FE18D8100373E99 /* function_view_unittest.cc */,
                                413A21AC1FE18D9400373E99 /* gtest_prod_util.h */,
-                               413A220A1FE18DC000373E99 /* gunit_prod.h */,
                                413A21951FE18D8800373E99 /* gunit.h */,
-                               413A21C51FE18D9F00373E99 /* helpers_unittest.cc */,
+                               413A220A1FE18DC000373E99 /* gunit_prod.h */,
                                413A221B1FE18DC700373E99 /* helpers.cc */,
                                413A21831FE18D7D00373E99 /* helpers.h */,
-                               413A21E61FE18DB100373E99 /* httpbase_unittest.cc */,
+                               413A21C51FE18D9F00373E99 /* helpers_unittest.cc */,
                                413A21B21FE18D9700373E99 /* httpbase.cc */,
                                413A22601FE18DE700373E99 /* httpbase.h */,
-                               413A21B31FE18D9700373E99 /* httpcommon_unittest.cc */,
+                               413A21E61FE18DB100373E99 /* httpbase_unittest.cc */,
                                413A225F1FE18DE700373E99 /* httpcommon-inl.h */,
                                413A221A1FE18DC700373E99 /* httpcommon.cc */,
                                413A22421FE18DDB00373E99 /* httpcommon.h */,
-                               413A21541FE18D5300373E99 /* httpserver_unittest.cc */,
+                               413A21B31FE18D9700373E99 /* httpcommon_unittest.cc */,
                                413A21FE1FE18DBC00373E99 /* httpserver.cc */,
                                413A21701FE18D6C00373E99 /* httpserver.h */,
-                               413A22211FE18DCB00373E99 /* ifaddrs_converter.cc */,
-                               413A227A1FE18DF800373E99 /* ifaddrs_converter.h */,
+                               413A21541FE18D5300373E99 /* httpserver_unittest.cc */,
                                413A22971FE18E0200373E99 /* ifaddrs-android.cc */,
                                413A216F1FE18D6B00373E99 /* ifaddrs-android.h */,
+                               413A22211FE18DCB00373E99 /* ifaddrs_converter.cc */,
+                               413A227A1FE18DF800373E99 /* ifaddrs_converter.h */,
                                413A22931FE18E0100373E99 /* ignore_wundef.h */,
-                               413A216A1FE18D6700373E99 /* ipaddress_unittest.cc */,
                                413A229B1FE18E0400373E99 /* ipaddress.cc */,
                                413A214E1FE18D5000373E99 /* ipaddress.h */,
-                               413A21F21FE18DB600373E99 /* json_unittest.cc */,
+                               413A216A1FE18D6700373E99 /* ipaddress_unittest.cc */,
                                413A21DC1FE18DAD00373E99 /* json.cc */,
                                413A21EC1FE18DB400373E99 /* json.h */,
+                               413A21F21FE18DB600373E99 /* json_unittest.cc */,
                                413A22121FE18DC400373E99 /* keep_ref_until_done.h */,
                                413A22991FE18E0300373E99 /* location.cc */,
                                413A229A1FE18E0400373E99 /* location.h */,
-                               413A21671FE18D6300373E99 /* logging_mac.mm */,
-                               413A21E01FE18DAE00373E99 /* logging_unittest.cc */,
                                413A21721FE18D6D00373E99 /* logging.cc */,
                                413A21DE1FE18DAE00373E99 /* logging.h */,
+                               413A21671FE18D6300373E99 /* logging_mac.mm */,
+                               413A21E01FE18DAE00373E99 /* logging_unittest.cc */,
                                413A226B1FE18DF000373E99 /* logsinks.cc */,
                                413A21FF1FE18DBC00373E99 /* logsinks.h */,
                                413A21D81FE18DAB00373E99 /* macifaddrs_converter.cc */,
                                413A21E41FE18DB000373E99 /* macutils.cc */,
                                413A22441FE18DDC00373E99 /* macutils.h */,
-                               413A21F01FE18DB500373E99 /* memory_usage_unittest.cc */,
                                413A222D1FE18DD100373E99 /* memory_usage.cc */,
                                413A21B41FE18D9700373E99 /* memory_usage.h */,
-                               413A21E11FE18DAF00373E99 /* messagedigest_unittest.cc */,
+                               413A21F01FE18DB500373E99 /* memory_usage_unittest.cc */,
                                413A21A41FE18D9000373E99 /* messagedigest.cc */,
                                413A21A51FE18D9100373E99 /* messagedigest.h */,
+                               413A21E11FE18DAF00373E99 /* messagedigest_unittest.cc */,
                                413A22181FE18DC600373E99 /* messagehandler.cc */,
                                413A215F1FE18D5A00373E99 /* messagehandler.h */,
-                               413A217A1FE18D7500373E99 /* messagequeue_unittest.cc */,
                                413A21561FE18D5400373E99 /* messagequeue.cc */,
                                413A22561FE18DE400373E99 /* messagequeue.h */,
+                               413A217A1FE18D7500373E99 /* messagequeue_unittest.cc */,
                                413A21C81FE18DA100373E99 /* nat_unittest.cc */,
                                413A21531FE18D5300373E99 /* natserver.cc */,
                                413A216B1FE18D6800373E99 /* natserver.h */,
                                413A214F1FE18D5100373E99 /* nethelper.h */,
                                413A224E1FE18DE000373E99 /* nethelpers.cc */,
                                413A22371FE18DD600373E99 /* nethelpers.h */,
-                               413A22231FE18DCC00373E99 /* network_constants.h */,
-                               413A22681FE18DEE00373E99 /* network_unittest.cc */,
                                413A22941FE18E0100373E99 /* network.cc */,
                                413A22041FE18DBE00373E99 /* network.h */,
+                               413A22231FE18DCC00373E99 /* network_constants.h */,
+                               413A22681FE18DEE00373E99 /* network_unittest.cc */,
                                413A22381FE18DD600373E99 /* networkmonitor.cc */,
                                413A22291FE18DCF00373E99 /* networkmonitor.h */,
                                413A21691FE18D6500373E99 /* networkroute.h */,
+                               417F7AC62134A07F00FBA7EC /* never_destroyed.h */,
                                413A220C1FE18DC100373E99 /* noop.cc */,
                                413A229C1FE18E0400373E99 /* noop.mm */,
-                               413A227C1FE18DF800373E99 /* nullsocketserver_unittest.cc */,
                                413A227F1FE18DF900373E99 /* nullsocketserver.cc */,
                                413A226D1FE18DF100373E99 /* nullsocketserver.h */,
-                               419C83411FE246380040C30F /* numerics */,
-                               413A21621FE18D5D00373E99 /* onetimeevent_unittest.cc */,
+                               413A227C1FE18DF800373E99 /* nullsocketserver_unittest.cc */,
                                413A21E21FE18DAF00373E99 /* onetimeevent.h */,
+                               413A21621FE18D5D00373E99 /* onetimeevent_unittest.cc */,
                                413A22751FE18DF600373E99 /* openssl.h */,
-                               413A227E1FE18DF900373E99 /* openssladapter_unittest.cc */,
                                413A219A1FE18D8B00373E99 /* openssladapter.cc */,
                                413A21DB1FE18DAC00373E99 /* openssladapter.h */,
+                               413A227E1FE18DF900373E99 /* openssladapter_unittest.cc */,
                                41DDB25E212679A100296D47 /* opensslcertificate.cc */,
                                41DDB260212679A200296D47 /* opensslcertificate.h */,
                                413A22401FE18DDB00373E99 /* openssldigest.cc */,
                                413A22631FE18DEA00373E99 /* opensslstreamadapter.h */,
                                41DDB25F212679A200296D47 /* opensslutility.cc */,
                                41DDB25B2126799F00296D47 /* opensslutility.h */,
-                               413A21C71FE18DA100373E99 /* optionsfile_unittest.cc */,
                                413A21F61FE18DB800373E99 /* optionsfile.cc */,
                                413A21F11FE18DB600373E99 /* optionsfile.h */,
-                               413A21FD1FE18DBB00373E99 /* OWNERS */,
-                               413A219D1FE18D8D00373E99 /* pathutils_unittest.cc */,
+                               413A21C71FE18DA100373E99 /* optionsfile_unittest.cc */,
                                413A21E81FE18DB200373E99 /* pathutils.cc */,
                                413A223D1FE18DD900373E99 /* pathutils.h */,
-                               413A227B1FE18DF800373E99 /* physicalsocketserver_unittest.cc */,
+                               413A219D1FE18D8D00373E99 /* pathutils_unittest.cc */,
                                413A21E91FE18DB200373E99 /* physicalsocketserver.cc */,
                                413A22981FE18E0300373E99 /* physicalsocketserver.h */,
+                               413A227B1FE18DF800373E99 /* physicalsocketserver_unittest.cc */,
                                413A22071FE18DBF00373E99 /* platform_file.cc */,
                                413A21791FE18D7400373E99 /* platform_file.h */,
+                               413A21CA1FE18DA300373E99 /* platform_thread.cc */,
+                               413A22531FE18DE200373E99 /* platform_thread.h */,
                                41DDB253212678E300296D47 /* platform_thread_types.cc */,
                                413A21C91FE18DA200373E99 /* platform_thread_types.h */,
                                413A21D11FE18DA700373E99 /* platform_thread_unittest.cc */,
-                               413A21CA1FE18DA300373E99 /* platform_thread.cc */,
-                               413A22531FE18DE200373E99 /* platform_thread.h */,
                                413A22731FE18DF600373E99 /* protobuf_utils.h */,
                                413A214B1FE18D4E00373E99 /* proxy_unittest.cc */,
                                413A226F1FE18DF200373E99 /* proxyinfo.cc */,
                                413A22721FE18DF500373E99 /* proxyserver.h */,
                                413A21A61FE18D9100373E99 /* race_checker.cc */,
                                413A229D1FE18E0500373E99 /* race_checker.h */,
-                               413A21661FE18D6200373E99 /* random_unittest.cc */,
                                413A22781FE18DF700373E99 /* random.cc */,
                                413A21F81FE18DB900373E99 /* random.h */,
-                               413A229E1FE18E0500373E99 /* rate_limiter_unittest.cc */,
+                               413A21661FE18D6200373E99 /* random_unittest.cc */,
                                413A223A1FE18DD800373E99 /* rate_limiter.cc */,
                                413A220D1FE18DC200373E99 /* rate_limiter.h */,
-                               413A21731FE18D6E00373E99 /* rate_statistics_unittest.cc */,
+                               413A229E1FE18E0500373E99 /* rate_limiter_unittest.cc */,
                                413A22051FE18DBE00373E99 /* rate_statistics.cc */,
                                413A21B91FE18D9A00373E99 /* rate_statistics.h */,
-                               413A221F1FE18DC900373E99 /* ratetracker_unittest.cc */,
+                               413A21731FE18D6E00373E99 /* rate_statistics_unittest.cc */,
                                413A220F1FE18DC200373E99 /* ratetracker.cc */,
                                413A21AF1FE18D9500373E99 /* ratetracker.h */,
+                               413A221F1FE18DC900373E99 /* ratetracker_unittest.cc */,
                                413A21AD1FE18D9400373E99 /* refcount.h */,
-                               413A21CD1FE18DA500373E99 /* refcountedobject_unittest.cc */,
                                413A22141FE18DC400373E99 /* refcountedobject.h */,
+                               413A21CD1FE18DA500373E99 /* refcountedobject_unittest.cc */,
                                413A21CC1FE18DA400373E99 /* refcounter.h */,
-                               413A217B1FE18D7600373E99 /* rollingaccumulator_unittest.cc */,
                                413A22541FE18DE300373E99 /* rollingaccumulator.h */,
-                               413A22881FE18DFD00373E99 /* rtccertificate_unittest.cc */,
+                               413A217B1FE18D7600373E99 /* rollingaccumulator_unittest.cc */,
                                413A21BB1FE18D9B00373E99 /* rtccertificate.cc */,
                                413A21CF1FE18DA600373E99 /* rtccertificate.h */,
-                               413A21851FE18D7E00373E99 /* rtccertificategenerator_unittest.cc */,
+                               413A22881FE18DFD00373E99 /* rtccertificate_unittest.cc */,
                                413A21651FE18D6100373E99 /* rtccertificategenerator.cc */,
                                413A21861FE18D7F00373E99 /* rtccertificategenerator.h */,
+                               413A21851FE18D7E00373E99 /* rtccertificategenerator_unittest.cc */,
                                413A21D41FE18DA900373E99 /* sanitizer.h */,
                                413A21B01FE18D9600373E99 /* scoped_ref_ptr.h */,
+                               413A217E1FE18D7800373E99 /* sequenced_task_checker.h */,
                                413A224A1FE18DDF00373E99 /* sequenced_task_checker_impl.cc */,
                                413A225B1FE18DE600373E99 /* sequenced_task_checker_impl.h */,
                                413A21BD1FE18D9C00373E99 /* sequenced_task_checker_unittest.cc */,
-                               413A217E1FE18D7800373E99 /* sequenced_task_checker.h */,
-                               413A22221FE18DCB00373E99 /* signalthread_unittest.cc */,
                                413A22081FE18DC000373E99 /* signalthread.cc */,
                                413A222E1FE18DD100373E99 /* signalthread.h */,
-                               413A21A21FE18D8F00373E99 /* sigslot_unittest.cc */,
+                               413A22221FE18DCB00373E99 /* signalthread_unittest.cc */,
                                413A21761FE18D7100373E99 /* sigslot.h */,
+                               413A21A21FE18D8F00373E99 /* sigslot_unittest.cc */,
                                413A21DF1FE18DAE00373E99 /* sigslotrepeater.h */,
-                               413A22461FE18DDD00373E99 /* sigslottester_unittest.cc */,
                                413A22671FE18DEC00373E99 /* sigslottester.h */,
-                               413A21BA1FE18D9A00373E99 /* socket_unittest.cc */,
-                               413A21871FE18D8000373E99 /* socket_unittest.h */,
+                               413A22461FE18DDD00373E99 /* sigslottester_unittest.cc */,
                                41DDB2552126790A00296D47 /* socket.cc */,
                                413A21881FE18D8000373E99 /* socket.h */,
+                               413A21BA1FE18D9A00373E99 /* socket_unittest.cc */,
+                               413A21871FE18D8000373E99 /* socket_unittest.h */,
                                413A219B1FE18D8B00373E99 /* socketadapters.cc */,
                                413A220E1FE18DC200373E99 /* socketadapters.h */,
-                               413A22101FE18DC300373E99 /* socketaddress_unittest.cc */,
                                413A22151FE18DC500373E99 /* socketaddress.cc */,
                                413A22761FE18DF700373E99 /* socketaddress.h */,
+                               413A22101FE18DC300373E99 /* socketaddress_unittest.cc */,
                                413A21F91FE18DB900373E99 /* socketaddresspair.cc */,
                                413A22771FE18DF700373E99 /* socketaddresspair.h */,
                                413A216C1FE18D6900373E99 /* socketfactory.h */,
                                413A22661FE18DEC00373E99 /* socketserver.h */,
                                413A217C1FE18D7700373E99 /* socketstream.cc */,
                                413A22001FE18DBC00373E99 /* socketstream.h */,
-                               413A22341FE18DD400373E99 /* ssladapter_unittest.cc */,
                                413A22251FE18DCD00373E99 /* ssladapter.cc */,
                                413A224F1FE18DE100373E99 /* ssladapter.h */,
+                               413A22341FE18DD400373E99 /* ssladapter_unittest.cc */,
                                41E02CB92127356A00C27CD6 /* sslcertificate.cc */,
                                41E02CB82127356900C27CD6 /* sslcertificate.h */,
                                413A229F1FE18E0600373E99 /* sslfingerprint.cc */,
                                413A225C1FE18DE600373E99 /* sslfingerprint.h */,
-                               413A226C1FE18DF000373E99 /* sslidentity_unittest.cc */,
                                413A21601FE18D5B00373E99 /* sslidentity.cc */,
                                413A218F1FE18D8400373E99 /* sslidentity.h */,
+                               413A226C1FE18DF000373E99 /* sslidentity_unittest.cc */,
                                413A223F1FE18DDA00373E99 /* sslroots.h */,
-                               413A21EB1FE18DB300373E99 /* sslstreamadapter_unittest.cc */,
                                413A21AA1FE18D9300373E99 /* sslstreamadapter.cc */,
                                413A226E1FE18DF100373E99 /* sslstreamadapter.h */,
-                               413A22501FE18DE100373E99 /* stream_unittest.cc */,
+                               413A21EB1FE18DB300373E99 /* sslstreamadapter_unittest.cc */,
                                413A22801FE18DFA00373E99 /* stream.cc */,
                                413A21A81FE18D9200373E99 /* stream.h */,
-                               413A21781FE18D7300373E99 /* string_to_number_unittest.cc */,
+                               413A22501FE18DE100373E99 /* stream_unittest.cc */,
                                413A22831FE18DFC00373E99 /* string_to_number.cc */,
                                413A22111FE18DC300373E99 /* string_to_number.h */,
-                               413A22031FE18DBE00373E99 /* stringencode_unittest.cc */,
+                               413A21781FE18D7300373E99 /* string_to_number_unittest.cc */,
                                413A215B1FE18D5700373E99 /* stringencode.cc */,
                                413A21961FE18D8900373E99 /* stringencode.h */,
-                               413A22471FE18DDD00373E99 /* stringize_macros_unittest.cc */,
+                               413A22031FE18DBE00373E99 /* stringencode_unittest.cc */,
                                413A225E1FE18DE700373E99 /* stringize_macros.h */,
-                               41DDB267212679AE00296D47 /* strings */,
-                               413A22311FE18DD300373E99 /* stringutils_unittest.cc */,
+                               413A22471FE18DDD00373E99 /* stringize_macros_unittest.cc */,
                                413A21BF1FE18D9C00373E99 /* stringutils.cc */,
                                413A21771FE18D7200373E99 /* stringutils.h */,
-                               413A21971FE18D8900373E99 /* swap_queue_unittest.cc */,
+                               413A22311FE18DD300373E99 /* stringutils_unittest.cc */,
                                413A21F31FE18DB700373E99 /* swap_queue.h */,
-                               4192415C2127379200634FCF /* synchronization */,
-                               41F263A22126808800274F59 /* system */,
+                               413A21971FE18D8900373E99 /* swap_queue_unittest.cc */,
+                               413A21E51FE18DB100373E99 /* task_queue.h */,
                                413A228B1FE18DFE00373E99 /* task_queue_gcd.cc */,
                                413A21741FE18D7000373E99 /* task_queue_libevent.cc */,
                                413A21D91FE18DAB00373E99 /* task_queue_posix.cc */,
                                413A222A1FE18DCF00373E99 /* task_queue_posix.h */,
                                413A21B11FE18D9600373E99 /* task_queue_unittest.cc */,
                                413A219E1FE18D8D00373E99 /* task_queue_win.cc */,
-                               413A21E51FE18DB100373E99 /* task_queue.h */,
                                413A21A91FE18D9200373E99 /* template_util.h */,
                                413A21441FE18D4C00373E99 /* testbase64.h */,
-                               413A22811FE18DFB00373E99 /* testclient_unittest.cc */,
                                413A21D31FE18DA800373E99 /* testclient.cc */,
                                413A22821FE18DFB00373E99 /* testclient.h */,
+                               413A22811FE18DFB00373E99 /* testclient_unittest.cc */,
                                413A21491FE18D4E00373E99 /* testechoserver.cc */,
                                413A21D61FE18DAA00373E99 /* testechoserver.h */,
                                413A219F1FE18D8E00373E99 /* testutils.cc */,
                                413A22861FE18DFC00373E99 /* testutils.h */,
-                               41F263B4212680E800274F59 /* third_party */,
-                               413A22841FE18DFC00373E99 /* thread_annotations_unittest.cc */,
+                               413A21901FE18D8500373E99 /* thread.cc */,
+                               413A21EE1FE18DB400373E99 /* thread.h */,
                                413A216E1FE18D6A00373E99 /* thread_annotations.h */,
+                               413A22841FE18DFC00373E99 /* thread_annotations_unittest.cc */,
+                               413A21931FE18D8700373E99 /* thread_checker.h */,
                                413A21FC1FE18DBB00373E99 /* thread_checker_impl.cc */,
                                413A215E1FE18D5900373E99 /* thread_checker_impl.h */,
                                413A21B61FE18D9800373E99 /* thread_checker_unittest.cc */,
-                               413A21931FE18D8700373E99 /* thread_checker.h */,
                                413A228A1FE18DFE00373E99 /* thread_darwin.mm */,
                                413A22261FE18DCD00373E99 /* thread_unittest.cc */,
-                               413A21901FE18D8500373E99 /* thread.cc */,
-                               413A21EE1FE18DB400373E99 /* thread.h */,
-                               413A224B1FE18DDF00373E99 /* timestampaligner_unittest.cc */,
                                413A22281FE18DCE00373E99 /* timestampaligner.cc */,
                                413A22011FE18DBD00373E99 /* timestampaligner.h */,
-                               413A228E1FE18DFF00373E99 /* timeutils_unittest.cc */,
+                               413A224B1FE18DDF00373E99 /* timestampaligner_unittest.cc */,
                                413A22701FE18DF300373E99 /* timeutils.cc */,
                                413A21F51FE18DB700373E99 /* timeutils.h */,
+                               413A228E1FE18DFF00373E99 /* timeutils_unittest.cc */,
                                413A21AB1FE18D9300373E99 /* trace_event.h */,
                                413A21F71FE18DB800373E99 /* type_traits.h */,
                                413A224C1FE18DE000373E99 /* unittest_main.cc */,
                                413A21DA1FE18DAC00373E99 /* virtualsocket_unittest.cc */,
                                413A21BE1FE18D9C00373E99 /* virtualsocketserver.cc */,
                                413A21631FE18D5E00373E99 /* virtualsocketserver.h */,
-                               413A22711FE18DF400373E99 /* weak_ptr_unittest.cc */,
                                413A21941FE18D8800373E99 /* weak_ptr.cc */,
                                41E02CBA2127356A00C27CD6 /* weak_ptr.h */,
+                               413A22711FE18DF400373E99 /* weak_ptr_unittest.cc */,
                                41DDB2572126792800296D47 /* zero_memory.cc */,
                                41DDB2582126792800296D47 /* zero_memory.h */,
                        );
                413AD1A621265B35003F7263 /* base */ = {
                        isa = PBXGroup;
                        children = (
-                               41A08BCA2126961F001D5D7B /* raw_logging.cc */,
-                               41A08BC92126961F001D5D7B /* raw_logging.h */,
                                413AD1A921265B59003F7263 /* casts.h */,
                                413AD1A821265B59003F7263 /* dynamic_annotations.cc */,
                                413AD1AA21265B59003F7263 /* macros.h */,
                                413AD1A721265B59003F7263 /* optimization.h */,
+                               41A08BCA2126961F001D5D7B /* raw_logging.cc */,
+                               41A08BC92126961F001D5D7B /* raw_logging.h */,
                        );
                        name = base;
                        sourceTree = "<group>";
                4145E4931EF890E500FCF6E6 /* Video */ = {
                        isa = PBXGroup;
                        children = (
-                               41AF2D11212CD40300D033D5 /* UIDevice+H264Profile.h */,
-                               41053B4D212CD8EC004DAC6C /* UIDevice+H264Profile.mm */,
                                41ECEAC520641302009D5141 /* RTCCVPixelBuffer.mm */,
                                41ECEACE2064136F009D5141 /* RTCI420Buffer+Private.h */,
                                41ECEACD2064136F009D5141 /* RTCI420Buffer.mm */,
+                               41AF2D11212CD40300D033D5 /* UIDevice+H264Profile.h */,
+                               41053B4D212CD8EC004DAC6C /* UIDevice+H264Profile.mm */,
                        );
                        name = Video;
                        sourceTree = "<group>";
                                419242032127664200634FCF /* video_decoder_factory.mm */,
                                419242042127664500634FCF /* video_encoder_factory.h */,
                                419242052127664500634FCF /* video_encoder_factory.mm */,
-                               419242082127664700634FCF /* video_frame_buffer.h */,
-                               419242072127664600634FCF /* video_frame_buffer.mm */,
                                419242002127664200634FCF /* video_frame.h */,
                                419241FF2127664100634FCF /* video_frame.mm */,
+                               419242082127664700634FCF /* video_frame_buffer.h */,
+                               419242072127664600634FCF /* video_frame_buffer.mm */,
                                419242022127664200634FCF /* video_renderer.h */,
                                419241FE2127664100634FCF /* video_renderer.mm */,
                        );
                                419242312127665900634FCF /* audio_device_module_ios.h */,
                                419242332127665A00634FCF /* audio_device_module_ios.mm */,
                                419242302127665900634FCF /* audio_session_observer.h */,
-                               419242352127665A00634FCF /* voice_processing_audio_unit.h */,
-                               419242342127665A00634FCF /* voice_processing_audio_unit.mm */,
                                4192421B2127664C00634FCF /* objc_frame_buffer.h */,
                                4192421D2127664D00634FCF /* objc_frame_buffer.mm */,
                                419242182127664B00634FCF /* objc_video_decoder_factory.h */,
                                4192421F2127664D00634FCF /* objc_video_renderer.mm */,
                                4192421C2127664C00634FCF /* objc_video_track_source.h */,
                                419242202127664D00634FCF /* objc_video_track_source.mm */,
+                               419242352127665A00634FCF /* voice_processing_audio_unit.h */,
+                               419242342127665A00634FCF /* voice_processing_audio_unit.mm */,
                        );
                        path = src;
                        sourceTree = "<group>";
                                41D6B464212731A2008F9353 /* adaptive_agc.h */,
                                41A08BE421272F85001D5D7B /* adaptive_digital_gain_applier.cc */,
                                41A08BDB21272F84001D5D7B /* adaptive_digital_gain_applier.h */,
-                               41A08BE921272F86001D5D7B /* adaptive_mode_level_estimator_agc.cc */,
-                               41D6B462212731A1008F9353 /* adaptive_mode_level_estimator_agc.h */,
                                41D6B45F212731A1008F9353 /* adaptive_mode_level_estimator.cc */,
                                41A08BDC21272F84001D5D7B /* adaptive_mode_level_estimator.h */,
+                               41A08BE921272F86001D5D7B /* adaptive_mode_level_estimator_agc.cc */,
+                               41D6B462212731A1008F9353 /* adaptive_mode_level_estimator_agc.h */,
                                41D6B46D212731A4008F9353 /* agc2_common.h */,
                                41D6B45E212731A0008F9353 /* biquad_filter.cc */,
                                41D6B463212731A2008F9353 /* biquad_filter.h */,
                                41A08BE021272F85001D5D7B /* gain_curve_applier.cc */,
                                41D6B469212731A3008F9353 /* gain_curve_applier.h */,
                                41A08BE121272F85001D5D7B /* interpolated_gain_curve.cc */,
-                               41A08BEA21272F86001D5D7B /* limiter.h */,
                                41D6B470212731A6008F9353 /* limiter.cc */,
+                               41A08BEA21272F86001D5D7B /* limiter.h */,
                                41D6B461212731A1008F9353 /* noise_level_estimator.cc */,
                                41D6B46A212731A3008F9353 /* noise_spectrum_estimator.cc */,
                                41A08BE221272F85001D5D7B /* noise_spectrum_estimator.h */,
                41DDB24A21265BA800296D47 /* types */ = {
                        isa = PBXGroup;
                        children = (
-                               4192417F2127497100634FCF /* bad_variant_access.cc */,
-                               419241802127497100634FCF /* bad_variant_access.h */,
                                41A08BC6212695DE001D5D7B /* bad_optional_access.cc */,
                                41A08BC5212695DE001D5D7B /* bad_optional_access.h */,
+                               4192417F2127497100634FCF /* bad_variant_access.cc */,
+                               419241802127497100634FCF /* bad_variant_access.h */,
                                41DDB25021265BE900296D47 /* optional.cc */,
                                41DDB24F21265BE900296D47 /* optional.h */,
                        );
                41E02CD52127362300C27CD6 /* rtp */ = {
                        isa = PBXGroup;
                        children = (
+                               41E02CD62127363C00C27CD6 /* pacer_controller.cc */,
                                41924189212749C800634FCF /* pacer_controller.h */,
                                41924188212749C700634FCF /* send_side_congestion_controller.cc */,
+                               41E02CD82127363D00C27CD6 /* send_time_history.cc */,
                                41924187212749C700634FCF /* send_time_history.h */,
                                4192418A212749C800634FCF /* transport_feedback_adapter.cc */,
-                               41E02CD62127363C00C27CD6 /* pacer_controller.cc */,
-                               41E02CD82127363D00C27CD6 /* send_time_history.cc */,
                                41E02CD72127363C00C27CD6 /* transport_feedback_adapter.h */,
                        );
                        path = rtp;
                41ECEAB2206300E3009D5141 /* PeerConnection */ = {
                        isa = PBXGroup;
                        children = (
-                               4192423F21276D4700634FCF /* RTCPeerConnectionFactory.mm */,
                                41ECEAC720641328009D5141 /* RTCEncodedImage.mm */,
+                               4192423F21276D4700634FCF /* RTCPeerConnectionFactory.mm */,
                                41ECEAD9206414A6009D5141 /* RTCRtpFragmentationHeader.mm */,
                                41ECEAB320630107009D5141 /* RTCVideoCodec+Private.h */,
                                41ECEAB420630107009D5141 /* RTCVideoCodec.mm */,
                41F2636B21267B2300274F59 /* third_party */ = {
                        isa = PBXGroup;
                        children = (
-                               41F2637121267B4A00274F59 /* spl_sqrt_floor.c */,
-                               41F2637021267B4A00274F59 /* spl_sqrt_floor.h */,
                                41F2636C21267B3D00274F59 /* fft4g.c */,
                                41F2636D21267B3E00274F59 /* fft4g.h */,
+                               41F2637121267B4A00274F59 /* spl_sqrt_floor.c */,
+                               41F2637021267B4A00274F59 /* spl_sqrt_floor.h */,
                        );
                        path = third_party;
                        sourceTree = "<group>";
                41F2638621267F2500274F59 /* third_party */ = {
                        isa = PBXGroup;
                        children = (
-                               41F2639521267F5E00274F59 /* pa_memorybarrier.h */,
-                               41F2639721267F5E00274F59 /* pa_ringbuffer.c */,
-                               41F2639621267F5E00274F59 /* pa_ringbuffer.h */,
+                               41F2638821267F4000274F59 /* fft.c */,
+                               41F2638721267F4000274F59 /* fft.h */,
+                               41F2638B21267F4900274F59 /* g711.c */,
+                               41F2638C21267F4900274F59 /* g711.h */,
                                41F2639121267F5300274F59 /* g722_decode.c */,
                                41F2639021267F5300274F59 /* g722_enc_dec.h */,
                                41F2638F21267F5200274F59 /* g722_encode.c */,
-                               41F2638B21267F4900274F59 /* g711.c */,
-                               41F2638C21267F4900274F59 /* g711.h */,
-                               41F2638821267F4000274F59 /* fft.c */,
-                               41F2638721267F4000274F59 /* fft.h */,
+                               41F2639521267F5E00274F59 /* pa_memorybarrier.h */,
+                               41F2639721267F5E00274F59 /* pa_ringbuffer.c */,
+                               41F2639621267F5E00274F59 /* pa_ringbuffer.h */,
                        );
                        path = third_party;
                        sourceTree = "<group>";
                41F263B4212680E800274F59 /* third_party */ = {
                        isa = PBXGroup;
                        children = (
-                               41F263B92126811400274F59 /* sigslot.cc */,
-                               41F263BA2126811400274F59 /* sigslot.h */,
                                41F263B52126810B00274F59 /* base64.cc */,
                                41F263B62126810C00274F59 /* base64.h */,
+                               41F263B92126811400274F59 /* sigslot.cc */,
+                               41F263BA2126811400274F59 /* sigslot.h */,
                        );
                        name = third_party;
                        path = rtc_base/third_party;
                5C4B484B1E42C199002651C8 /* engine */ = {
                        isa = PBXGroup;
                        children = (
-                               419241F321275C3200634FCF /* vp8_encoder_simulcast_proxy.cc */,
-                               419241F221275C3100634FCF /* vp8_encoder_simulcast_proxy.h */,
                                41F411C61EF972F100343C26 /* adm_helpers.cc */,
                                41F411C51EF972EC00343C26 /* adm_helpers.h */,
                                5CD284C01E6A5FFC0094FDC8 /* apm_helpers.cc */,
                                5C4B48601E42C1BA002651C8 /* simulcast.h */,
                                41F9BFB12051C93500ABF0B9 /* simulcast_encoder_adapter.cc */,
                                41F9BFB32051C93600ABF0B9 /* simulcast_encoder_adapter.h */,
+                               419241F321275C3200634FCF /* vp8_encoder_simulcast_proxy.cc */,
+                               419241F221275C3100634FCF /* vp8_encoder_simulcast_proxy.h */,
                                5C4B48661E42C1BA002651C8 /* webrtcmediaengine.cc */,
                                5C4B48671E42C1BA002651C8 /* webrtcmediaengine.h */,
                                5C4B48691E42C1BA002651C8 /* webrtcvideocapturer.cc */,
                5C4B4C221E431F81002651C8 /* common_audio */ = {
                        isa = PBXGroup;
                        children = (
-                               41F2636B21267B2300274F59 /* third_party */,
                                5CDD87431E43BAE900621E92 /* resampler */,
                                5CDD86091E43B8A300621E92 /* signal_processing */,
+                               41F2636B21267B2300274F59 /* third_party */,
                                5CDD86C41E43BA1800621E92 /* vad */,
                                5C4B4C241E431F9C002651C8 /* audio_converter.cc */,
                                5C4B4C251E431F9C002651C8 /* audio_converter.h */,
                5C63F8CB1E416CC3002CA531 /* third_party */ = {
                        isa = PBXGroup;
                        children = (
-                               419241912127583900634FCF /* rnnnoise */,
                                413AD19E21265ACB003F7263 /* abseil-cpp */,
                                5C63FC631E4184C0002CA531 /* boringssl */,
                                5C63F8CC1E416CEB002CA531 /* jsoncpp */,
                                5CDD90841E43D30300621E92 /* libsrtp */,
                                5C4B4D2D1E4323AA002651C8 /* libyuv */,
                                5C4B4A901E42C4C8002651C8 /* opus */,
+                               419241912127583900634FCF /* rnnnoise */,
                                5C4B4AC81E42C980002651C8 /* usrsctp */,
                        );
                        path = third_party;
                5C63F8E21E41732B002CA531 /* api */ = {
                        isa = PBXGroup;
                        children = (
-                               41F9BF792051C7FD00ABF0B9 /* array_view.h */,
                                5CD2853B1E6A61BE0094FDC8 /* audio_codecs */,
+                               5CDD8C451E43C57900621E92 /* call */,
+                               4145E4C01EF8962800FCF6E6 /* stats */,
+                               41E02CC62127359F00C27CD6 /* transport */,
+                               419241D421275A1800634FCF /* units */,
+                               5CD284601E6A57DD0094FDC8 /* video */,
+                               412455581EF88AD900F11809 /* video_codecs */,
+                               41F9BF792051C7FD00ABF0B9 /* array_view.h */,
                                415F1FCA212730F000064CBF /* audio_frame.cc */,
                                415F1FCB212730F000064CBF /* audio_frame.h */,
                                415F1FC9212730F000064CBF /* audio_mixer.h */,
                                41F2637521267B7600274F59 /* audio_options.cc */,
                                41F2637821267B7600274F59 /* audio_options.h */,
                                41F2637921267B7700274F59 /* bitrate_constraints.h */,
-                               5CDD8C451E43C57900621E92 /* call */,
                                419C830E1FE2427F0040C30F /* candidate.cc */,
                                41F9BF772051C7FD00ABF0B9 /* candidate.h */,
                                41F9BF822051C80000ABF0B9 /* cryptoparams.h */,
                                41F2637C21267B7700274F59 /* rtptransceiverinterface.cc */,
                                41F9BF802051C7FF00ABF0B9 /* rtptransceiverinterface.h */,
                                41F9BF842051C80000ABF0B9 /* setremotedescriptionobserverinterface.h */,
-                               4145E4C01EF8962800FCF6E6 /* stats */,
                                5C63F9211E41737B002CA531 /* statstypes.cc */,
                                5C63F9221E41737B002CA531 /* statstypes.h */,
-                               41E02CC62127359F00C27CD6 /* transport */,
                                41F9BF832051C80000ABF0B9 /* turncustomizer.h */,
                                5C63F9241E41737B002CA531 /* umametrics.h */,
-                               419241D421275A1800634FCF /* units */,
-                               5CD284601E6A57DD0094FDC8 /* video */,
-                               412455581EF88AD900F11809 /* video_codecs */,
                                5C63F9281E41737B002CA531 /* videosourceproxy.h */,
                        );
                        path = api;
                                5CD284621E6A57F40094FDC8 /* i420_buffer.h */,
                                4102F6D921273416006AE8D7 /* video_bitrate_allocation.cc */,
                                41F263C42126818900274F59 /* video_bitrate_allocation.h */,
-                               4102F6DA21273416006AE8D7 /* video_bitrate_allocator_factory.h */,
                                41F263C12126818900274F59 /* video_bitrate_allocator.h */,
+                               4102F6DA21273416006AE8D7 /* video_bitrate_allocator_factory.h */,
                                419C840D1FE249AA0040C30F /* video_content_type.cc */,
                                419C840F1FE249AB0040C30F /* video_content_type.h */,
-                               4124554A1EF8874300F11809 /* video_frame_buffer.cc */,
-                               5CD284631E6A57F40094FDC8 /* video_frame_buffer.h */,
                                5CD284641E6A57F40094FDC8 /* video_frame.cc */,
                                5CD284651E6A57F40094FDC8 /* video_frame.h */,
+                               4124554A1EF8874300F11809 /* video_frame_buffer.cc */,
+                               5CD284631E6A57F40094FDC8 /* video_frame_buffer.h */,
                                5CD284661E6A57F40094FDC8 /* video_rotation.h */,
                                4102F6D321273415006AE8D7 /* video_sink_interface.h */,
                                41F263C62126818A00274F59 /* video_source_interface.cc */,
                                41F263BE2126818800274F59 /* video_source_interface.h */,
+                               41F263C52126818A00274F59 /* video_stream_decoder.h */,
                                4102F6D121273414006AE8D7 /* video_stream_decoder_create.cc */,
                                4102F6D421273415006AE8D7 /* video_stream_decoder_create.h */,
-                               41F263C52126818A00274F59 /* video_stream_decoder.h */,
                                4102F6D521273415006AE8D7 /* video_stream_encoder_create.cc */,
                                41F263C02126818900274F59 /* video_stream_encoder_create.h */,
                                41F263C32126818900274F59 /* video_stream_encoder_interface.h */,
                5CDD83681E4399E400621E92 /* modules */ = {
                        isa = PBXGroup;
                        children = (
-                               41F2638621267F2500274F59 /* third_party */,
                                5CDD84051E439AF200621E92 /* audio_coding */,
                                5C119FEF1E4573CA004F0987 /* audio_device */,
                                5CD284811E6A5F2B0094FDC8 /* audio_mixer */,
                                5CDD8F951E43CCA200621E92 /* pacing */,
                                5CDD8FBD1E43CD3D00621E92 /* remote_bitrate_estimator */,
                                5CDD87F91E43BE1C00621E92 /* rtp_rtcp */,
+                               41F2638621267F2500274F59 /* third_party */,
                                5CDD84CA1E43B02D00621E92 /* utility */,
                                5CDD83691E4399F400621E92 /* video_coding */,
                        );
                5CDD83691E4399F400621E92 /* video_coding */ = {
                        isa = PBXGroup;
                        children = (
-                               41E02C83212734B800C27CD6 /* decoder_database.cc */,
-                               41E02C7F212734B800C27CD6 /* decoder_database.h */,
-                               41E02C80212734B800C27CD6 /* encoder_database.cc */,
-                               41E02C81212734B800C27CD6 /* encoder_database.h */,
-                               41E02C82212734B800C27CD6 /* fec_controller_default.cc */,
-                               41E02C84212734B900C27CD6 /* fec_controller_default.h */,
-                               41E02C86212734B900C27CD6 /* fec_rate_table.h */,
-                               41E02C85212734B900C27CD6 /* video_coding_defines.cc */,
                                5CDD853D1E43B3F800621E92 /* codecs */,
                                5CDD836A1E439A0D00621E92 /* utility */,
                                5CDD83891E439A6F00621E92 /* codec_timer.cc */,
                                5CDD838A1E439A6F00621E92 /* codec_timer.h */,
+                               41E02C83212734B800C27CD6 /* decoder_database.cc */,
+                               41E02C7F212734B800C27CD6 /* decoder_database.h */,
                                5CDD838B1E439A6F00621E92 /* decoding_state.cc */,
                                5CDD838C1E439A6F00621E92 /* decoding_state.h */,
                                5CDD838D1E439A6F00621E92 /* encoded_frame.cc */,
                                5CDD838E1E439A6F00621E92 /* encoded_frame.h */,
+                               41E02C80212734B800C27CD6 /* encoder_database.cc */,
+                               41E02C81212734B800C27CD6 /* encoder_database.h */,
+                               41E02C82212734B800C27CD6 /* fec_controller_default.cc */,
+                               41E02C84212734B900C27CD6 /* fec_controller_default.h */,
+                               41E02C86212734B900C27CD6 /* fec_rate_table.h */,
                                5CDD83901E439A6F00621E92 /* frame_buffer.cc */,
                                5CDD83911E439A6F00621E92 /* frame_buffer.h */,
                                5CDD83921E439A6F00621E92 /* frame_buffer2.cc */,
                                5CDD83C01E439A6F00621E92 /* timing.cc */,
                                5CDD83C11E439A6F00621E92 /* timing.h */,
                                5CD285341E6A61590094FDC8 /* video_codec_initializer.cc */,
+                               41E02C85212734B900C27CD6 /* video_coding_defines.cc */,
                                5CDD83C21E439A6F00621E92 /* video_coding_impl.cc */,
                                5CDD83C31E439A6F00621E92 /* video_coding_impl.h */,
                                5CDD83C41E439A6F00621E92 /* video_receiver.cc */,
                5CDD836A1E439A0D00621E92 /* utility */ = {
                        isa = PBXGroup;
                        children = (
-                               419241EA21275AFA00634FCF /* simulcast_rate_allocator.cc */,
-                               419241EC21275AFA00634FCF /* simulcast_rate_allocator.h */,
-                               419241EB21275AFA00634FCF /* simulcast_utility.cc */,
-                               419241E921275AF900634FCF /* simulcast_utility.h */,
                                5CD285371E6A61980094FDC8 /* default_video_bitrate_allocator.cc */,
                                5CD285381E6A61980094FDC8 /* default_video_bitrate_allocator.h */,
                                5CDD836B1E439A3500621E92 /* frame_dropper.cc */,
                                5CDD83701E439A3500621E92 /* moving_average.h */,
                                5CDD83731E439A3500621E92 /* quality_scaler.cc */,
                                5CDD83741E439A3500621E92 /* quality_scaler.h */,
+                               419241EA21275AFA00634FCF /* simulcast_rate_allocator.cc */,
+                               419241EC21275AFA00634FCF /* simulcast_rate_allocator.h */,
+                               419241EB21275AFA00634FCF /* simulcast_utility.cc */,
+                               419241E921275AF900634FCF /* simulcast_utility.h */,
                                5CDD83771E439A3500621E92 /* vp8_header_parser.cc */,
                                5CDD83781E439A3500621E92 /* vp8_header_parser.h */,
                        );
                5CDD84881E43AEC900621E92 /* audio_processing */ = {
                        isa = PBXGroup;
                        children = (
-                               41A08BD921272F3E001D5D7B /* agc2 */,
                                5CDD86A91E43B9B900621E92 /* aec */,
                                5CD2855F1E6A63050094FDC8 /* aec3 */,
                                4130922A1EF8D73500757C55 /* aec_dump */,
                                5CDD86E51E43BA5B00621E92 /* agc */,
+                               41A08BD921272F3E001D5D7B /* agc2 */,
                                5CDD86961E43B98200621E92 /* echo_detector */,
                                5CDD84C91E43AF1D00621E92 /* include */,
                                5CDD87E21E43BD9100621E92 /* logging */,
                                5CDD848D1E43AF1300621E92 /* common.h */,
                                5CDD848E1E43AF1300621E92 /* echo_cancellation_impl.cc */,
                                5CDD848F1E43AF1300621E92 /* echo_cancellation_impl.h */,
-                               5CDD84901E43AF1300621E92 /* echo_control_mobile_impl.cc */,
-                               5CDD84911E43AF1300621E92 /* echo_control_mobile_impl.h */,
                                415F1FBC2127304C00064CBF /* echo_cancellation_proxy.cc */,
                                415F1FBB2127304C00064CBF /* echo_cancellation_proxy.h */,
+                               5CDD84901E43AF1300621E92 /* echo_control_mobile_impl.cc */,
+                               5CDD84911E43AF1300621E92 /* echo_control_mobile_impl.h */,
                                415F1FBA2127304B00064CBF /* echo_control_mobile_proxy.cc */,
                                415F1FB92127304B00064CBF /* echo_control_mobile_proxy.h */,
                                5CDD84921E43AF1300621E92 /* gain_control_for_experimental_agc.cc */,
                                5CD284A01E6A5F9F0094FDC8 /* audio_state.h */,
                                5CDD851C1E43B39C00621E92 /* bitrate_allocator.cc */,
                                5CDD851D1E43B39C00621E92 /* bitrate_allocator.h */,
-                               415F1FD72127313F00064CBF /* call_config.cc */,
-                               415F1FDA2127313F00064CBF /* call_config.h */,
                                5CDD85221E43B39C00621E92 /* call.cc */,
                                5CD284A61E6A5F9F0094FDC8 /* call.h */,
+                               415F1FD72127313F00064CBF /* call_config.cc */,
+                               415F1FDA2127313F00064CBF /* call_config.h */,
                                4145E4E11EF8CD7200FCF6E6 /* callfactory.cc */,
                                4145E4E31EF8CD7C00FCF6E6 /* callfactory.h */,
                                4102F6B721273381006AE8D7 /* degraded_call.cc */,
                                415F1FD22127313E00064CBF /* degraded_call.h */,
                                41299B942127369000B3414B /* fake_network_pipe.cc */,
                                41299B952127369100B3414B /* fake_network_pipe.h */,
-                               5CD284A81E6A5F9F0094FDC8 /* flexfec_receive_stream_impl.cc */,
-                               5CD284A91E6A5F9F0094FDC8 /* flexfec_receive_stream_impl.h */,
                                4102F6B821273381006AE8D7 /* flexfec_receive_stream.cc */,
                                5CDD85261E43B39C00621E92 /* flexfec_receive_stream.h */,
+                               5CD284A81E6A5F9F0094FDC8 /* flexfec_receive_stream_impl.cc */,
+                               5CD284A91E6A5F9F0094FDC8 /* flexfec_receive_stream_impl.h */,
                                415F1FD82127313F00064CBF /* packet_receiver.cc */,
                                4102F6B521273381006AE8D7 /* packet_receiver.h */,
                                415F1FD02127313D00064CBF /* receive_time_calculator.cc */,
                                415F1FD12127313E00064CBF /* rtp_payload_params.h */,
                                419C82AC1FE20DCB0040C30F /* rtp_rtcp_demuxer_helper.cc */,
                                419C82A21FE20DC70040C30F /* rtp_rtcp_demuxer_helper.h */,
-                               419C82AD1FE20DCB0040C30F /* rtp_stream_receiver_controller_interface.h */,
                                419C82A91FE20DCA0040C30F /* rtp_stream_receiver_controller.cc */,
                                419C82AE1FE20DCC0040C30F /* rtp_stream_receiver_controller.h */,
-                               413092171EF8D63900757C55 /* rtp_transport_controller_send_interface.h */,
+                               419C82AD1FE20DCB0040C30F /* rtp_stream_receiver_controller_interface.h */,
                                413092181EF8D63F00757C55 /* rtp_transport_controller_send.cc */,
                                413092161EF8D63400757C55 /* rtp_transport_controller_send.h */,
-                               415F1FD62127313E00064CBF /* rtp_video_sender_interface.h */,
+                               413092171EF8D63900757C55 /* rtp_transport_controller_send_interface.h */,
                                415F1FD32127313E00064CBF /* rtp_video_sender.cc */,
                                415F1FD42127313E00064CBF /* rtp_video_sender.h */,
+                               415F1FD62127313E00064CBF /* rtp_video_sender_interface.h */,
                                419C82A41FE20DC80040C30F /* rtx_receive_stream.cc */,
                                419C82AF1FE20DCC0040C30F /* rtx_receive_stream.h */,
                                419241CE2127597C00634FCF /* simulated_network.cc */,
                5CDD85591E43B5AE00621E92 /* video */ = {
                        isa = PBXGroup;
                        children = (
-                               4102F6BF212733B6006AE8D7 /* video_quality_observer.cc */,
-                               4102F6C5212733B6006AE8D7 /* video_quality_observer.h */,
-                               4102F6C2212733B6006AE8D7 /* video_send_stream_impl.cc */,
-                               4102F6BE212733B5006AE8D7 /* video_send_stream_impl.h */,
-                               4102F6C1212733B6006AE8D7 /* video_stream_decoder_impl.cc */,
-                               4102F6C4212733B6006AE8D7 /* video_stream_decoder_impl.h */,
-                               4102F6C0212733B6006AE8D7 /* video_stream_encoder.h */,
                                5CDD855C1E43B5C000621E92 /* call_stats.cc */,
                                5CDD855D1E43B5C000621E92 /* call_stats.h */,
                                5CDD85601E43B5C000621E92 /* encoder_rtcp_feedback.cc */,
                                5CDD85831E43B5C000621E92 /* stream_synchronization.h */,
                                5CDD85841E43B5C000621E92 /* transport_adapter.cc */,
                                5CDD85851E43B5C000621E92 /* transport_adapter.h */,
+                               4102F6BF212733B6006AE8D7 /* video_quality_observer.cc */,
+                               4102F6C5212733B6006AE8D7 /* video_quality_observer.h */,
                                5CDD858D1E43B5C000621E92 /* video_receive_stream.cc */,
                                5CDD858E1E43B5C000621E92 /* video_receive_stream.h */,
                                5CDD85901E43B5C000621E92 /* video_send_stream.cc */,
                                5CDD85911E43B5C000621E92 /* video_send_stream.h */,
+                               4102F6C2212733B6006AE8D7 /* video_send_stream_impl.cc */,
+                               4102F6BE212733B5006AE8D7 /* video_send_stream_impl.h */,
                                5CDD85921E43B5C000621E92 /* video_stream_decoder.cc */,
                                5CDD85931E43B5C000621E92 /* video_stream_decoder.h */,
+                               4102F6C1212733B6006AE8D7 /* video_stream_decoder_impl.cc */,
+                               4102F6C4212733B6006AE8D7 /* video_stream_decoder_impl.h */,
                                419C831E1FE242E50040C30F /* video_stream_encoder.cc */,
+                               4102F6C0212733B6006AE8D7 /* video_stream_encoder.h */,
                        );
                        path = video;
                        sourceTree = "<group>";
                5CDD876F1E43BB8D00621E92 /* source */ = {
                        isa = PBXGroup;
                        children = (
-                               41299B8E2127367A00B3414B /* isac_vad.c */,
-                               41299B8F2127367B00B3414B /* isac_vad.h */,
-                               41299B902127367B00B3414B /* pitch_filter.h */,
                                5CDD87731E43BC0500621E92 /* arith_routines.c */,
                                5CDD87741E43BC0500621E92 /* arith_routines.h */,
                                5CDD87711E43BC0500621E92 /* arith_routines_hist.c */,
                                5CDD878A1E43BC0500621E92 /* intialize.c */,
                                5CDD878D1E43BC0500621E92 /* isac.c */,
                                5CDD878B1E43BC0500621E92 /* isac_float_type.h */,
+                               41299B8E2127367A00B3414B /* isac_vad.c */,
+                               41299B8F2127367B00B3414B /* isac_vad.h */,
                                5CDD878E1E43BC0500621E92 /* lattice.c */,
                                5CDD878F1E43BC0500621E92 /* lpc_analysis.c */,
                                5CDD87901E43BC0500621E92 /* lpc_analysis.h */,
                                5CDD879B1E43BC0500621E92 /* pitch_estimator.c */,
                                5CDD879C1E43BC0500621E92 /* pitch_estimator.h */,
                                5CDD879D1E43BC0500621E92 /* pitch_filter.c */,
+                               41299B902127367B00B3414B /* pitch_filter.h */,
                                5CDD879E1E43BC0500621E92 /* pitch_gain_tables.c */,
                                5CDD879F1E43BC0500621E92 /* pitch_gain_tables.h */,
                                5CDD87A01E43BC0500621E92 /* pitch_lag_tables.c */,
                5CDD87FA1E43BE2600621E92 /* source */ = {
                        isa = PBXGroup;
                        children = (
-                               419241D2212759A100634FCF /* fec_private_tables_random.cc */,
-                               419241AF2127590200634FCF /* rtp_generic_frame_descriptor_extension.cc */,
+                               5CDD88EB1E43BF2500621E92 /* rtcp_packet */,
                                5CDD87FC1E43BE3C00621E92 /* byte_io.h */,
                                4102F6EB21273460006AE8D7 /* contributing_sources.cc */,
                                5CDD87FE1E43BE3C00621E92 /* dtmf_queue.cc */,
                                5CDD87FF1E43BE3C00621E92 /* dtmf_queue.h */,
-                               5CDD88001E43BE3C00621E92 /* fec_private_tables_bursty.h */,
                                4192418F2127581000634FCF /* fec_private_tables_bursty.cc */,
+                               5CDD88001E43BE3C00621E92 /* fec_private_tables_bursty.h */,
+                               419241D2212759A100634FCF /* fec_private_tables_random.cc */,
                                5CDD88011E43BE3C00621E92 /* fec_private_tables_random.h */,
                                5CDD88021E43BE3C00621E92 /* fec_test_helper.cc */,
                                5CDD88031E43BE3C00621E92 /* fec_test_helper.h */,
                                5CDD88061E43BE3C00621E92 /* flexfec_header_reader_writer.h */,
                                5CDD880A1E43BE3C00621E92 /* flexfec_receiver.cc */,
                                5CDD880C1E43BE3C00621E92 /* flexfec_sender.cc */,
-                               5CDD880D1E43BE3C00621E92 /* forward_error_correction_internal.cc */,
-                               5CDD880E1E43BE3C00621E92 /* forward_error_correction_internal.h */,
                                5CDD880F1E43BE3C00621E92 /* forward_error_correction.cc */,
                                5CDD88101E43BE3C00621E92 /* forward_error_correction.h */,
+                               5CDD880D1E43BE3C00621E92 /* forward_error_correction_internal.cc */,
+                               5CDD880E1E43BE3C00621E92 /* forward_error_correction_internal.h */,
                                5CDD88151E43BE3C00621E92 /* packet_loss_stats.cc */,
                                5CDD88161E43BE3C00621E92 /* packet_loss_stats.h */,
                                5CDD88181E43BE3C00621E92 /* playout_delay_oracle.cc */,
                                5CDD881E1E43BE3C00621E92 /* remote_ntp_time_estimator.cc */,
                                5CD285F81E6A64520094FDC8 /* rtcp_nack_stats.cc */,
                                5CD285F91E6A64520094FDC8 /* rtcp_nack_stats.h */,
-                               5CDD88EB1E43BF2500621E92 /* rtcp_packet */,
                                5CDD88211E43BE3C00621E92 /* rtcp_packet.cc */,
                                5CDD88221E43BE3C00621E92 /* rtcp_packet.h */,
                                5CDD88241E43BE3C00621E92 /* rtcp_receiver.cc */,
                                5CDD88251E43BE3C00621E92 /* rtcp_receiver.h */,
                                5CDD88271E43BE3C00621E92 /* rtcp_sender.cc */,
                                5CDD88281E43BE3C00621E92 /* rtcp_sender.h */,
+                               419C82F61FE20EFB0040C30F /* rtcp_transceiver.cc */,
+                               419C82FA1FE20EFD0040C30F /* rtcp_transceiver.h */,
                                419C82F91FE20EFD0040C30F /* rtcp_transceiver_config.cc */,
                                419C82F81FE20EFC0040C30F /* rtcp_transceiver_config.h */,
                                419C82F71FE20EFC0040C30F /* rtcp_transceiver_impl.cc */,
                                419C82FC1FE20EFE0040C30F /* rtcp_transceiver_impl.h */,
-                               419C82F61FE20EFB0040C30F /* rtcp_transceiver.cc */,
-                               419C82FA1FE20EFD0040C30F /* rtcp_transceiver.h */,
+                               5CDD883A1E43BE3C00621E92 /* rtp_format.cc */,
+                               5CDD883B1E43BE3C00621E92 /* rtp_format.h */,
                                5CDD882E1E43BE3C00621E92 /* rtp_format_h264.cc */,
                                5CDD882F1E43BE3C00621E92 /* rtp_format_h264.h */,
                                5CDD88301E43BE3C00621E92 /* rtp_format_video_generic.cc */,
                                5CDD88361E43BE3C00621E92 /* rtp_format_vp8.h */,
                                5CDD88381E43BE3C00621E92 /* rtp_format_vp9.cc */,
                                5CDD88391E43BE3C00621E92 /* rtp_format_vp9.h */,
-                               5CDD883A1E43BE3C00621E92 /* rtp_format.cc */,
-                               5CDD883B1E43BE3C00621E92 /* rtp_format.h */,
-                               4102F6E82127345F006AE8D7 /* rtp_generic_frame_descriptor_extension.h */,
                                4102F6E52127345E006AE8D7 /* rtp_generic_frame_descriptor.cc */,
                                4102F6E62127345F006AE8D7 /* rtp_generic_frame_descriptor.h */,
+                               419241AF2127590200634FCF /* rtp_generic_frame_descriptor_extension.cc */,
+                               4102F6E82127345F006AE8D7 /* rtp_generic_frame_descriptor_extension.h */,
                                4145E4DB1EF8CCEE00FCF6E6 /* rtp_header_extension_map.cc */,
                                5CDD883F1E43BE3C00621E92 /* rtp_header_extensions.cc */,
                                5CDD88401E43BE3C00621E92 /* rtp_header_extensions.h */,
                                5CDD88411E43BE3C00621E92 /* rtp_header_parser.cc */,
+                               5CDD88481E43BE3C00621E92 /* rtp_packet.cc */,
+                               5CDD88491E43BE3C00621E92 /* rtp_packet.h */,
                                5CDD88431E43BE3C00621E92 /* rtp_packet_history.cc */,
                                5CDD88441E43BE3C00621E92 /* rtp_packet_history.h */,
                                419C82FE1FE20F010040C30F /* rtp_packet_received.cc */,
                                5CDD88451E43BE3C00621E92 /* rtp_packet_received.h */,
                                4102F6E92127345F006AE8D7 /* rtp_packet_to_send.cc */,
                                5CDD88461E43BE3C00621E92 /* rtp_packet_to_send.h */,
-                               5CDD88481E43BE3C00621E92 /* rtp_packet.cc */,
-                               5CDD88491E43BE3C00621E92 /* rtp_packet.h */,
                                5CDD884B1E43BE3C00621E92 /* rtp_payload_registry.cc */,
                                5CDD884C1E43BE3C00621E92 /* rtp_receiver_audio.cc */,
                                5CDD884D1E43BE3C00621E92 /* rtp_receiver_audio.h */,
                                5CDD88541E43BE3C00621E92 /* rtp_rtcp_config.h */,
                                5CDD88561E43BE3C00621E92 /* rtp_rtcp_impl.cc */,
                                5CDD88571E43BE3C00621E92 /* rtp_rtcp_impl.h */,
+                               5CDD885D1E43BE3C00621E92 /* rtp_sender.cc */,
+                               5CDD885E1E43BE3C00621E92 /* rtp_sender.h */,
                                5CDD88581E43BE3C00621E92 /* rtp_sender_audio.cc */,
                                5CDD88591E43BE3C00621E92 /* rtp_sender_audio.h */,
                                5CDD885B1E43BE3C00621E92 /* rtp_sender_video.cc */,
                                5CDD885C1E43BE3C00621E92 /* rtp_sender_video.h */,
-                               5CDD885D1E43BE3C00621E92 /* rtp_sender.cc */,
-                               5CDD885E1E43BE3C00621E92 /* rtp_sender.h */,
                                5CDD885F1E43BE3C00621E92 /* rtp_utility.cc */,
                                5CDD88601E43BE3C00621E92 /* rtp_utility.h */,
                                4102F6E72127345F006AE8D7 /* rtp_video_header.cc */,
                5CDD89881E43BF8A00621E92 /* neteq */ = {
                        isa = PBXGroup;
                        children = (
-                               4102F6AC212732E6006AE8D7 /* expand_uma_logger.cc */,
-                               4102F6AD212732E7006AE8D7 /* expand_uma_logger.h */,
                                5CDD8A5F1E43C00000621E92 /* tools */,
                                5CDD89891E43BFB300621E92 /* accelerate.cc */,
                                5CDD898A1E43BFB300621E92 /* accelerate.h */,
                                5CDD89BB1E43BFB300621E92 /* dtmf_tone_generator.h */,
                                5CDD89BD1E43BFB300621E92 /* expand.cc */,
                                5CDD89BE1E43BFB300621E92 /* expand.h */,
+                               4102F6AC212732E6006AE8D7 /* expand_uma_logger.cc */,
+                               4102F6AD212732E7006AE8D7 /* expand_uma_logger.h */,
                                5CDD89C11E43BFB300621E92 /* merge.cc */,
                                5CDD89C21E43BFB300621E92 /* merge.h */,
                                5CDD89C51E43BFB300621E92 /* nack_tracker.cc */,
                5CDD8ABB1E43C22200621E92 /* audio */ = {
                        isa = PBXGroup;
                        children = (
+                               5CD2854A1E6A62090094FDC8 /* utility */,
                                4102F69A21273261006AE8D7 /* audio_level.cc */,
                                4102F69821273260006AE8D7 /* audio_level.h */,
                                5CDD8ABD1E43C23900621E92 /* audio_receive_stream.cc */,
                                5CDD8AC41E43C23900621E92 /* audio_state.h */,
                                41F9BF992051C84B00ABF0B9 /* audio_transport_impl.cc */,
                                41F9BF9A2051C84B00ABF0B9 /* audio_transport_impl.h */,
-                               4102F69C21273261006AE8D7 /* channel_proxy.cc */,
-                               4102F69921273261006AE8D7 /* channel_proxy.h */,
                                4102F69E21273262006AE8D7 /* channel.cc */,
                                4102F69B21273261006AE8D7 /* channel.h */,
+                               4102F69C21273261006AE8D7 /* channel_proxy.cc */,
+                               4102F69921273261006AE8D7 /* channel_proxy.h */,
                                5CDD8AC61E43C23900621E92 /* conversion.h */,
                                419C83B11FE2472D0040C30F /* null_audio_poller.cc */,
                                419C83B21FE2472E0040C30F /* null_audio_poller.h */,
                                419C83321FE245E90040C30F /* time_interval.h */,
                                4102F69F21273262006AE8D7 /* transport_feedback_packet_loss_tracker.cc */,
                                4102F69621273260006AE8D7 /* transport_feedback_packet_loss_tracker.h */,
-                               5CD2854A1E6A62090094FDC8 /* utility */,
                        );
                        path = audio;
                        sourceTree = "<group>";
                5CDD8C451E43C57900621E92 /* call */ = {
                        isa = PBXGroup;
                        children = (
+                               5CDD8C491E43C58E00621E92 /* audio_sink.h */,
                                41924172212738C200634FCF /* callfactoryinterface.h */,
                                41924174212738C200634FCF /* transport.cc */,
                                41924173212738C200634FCF /* transport.h */,
-                               5CDD8C491E43C58E00621E92 /* audio_sink.h */,
                        );
                        path = call;
                        sourceTree = "<group>";
                5CDD8F951E43CCA200621E92 /* pacing */ = {
                        isa = PBXGroup;
                        children = (
-                               41A08BD221272EFA001D5D7B /* round_robin_packet_queue.cc */,
-                               41A08BD121272EFA001D5D7B /* round_robin_packet_queue.h */,
                                5CDD8F981E43CCBE00621E92 /* bitrate_prober.cc */,
                                5CDD8F991E43CCBE00621E92 /* bitrate_prober.h */,
                                419C82991FE20CA10040C30F /* interval_budget.cc */,
                                419241832127499300634FCF /* packet_queue_interface.h */,
                                5CDD8F9C1E43CCBE00621E92 /* packet_router.cc */,
                                5CDD8F9D1E43CCBE00621E92 /* packet_router.h */,
+                               41A08BD221272EFA001D5D7B /* round_robin_packet_queue.cc */,
+                               41A08BD121272EFA001D5D7B /* round_robin_packet_queue.h */,
                        );
                        path = pacing;
                        sourceTree = "<group>";
                        isa = PBXGroup;
                        children = (
                                419241B12127591C00634FCF /* bbr */,
-                               41E02CD52127362300C27CD6 /* rtp */,
                                41E02C8F212734E800C27CD6 /* goog_cc */,
+                               41E02CD52127362300C27CD6 /* rtp */,
                                41A08BD621272F1C001D5D7B /* congestion_window_pushback_controller.cc */,
                                41A08BD521272F1C001D5D7B /* congestion_window_pushback_controller.h */,
                                413091FD1EF8D06D00757C55 /* receive_side_congestion_controller.cc */,
                5CDD90341E43CF3700621E92 /* rtc_event_log */ = {
                        isa = PBXGroup;
                        children = (
-                               41924178212738FB00634FCF /* rtc_event_log_impl.cc */,
+                               419C83211FE244FE0040C30F /* events */,
+                               419C84201FE24B960040C30F /* output */,
                                41A08BC221269576001D5D7B /* icelogger.cc */,
                                41A08BC121269576001D5D7B /* icelogger.h */,
-                               41A08BB921269552001D5D7B /* rtc_event_ice_candidate_pair_config.cc */,
-                               41A08BBB21269552001D5D7B /* rtc_event_ice_candidate_pair_config.h */,
                                41A08BBC21269553001D5D7B /* rtc_event_ice_candidate_pair.cc */,
                                41A08BBA21269552001D5D7B /* rtc_event_ice_candidate_pair.h */,
-                               419C83211FE244FE0040C30F /* events */,
-                               419C84201FE24B960040C30F /* output */,
+                               41A08BB921269552001D5D7B /* rtc_event_ice_candidate_pair_config.cc */,
+                               41A08BBB21269552001D5D7B /* rtc_event_ice_candidate_pair_config.h */,
                                5CDD903E1E43CF6100621E92 /* rtc_event_log.cc */,
                                5CDD903F1E43CF6100621E92 /* rtc_event_log.h */,
                                41F411B61EF8DA8A00343C26 /* rtc_event_log_factory.cc */,
                                41F411B81EF8DA9500343C26 /* rtc_event_log_factory.h */,
                                41F411B71EF8DA9000343C26 /* rtc_event_log_factory_interface.h */,
+                               41924178212738FB00634FCF /* rtc_event_log_impl.cc */,
                                419C84181FE24AED0040C30F /* rtc_event_log_parser.cc */,
                                419C841B1FE24AEE0040C30F /* rtc_event_log_parser.h */,
                                419C84191FE24AEE0040C30F /* rtc_stream_config.cc */,
                        files = (
                                5CDD8B6D1E43C2B500621E92 /* abs_quant.h in Headers */,
                                5CDD8B6B1E43C2B500621E92 /* abs_quant_loop.h in Headers */,
-                               41F2636A21267ADF00274F59 /* video_encoder_software_fallback_wrapper.h in Headers */,
                                5CDD89F91E43BFB300621E92 /* accelerate.h in Headers */,
+                               41E02CA62127352D00C27CD6 /* acknowledged_bitrate_estimator.h in Headers */,
                                5CDD85041E43B1EA00621E92 /* acm_codec_database.h in Headers */,
                                5CDD850A1E43B1EA00621E92 /* acm_receiver.h in Headers */,
-                               41E02CD0212735B700C27CD6 /* bitrate_settings.h in Headers */,
                                5CDD850C1E43B1EA00621E92 /* acm_resampler.h in Headers */,
                                5C4B48D81E42C1E3002651C8 /* adaptedvideotracksource.h in Headers */,
+                               416D3BDC212731C200775F09 /* adaptive_agc.h in Headers */,
+                               415F1FA721272FBA00064CBF /* adaptive_digital_gain_applier.h in Headers */,
                                5CD285A51E6A63430094FDC8 /* adaptive_fir_filter.h in Headers */,
+                               415F1FA921272FBA00064CBF /* adaptive_mode_level_estimator.h in Headers */,
+                               416D3BDD212731C200775F09 /* adaptive_mode_level_estimator_agc.h in Headers */,
                                41F411C81EF97BAF00343C26 /* adm_helpers.h in Headers */,
                                5CD285A91E6A63430094FDC8 /* aec3_common.h in Headers */,
                                5CD285AB1E6A63430094FDC8 /* aec3_fft.h in Headers */,
                                5C0885261E4A99D200403995 /* aes_icm.h in Headers */,
                                5C0885251E4A99D200403995 /* aes_icm_ossl.h in Headers */,
                                5CDD87021E43BA7500621E92 /* agc.h in Headers */,
+                               416D3BDF212731C200775F09 /* agc2_common.h in Headers */,
                                5CDD87001E43BA7500621E92 /* agc_manager_direct.h in Headers */,
                                5CDD8FD21E43CD6600621E92 /* aimd_rate_control.h in Headers */,
-                               41D6B45421273159008F9353 /* call_config.h in Headers */,
-                               4192417E2127392300634FCF /* timestamp_extrapolator.h in Headers */,
+                               413AD1A321265B10003F7263 /* algorithm.h in Headers */,
+                               41F263A02126800000274F59 /* aligned_array.h in Headers */,
+                               41F2639F2126800000274F59 /* aligned_malloc.h in Headers */,
                                5C0885281E4A99D200403995 /* alloc.h in Headers */,
+                               41E02CAD2127352D00C27CD6 /* alr_detector.h in Headers */,
                                41F9BFCC2051DDA200ABF0B9 /* alr_experiment.h in Headers */,
                                5CDD86ED1E43BA6D00621E92 /* analog_agc.h in Headers */,
                                5CDD87E61E43BDA100621E92 /* apm_data_dumper.h in Headers */,
                                5CD284C31E6A5FFC0094FDC8 /* apm_helpers.h in Headers */,
                                5CDD893C1E43BF3A00621E92 /* app.h in Headers */,
-                               4102F6E221273416006AE8D7 /* color_space.h in Headers */,
+                               41F263B3212680A800274F59 /* arch.h in Headers */,
                                5CDD87AA1E43BC0500621E92 /* arith_routines.h in Headers */,
                                41433D011F79B33400387B4D /* arith_routins.h in Headers */,
                                41F9BF872051C80100ABF0B9 /* array_view.h in Headers */,
                                413A23E41FE18E0800373E99 /* arraysize.h in Headers */,
-                               415F1FBF2127304C00064CBF /* echo_cancellation_proxy.h in Headers */,
+                               41F263B1212680A800274F59 /* asm_defines.h in Headers */,
                                5C63F8D91E416D53002CA531 /* assertions.h in Headers */,
-                               41E02C8E212734B900C27CD6 /* fec_rate_table.h in Headers */,
-                               41E02CAA2127352D00C27CD6 /* goog_cc_network_control.h in Headers */,
-                               41DDB261212679A300296D47 /* opensslutility.h in Headers */,
                                413A22A81FE18E0600373E99 /* asyncinvoker-inl.h in Headers */,
                                413A22B01FE18E0700373E99 /* asyncinvoker.h in Headers */,
                                413A23A81FE18E0800373E99 /* asyncpacketsocket.h in Headers */,
-                               41A08BAD212681C8001D5D7B /* i010_buffer.h in Headers */,
                                413A22AB1FE18E0600373E99 /* asyncresolverinterface.h in Headers */,
                                413A235E1FE18E0700373E99 /* asyncsocket.h in Headers */,
                                5C63F9E11E4174F6002CA531 /* asyncstuntcpsocket.h in Headers */,
                                413A22ED1FE18E0700373E99 /* atomicops.h in Headers */,
                                5CDD84AA1E43AF1300621E92 /* audio_buffer.h in Headers */,
                                5CDD8A8E1E43C00F00621E92 /* audio_checksum.h in Headers */,
+                               4192419F2127588300634FCF /* audio_codec_pair_id.h in Headers */,
                                5C4B4C5A1E431F9C002651C8 /* audio_converter.h in Headers */,
                                5CDD84161E439B2900621E92 /* audio_decoder.h in Headers */,
                                5CD285451E6A61D20094FDC8 /* audio_decoder.h in Headers */,
                                5CD285431E6A61D20094FDC8 /* audio_decoder_factory.h in Headers */,
-                               41DDB25A2126792800296D47 /* zero_memory.h in Headers */,
                                41F9BF982051C82100ABF0B9 /* audio_decoder_factory_template.h in Headers */,
-                               41A08BB2212681C8001D5D7B /* video_stream_decoder.h in Headers */,
-                               419241852127499300634FCF /* packet_queue_interface.h in Headers */,
                                419C83E81FE248350040C30F /* audio_decoder_g711.h in Headers */,
                                4140B8321E4E3396007409E6 /* audio_decoder_g722.h in Headers */,
-                               413AD1A321265B10003F7263 /* algorithm.h in Headers */,
                                419C833D1FE246230040C30F /* audio_decoder_g722.h in Headers */,
                                5CDD8B6F1E43C2B500621E92 /* audio_decoder_ilbc.h in Headers */,
                                419C84BE1FE319440040C30F /* audio_decoder_ilbc.h in Headers */,
                                5CDD8C0A1E43C34600621E92 /* audio_decoder_isac_t.h in Headers */,
                                5CDD8C091E43C34600621E92 /* audio_decoder_isac_t_impl.h in Headers */,
                                419C83F01FE2488D0040C30F /* audio_decoder_L16.h in Headers */,
-                               416D3BE5212731C200775F09 /* gain_curve_applier.h in Headers */,
                                5CDD8C611E43C60900621E92 /* audio_decoder_opus.h in Headers */,
                                419C82F21FE20EB50040C30F /* audio_decoder_opus.h in Headers */,
                                4140B8231E4E3383007409E6 /* audio_decoder_pcm.h in Headers */,
                                5C119FFC1E457400004F0987 /* audio_device_buffer.h in Headers */,
                                5C119FFD1E457400004F0987 /* audio_device_config.h in Headers */,
                                4145F6141FE1E16F00EB9CAF /* audio_device_data_observer.h in Headers */,
-                               41F2638221267B7700274F59 /* bitrate_constraints.h in Headers */,
-                               4192419B2127586500634FCF /* kiss_fft.h in Headers */,
                                4145F6121FE1E16F00EB9CAF /* audio_device_defines.h in Headers */,
                                5C11A01E1E457578004F0987 /* audio_device_dummy.h in Headers */,
-                               41D6B45521273159008F9353 /* degraded_call.h in Headers */,
                                5C119FFF1E457400004F0987 /* audio_device_generic.h in Headers */,
                                5CFD537C1E4BA4F500482908 /* audio_device_ios.h in Headers */,
                                5C11A00C1E457448004F0987 /* audio_device_mac.h in Headers */,
                                419C83401FE246230040C30F /* audio_encoder_g722.h in Headers */,
                                419C833C1FE246230040C30F /* audio_encoder_g722_config.h in Headers */,
                                5CDD8B711E43C2B500621E92 /* audio_encoder_ilbc.h in Headers */,
-                               41E02CC12127356A00C27CD6 /* data_rate_limiter.h in Headers */,
                                419C84C01FE319440040C30F /* audio_encoder_ilbc.h in Headers */,
                                419C84BC1FE319440040C30F /* audio_encoder_ilbc_config.h in Headers */,
                                419C83661FE246CA0040C30F /* audio_encoder_isac.h in Headers */,
                                4140B8211E4E3383007409E6 /* audio_encoder_pcm.h in Headers */,
                                5CDD8FFF1E43CE3A00621E92 /* audio_encoder_pcm16b.h in Headers */,
                                5CD285471E6A61D20094FDC8 /* audio_format.h in Headers */,
-                               415F1FCD212730F000064CBF /* audio_mixer.h in Headers */,
                                5CDD841A1E439B2900621E92 /* audio_format_conversion.h in Headers */,
+                               41DDB26D212679D200296D47 /* audio_format_to_string.h in Headers */,
+                               415F1FCF212730F000064CBF /* audio_frame.h in Headers */,
                                5CD284931E6A5F410094FDC8 /* audio_frame_manipulator.h in Headers */,
                                5CD2854E1E6A62130094FDC8 /* audio_frame_operations.h in Headers */,
+                               4102F6A221273262006AE8D7 /* audio_level.h in Headers */,
                                5CDD8A901E43C00F00621E92 /* audio_loop.h in Headers */,
+                               415F1FCD212730F000064CBF /* audio_mixer.h in Headers */,
                                5CD284961E6A5F410094FDC8 /* audio_mixer_impl.h in Headers */,
                                5C11A00E1E457448004F0987 /* audio_mixer_manager_mac.h in Headers */,
                                5CDD8A021E43BFB300621E92 /* audio_multi_vector.h in Headers */,
                                5CDD8F7A1E43CBE000621E92 /* audio_network_adaptor_impl.h in Headers */,
+                               41F2638121267B7700274F59 /* audio_options.h in Headers */,
                                5CDD8FEA1E43CDCA00621E92 /* audio_processing.h in Headers */,
-                               419241C32127593F00634FCF /* bbr_network_controller.h in Headers */,
                                5CDD84AC1E43AF1300621E92 /* audio_processing_impl.h in Headers */,
                                419C829E1FE20D1C0040C30F /* audio_processing_statistics.h in Headers */,
                                5CDD8ACD1E43C23900621E92 /* audio_receive_stream.h in Headers */,
-                               41299B972127369100B3414B /* fake_network_pipe.h in Headers */,
                                5CD284B01E6A5F9F0094FDC8 /* audio_receive_stream.h in Headers */,
-                               4102F6CF212733B7006AE8D7 /* video_quality_observer.h in Headers */,
                                5C4B4C5D1E431F9C002651C8 /* audio_ring_buffer.h in Headers */,
                                5CDD8AD01E43C23900621E92 /* audio_send_stream.h in Headers */,
                                5CD284B21E6A5F9F0094FDC8 /* audio_send_stream.h in Headers */,
                                5CFD53801E4BA4F500482908 /* audio_session_observer.h in Headers */,
                                5CDD8C4F1E43C58E00621E92 /* audio_sink.h in Headers */,
-                               41D6B45D21273159008F9353 /* rtp_video_sender.h in Headers */,
                                5CDD8A921E43C00F00621E92 /* audio_sink.h in Headers */,
                                5CDD8AD31E43C23900621E92 /* audio_state.h in Headers */,
                                5CD284B31E6A5F9F0094FDC8 /* audio_state.h in Headers */,
-                               419241472127372800634FCF /* spectral_features_internal.h in Headers */,
                                41F9BF9C2051C84C00ABF0B9 /* audio_transport_impl.h in Headers */,
                                41F9BFA02051C88500ABF0B9 /* audio_util.h in Headers */,
                                5CDD8A051E43BFB300621E92 /* audio_vector.h in Headers */,
                                5C4B48D91E42C1E3002651C8 /* audiosource.h in Headers */,
-                               415F1FCC212730F000064CBF /* echo_control.h in Headers */,
                                5CD284F11E6A60570094FDC8 /* audiotrack.h in Headers */,
-                               41F2638E21267F4900274F59 /* g711.h in Headers */,
                                5CDD8B731E43C2B500621E92 /* augmented_cb_corr.h in Headers */,
                                5C0885291E4A99D200403995 /* auth.h in Headers */,
                                5C63F8DA1E416D53002CA531 /* autolink.h in Headers */,
-                               41DDB24E21265BD700296D47 /* inlined_vector.h in Headers */,
-                               41F2639921267F5E00274F59 /* pa_ringbuffer.h in Headers */,
-                               41DDB25121265BE900296D47 /* optional.h in Headers */,
                                5CDD8A081E43BFB300621E92 /* background_noise.h in Headers */,
+                               41A08BC7212695DE001D5D7B /* bad_optional_access.h in Headers */,
+                               419241822127497100634FCF /* bad_variant_access.h in Headers */,
                                5CDD87AF1E43BC0500621E92 /* bandwidth_estimator.h in Headers */,
                                41433D241F79B33400387B4D /* bandwidth_estimator.h in Headers */,
                                5CDD8C0D1E43C34600621E92 /* bandwidth_info.h in Headers */,
+                               419241CC2127593F00634FCF /* bandwidth_sampler.h in Headers */,
+                               41F263B82126810C00274F59 /* base64.h in Headers */,
+                               4192415B2127376F00634FCF /* basicasyncresolverfactory.h in Headers */,
                                5C63F9E31E4174F6002CA531 /* basicpacketsocketfactory.h in Headers */,
                                5C4B4D0A1E4322F6002651C8 /* basicportallocator.h in Headers */,
-                               41F2639821267F5E00274F59 /* pa_memorybarrier.h in Headers */,
+                               419241C62127593F00634FCF /* bbr_factory.h in Headers */,
+                               419241C32127593F00634FCF /* bbr_network_controller.h in Headers */,
                                413A235C1FE18E0700373E99 /* bind.h in Headers */,
+                               416D3BE1212731C200775F09 /* biquad_filter.h in Headers */,
                                413A23771FE18E0700373E99 /* bitbuffer.h in Headers */,
                                41109AB01E5FA19200C0955A /* bitrate_adjuster.h in Headers */,
                                5CDD85301E43B39C00621E92 /* bitrate_allocator.h in Headers */,
+                               41F2638221267B7700274F59 /* bitrate_constraints.h in Headers */,
                                5CDD8F7E1E43CBE000621E92 /* bitrate_controller.h in Headers */,
                                5CDD905E1E43D11200621E92 /* bitrate_controller_impl.h in Headers */,
+                               41E02CAC2127352D00C27CD6 /* bitrate_estimator.h in Headers */,
                                5CDD8FA11E43CCBE00621E92 /* bitrate_prober.h in Headers */,
+                               41E02CD0212735B700C27CD6 /* bitrate_settings.h in Headers */,
                                413A23261FE18E0700373E99 /* bitrateallocationstrategy.h in Headers */,
                                5CD285AD1E6A63430094FDC8 /* block_framer.h in Headers */,
                                5CDD86881E43B93900621E92 /* block_mean_calculator.h in Headers */,
                                413A232B1FE18E0700373E99 /* bufferqueue.h in Headers */,
                                5CD285491E6A61D20094FDC8 /* builtin_audio_decoder_factory.h in Headers */,
                                413091FC1EF8CFF800757C55 /* builtin_audio_encoder_factory.h in Headers */,
+                               41F2636021267ADF00274F59 /* builtin_video_decoder_factory.h in Headers */,
+                               41F2636121267ADF00274F59 /* builtin_video_encoder_factory.h in Headers */,
                                5CDD8B751E43C2B500621E92 /* bw_expand.h in Headers */,
                                5CDD893F1E43BF3A00621E92 /* bye.h in Headers */,
                                5CDD88761E43BE3C00621E92 /* byte_io.h in Headers */,
                                413A23A41FE18E0800373E99 /* bytebuffer.h in Headers */,
                                413A233E1FE18E0700373E99 /* byteorder.h in Headers */,
                                5CD284B81E6A5F9F0094FDC8 /* call.h in Headers */,
+                               41D6B45421273159008F9353 /* call_config.h in Headers */,
                                5CDD85131E43B1EA00621E92 /* call_statistics.h in Headers */,
                                5CDD859D1E43B5C000621E92 /* call_stats.h in Headers */,
                                413A23171FE18E0700373E99 /* callback.h in Headers */,
                                4145E4E61EF8CD7D00FCF6E6 /* callfactory.h in Headers */,
+                               41924175212738C200634FCF /* callfactoryinterface.h in Headers */,
                                41F9BF852051C80100ABF0B9 /* candidate.h in Headers */,
                                5C63F9E51E4174F6002CA531 /* candidatepairinterface.h in Headers */,
-                               4102F6A021273262006AE8D7 /* transport_feedback_packet_loss_tracker.h in Headers */,
                                5CD285B31E6A63430094FDC8 /* cascaded_biquad_filter.h in Headers */,
                                5CDD8B771E43C2B500621E92 /* cb_construct.h in Headers */,
                                5CDD8B7D1E43C2B500621E92 /* cb_mem_energy.h in Headers */,
                                5CDD8B811E43C2B500621E92 /* cb_search.h in Headers */,
                                5CDD8B7F1E43C2B500621E92 /* cb_search_core.h in Headers */,
                                5CDD8B831E43C2B500621E92 /* cb_update_best_index.h in Headers */,
+                               4102F6A521273262006AE8D7 /* channel.h in Headers */,
                                5C4B4C651E431F9C002651C8 /* channel_buffer.h in Headers */,
                                5CDD8F811E43CBE000621E92 /* channel_controller.h in Headers */,
+                               4102F6A321273262006AE8D7 /* channel_proxy.h in Headers */,
                                5CDD8B851E43C2B500621E92 /* chebyshev.h in Headers */,
                                413A234F1FE18E0700373E99 /* checks.h in Headers */,
                                5C08852A1E4A99D200403995 /* cipher.h in Headers */,
-                               41924175212738C200634FCF /* callfactoryinterface.h in Headers */,
                                5CDD86A21E43B99400621E92 /* circular_buffer.h in Headers */,
-                               41F2639321267F5300274F59 /* g722_enc_dec.h in Headers */,
                                5C4B48DC1E42C1E3002651C8 /* codec.h in Headers */,
-                               41E02C7E2127347400C27CD6 /* rtp_video_header.h in Headers */,
                                5CDD87B01E43BC0500621E92 /* codec.h in Headers */,
                                41433CF31F79B33400387B4D /* codec.h in Headers */,
                                5CDD85161E43B1EA00621E92 /* codec_manager.h in Headers */,
                                5CDD83C91E439A6F00621E92 /* codec_timer.h in Headers */,
-                               4102F6CA212733B7006AE8D7 /* video_stream_encoder.h in Headers */,
-                               4102F68D21273206006AE8D7 /* rtcstatstraversal.h in Headers */,
+                               4102F6E221273416006AE8D7 /* color_space.h in Headers */,
                                5CDD8A0E1E43BFB300621E92 /* comfort_noise.h in Headers */,
-                               41299B922127367B00B3414B /* isac_vad.h in Headers */,
                                5CD285B51E6A63430094FDC8 /* comfort_noise_generator.h in Headers */,
                                5CDD87271E43BABE00621E92 /* common.h in Headers */,
                                5CDD84AD1E43AF1300621E92 /* common.h in Headers */,
                                5CDD8C861E43C66000621E92 /* common.h in Headers */,
+                               4192413F2127372400634FCF /* common.h in Headers */,
                                5CDD89421E43BF3A00621E92 /* common_header.h in Headers */,
                                5C6CDD4C1E413598009754E3 /* common_types.h in Headers */,
-                               416D3BE2212731C200775F09 /* down_sampler.h in Headers */,
                                5CDD8B871E43C2B500621E92 /* comp_corr.h in Headers */,
-                               41F2636121267ADF00274F59 /* builtin_video_encoder_factory.h in Headers */,
                                413A23851FE18E0700373E99 /* compile_assert_c.h in Headers */,
                                5CDD86461E43B8B500621E92 /* complex_fft_tables.h in Headers */,
                                5CDD89451E43BF3A00621E92 /* compound_packet.h in Headers */,
+                               415F1FAB21272FBA00064CBF /* compute_interpolated_gain_curve.h in Headers */,
                                5CDD8FEC1E43CDCA00621E92 /* config.h in Headers */,
                                5C63F8DB1E416D53002CA531 /* config.h in Headers */,
-                               4192419C2127586500634FCF /* rnn_activations.h in Headers */,
+                               4192416D2127389B00634FCF /* congestion_controller_experiment.h in Headers */,
+                               41A08BD721272F1D001D5D7B /* congestion_window_pushback_controller.h in Headers */,
                                5CDD8A941E43C00F00621E92 /* constant_pcm_packet_source.h in Headers */,
                                5C4B48781E42C1BA002651C8 /* constants.h in Headers */,
                                5CDD8B8A1E43C2B500621E92 /* constants.h in Headers */,
                                413A236C1FE18E0700373E99 /* constructormagic.h in Headers */,
+                               413AD1A421265B10003F7263 /* container.h in Headers */,
                                5CDD8F861E43CBE000621E92 /* controller.h in Headers */,
-                               415F1FB621272FBA00064CBF /* vad_with_level.h in Headers */,
                                5CDD8F841E43CBE000621E92 /* controller_manager.h in Headers */,
                                5CDD8AD41E43C23900621E92 /* conversion.h in Headers */,
                                41F9BFB42051C93600ABF0B9 /* convert_legacy_video_factory.h in Headers */,
                                413A23AC1FE18E0800373E99 /* copyonwritebuffer.h in Headers */,
-                               41E02CA42127352D00C27CD6 /* probe_controller.h in Headers */,
                                413A23E21FE18E0800373E99 /* cpu_time.h in Headers */,
                                5CDD87B21E43BC0500621E92 /* crc.h in Headers */,
-                               4102F6DD21273416006AE8D7 /* video_sink_interface.h in Headers */,
                                413A22AC1FE18E0600373E99 /* crc32.h in Headers */,
                                5CDD8B8C1E43C2B500621E92 /* create_augmented_vec.h in Headers */,
-                               419241CD2127593F00634FCF /* data_transfer_tracker.h in Headers */,
                                413A23691FE18E0700373E99 /* criticalsection.h in Headers */,
                                5CDD8A101E43BFB300621E92 /* cross_correlation.h in Headers */,
-                               419241A9212758D300634FCF /* symmetric_matrix_buffer.h in Headers */,
                                5C08852B1E4A99D200403995 /* crypto_kernel.h in Headers */,
                                5C08852C1E4A99D200403995 /* crypto_types.h in Headers */,
                                5C4B48DD1E42C1E3002651C8 /* cryptoparams.h in Headers */,
                                41F9BF902051C80100ABF0B9 /* cryptoparams.h in Headers */,
                                413A23291FE18E0700373E99 /* cryptstring.h in Headers */,
+                               419241DE21275A3000634FCF /* data_rate.h in Headers */,
+                               41E02CC12127356A00C27CD6 /* data_rate_limiter.h in Headers */,
+                               419241E421275A3000634FCF /* data_size.h in Headers */,
+                               419241CD2127593F00634FCF /* data_transfer_tracker.h in Headers */,
                                5CD284F31E6A60570094FDC8 /* datachannel.h in Headers */,
                                5C63F93A1E41737B002CA531 /* datachannelinterface.h in Headers */,
                                5C08852D1E4A99D200403995 /* datatypes.h in Headers */,
                                419C83F81FE248F10040C30F /* decimator.h in Headers */,
                                5CDD8A171E43BFB300621E92 /* decision_logic.h in Headers */,
                                5CDD8B901E43C2B500621E92 /* decode.h in Headers */,
-                               41A08BB821268A7D001D5D7B /* memory.h in Headers */,
                                5CDD8B8E1E43C2B500621E92 /* decode_residual.h in Headers */,
-                               4102F69421273206006AE8D7 /* transportstats.h in Headers */,
                                419C849D1FE2FEC00040C30F /* decoder.h in Headers */,
                                5CDD8A1A1E43BFB300621E92 /* decoder_database.h in Headers */,
+                               41E02C87212734B900C27CD6 /* decoder_database.h in Headers */,
                                5CDD8B921E43C2B500621E92 /* decoder_interpolate_lsf.h in Headers */,
                                5CDD83CB1E439A6F00621E92 /* decoding_state.h in Headers */,
                                5CD284981E6A5F410094FDC8 /* default_output_rate_calculator.h in Headers */,
                                419C843B1FE24E800040C30F /* default_temporal_layers.h in Headers */,
                                5CD2853A1E6A61980094FDC8 /* default_video_bitrate_allocator.h in Headers */,
-                               41F2637F21267B7700274F59 /* fec_controller.h in Headers */,
                                5CDD85FB1E43B84E00621E92 /* defines.h in Headers */,
                                5CDD8A1B1E43BFB300621E92 /* defines.h in Headers */,
                                5CDD8B931E43C2B500621E92 /* defines.h in Headers */,
+                               41D6B45521273159008F9353 /* degraded_call.h in Headers */,
+                               41E02CAB2127352D00C27CD6 /* delay_based_bwe.h in Headers */,
                                5CDD868E1E43B93900621E92 /* delay_estimator.h in Headers */,
                                5CDD86891E43B93900621E92 /* delay_estimator_internal.h in Headers */,
                                5CDD868C1E43B93900621E92 /* delay_estimator_wrapper.h in Headers */,
+                               41E02CB72127352D00C27CD6 /* delay_increase_detector_interface.h in Headers */,
                                5CDD8A1E1E43BFB300621E92 /* delay_manager.h in Headers */,
                                5CDD8A211E43BFB300621E92 /* delay_peak_detector.h in Headers */,
                                413A234E1FE18E0700373E99 /* deprecation.h in Headers */,
                                5C4B48DE1E42C1E3002651C8 /* device.h in Headers */,
-                               4192418B212749C800634FCF /* send_time_history.h in Headers */,
                                5CDD86EF1E43BA6D00621E92 /* digital_agc.h in Headers */,
                                5CDD89481E43BF3A00621E92 /* dlrr.h in Headers */,
                                5CDD8B951E43C2B500621E92 /* do_plc.h in Headers */,
                                412455441EF87C0F00F11809 /* dot_product_with_scale.h in Headers */,
-                               41F2636621267ADF00274F59 /* video_decoder_software_fallback_wrapper.h in Headers */,
+                               416D3BE2212731C200775F09 /* down_sampler.h in Headers */,
                                4145E4D51EF8CC7600FCF6E6 /* downsampled_render_buffer.h in Headers */,
                                413A23481FE18E0700373E99 /* dscp.h in Headers */,
                                5CDD8A241E43BFB300621E92 /* dsp_helper.h in Headers */,
                                5CDD8C891E43C66000621E92 /* dyadic_decimator.h in Headers */,
                                5CDD86C21E43B9C200621E92 /* echo_cancellation.h in Headers */,
                                5CDD84AF1E43AF1300621E92 /* echo_cancellation_impl.h in Headers */,
+                               415F1FBF2127304C00064CBF /* echo_cancellation_proxy.h in Headers */,
                                5CD285B91E6A63430094FDC8 /* echo_canceller3.h in Headers */,
+                               415F1FCC212730F000064CBF /* echo_control.h in Headers */,
                                5CDD85EB1E43B81000621E92 /* echo_control_mobile.h in Headers */,
-                               41E02CCF212735B700C27CD6 /* network_control.h in Headers */,
                                5CDD84B11E43AF1300621E92 /* echo_control_mobile_impl.h in Headers */,
+                               415F1FBD2127304C00064CBF /* echo_control_mobile_proxy.h in Headers */,
                                5CD285BB1E6A63430094FDC8 /* echo_path_delay_estimator.h in Headers */,
-                               419241632127385B00634FCF /* rw_lock_wrapper.h in Headers */,
                                5CD285BD1E6A63430094FDC8 /* echo_path_variability.h in Headers */,
                                5CD285C11E6A63430094FDC8 /* echo_remover.h in Headers */,
                                5CD285BF1E6A63430094FDC8 /* echo_remover_metrics.h in Headers */,
                                5CDD87B61E43BC0500621E92 /* encode_lpc_swb.h in Headers */,
                                5CDD8A961E43C00F00621E92 /* encode_neteq_input.h in Headers */,
                                5CDD83CD1E439A6F00621E92 /* encoded_frame.h in Headers */,
+                               41A08BAC212681C8001D5D7B /* encoded_frame.h in Headers */,
                                419C84A41FE300810040C30F /* encoder.h in Headers */,
+                               41E02C89212734B900C27CD6 /* encoder_database.h in Headers */,
                                5CDD85A01E43B5C000621E92 /* encoder_rtcp_feedback.h in Headers */,
                                419C84C11FE31A0B0040C30F /* encoder_vcp.h in Headers */,
                                41ECEAFC20646664009D5141 /* EncoderUtilities.h in Headers */,
                                5CDD8B991E43C2B500621E92 /* energy_inverse.h in Headers */,
                                5CDD8B9B1E43C2B500621E92 /* enh_upsample.h in Headers */,
                                5CDD8B9F1E43C2B500621E92 /* enhancer.h in Headers */,
-                               4102F6C8212733B7006AE8D7 /* video_send_stream_impl.h in Headers */,
                                5CDD8B9D1E43C2B500621E92 /* enhancer_interface.h in Headers */,
                                41433D131F79B33400387B4D /* entropy_coding.h in Headers */,
                                5CDD87B91E43BC0500621E92 /* entropy_coding.h in Headers */,
                                5C08852E1E4A99D200403995 /* err.h in Headers */,
                                413A23A51FE18E0800373E99 /* event.h in Headers */,
                                5CD286151E6A66130094FDC8 /* event_log_writer.h in Headers */,
-                               419241C22127593F00634FCF /* windowed_filter.h in Headers */,
                                5C4B4CCF1E4320A9002651C8 /* event_timer_posix.h in Headers */,
                                413A237E1FE18E0700373E99 /* event_tracer.h in Headers */,
                                419C83501FE246650040C30F /* exp_filter.h in Headers */,
                                5CDD8A2D1E43BFB300621E92 /* expand.h in Headers */,
+                               4102F6AF212732E7006AE8D7 /* expand_uma_logger.h in Headers */,
                                5CDD894B1E43BF3A00621E92 /* extended_jitter_report.h in Headers */,
                                5CDD894E1E43BF3A00621E92 /* extended_reports.h in Headers */,
                                5CDD8A981E43C00F00621E92 /* fake_decode_from_file.h in Headers */,
-                               41E02CCE212735B700C27CD6 /* network_types.h in Headers */,
-                               41F2638921267F4000274F59 /* fft.h in Headers */,
-                               415F1FB321272FBA00064CBF /* limiter.h in Headers */,
+                               41299B972127369100B3414B /* fake_network_pipe.h in Headers */,
+                               419241562127376F00634FCF /* fakecandidatepair.h in Headers */,
                                413A237F1FE18E0700373E99 /* fakeclock.h in Headers */,
-                               41924176212738C200634FCF /* transport.h in Headers */,
+                               419241532127376F00634FCF /* fakedtlstransport.h in Headers */,
+                               419241592127376F00634FCF /* fakeicetransport.h in Headers */,
                                5C4B48DF1E42C1E3002651C8 /* fakemediaengine.h in Headers */,
                                413A22B71FE18E0700373E99 /* fakenetwork.h in Headers */,
                                5C4B48E01E42C1E3002651C8 /* fakenetworkinterface.h in Headers */,
-                               419241D12127597D00634FCF /* simulated_network.h in Headers */,
+                               419241582127376F00634FCF /* fakepackettransport.h in Headers */,
                                5C63F9EB1E4174F6002CA531 /* fakeportallocator.h in Headers */,
                                5C4B48E11E42C1E3002651C8 /* fakertp.h in Headers */,
                                413A22F81FE18E0700373E99 /* fakesslidentity.h in Headers */,
                                5C4B48E21E42C1E3002651C8 /* fakevideocapturer.h in Headers */,
                                5C4B48E31E42C1E3002651C8 /* fakevideorenderer.h in Headers */,
+                               41F263AE212680A800274F59 /* fallthrough.h in Headers */,
                                5C63F8DC1E416D53002CA531 /* features.h in Headers */,
-                               41299B8D2127365100B3414B /* transport_feedback_adapter.h in Headers */,
-                               41E02CB32127352D00C27CD6 /* trendline_estimator.h in Headers */,
+                               4192413B2127372400634FCF /* features_extraction.h in Headers */,
+                               41F2637F21267B7700274F59 /* fec_controller.h in Headers */,
+                               41E02C8C212734B900C27CD6 /* fec_controller_default.h in Headers */,
                                419C830B1FE20F3C0040C30F /* fec_controller_rplr_based.h in Headers */,
                                5CDD88791E43BE3C00621E92 /* fec_private_tables_bursty.h in Headers */,
                                5CDD887A1E43BE3C00621E92 /* fec_private_tables_random.h in Headers */,
+                               41E02C8E212734B900C27CD6 /* fec_rate_table.h in Headers */,
                                5CDD887C1E43BE3C00621E92 /* fec_test_helper.h in Headers */,
+                               41F2638921267F4000274F59 /* fft.h in Headers */,
                                5CDD87BB1E43BC0500621E92 /* fft.h in Headers */,
-                               41F2639F2126800000274F59 /* aligned_malloc.h in Headers */,
                                41433D221F79B33400387B4D /* fft.h in Headers */,
+                               41F2636F21267B3E00274F59 /* fft4g.h in Headers */,
                                41F9BFD32051DDE500ABF0B9 /* fft_buffer.h in Headers */,
                                5CD285C81E6A63430094FDC8 /* fft_data.h in Headers */,
+                               419241422127372400634FCF /* fft_util.h in Headers */,
+                               4192416F2127389B00634FCF /* field_trial_parser.h in Headers */,
+                               419241E721275A7600634FCF /* field_trial_units.h in Headers */,
                                413A22D71FE18E0700373E99 /* file.h in Headers */,
                                5C11A0221E457578004F0987 /* file_audio_device.h in Headers */,
                                5C11A0201E457578004F0987 /* file_audio_device_factory.h in Headers */,
                                5CDD8C8C1E43C66000621E92 /* file_utils.h in Headers */,
+                               41F263B2212680A800274F59 /* file_wrapper.h in Headers */,
                                413A22E11FE18E0700373E99 /* filerotatingstream.h in Headers */,
                                413A23BD1FE18E0800373E99 /* fileutils.h in Headers */,
                                41433CED1F79B33400387B4D /* filterbank_internal.h in Headers */,
                                41433D0D1F79B33400387B4D /* filterbank_tables.h in Headers */,
                                5CDD8BA11E43C2B500621E92 /* filtered_cb_vecs.h in Headers */,
-                               419241AE212758D300634FCF /* ring_buffer.h in Headers */,
-                               4192416C2127389B00634FCF /* quality_scaling_experiment.h in Headers */,
-                               419241CC2127593F00634FCF /* bandwidth_sampler.h in Headers */,
                                5C11A0041E457400004F0987 /* fine_audio_buffer.h in Headers */,
                                5CDD89511E43BF3A00621E92 /* fir.h in Headers */,
                                5C4B4C6E1E431F9C002651C8 /* fir_filter.h in Headers */,
                                419C831C1FE242B20040C30F /* fir_filter_factory.h in Headers */,
                                5C4B4C6B1E431F9C002651C8 /* fir_filter_sse.h in Headers */,
                                413A23DF1FE18E0800373E99 /* firewallsocketserver.h in Headers */,
+                               41DDB24D21265BD700296D47 /* fixed_array.h in Headers */,
+                               415F1FAE21272FBA00064CBF /* fixed_digital_level_estimator.h in Headers */,
+                               416D3BE4212731C200775F09 /* fixed_gain_controller.h in Headers */,
                                413A23BC1FE18E0800373E99 /* flags.h in Headers */,
                                5CDD887F1E43BE3C00621E92 /* flexfec_header_reader_writer.h in Headers */,
                                5CDD85371E43B39C00621E92 /* flexfec_receive_stream.h in Headers */,
                                5CD284BA1E6A5F9F0094FDC8 /* flexfec_receive_stream_impl.h in Headers */,
                                419C83CB1FE247B40040C30F /* flexfec_receiver.h in Headers */,
                                419C83CE1FE247B40040C30F /* flexfec_sender.h in Headers */,
-                               419241592127376F00634FCF /* fakeicetransport.h in Headers */,
                                413A22A31FE18E0600373E99 /* format_macros.h in Headers */,
                                5CDD88891E43BE3C00621E92 /* forward_error_correction.h in Headers */,
                                5CDD88871E43BE3C00621E92 /* forward_error_correction_internal.h in Headers */,
                                5CDD83D21E439A6F00621E92 /* frame_buffer2.h in Headers */,
                                41109AAF1E5FA19200C0955A /* frame_callback.h in Headers */,
                                5CDD8BA31E43C2B500621E92 /* frame_classify.h in Headers */,
-                               41A08BAF212681C8001D5D7B /* video_bitrate_allocator.h in Headers */,
                                5CD2849B1E6A5F410094FDC8 /* frame_combiner.h in Headers */,
-                               419241562127376F00634FCF /* fakecandidatepair.h in Headers */,
                                5CDD837A1E439A3500621E92 /* frame_dropper.h in Headers */,
-                               419241552127376F00634FCF /* regatheringcontroller.h in Headers */,
                                5CDD8F911E43CBE000621E92 /* frame_length_controller.h in Headers */,
-                               419241F421275C3200634FCF /* vp8_encoder_simulcast_proxy.h in Headers */,
                                5CDD83D41E439A6F00621E92 /* frame_object.h in Headers */,
                                413A22A21FE18E0600373E99 /* function_view.h in Headers */,
+                               41F2638E21267F4900274F59 /* g711.h in Headers */,
                                4140B8251E4E3383007409E6 /* g711_interface.h in Headers */,
-                               416D3BE1212731C200775F09 /* biquad_filter.h in Headers */,
+                               41F2639321267F5300274F59 /* g722_enc_dec.h in Headers */,
                                4140B8391E4E3396007409E6 /* g722_interface.h in Headers */,
-                               41E02CBF2127356A00C27CD6 /* weak_ptr.h in Headers */,
+                               415F1FB021272FBA00064CBF /* gain_applier.h in Headers */,
                                5CDD86F01E43BA6D00621E92 /* gain_control.h in Headers */,
                                5CDD84B31E43AF1300621E92 /* gain_control_for_experimental_agc.h in Headers */,
                                5CDD84B51E43AF1300621E92 /* gain_control_impl.h in Headers */,
+                               41A08BCF21272EE2001D5D7B /* gain_controller2.h in Headers */,
+                               416D3BE5212731C200775F09 /* gain_curve_applier.h in Headers */,
                                5CDD8BA51E43C2B500621E92 /* gain_dequant.h in Headers */,
                                5CDD87031E43BA7500621E92 /* gain_map_internal.h in Headers */,
                                5CDD8BA71E43C2B500621E92 /* gain_quant.h in Headers */,
                                5CDD83D61E439A6F00621E92 /* generic_decoder.h in Headers */,
                                5CDD83D81E439A6F00621E92 /* generic_encoder.h in Headers */,
                                5CDD8BA91E43C2B500621E92 /* get_cd_vec.h in Headers */,
-                               415F1FB521272FBA00064CBF /* signal_classifier.h in Headers */,
                                5CDD8BAB1E43C2B500621E92 /* get_lsp_poly.h in Headers */,
-                               4192416D2127389B00634FCF /* congestion_controller_experiment.h in Headers */,
                                5CDD8BAD1E43C2B500621E92 /* get_sync_seq.h in Headers */,
                                413A21411FE0F0EF00373E99 /* getopt_s.h in Headers */,
                                5CDD872A1E43BABE00621E92 /* gmm.h in Headers */,
+                               41E02CAA2127352D00C27CD6 /* goog_cc_network_control.h in Headers */,
                                413A23011FE18E0700373E99 /* gtest_prod_util.h in Headers */,
                                413A22EA1FE18E0700373E99 /* gunit.h in Headers */,
                                413A235D1FE18E0700373E99 /* gunit_prod.h in Headers */,
                                4145E4BE1EF894F600FCF6E6 /* h264_profile_level_id.h in Headers */,
                                5CD285EB1E6A639F0094FDC8 /* h264_sprop_parameter_sets.h in Headers */,
                                5CDD83DA1E439A6F00621E92 /* h264_sps_pps_tracker.h in Headers */,
-                               4102F6B921273382006AE8D7 /* packet_receiver.h in Headers */,
                                413A22D81FE18E0700373E99 /* helpers.h in Headers */,
                                41ECEAD72064147C009D5141 /* helpers.h in Headers */,
                                5CDD83DC1E439A6F00621E92 /* histogram.h in Headers */,
                                5CDD8BAF1E43C2B500621E92 /* hp_input.h in Headers */,
                                5CDD8BB11E43C2B500621E92 /* hp_output.h in Headers */,
                                413A23B31FE18E0800373E99 /* httpbase.h in Headers */,
-                               41F2636821267ADF00274F59 /* video_encoder_config.h in Headers */,
                                413A23B21FE18E0800373E99 /* httpcommon-inl.h in Headers */,
                                413A23951FE18E0800373E99 /* httpcommon.h in Headers */,
                                413A22C81FE18E0700373E99 /* httpserver.h in Headers */,
+                               41A08BAD212681C8001D5D7B /* i010_buffer.h in Headers */,
                                5CD284681E6A57F40094FDC8 /* i420_buffer.h in Headers */,
                                41109AAD1E5FA19200C0955A /* i420_buffer_pool.h in Headers */,
+                               41A08BC321269577001D5D7B /* icelogger.h in Headers */,
                                413091F71EF8CFBD00757C55 /* iceserverparsing.h in Headers */,
+                               4192415A2127376F00634FCF /* icetransportinternal.h in Headers */,
                                413A22C71FE18E0700373E99 /* ifaddrs-android.h in Headers */,
                                413A23CD1FE18E0800373E99 /* ifaddrs_converter.h in Headers */,
+                               41F263AD212680A800274F59 /* ignore_warnings.h in Headers */,
                                413A23E51FE18E0800373E99 /* ignore_wundef.h in Headers */,
                                5CDD8BB41E43C2B500621E92 /* ilbc.h in Headers */,
                                41109AB11E5FA19200C0955A /* incoming_video_stream.h in Headers */,
                                5CDD8BB61E43C2B500621E92 /* index_conv_dec.h in Headers */,
-                               41E02C89212734B900C27CD6 /* encoder_database.h in Headers */,
                                5CDD8BB81E43C2B500621E92 /* index_conv_enc.h in Headers */,
                                5CDD8BBA1E43C2B500621E92 /* init_decode.h in Headers */,
                                5CDD8BBC1E43C2B500621E92 /* init_encode.h in Headers */,
+                               41F263AF212680A800274F59 /* inline.h in Headers */,
+                               41DDB24E21265BD700296D47 /* inlined_vector.h in Headers */,
                                5CDD8A9B1E43C00F00621E92 /* input_audio_file.h in Headers */,
                                5C08852F1E4A99D200403995 /* integers.h in Headers */,
                                5CDD8FD61E43CD6600621E92 /* inter_arrival.h in Headers */,
                                419C83311FE245CD0040C30F /* interval_budget.h in Headers */,
                                413A22A91FE18E0600373E99 /* ipaddress.h in Headers */,
                                41433CFF1F79B33400387B4D /* isac_fix_type.h in Headers */,
-                               41DDB266212679A300296D47 /* opensslcertificate.h in Headers */,
-                               419241402127372400634FCF /* lp_residual.h in Headers */,
                                5CDD87C11E43BC0500621E92 /* isac_float_type.h in Headers */,
+                               41299B922127367B00B3414B /* isac_vad.h in Headers */,
                                5CDD837C1E439A3500621E92 /* ivf_file_writer.h in Headers */,
-                               41A08BB4212681C8001D5D7B /* video_stream_encoder_interface.h in Headers */,
                                5CDD83E21E439A6F00621E92 /* jitter_buffer.h in Headers */,
                                5CDD83E01E439A6F00621E92 /* jitter_buffer_common.h in Headers */,
                                5CDD83E41E439A6F00621E92 /* jitter_estimator.h in Headers */,
                                5C63F9431E41737B002CA531 /* jsepicecandidate.h in Headers */,
                                5C63F9451E41737B002CA531 /* jsepsessiondescription.h in Headers */,
                                41F9BFE12051DE1800ABF0B9 /* jseptransport.h in Headers */,
+                               4102F68E21273206006AE8D7 /* jseptransportcontroller.h in Headers */,
                                5C63F8DE1E416D53002CA531 /* json.h in Headers */,
                                413A23401FE18E0700373E99 /* json.h in Headers */,
                                413A23651FE18E0700373E99 /* keep_ref_until_done.h in Headers */,
                                5C0885301E4A99D200403995 /* key.h in Headers */,
+                               4192419B2127586500634FCF /* kiss_fft.h in Headers */,
                                5C4B4C711E431F9C002651C8 /* lapped_transform.h in Headers */,
                                5CDD84201E439B2900621E92 /* legacy_encoded_audio_frame.h in Headers */,
                                5CDD84B91E43AF1300621E92 /* level_estimator_impl.h in Headers */,
+                               415F1FB321272FBA00064CBF /* limiter.h in Headers */,
                                5CD284F71E6A60570094FDC8 /* localaudiosource.h in Headers */,
                                413A23EC1FE18E0800373E99 /* location.h in Headers */,
                                5CDD8C101E43C34600621E92 /* locked_bandwidth_info.h in Headers */,
                                413A23321FE18E0700373E99 /* logging.h in Headers */,
                                413A23521FE18E0700373E99 /* logsinks.h in Headers */,
+                               419241C02127593F00634FCF /* loss_rate_filter.h in Headers */,
                                5CDD87061E43BA7500621E92 /* loudness_histogram.h in Headers */,
                                5CD2855E1E6A62ED0094FDC8 /* low_cut_filter.h in Headers */,
+                               419241402127372400634FCF /* lp_residual.h in Headers */,
                                5CDD87C61E43BC0500621E92 /* lpc_analysis.h in Headers */,
                                5CDD8BC21E43C2B500621E92 /* lpc_encode.h in Headers */,
                                5CDD87C81E43BC0500621E92 /* lpc_gain_swb_tables.h in Headers */,
                                41433D181F79B33400387B4D /* lpc_masking_model.h in Headers */,
-                               41F263B1212680A800274F59 /* asm_defines.h in Headers */,
-                               41E02CA72127352D00C27CD6 /* probe_bitrate_estimator.h in Headers */,
                                5CDD87CA1E43BC0500621E92 /* lpc_shape_swb12_tables.h in Headers */,
                                5CDD87CC1E43BC0500621E92 /* lpc_shape_swb16_tables.h in Headers */,
                                41433D281F79B33400387B4D /* lpc_tables.h in Headers */,
                                5CDD8BC61E43C2B500621E92 /* lsf_interpolate_to_poly_dec.h in Headers */,
                                5CDD8BC81E43C2B500621E92 /* lsf_interpolate_to_poly_enc.h in Headers */,
                                5CDD8BCA1E43C2B500621E92 /* lsf_to_lsp.h in Headers */,
-                               416D3BDF212731C200775F09 /* agc2_common.h in Headers */,
                                5CDD8BCC1E43C2B500621E92 /* lsf_to_poly.h in Headers */,
                                5CDD8BCE1E43C2B500621E92 /* lsp_to_lsf.h in Headers */,
                                413A23971FE18E0800373E99 /* macutils.h in Headers */,
                                5CDD83E61E439A6F00621E92 /* media_opt_util.h in Headers */,
                                5CDD83E81E439A6F00621E92 /* media_optimization.h in Headers */,
                                5C4B48E51E42C1E3002651C8 /* mediachannel.h in Headers */,
+                               4102F6B221273331006AE8D7 /* mediaconfig.h in Headers */,
                                5C4B48E71E42C1E3002651C8 /* mediaconstants.h in Headers */,
                                5C63F9491E41737B002CA531 /* mediaconstraintsinterface.h in Headers */,
                                5C4B48E91E42C1E3002651C8 /* mediaengine.h in Headers */,
+                               41E02CAF2127352D00C27CD6 /* median_slope_estimator.h in Headers */,
                                5CD284FB1E6A60570094FDC8 /* mediastream.h in Headers */,
                                5C63F94E1E41737B002CA531 /* mediastreaminterface.h in Headers */,
                                5CD284FD1E6A60570094FDC8 /* mediastreamobserver.h in Headers */,
                                5C63F9511E41737B002CA531 /* mediastreamproxy.h in Headers */,
-                               41A08BAC212681C8001D5D7B /* encoded_frame.h in Headers */,
                                5CD284FE1E6A60570094FDC8 /* mediastreamtrack.h in Headers */,
                                5C63F9531E41737B002CA531 /* mediastreamtrackproxy.h in Headers */,
                                5CD286331E6A67BF0094FDC8 /* mediatypes.h in Headers */,
+                               41A08BB821268A7D001D5D7B /* memory.h in Headers */,
                                413A23091FE18E0700373E99 /* memory_usage.h in Headers */,
                                5CDD8A301E43BFB300621E92 /* merge.h in Headers */,
                                413A22FA1FE18E0700373E99 /* messagedigest.h in Headers */,
                                413A22B91FE18E0700373E99 /* messagehandler.h in Headers */,
                                413A23A91FE18E0800373E99 /* messagequeue.h in Headers */,
                                5CDD87071E43BA7500621E92 /* mock_agc.h in Headers */,
-                               4192413C2127372400634FCF /* pitch_search.h in Headers */,
                                5C11A0051E457400004F0987 /* mock_audio_device_buffer.h in Headers */,
                                5CDD8FED1E43CDCA00621E92 /* mock_audio_processing.h in Headers */,
                                419C83561FE246650040C30F /* mod_ops.h in Headers */,
-                               41A08BCF21272EE2001D5D7B /* gain_controller2.h in Headers */,
                                5CDD837E1E439A3500621E92 /* moving_average.h in Headers */,
                                5CD286111E6A64C90094FDC8 /* moving_max.h in Headers */,
                                419C83551FE246650040C30F /* moving_max_counter.h in Headers */,
                                5CDD8A331E43BFB300621E92 /* nack_tracker.h in Headers */,
                                4145E4B71EF8943E00FCF6E6 /* nalu_rewriter.h in Headers */,
                                413A22C41FE18E0700373E99 /* natserver.h in Headers */,
-                               41E02CAD2127352D00C27CD6 /* alr_detector.h in Headers */,
                                413A22D91FE18E0700373E99 /* natsocketfactory.h in Headers */,
                                413A22E71FE18E0700373E99 /* nattypes.h in Headers */,
                                5CDD8BD21E43C2B500621E92 /* nearest_neighbor.h in Headers */,
                                413A238A1FE18E0700373E99 /* nethelpers.h in Headers */,
                                413A23571FE18E0700373E99 /* network.h in Headers */,
                                413A23761FE18E0700373E99 /* network_constants.h in Headers */,
+                               41E02CCF212735B700C27CD6 /* network_control.h in Headers */,
+                               41E02CCE212735B700C27CD6 /* network_types.h in Headers */,
                                413A237C1FE18E0700373E99 /* networkmonitor.h in Headers */,
                                413A22C21FE18E0700373E99 /* networkroute.h in Headers */,
-                               419241C02127593F00634FCF /* loss_rate_filter.h in Headers */,
+                               417F7AC72134A08000FBA7EC /* never_destroyed.h in Headers */,
                                5CDD872B1E43BABE00621E92 /* noise_gmm_tables.h in Headers */,
+                               415F1FB421272FBA00064CBF /* noise_spectrum_estimator.h in Headers */,
                                5CDD85FF1E43B84E00621E92 /* noise_suppression.h in Headers */,
                                5CDD84EA1E43B0B600621E92 /* noise_suppression_impl.h in Headers */,
                                5CDD85FD1E43B84E00621E92 /* noise_suppression_x.h in Headers */,
                                5C63F9541E41737B002CA531 /* notifier.h in Headers */,
                                5CDD86011E43B84E00621E92 /* ns_core.h in Headers */,
                                41ECEAC120640F28009D5141 /* NSString+StdString.h in Headers */,
-                               41F263B82126810C00274F59 /* base64.h in Headers */,
                                5CDD86061E43B84E00621E92 /* nsx_core.h in Headers */,
-                               41A08BCB2126961F001D5D7B /* raw_logging.h in Headers */,
                                5CDD86071E43B84E00621E92 /* nsx_defines.h in Headers */,
                                419C83B41FE2472E0040C30F /* null_audio_poller.h in Headers */,
                                5C0885311E4A99D200403995 /* null_auth.h in Headers */,
                                413A23361FE18E0700373E99 /* onetimeevent.h in Headers */,
                                5CDD86951E43B93900621E92 /* ooura_fft.h in Headers */,
                                5CDD86921E43B93900621E92 /* ooura_fft_tables_common.h in Headers */,
+                               41DDB266212679A300296D47 /* opensslcertificate.h in Headers */,
+                               41DDB263212679A300296D47 /* opensslsessioncache.h in Headers */,
+                               41DDB261212679A300296D47 /* opensslutility.h in Headers */,
+                               41DDB25121265BE900296D47 /* optional.h in Headers */,
                                413A23451FE18E0700373E99 /* optionsfile.h in Headers */,
                                5CDD8C661E43C60900621E92 /* opus_inst.h in Headers */,
                                5CDD8C681E43C60900621E92 /* opus_interface.h in Headers */,
                                5CDD85A51E43B5C000621E92 /* overuse_frame_detector.h in Headers */,
                                5C63F9EE1E4174F6002CA531 /* p2pconstants.h in Headers */,
                                5C63F9F31E4174F6002CA531 /* p2ptransportchannel.h in Headers */,
-                               415F1FB721272FBA00064CBF /* vector_float_frame.h in Headers */,
+                               41F2639821267F5E00274F59 /* pa_memorybarrier.h in Headers */,
+                               41F2639921267F5E00274F59 /* pa_ringbuffer.h in Headers */,
                                5CDD8FA31E43CCBE00621E92 /* paced_sender.h in Headers */,
                                419C832E1FE245CD0040C30F /* pacer.h in Headers */,
+                               4192418D212749C800634FCF /* pacer_controller.h in Headers */,
                                5CDD8BD41E43C2B500621E92 /* pack_bits.h in Headers */,
                                5CDD83EF1E439A6F00621E92 /* packet.h in Headers */,
                                5CDD8AB01E43C00F00621E92 /* packet.h in Headers */,
                                5CDD8A431E43BFB300621E92 /* packet.h in Headers */,
-                               415F1FAE21272FBA00064CBF /* fixed_digital_level_estimator.h in Headers */,
                                5CDD8A411E43BFB300621E92 /* packet_buffer.h in Headers */,
                                5CDD83ED1E439A6F00621E92 /* packet_buffer.h in Headers */,
                                5CDD888D1E43BE3C00621E92 /* packet_loss_stats.h in Headers */,
+                               419241C82127593F00634FCF /* packet_number_indexed_queue.h in Headers */,
                                419C83301FE245CD0040C30F /* packet_queue.h in Headers */,
+                               419241852127499300634FCF /* packet_queue_interface.h in Headers */,
+                               4102F6B921273382006AE8D7 /* packet_receiver.h in Headers */,
                                5CDD8FA51E43CCBE00621E92 /* packet_router.h in Headers */,
                                5CDD8AAD1E43C00F00621E92 /* packet_source.h in Headers */,
                                412455571EF887FB00F11809 /* packetlossestimator.h in Headers */,
                                419C83D91FE247F20040C30F /* packettransportinternal.h in Headers */,
                                413A23901FE18E0800373E99 /* pathutils.h in Headers */,
                                5C4B48841E42C1BA002651C8 /* payload_type_mapper.h in Headers */,
-                               41D6B45B21273159008F9353 /* rtp_video_sender_interface.h in Headers */,
                                5CDD90011E43CE3A00621E92 /* pcm16b.h in Headers */,
                                5CD285001E6A60570094FDC8 /* peerconnection.h in Headers */,
                                5CD284801E6A5E740094FDC8 /* peerconnectionfactory.h in Headers */,
                                5C63F9591E41737B002CA531 /* peerconnectionfactoryproxy.h in Headers */,
                                5C63F95A1E41737B002CA531 /* peerconnectioninterface.h in Headers */,
+                               4102F69521273206006AE8D7 /* peerconnectioninternal.h in Headers */,
                                5C63F95B1E41737B002CA531 /* peerconnectionproxy.h in Headers */,
                                41F9BFE02051DE1800ABF0B9 /* peerconnectionwrapper.h in Headers */,
                                419C834E1FE246650040C30F /* percentile_filter.h in Headers */,
                                413A23EA1FE18E0800373E99 /* physicalsocketserver.h in Headers */,
                                5CDD872E1E43BABE00621E92 /* pitch_based_vad.h in Headers */,
-                               415F1FB021272FBA00064CBF /* gain_applier.h in Headers */,
                                41433CF11F79B33400387B4D /* pitch_estimator.h in Headers */,
-                               419241ED21275AFA00634FCF /* simulcast_utility.h in Headers */,
                                5CDD87D11E43BC0500621E92 /* pitch_estimator.h in Headers */,
+                               41299B932127367B00B3414B /* pitch_filter.h in Headers */,
                                5CDD87D41E43BC0600621E92 /* pitch_gain_tables.h in Headers */,
                                41433D231F79B33400387B4D /* pitch_gain_tables.h in Headers */,
+                               419241432127372800634FCF /* pitch_info.h in Headers */,
                                5CDD87311E43BABE00621E92 /* pitch_internal.h in Headers */,
                                5CDD87D61E43BC0600621E92 /* pitch_lag_tables.h in Headers */,
                                41433D091F79B33400387B4D /* pitch_lag_tables.h in Headers */,
+                               4192413C2127372400634FCF /* pitch_search.h in Headers */,
+                               419241452127372800634FCF /* pitch_search_internal.h in Headers */,
                                413A22D01FE18E0700373E99 /* platform_file.h in Headers */,
                                413A23A61FE18E0800373E99 /* platform_thread.h in Headers */,
                                413A231D1FE18E0700373E99 /* platform_thread_types.h in Headers */,
                                5CDD8BD61E43C2B500621E92 /* poly_to_lsf.h in Headers */,
                                5CDD8BD81E43C2B500621E92 /* poly_to_lsp.h in Headers */,
                                5C63F9F81E4174F6002CA531 /* port.h in Headers */,
-                               415F1FBD2127304C00064CBF /* echo_control_mobile_proxy.h in Headers */,
-                               419241C62127593F00634FCF /* bbr_factory.h in Headers */,
                                5C63F9FB1E4174F6002CA531 /* portallocator.h in Headers */,
                                5C63F9FC1E4174F6002CA531 /* portinterface.h in Headers */,
-                               4102F6E421273416006AE8D7 /* video_bitrate_allocator_factory.h in Headers */,
                                5CDD8A461E43BFB300621E92 /* post_decode_vad.h in Headers */,
                                5CDD835A1E43257200621E92 /* pps_parser.h in Headers */,
-                               415F1FB421272FBA00064CBF /* noise_spectrum_estimator.h in Headers */,
                                5CDD8A481E43BFB300621E92 /* preemptive_expand.h in Headers */,
+                               41E02CA72127352D00C27CD6 /* probe_bitrate_estimator.h in Headers */,
+                               41E02CA42127352D00C27CD6 /* probe_controller.h in Headers */,
                                5CDD84E61E43B04D00621E92 /* process_thread_impl.h in Headers */,
                                5CDD835D1E43257200621E92 /* profile_level_id.h in Headers */,
                                413A23C61FE18E0800373E99 /* protobuf_utils.h in Headers */,
                                413A231F1FE18E0700373E99 /* proxyinfo.h in Headers */,
                                413A23C51FE18E0800373E99 /* proxyserver.h in Headers */,
                                5C63F9FF1E4174F6002CA531 /* pseudotcp.h in Headers */,
-                               41D6B45A21273159008F9353 /* rtp_payload_params.h in Headers */,
                                5CDD89591E43BF3A00621E92 /* psfb.h in Headers */,
                                5CDD87561E43BAF500621E92 /* push_sinc_resampler.h in Headers */,
                                4130920A1EF8D11200757C55 /* qp_parser.h in Headers */,
-                               4102F68E21273206006AE8D7 /* jseptransportcontroller.h in Headers */,
                                5CDD83821E439A3500621E92 /* quality_scaler.h in Headers */,
+                               4192416C2127389B00634FCF /* quality_scaling_experiment.h in Headers */,
                                5CD2862B1E6A66C80094FDC8 /* quality_threshold.h in Headers */,
                                413A23EF1FE18E0800373E99 /* race_checker.h in Headers */,
                                413A234C1FE18E0700373E99 /* random.h in Headers */,
-                               41E02C7B2127347400C27CD6 /* rtp_generic_frame_descriptor.h in Headers */,
                                5CDD8A4B1E43BFB300621E92 /* random_vector.h in Headers */,
                                5CDD895C1E43BF3A00621E92 /* rapid_resync_request.h in Headers */,
-                               41E02C8C212734B900C27CD6 /* fec_controller_default.h in Headers */,
                                413A23601FE18E0700373E99 /* rate_limiter.h in Headers */,
                                413A230D1FE18E0700373E99 /* rate_statistics.h in Headers */,
                                413A23041FE18E0700373E99 /* ratetracker.h in Headers */,
+                               41A08BCB2126961F001D5D7B /* raw_logging.h in Headers */,
                                5C0885331E4A99D200403995 /* rdb.h in Headers */,
                                5C0885341E4A99D200403995 /* rdbx.h in Headers */,
-                               4102F69521273206006AE8D7 /* peerconnectioninternal.h in Headers */,
                                5C63F8DF1E416D53002CA531 /* reader.h in Headers */,
                                5C4B4C781E431F9C002651C8 /* real_fourier.h in Headers */,
                                5C4B4C731E431F9C002651C8 /* real_fourier_ooura.h in Headers */,
-                               419241C82127593F00634FCF /* packet_number_indexed_queue.h in Headers */,
                                419C83CA1FE247B40040C30F /* receive_statistics.h in Headers */,
                                5CDD88921E43BE3C00621E92 /* receive_statistics_impl.h in Headers */,
                                5CDD85AB1E43B5C000621E92 /* receive_statistics_proxy.h in Headers */,
+                               41D6B45821273159008F9353 /* receive_time_calculator.h in Headers */,
                                5CDD83F51E439A6F00621E92 /* receiver.h in Headers */,
                                5CDD895F1E43BF3A00621E92 /* receiver_report.h in Headers */,
                                5CDD8A4E1E43BFB300621E92 /* red_payload_splitter.h in Headers */,
                                413A23671FE18E0700373E99 /* refcountedobject.h in Headers */,
                                413A23201FE18E0700373E99 /* refcounter.h in Headers */,
                                5CDD8BDA1E43C2B500621E92 /* refiner.h in Headers */,
-                               41F263AF212680A800274F59 /* inline.h in Headers */,
+                               419241552127376F00634FCF /* regatheringcontroller.h in Headers */,
                                5C63FA021E4174F6002CA531 /* relayport.h in Headers */,
                                5C63FA051E4174F6002CA531 /* relayserver.h in Headers */,
-                               4102F69121273206006AE8D7 /* rtpparametersconversion.h in Headers */,
                                5CDD89621E43BF3A00621E92 /* remb.h in Headers */,
-                               4192419F2127588300634FCF /* audio_codec_pair_id.h in Headers */,
+                               4102F6A721273262006AE8D7 /* remix_resample.h in Headers */,
                                5CDD8FDC1E43CD6600621E92 /* remote_bitrate_estimator_abs_send_time.h in Headers */,
                                5CDD8FDE1E43CD6600621E92 /* remote_bitrate_estimator_single_stream.h in Headers */,
-                               41F2636F21267B3E00274F59 /* fft4g.h in Headers */,
                                5CDD8FE21E43CD6600621E92 /* remote_estimator_proxy.h in Headers */,
                                419C83C51FE247B40040C30F /* remote_ntp_time_estimator.h in Headers */,
                                5CD285061E6A60570094FDC8 /* remoteaudiosource.h in Headers */,
                                4145E4DA1EF8CC9B00FCF6E6 /* render_buffer.h in Headers */,
                                5CD285D61E6A63430094FDC8 /* render_delay_buffer.h in Headers */,
-                               4192416F2127389B00634FCF /* field_trial_parser.h in Headers */,
                                5CD285DA1E6A63430094FDC8 /* render_delay_controller.h in Headers */,
                                5CD285D81E6A63430094FDC8 /* render_delay_controller_metrics.h in Headers */,
-                               4192415B2127376F00634FCF /* basicasyncresolverfactory.h in Headers */,
-                               41A08BC7212695DE001D5D7B /* bad_optional_access.h in Headers */,
                                5CDD84BC1E43AF1300621E92 /* render_queue_item_verifier.h in Headers */,
                                5CD285DC1E6A63430094FDC8 /* render_signal_analyzer.h in Headers */,
                                5CDD85191E43B1EA00621E92 /* rent_a_codec.h in Headers */,
-                               41F263BC2126811500274F59 /* sigslot.h in Headers */,
                                5CDD89651E43BF3A00621E92 /* report_block.h in Headers */,
                                5CDD85AF1E43B5C000621E92 /* report_block_stats.h in Headers */,
                                5CDD86651E43B8B500621E92 /* resample_by_2_internal.h in Headers */,
                                5CDD8AB21E43C00F00621E92 /* resample_input_audio_file.h in Headers */,
                                5CDD84BE1E43AF1300621E92 /* residual_echo_detector.h in Headers */,
                                5CD285DE1E6A63430094FDC8 /* residual_echo_estimator.h in Headers */,
+                               419241AE212758D300634FCF /* ring_buffer.h in Headers */,
                                5C4B4C7B1E431F9C002651C8 /* ring_buffer.h in Headers */,
                                5CDD84C01E43AF1300621E92 /* rms_level.h in Headers */,
-                               41A08BAE212681C8001D5D7B /* video_bitrate_allocation.h in Headers */,
+                               419241AA212758D300634FCF /* rnn.h in Headers */,
+                               4192419C2127586500634FCF /* rnn_activations.h in Headers */,
+                               419241982127586500634FCF /* rnn_vad_weights.h in Headers */,
                                413A23A71FE18E0800373E99 /* rollingaccumulator.h in Headers */,
+                               41A08BD321272EFA001D5D7B /* round_robin_packet_queue.h in Headers */,
                                5CDD896B1E43BF3A00621E92 /* rrtr.h in Headers */,
-                               4102F6A521273262006AE8D7 /* channel.h in Headers */,
                                419C83AC1FE247080040C30F /* rtc_event.h in Headers */,
                                41F9BFA92051C8E200ABF0B9 /* rtc_event_alr_state.h in Headers */,
                                419C839D1FE246F90040C30F /* rtc_event_audio_network_adaptation.h in Headers */,
-                               41F2638121267B7700274F59 /* audio_options.h in Headers */,
                                419C83981FE246F90040C30F /* rtc_event_audio_playout.h in Headers */,
                                419C83A11FE246F90040C30F /* rtc_event_audio_receive_stream_config.h in Headers */,
                                419C838E1FE246F90040C30F /* rtc_event_audio_send_stream_config.h in Headers */,
                                419C83931FE246F90040C30F /* rtc_event_bwe_update_delay_based.h in Headers */,
                                419C83971FE246F90040C30F /* rtc_event_bwe_update_loss_based.h in Headers */,
+                               41A08BBE21269553001D5D7B /* rtc_event_ice_candidate_pair.h in Headers */,
+                               41A08BBF21269553001D5D7B /* rtc_event_ice_candidate_pair_config.h in Headers */,
                                5CDD904C1E43CF6100621E92 /* rtc_event_log.h in Headers */,
-                               4102F6A721273262006AE8D7 /* remix_resample.h in Headers */,
-                               41E02C87212734B900C27CD6 /* decoder_database.h in Headers */,
                                41F411BB1EF8DA9600343C26 /* rtc_event_log_factory.h in Headers */,
                                41F411BA1EF8DA9600343C26 /* rtc_event_log_factory_interface.h in Headers */,
                                419C84231FE24BA60040C30F /* rtc_event_log_output_file.h in Headers */,
-                               415F1FCF212730F000064CBF /* audio_frame.h in Headers */,
                                419C839F1FE246F90040C30F /* rtc_event_probe_cluster_created.h in Headers */,
                                419C83A01FE246F90040C30F /* rtc_event_probe_result_failure.h in Headers */,
                                419C839A1FE246F90040C30F /* rtc_event_probe_result_success.h in Headers */,
                                413A24521FE1991A00373E99 /* RTCDispatcher.h in Headers */,
                                413A245D1FE1991A00373E99 /* RTCEAGLVideoView.h in Headers */,
                                41F411B11EF8DA0200343C26 /* rtcerror.h in Headers */,
-                               41DDB24D21265BD700296D47 /* fixed_array.h in Headers */,
                                41F9BF882051C80100ABF0B9 /* rtceventlogoutput.h in Headers */,
                                413A24401FE1991A00373E99 /* RTCFieldTrials.h in Headers */,
                                413A245A1FE1991A00373E99 /* RTCFileLogger.h in Headers */,
                                413A24491FE1991A00373E99 /* RTCMacros.h in Headers */,
                                413A24681FE1991A00373E99 /* RTCMediaConstraints.h in Headers */,
                                413A24511FE1991A00373E99 /* RTCMediaSource.h in Headers */,
-                               419241452127372800634FCF /* pitch_search_internal.h in Headers */,
                                413A24541FE1991A00373E99 /* RTCMediaStream.h in Headers */,
-                               415F1FA921272FBA00064CBF /* adaptive_mode_level_estimator.h in Headers */,
                                413A24471FE1991A00373E99 /* RTCMediaStreamTrack.h in Headers */,
                                413A24641FE1991A00373E99 /* RTCMetrics.h in Headers */,
                                413A246A1FE1991A00373E99 /* RTCMetricsSampleInfo.h in Headers */,
                                413A24671FE1991A00373E99 /* RTCMTLNSVideoView.h in Headers */,
                                413A24711FE1991A00373E99 /* RTCMTLVideoView.h in Headers */,
-                               4102F6A321273262006AE8D7 /* channel_proxy.h in Headers */,
                                413A24591FE1991A00373E99 /* RTCNSGLVideoView.h in Headers */,
-                               41E02C792127347400C27CD6 /* rtp_generic_frame_descriptor_extension.h in Headers */,
-                               41F263B2212680A800274F59 /* file_wrapper.h in Headers */,
                                5CDD8A501E43BFB300621E92 /* rtcp.h in Headers */,
                                419C82B21FE20DCD0040C30F /* rtcp_demuxer.h in Headers */,
-                               41F2637221267B4A00274F59 /* spl_sqrt_floor.h in Headers */,
                                5CD285FB1E6A64520094FDC8 /* rtcp_nack_stats.h in Headers */,
                                5CDD88981E43BE3C00621E92 /* rtcp_packet.h in Headers */,
                                419C82BD1FE20DCD0040C30F /* rtcp_packet_sink_interface.h in Headers */,
                                5CDD889B1E43BE3C00621E92 /* rtcp_receiver.h in Headers */,
-                               41F263A02126800000274F59 /* aligned_array.h in Headers */,
-                               4192418D212749C800634FCF /* pacer_controller.h in Headers */,
                                5CDD889E1E43BE3C00621E92 /* rtcp_sender.h in Headers */,
-                               416D3BEA212731C200775F09 /* saturation_protector.h in Headers */,
-                               41DDB26C212679D200296D47 /* string_builder.h in Headers */,
                                419C83031FE20F020040C30F /* rtcp_transceiver.h in Headers */,
-                               41A08BD321272EFA001D5D7B /* round_robin_packet_queue.h in Headers */,
                                419C83011FE20F020040C30F /* rtcp_transceiver_config.h in Headers */,
                                419C83051FE20F020040C30F /* rtcp_transceiver_impl.h in Headers */,
                                413A243E1FE1991A00373E99 /* RTCPeerConnection.h in Headers */,
                                413A245C1FE1991A00373E99 /* RTCRtpSender.h in Headers */,
                                413A244A1FE1991A00373E99 /* RTCSessionDescription.h in Headers */,
                                413A24661FE1991A00373E99 /* RTCSSLAdapter.h in Headers */,
-                               41E02CAF2127352D00C27CD6 /* median_slope_estimator.h in Headers */,
                                4145E4C81EF896D700FCF6E6 /* rtcstats.h in Headers */,
                                4145E4C71EF896D700FCF6E6 /* rtcstats_objects.h in Headers */,
-                               419241E721275A7600634FCF /* field_trial_units.h in Headers */,
-                               41A08BC321269577001D5D7B /* icelogger.h in Headers */,
                                5CD285081E6A60570094FDC8 /* rtcstatscollector.h in Headers */,
                                4145E4C51EF896D700FCF6E6 /* rtcstatscollectorcallback.h in Headers */,
                                4145E4C61EF896D700FCF6E6 /* rtcstatsreport.h in Headers */,
+                               4102F68D21273206006AE8D7 /* rtcstatstraversal.h in Headers */,
                                413A245F1FE1991A00373E99 /* RTCTracing.h in Headers */,
                                417DA4581EF9CD0D00E869DB /* RTCUIApplicationStatusObserver.h in Headers */,
                                413A243D1FE1991A00373E99 /* RTCVideoCapturer.h in Headers */,
                                413A24601FE1991A00373E99 /* RTCVideoDecoderVP9.h in Headers */,
                                413A246E1FE1991A00373E99 /* RTCVideoEncoderVP8.h in Headers */,
                                413A24461FE1991A00373E99 /* RTCVideoEncoderVP9.h in Headers */,
-                               41E02CA62127352D00C27CD6 /* acknowledged_bitrate_estimator.h in Headers */,
                                413A244F1FE1991A00373E99 /* RTCVideoFrame.h in Headers */,
                                413A24411FE1991A00373E99 /* RTCVideoFrameBuffer.h in Headers */,
                                413A246F1FE1991A00373E99 /* RTCVideoRenderer.h in Headers */,
-                               41D6B45821273159008F9353 /* receive_time_calculator.h in Headers */,
                                413A24611FE1991A00373E99 /* RTCVideoSource.h in Headers */,
                                413A24501FE1991A00373E99 /* RTCVideoTrack.h in Headers */,
                                413A243A1FE1991A00373E99 /* RTCVideoViewShading.h in Headers */,
                                41ECEAE3206416FF009D5141 /* RTCWrappedNativeVideoDecoder.h in Headers */,
                                41ECEAE1206416FF009D5141 /* RTCWrappedNativeVideoEncoder.h in Headers */,
-                               419241982127586500634FCF /* rnn_vad_weights.h in Headers */,
                                419C82B81FE20DCD0040C30F /* rtp_config.h in Headers */,
                                419C83C91FE247B40040C30F /* rtp_cvo.h in Headers */,
                                413092011EF8D0A600757C55 /* rtp_demuxer.h in Headers */,
                                5CDD8AB71E43C00F00621E92 /* rtp_file_source.h in Headers */,
-                               41DDB26D212679D200296D47 /* audio_format_to_string.h in Headers */,
-                               41F263AD212680A800274F59 /* ignore_warnings.h in Headers */,
                                5CDD88B11E43BE3C00621E92 /* rtp_format.h in Headers */,
                                5CDD88A51E43BE3C00621E92 /* rtp_format_h264.h in Headers */,
                                5CDD88A71E43BE3C00621E92 /* rtp_format_video_generic.h in Headers */,
                                5CDD88AF1E43BE3C00621E92 /* rtp_format_vp9.h in Headers */,
                                5CDD83F71E439A6F00621E92 /* rtp_frame_reference_finder.h in Headers */,
                                5CDD8AB91E43C00F00621E92 /* rtp_generator.h in Headers */,
+                               41E02C7B2127347400C27CD6 /* rtp_generic_frame_descriptor.h in Headers */,
+                               41E02C792127347400C27CD6 /* rtp_generic_frame_descriptor_extension.h in Headers */,
                                419C83C41FE247B40040C30F /* rtp_header_extension_map.h in Headers */,
                                5CDD88B61E43BE3C00621E92 /* rtp_header_extensions.h in Headers */,
                                419C83CC1FE247B40040C30F /* rtp_header_parser.h in Headers */,
                                41F9BF8D2051C80100ABF0B9 /* rtp_headers.h in Headers */,
                                5CDD88BF1E43BE3D00621E92 /* rtp_packet.h in Headers */,
-                               419241422127372400634FCF /* fft_util.h in Headers */,
                                5CDD88BA1E43BE3D00621E92 /* rtp_packet_history.h in Headers */,
-                               41F263B0212680A800274F59 /* unused.h in Headers */,
                                5CDD88BB1E43BE3D00621E92 /* rtp_packet_received.h in Headers */,
                                419C82B61FE20DCD0040C30F /* rtp_packet_sink_interface.h in Headers */,
                                5CDD88BC1E43BE3D00621E92 /* rtp_packet_to_send.h in Headers */,
+                               41D6B45A21273159008F9353 /* rtp_payload_params.h in Headers */,
                                419C83CF1FE247B40040C30F /* rtp_payload_registry.h in Headers */,
                                419C83C71FE247B40040C30F /* rtp_receiver.h in Headers */,
                                5CDD88C31E43BE3D00621E92 /* rtp_receiver_audio.h in Headers */,
                                5CDD88C51E43BE3D00621E92 /* rtp_receiver_impl.h in Headers */,
-                               41A08BD721272F1D001D5D7B /* congestion_window_pushback_controller.h in Headers */,
                                5CDD88C71E43BE3D00621E92 /* rtp_receiver_strategy.h in Headers */,
                                5CDD88C91E43BE3D00621E92 /* rtp_receiver_video.h in Headers */,
                                419C83C31FE247B40040C30F /* rtp_rtcp.h in Headers */,
-                               4102F6A221273262006AE8D7 /* audio_level.h in Headers */,
-                               4102F6DE21273416006AE8D7 /* video_stream_decoder_create.h in Headers */,
                                5CDD88CA1E43BE3D00621E92 /* rtp_rtcp_config.h in Headers */,
                                419C83C81FE247B40040C30F /* rtp_rtcp_defines.h in Headers */,
                                419C82B51FE20DCD0040C30F /* rtp_rtcp_demuxer_helper.h in Headers */,
                                413092191EF8D63F00757C55 /* rtp_transport_controller_send.h in Headers */,
                                4130921A1EF8D63F00757C55 /* rtp_transport_controller_send_interface.h in Headers */,
                                5CDD88D61E43BE3D00621E92 /* rtp_utility.h in Headers */,
+                               41E02C7E2127347400C27CD6 /* rtp_video_header.h in Headers */,
+                               41D6B45D21273159008F9353 /* rtp_video_sender.h in Headers */,
+                               41D6B45B21273159008F9353 /* rtp_video_sender_interface.h in Headers */,
                                413091F31EF8CF9200757C55 /* rtp_video_stream_receiver.h in Headers */,
                                5C4B48EC1E42C1E3002651C8 /* rtpdataengine.h in Headers */,
                                5CDD896D1E43BF3A00621E92 /* rtpfb.h in Headers */,
                                419C82CA1FE20E2C0040C30F /* rtpmediautils.h in Headers */,
                                5C63F9661E41737B002CA531 /* rtpparameters.h in Headers */,
-                               41F2636421267ADF00274F59 /* video_codec.h in Headers */,
+                               4102F69121273206006AE8D7 /* rtpparametersconversion.h in Headers */,
                                5CD2850A1E6A60570094FDC8 /* rtpreceiver.h in Headers */,
                                5C63F9691E41737B002CA531 /* rtpreceiverinterface.h in Headers */,
                                5CD2850C1E6A60570094FDC8 /* rtpsender.h in Headers */,
                                5C63F96C1E41737B002CA531 /* rtpsenderinterface.h in Headers */,
                                419C82DA1FE20E590040C30F /* rtptransceiver.h in Headers */,
                                41F9BF8E2051C80100ABF0B9 /* rtptransceiverinterface.h in Headers */,
-                               41DDB263212679A300296D47 /* opensslsessioncache.h in Headers */,
                                4145E4CE1EF8CB9500FCF6E6 /* rtptransport.h in Headers */,
                                419C82E51FE20E590040C30F /* rtptransportinternal.h in Headers */,
                                419C82DB1FE20E590040C30F /* rtptransportinternaladapter.h in Headers */,
                                5C4B48F21E42C1E3002651C8 /* rtputils.h in Headers */,
                                5CDD83F91E439A6F00621E92 /* rtt_filter.h in Headers */,
+                               419241CB2127593F00634FCF /* rtt_stats.h in Headers */,
                                419C82C21FE20DCD0040C30F /* rtx_receive_stream.h in Headers */,
+                               419241622127385B00634FCF /* rw_lock_posix.h in Headers */,
+                               419241632127385B00634FCF /* rw_lock_wrapper.h in Headers */,
                                419C83571FE246650040C30F /* safe_compare.h in Headers */,
                                419C83531FE246650040C30F /* safe_conversions.h in Headers */,
                                419C83541FE246650040C30F /* safe_minmax.h in Headers */,
+                               41E02CD32127360700C27CD6 /* sample_counter.h in Headers */,
                                413A23281FE18E0700373E99 /* sanitizer.h in Headers */,
+                               416D3BEA212731C200775F09 /* saturation_protector.h in Headers */,
                                413A23051FE18E0700373E99 /* scoped_ref_ptr.h in Headers */,
                                41F9BFB62051C93600ABF0B9 /* scopedvideodecoder.h in Headers */,
-                               41A08BB1212681C8001D5D7B /* video_source_interface.h in Headers */,
                                41F9BFB72051C93600ABF0B9 /* scopedvideoencoder.h in Headers */,
                                419C84361FE24E800040C30F /* screenshare_layers.h in Headers */,
                                5CD2863D1E6A681C0094FDC8 /* sctptransport.h in Headers */,
                                5CD2863E1E6A681C0094FDC8 /* sctptransportinternal.h in Headers */,
                                5CD2850E1E6A60570094FDC8 /* sctputils.h in Headers */,
-                               41E02CD32127360700C27CD6 /* sample_counter.h in Headers */,
                                5CDD89701E43BF3A00621E92 /* sdes.h in Headers */,
                                4145F61D1FE1F38D00EB9CAF /* sdp_video_format.h in Headers */,
                                419C82DD1FE20E590040C30F /* sdputils.h in Headers */,
                                5CDD85B71E43B5C000621E92 /* send_delay_stats.h in Headers */,
                                5CDD90621E43D11200621E92 /* send_side_bandwidth_estimation.h in Headers */,
                                5CDD85BA1E43B5C000621E92 /* send_statistics_proxy.h in Headers */,
+                               4192418B212749C800634FCF /* send_time_history.h in Headers */,
                                5CDD89731E43BF3A00621E92 /* sender_report.h in Headers */,
+                               419241AC212758D300634FCF /* sequence_buffer.h in Headers */,
                                413A22D41FE18E0700373E99 /* sequenced_task_checker.h in Headers */,
                                413A23AE1FE18E0800373E99 /* sequenced_task_checker_impl.h in Headers */,
                                5CDD83FC1E439A6F00621E92 /* session_info.h in Headers */,
                                41F9BFDF2051DE1800ABF0B9 /* sessiondescription.h in Headers */,
                                41F9BF922051C80100ABF0B9 /* setremotedescriptionobserverinterface.h in Headers */,
-                               41A08BBF21269553001D5D7B /* rtc_event_ice_candidate_pair_config.h in Headers */,
                                41433D081F79B33400387B4D /* settings.h in Headers */,
                                5CDD87D71E43BC0600621E92 /* settings.h in Headers */,
                                5CD285E01E6A63430094FDC8 /* shadow_filter_update_gain.h in Headers */,
+                               415F1FB521272FBA00064CBF /* signal_classifier.h in Headers */,
                                41F9BFC52051CAE500ABF0B9 /* signal_processing_library.h in Headers */,
-                               415F1FAB21272FBA00064CBF /* compute_interpolated_gain_curve.h in Headers */,
-                               419241F021275AFA00634FCF /* simulcast_rate_allocator.h in Headers */,
                                413A23811FE18E0700373E99 /* signalthread.h in Headers */,
+                               41F263BC2126811500274F59 /* sigslot.h in Headers */,
                                413A22CD1FE18E0700373E99 /* sigslot.h in Headers */,
                                413A23331FE18E0700373E99 /* sigslotrepeater.h in Headers */,
                                413A23BA1FE18E0800373E99 /* sigslottester.h in Headers */,
                                5CDD8BDE1E43C2B500621E92 /* simple_lpc_analysis.h in Headers */,
                                5CDD8BE01E43C2B500621E92 /* simple_lsf_dequant.h in Headers */,
                                5CDD8BE21E43C2B500621E92 /* simple_lsf_quant.h in Headers */,
+                               419241D12127597D00634FCF /* simulated_network.h in Headers */,
                                5C4B48871E42C1BA002651C8 /* simulcast.h in Headers */,
+                               419241F021275AFA00634FCF /* simulcast_rate_allocator.h in Headers */,
+                               419241ED21275AFA00634FCF /* simulcast_utility.h in Headers */,
                                5CDD875D1E43BAF500621E92 /* sinc_resampler.h in Headers */,
                                5CDD875F1E43BAF500621E92 /* sinusoidal_linear_chirp_source.h in Headers */,
                                5CDD8BE61E43C2B500621E92 /* smooth.h in Headers */,
                                5CDD8BE41E43C2B500621E92 /* smooth_out_data.h in Headers */,
                                5CD285F71E6A63F60094FDC8 /* smoothing_filter.h in Headers */,
-                               419241582127376F00634FCF /* fakepackettransport.h in Headers */,
                                413A22DD1FE18E0700373E99 /* socket.h in Headers */,
-                               415F1FA721272FBA00064CBF /* adaptive_digital_gain_applier.h in Headers */,
                                413A22DC1FE18E0700373E99 /* socket_unittest.h in Headers */,
                                413A23611FE18E0700373E99 /* socketadapters.h in Headers */,
                                413A23C91FE18E0800373E99 /* socketaddress.h in Headers */,
                                413A22C51FE18E0700373E99 /* socketfactory.h in Headers */,
                                413A23B91FE18E0800373E99 /* socketserver.h in Headers */,
                                413A23531FE18E0700373E99 /* socketstream.h in Headers */,
-                               419241DE21275A3000634FCF /* data_rate.h in Headers */,
-                               4192413B2127372400634FCF /* features_extraction.h in Headers */,
-                               416D3BDC212731C200775F09 /* adaptive_agc.h in Headers */,
                                5CDD8BE81E43C2B500621E92 /* sort_sq.h in Headers */,
                                5C4B4C7E1E431F9C002651C8 /* sparse_fir_filter.h in Headers */,
+                               419241AB212758D300634FCF /* spectral_features.h in Headers */,
+                               419241472127372800634FCF /* spectral_features_internal.h in Headers */,
                                5CDD87D91E43BC0600621E92 /* spectrum_ar_model_tables.h in Headers */,
                                41433CEF1F79B33400387B4D /* spectrum_ar_model_tables.h in Headers */,
+                               41F2637221267B4A00274F59 /* spl_sqrt_floor.h in Headers */,
                                5CDD8BEA1E43C2B500621E92 /* split_vq.h in Headers */,
                                5CDD84C21E43AF1300621E92 /* splitting_filter.h in Headers */,
                                5CDD83601E43257200621E92 /* sps_parser.h in Headers */,
                                413A213D1FE0F0EF00373E99 /* srtp_priv.h in Headers */,
                                419C82E11FE20E590040C30F /* srtpsession.h in Headers */,
                                419C82E21FE20E590040C30F /* srtptransport.h in Headers */,
+                               41E02CBD2127356A00C27CD6 /* sslcertificate.h in Headers */,
                                413A23AF1FE18E0800373E99 /* sslfingerprint.h in Headers */,
                                413A22E41FE18E0700373E99 /* sslidentity.h in Headers */,
-                               419241822127497100634FCF /* bad_variant_access.h in Headers */,
                                413A23921FE18E0800373E99 /* sslroots.h in Headers */,
-                               416D3BDD212731C200775F09 /* adaptive_mode_level_estimator_agc.h in Headers */,
                                413A23C11FE18E0800373E99 /* sslstreamadapter.h in Headers */,
                                41F9BF9E2051C86900ABF0B9 /* ssrc_binding_observer.h in Headers */,
                                5CDD87371E43BABE00621E92 /* standalone_vad.h in Headers */,
                                5C63F9731E41737B002CA531 /* statstypes.h in Headers */,
                                413A22FD1FE18E0700373E99 /* stream.h in Headers */,
                                5CDD85C01E43B5C000621E92 /* stream_synchronization.h in Headers */,
-                               4102F6CE212733B7006AE8D7 /* video_stream_decoder_impl.h in Headers */,
                                5CD285111E6A60570094FDC8 /* streamcollection.h in Headers */,
                                5C4B48F51E42C1E3002651C8 /* streamparams.h in Headers */,
+                               41DDB26C212679D200296D47 /* string_builder.h in Headers */,
                                413A23641FE18E0700373E99 /* string_to_number.h in Headers */,
-                               419241CB2127593F00634FCF /* rtt_stats.h in Headers */,
                                413A22EB1FE18E0700373E99 /* stringencode.h in Headers */,
                                413A23B11FE18E0800373E99 /* stringize_macros.h in Headers */,
                                413A22CE1FE18E0700373E99 /* stringutils.h in Headers */,
                                41433CF01F79B33400387B4D /* structs.h in Headers */,
                                5CDD87DA1E43BC0600621E92 /* structs.h in Headers */,
-                               419241AA212758D300634FCF /* rnn.h in Headers */,
                                5C63FA0C1E4174F6002CA531 /* stun.h in Headers */,
                                5C63FA0F1E4174F6002CA531 /* stunport.h in Headers */,
                                5C63FA121E4174F6002CA531 /* stunrequest.h in Headers */,
                                5CD285E31E6A63430094FDC8 /* subtractor.h in Headers */,
                                5CD285E11E6A63430094FDC8 /* subtractor_output.h in Headers */,
                                5CD285E51E6A63430094FDC8 /* suppression_filter.h in Headers */,
-                               413AD1A421265B10003F7263 /* container.h in Headers */,
                                5CD285E71E6A63430094FDC8 /* suppression_gain.h in Headers */,
                                5CDD8BF01E43C2B500621E92 /* swap_bytes.h in Headers */,
                                413A23471FE18E0700373E99 /* swap_queue.h in Headers */,
-                               4102F6AF212732E7006AE8D7 /* expand_uma_logger.h in Headers */,
+                               419241A9212758D300634FCF /* symmetric_matrix_buffer.h in Headers */,
                                5CDD8A551E43BFB300621E92 /* sync_buffer.h in Headers */,
                                5CD284BF1E6A5F9F0094FDC8 /* syncable.h in Headers */,
                                5CDD89791E43BF3A00621E92 /* target_bitrate.h in Headers */,
                                5C63FA181E4174F6002CA531 /* tcpport.h in Headers */,
                                413A22FE1FE18E0700373E99 /* template_util.h in Headers */,
                                419C843D1FE24E800040C30F /* temporal_layers.h in Headers */,
-                               419241E421275A3000634FCF /* data_size.h in Headers */,
                                413A22A11FE18E0600373E99 /* testbase64.h in Headers */,
                                413A23D51FE18E0800373E99 /* testclient.h in Headers */,
                                413A232A1FE18E0700373E99 /* testechoserver.h in Headers */,
                                5C63FA191E4174F6002CA531 /* testrelayserver.h in Headers */,
-                               41299B932127367B00B3414B /* pitch_filter.h in Headers */,
                                5C63FA1A1E4174F6002CA531 /* teststunserver.h in Headers */,
                                5C63FA1B1E4174F6002CA531 /* testturnserver.h in Headers */,
-                               41E02CBD2127356A00C27CD6 /* sslcertificate.h in Headers */,
                                413A23D91FE18E0800373E99 /* testutils.h in Headers */,
                                413A23421FE18E0700373E99 /* thread.h in Headers */,
                                413A22C61FE18E0700373E99 /* thread_annotations.h in Headers */,
-                               41E02CAB2127352D00C27CD6 /* delay_based_bwe.h in Headers */,
-                               41E02CB72127352D00C27CD6 /* delay_increase_detector_interface.h in Headers */,
                                413A22E81FE18E0700373E99 /* thread_checker.h in Headers */,
-                               4192415A2127376F00634FCF /* icetransportinternal.h in Headers */,
                                413A22B81FE18E0700373E99 /* thread_checker_impl.h in Headers */,
                                5CDD84C41E43AF1300621E92 /* three_band_filter_bank.h in Headers */,
                                5CDD8A581E43BFB300621E92 /* tick_timer.h in Headers */,
+                               419241DD21275A3000634FCF /* time_delta.h in Headers */,
                                419C83341FE245EA0040C30F /* time_interval.h in Headers */,
-                               41F2636021267ADF00274F59 /* builtin_video_decoder_factory.h in Headers */,
-                               419241432127372800634FCF /* pitch_info.h in Headers */,
                                5CDD8A5B1E43BFB300621E92 /* time_stretch.h in Headers */,
                                5CDD88DB1E43BE3D00621E92 /* time_util.h in Headers */,
+                               419241E021275A3000634FCF /* timestamp.h in Headers */,
+                               4192417E2127392300634FCF /* timestamp_extrapolator.h in Headers */,
                                5CDD83FE1E439A6F00621E92 /* timestamp_map.h in Headers */,
                                5CDD8A5E1E43BFB300621E92 /* timestamp_scaler.h in Headers */,
                                413A23541FE18E0700373E99 /* timestampaligner.h in Headers */,
                                5CDD897B1E43BF3A00621E92 /* tmmb_item.h in Headers */,
                                5CDD897E1E43BF3A00621E92 /* tmmbn.h in Headers */,
                                5CDD89811E43BF3A00621E92 /* tmmbr.h in Headers */,
-                               419241AB212758D300634FCF /* spectral_features.h in Headers */,
                                5CDD88DD1E43BE3D00621E92 /* tmmbr_help.h in Headers */,
                                413A23001FE18E0700373E99 /* trace_event.h in Headers */,
                                5CD285131E6A60570094FDC8 /* trackmediainfomap.h in Headers */,
                                5CDD8C921E43C66000621E92 /* transient_detector.h in Headers */,
                                5CDD8C961E43C66000621E92 /* transient_suppressor.h in Headers */,
+                               41924176212738C200634FCF /* transport.h in Headers */,
                                5C63FA1E1E4174F6002CA531 /* transport.h in Headers */,
                                5CDD85C21E43B5C000621E92 /* transport_adapter.h in Headers */,
                                5CDD89841E43BF3A00621E92 /* transport_feedback.h in Headers */,
-                               4192413F2127372400634FCF /* common.h in Headers */,
+                               41299B8D2127365100B3414B /* transport_feedback_adapter.h in Headers */,
                                5CDD8FBC1E43CD0700621E92 /* transport_feedback_adapter.h in Headers */,
-                               4102F6B221273331006AE8D7 /* mediaconfig.h in Headers */,
+                               4102F6A021273262006AE8D7 /* transport_feedback_packet_loss_tracker.h in Headers */,
                                5C63FA261E4174F6002CA531 /* transportdescription.h in Headers */,
                                5C63FA291E4174F6002CA531 /* transportdescriptionfactory.h in Headers */,
                                5C63FA2A1E4174F6002CA531 /* transportinfo.h in Headers */,
+                               4102F69421273206006AE8D7 /* transportstats.h in Headers */,
+                               41E02CB32127352D00C27CD6 /* trendline_estimator.h in Headers */,
                                41F9BF912051C80100ABF0B9 /* turncustomizer.h in Headers */,
                                5C63FA2D1E4174F6002CA531 /* turnport.h in Headers */,
                                41F9BFE92051DEEA00ABF0B9 /* turnportfactory.h in Headers */,
                                413A234B1FE18E0700373E99 /* type_traits.h in Headers */,
                                5CDD84C61E43AF1300621E92 /* typing_detection.h in Headers */,
                                5C63FA311E4174F6002CA531 /* udpport.h in Headers */,
+                               419241572127376F00634FCF /* udptransport.h in Headers */,
                                413A246B1FE1991A00373E99 /* UIDevice+RTCDevice.h in Headers */,
                                5CDD88E01E43BE3D00621E92 /* ulpfec_generator.h in Headers */,
-                               416D3BE4212731C200775F09 /* fixed_gain_controller.h in Headers */,
                                5CDD88E31E43BE3D00621E92 /* ulpfec_header_reader_writer.h in Headers */,
                                419C83C61FE247B40040C30F /* ulpfec_receiver.h in Headers */,
                                5CDD88E51E43BE3D00621E92 /* ulpfec_receiver_impl.h in Headers */,
                                5C63F9751E41737B002CA531 /* umametrics.h in Headers */,
                                413A22A41FE18E0600373E99 /* unixfilesystem.h in Headers */,
                                5CDD8BF21E43C2B500621E92 /* unpack_bits.h in Headers */,
+                               41F263B0212680A800274F59 /* unused.h in Headers */,
                                413A21401FE0F0EF00373E99 /* ut_sim.h in Headers */,
                                5CDD87091E43BA7500621E92 /* utility.h in Headers */,
                                5CDD87DF1E43BC2E00621E92 /* utility.h in Headers */,
                                5CDD873B1E43BABE00621E92 /* vad_audio_proc.h in Headers */,
-                               41A08BBE21269553001D5D7B /* rtc_event_ice_candidate_pair.h in Headers */,
                                5CDD87381E43BABE00621E92 /* vad_audio_proc_internal.h in Headers */,
                                5CDD873E1E43BABE00621E92 /* vad_circular_buffer.h in Headers */,
                                5CDD86D71E43BA2800621E92 /* vad_core.h in Headers */,
                                5CDD86DA1E43BA2800621E92 /* vad_filterbank.h in Headers */,
                                5CDD86DD1E43BA2800621E92 /* vad_gmm.h in Headers */,
                                5CDD86E01E43BA2800621E92 /* vad_sp.h in Headers */,
+                               415F1FB621272FBA00064CBF /* vad_with_level.h in Headers */,
                                5C63F8E01E416D53002CA531 /* value.h in Headers */,
-                               419241532127376F00634FCF /* fakedtlstransport.h in Headers */,
                                41F9BFD82051DDE500ABF0B9 /* vector_buffer.h in Headers */,
+                               415F1FB721272FBA00064CBF /* vector_float_frame.h in Headers */,
+                               41A08BAE212681C8001D5D7B /* video_bitrate_allocation.h in Headers */,
+                               41A08BAF212681C8001D5D7B /* video_bitrate_allocator.h in Headers */,
+                               4102F6E421273416006AE8D7 /* video_bitrate_allocator_factory.h in Headers */,
+                               41F2636421267ADF00274F59 /* video_codec.h in Headers */,
                                5CDD84021E439A6F00621E92 /* video_coding_impl.h in Headers */,
                                419C84131FE249AB0040C30F /* video_content_type.h in Headers */,
                                4145E48D1EF88B9D00FCF6E6 /* video_decoder.h in Headers */,
                                4145F61E1FE1F38D00EB9CAF /* video_decoder_factory.h in Headers */,
+                               41F2636621267ADF00274F59 /* video_decoder_software_fallback_wrapper.h in Headers */,
                                4145E48E1EF88B9D00FCF6E6 /* video_encoder.h in Headers */,
+                               41F2636821267ADF00274F59 /* video_encoder_config.h in Headers */,
                                4145F61F1FE1F38D00EB9CAF /* video_encoder_factory.h in Headers */,
+                               41F2636A21267ADF00274F59 /* video_encoder_software_fallback_wrapper.h in Headers */,
                                5CD2846B1E6A57F40094FDC8 /* video_frame.h in Headers */,
                                41109AAE1E5FA19200C0955A /* video_frame_buffer.h in Headers */,
-                               41A08BB3212681C8001D5D7B /* video_stream_encoder_create.h in Headers */,
                                5CD284691E6A57F40094FDC8 /* video_frame_buffer.h in Headers */,
-                               419241DD21275A3000634FCF /* time_delta.h in Headers */,
+                               4102F6CF212733B7006AE8D7 /* video_quality_observer.h in Headers */,
                                419C82C41FE20DCD0040C30F /* video_receive_stream.h in Headers */,
-                               41F263AE212680A800274F59 /* fallthrough.h in Headers */,
-                               41E02CAC2127352D00C27CD6 /* bitrate_estimator.h in Headers */,
                                5CDD85CB1E43B5C000621E92 /* video_receive_stream.h in Headers */,
                                5C4B4C211E431F75002651C8 /* video_render_frames.h in Headers */,
                                5CD2846C1E6A57F40094FDC8 /* video_rotation.h in Headers */,
                                419C82BA1FE20DCD0040C30F /* video_send_stream.h in Headers */,
                                5CDD85CE1E43B5C000621E92 /* video_send_stream.h in Headers */,
-                               41A08BB5212681C8001D5D7B /* video_stream_encoder_observer.h in Headers */,
+                               4102F6C8212733B7006AE8D7 /* video_send_stream_impl.h in Headers */,
+                               4102F6DD21273416006AE8D7 /* video_sink_interface.h in Headers */,
+                               41A08BB1212681C8001D5D7B /* video_source_interface.h in Headers */,
+                               41A08BB2212681C8001D5D7B /* video_stream_decoder.h in Headers */,
                                5CDD85D01E43B5C000621E92 /* video_stream_decoder.h in Headers */,
-                               419C84121FE249AB0040C30F /* video_timing.h in Headers */,
-                               419241622127385B00634FCF /* rw_lock_posix.h in Headers */,
+                               4102F6DE21273416006AE8D7 /* video_stream_decoder_create.h in Headers */,
+                               4102F6CE212733B7006AE8D7 /* video_stream_decoder_impl.h in Headers */,
+                               4102F6CA212733B7006AE8D7 /* video_stream_encoder.h in Headers */,
+                               41A08BB3212681C8001D5D7B /* video_stream_encoder_create.h in Headers */,
+                               41A08BB4212681C8001D5D7B /* video_stream_encoder_interface.h in Headers */,
+                               41A08BB5212681C8001D5D7B /* video_stream_encoder_observer.h in Headers */,
+                               4102F6E121273416006AE8D7 /* video_stream_encoder_settings.h in Headers */,
+                               419C84121FE249AB0040C30F /* video_timing.h in Headers */,
                                5C4B48FD1E42C1E3002651C8 /* videoadapter.h in Headers */,
                                5C4B49001E42C1E3002651C8 /* videobroadcaster.h in Headers */,
                                5C4B49031E42C1E3002651C8 /* videocapturer.h in Headers */,
-                               419241E021275A3000634FCF /* timestamp.h in Headers */,
                                5C4B49041E42C1E3002651C8 /* videocapturerfactory.h in Headers */,
-                               419241572127376F00634FCF /* udptransport.h in Headers */,
                                5CD285151E6A60570094FDC8 /* videocapturertracksource.h in Headers */,
                                5C4B49071E42C1E3002651C8 /* videocommon.h in Headers */,
                                41ECEAFE20646664009D5141 /* VideoProcessingSoftLink.h in Headers */,
                                5CD285171E6A60570094FDC8 /* videotrack.h in Headers */,
                                5CD285191E6A60570094FDC8 /* videotracksource.h in Headers */,
                                413A22BC1FE18E0700373E99 /* virtualsocketserver.h in Headers */,
-                               41F263B3212680A800274F59 /* arch.h in Headers */,
                                5CDD87411E43BABE00621E92 /* voice_activity_detector.h in Headers */,
                                5CDD84C81E43AF1300621E92 /* voice_detection_impl.h in Headers */,
                                5CDD87421E43BABE00621E92 /* voice_gmm_tables.h in Headers */,
                                5CFD53811E4BA4F500482908 /* voice_processing_audio_unit.h in Headers */,
                                5CDD89871E43BF3A00621E92 /* voip_metric.h in Headers */,
                                4145F6171FE1EFCA00EB9CAF /* vp8.h in Headers */,
+                               419241F421275C3200634FCF /* vp8_encoder_simulcast_proxy.h in Headers */,
                                5CDD83861E439A3500621E92 /* vp8_header_parser.h in Headers */,
                                5CDD8BF41E43C2B500621E92 /* vq3.h in Headers */,
                                5CDD8BF61E43C2B500621E92 /* vq4.h in Headers */,
                                5C4B4C811E431F9C002651C8 /* wav_file.h in Headers */,
                                5C4B4C841E431F9C002651C8 /* wav_header.h in Headers */,
+                               41E02CBF2127356A00C27CD6 /* weak_ptr.h in Headers */,
                                41ECEABC206403C2009D5141 /* WebKitUtilities.h in Headers */,
-                               419241AC212758D300634FCF /* sequence_buffer.h in Headers */,
                                5CDD8CAB1E43C6F700621E92 /* webrtc_cng.h in Headers */,
                                4145E4911EF88EF700FCF6E6 /* webrtc_libyuv.h in Headers */,
                                41F9BFC72051DCE900ABF0B9 /* webrtc_vad.h in Headers */,
                                5C4B488E1E42C1BA002651C8 /* webrtcmediaengine.h in Headers */,
-                               4102F6E121273416006AE8D7 /* video_stream_encoder_settings.h in Headers */,
                                5CD2847A1E6A5D550094FDC8 /* webrtcsdp.h in Headers */,
                                5CD2851B1E6A60570094FDC8 /* webrtcsessiondescriptionfactory.h in Headers */,
                                5C4B48911E42C1BA002651C8 /* webrtcvideocapturer.h in Headers */,
                                5C4B489E1E42C1BA002651C8 /* webrtcvoiceengine.h in Headers */,
                                5CDD8BF81E43C2B500621E92 /* window32_w32.h in Headers */,
                                5C4B4C871E431F9C002651C8 /* window_generator.h in Headers */,
+                               419241C22127593F00634FCF /* windowed_filter.h in Headers */,
                                5CDD86081E43B84E00621E92 /* windows_private.h in Headers */,
                                5CDD8C991E43C66000621E92 /* wpd_node.h in Headers */,
                                5CDD8C9C1E43C66000621E92 /* wpd_tree.h in Headers */,
                                5C63F8E11E416D53002CA531 /* writer.h in Headers */,
                                5CDD8BFA1E43C2B500621E92 /* xcorr_coef.h in Headers */,
+                               41DDB25A2126792800296D47 /* zero_memory.h in Headers */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                        isa = PBXSourcesBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
-                               415F1FB121272FBA00064CBF /* gain_curve_applier.cc in Sources */,
                                5CDD8B6C1E43C2B500621E92 /* abs_quant.c in Sources */,
                                5CDD8B6A1E43C2B500621E92 /* abs_quant_loop.c in Sources */,
                                5CDD89F81E43BFB300621E92 /* accelerate.cc in Sources */,
+                               41E02CA82127352D00C27CD6 /* acknowledged_bitrate_estimator.cc in Sources */,
                                5CDD85031E43B1EA00621E92 /* acm_codec_database.cc in Sources */,
                                5CDD85091E43B1EA00621E92 /* acm_receiver.cc in Sources */,
                                5CDD850B1E43B1EA00621E92 /* acm_resampler.cc in Sources */,
                                5C4B48D71E42C1E3002651C8 /* adaptedvideotracksource.cc in Sources */,
-                               419241C52127593F00634FCF /* loss_rate_filter.cc in Sources */,
-                               419241542127376F00634FCF /* basicasyncresolverfactory.cc in Sources */,
+                               416D3BDB212731C200775F09 /* adaptive_agc.cc in Sources */,
+                               415F1FA621272FBA00064CBF /* adaptive_digital_gain_applier.cc in Sources */,
                                5CD285A41E6A63430094FDC8 /* adaptive_fir_filter.cc in Sources */,
+                               416D3BDE212731C200775F09 /* adaptive_mode_level_estimator.cc in Sources */,
+                               415F1FA821272FBA00064CBF /* adaptive_mode_level_estimator_agc.cc in Sources */,
                                41F411C71EF97BAC00343C26 /* adm_helpers.cc in Sources */,
                                5CD285A81E6A63430094FDC8 /* aec3_common.cc in Sources */,
                                5CD285AA1E6A63430094FDC8 /* aec3_fft.cc in Sources */,
-                               41F263B72126810C00274F59 /* base64.cc in Sources */,
                                5CDD86BC1E43B9C200621E92 /* aec_core.cc in Sources */,
                                5CDD86BB1E43B9C200621E92 /* aec_core_sse2.cc in Sources */,
                                413092131EF8D51100757C55 /* aec_dump.cc in Sources */,
                                5CDD86BE1E43B9C200621E92 /* aec_resampler.cc in Sources */,
                                5CD285A61E6A63430094FDC8 /* aec_state.cc in Sources */,
-                               415F1FC02127304C00064CBF /* echo_cancellation_proxy.cc in Sources */,
                                5CDD85E71E43B81000621E92 /* aecm_core.cc in Sources */,
                                5CDD85E41E43B81000621E92 /* aecm_core_c.cc in Sources */,
                                5CDD87011E43BA7500621E92 /* agc.cc in Sources */,
-                               41F2639221267F5300274F59 /* g722_encode.c in Sources */,
                                5CDD86FF1E43BA7500621E92 /* agc_manager_direct.cc in Sources */,
                                5CDD8FD11E43CD6600621E92 /* aimd_rate_control.cc in Sources */,
+                               41F2639E2126800000274F59 /* aligned_malloc.cc in Sources */,
+                               41E02CB52127352D00C27CD6 /* alr_detector.cc in Sources */,
                                41F9BFCB2051DDA200ABF0B9 /* alr_experiment.cc in Sources */,
                                5CDD86EC1E43BA6D00621E92 /* analog_agc.c in Sources */,
                                5CDD87E51E43BDA100621E92 /* apm_data_dumper.cc in Sources */,
                                5CD284C21E6A5FFC0094FDC8 /* apm_helpers.cc in Sources */,
                                5CDD893B1E43BF3A00621E92 /* app.cc in Sources */,
-                               419241642127385B00634FCF /* rw_lock_posix.cc in Sources */,
                                5CDD87A91E43BC0500621E92 /* arith_routines.c in Sources */,
                                41433D0A1F79B33400387B4D /* arith_routines.c in Sources */,
-                               4102F6AB212732B1006AE8D7 /* rtp_payload_params.cc in Sources */,
-                               41299B8C2127365100B3414B /* send_time_history.cc in Sources */,
                                5CDD87A71E43BC0500621E92 /* arith_routines_hist.c in Sources */,
                                41433D291F79B33400387B4D /* arith_routines_hist.c in Sources */,
-                               41E02C8B212734B900C27CD6 /* decoder_database.cc in Sources */,
-                               41F2638A21267F4000274F59 /* fft.c in Sources */,
                                5CDD87A81E43BC0500621E92 /* arith_routines_logist.c in Sources */,
-                               41E02C88212734B900C27CD6 /* encoder_database.cc in Sources */,
                                41433D0F1F79B33400387B4D /* arith_routines_logist.c in Sources */,
                                413A238C1FE18E0700373E99 /* asyncinvoker.cc in Sources */,
                                413A216D1FE18D6A00373E99 /* asyncpacketsocket.cc in Sources */,
                                413A23551FE18E0700373E99 /* asyncresolverinterface.cc in Sources */,
-                               41299B8B2127365100B3414B /* pacer_controller.cc in Sources */,
                                413A23961FE18E0800373E99 /* asyncsocket.cc in Sources */,
                                5C63F9E01E4174F6002CA531 /* asyncstuntcpsocket.cc in Sources */,
                                413A23AB1FE18E0800373E99 /* asynctcpsocket.cc in Sources */,
                                413A23161FE18E0700373E99 /* asyncudpsocket.cc in Sources */,
                                5CDD84A91E43AF1300621E92 /* audio_buffer.cc in Sources */,
+                               419241A02127588300634FCF /* audio_codec_pair_id.cc in Sources */,
                                5CDD85101E43B1EA00621E92 /* audio_coding_module.cc in Sources */,
                                5C4B4C591E431F9C002651C8 /* audio_converter.cc in Sources */,
-                               41DDB26E212679D200296D47 /* string_builder.cc in Sources */,
                                5CD285441E6A61D20094FDC8 /* audio_decoder.cc in Sources */,
                                419C83E91FE248350040C30F /* audio_decoder_g711.cc in Sources */,
                                4140B8311E4E3396007409E6 /* audio_decoder_g722.cc in Sources */,
                                5CDD8B6E1E43C2B500621E92 /* audio_decoder_ilbc.cc in Sources */,
                                419C84BF1FE319440040C30F /* audio_decoder_ilbc.cc in Sources */,
                                5CDD87AB1E43BC0500621E92 /* audio_decoder_isac.cc in Sources */,
-                               4192419A2127586500634FCF /* kiss_fft.cc in Sources */,
                                419C835C1FE246BB0040C30F /* audio_decoder_isac_fix.cc in Sources */,
-                               419241EE21275AFA00634FCF /* simulcast_rate_allocator.cc in Sources */,
                                419C836A1FE246CA0040C30F /* audio_decoder_isac_float.cc in Sources */,
                                41433CF91F79B33400387B4D /* audio_decoder_isacfix.cc in Sources */,
                                419C83F21FE2488D0040C30F /* audio_decoder_L16.cc in Sources */,
                                4140B8221E4E3383007409E6 /* audio_decoder_pcm.cc in Sources */,
                                5CDD8FFC1E43CE3A00621E92 /* audio_decoder_pcm16b.cc in Sources */,
                                5C119FFB1E457400004F0987 /* audio_device_buffer.cc in Sources */,
-                               419241E221275A3000634FCF /* time_delta.cc in Sources */,
-                               41F2639421267F5300274F59 /* g722_decode.c in Sources */,
                                5C11A01D1E457578004F0987 /* audio_device_dummy.cc in Sources */,
                                5C119FFE1E457400004F0987 /* audio_device_generic.cc in Sources */,
                                5C11A00B1E457448004F0987 /* audio_device_mac.cc in Sources */,
                                5CDD8CA71E43C6F700621E92 /* audio_encoder_cng.cc in Sources */,
                                5CDD8FF31E43CDF400621E92 /* audio_encoder_copy_red.cc in Sources */,
                                419C83E71FE248350040C30F /* audio_encoder_g711.cc in Sources */,
-                               41F2636221267ADF00274F59 /* sdp_video_format.cc in Sources */,
-                               419241EF21275AFA00634FCF /* simulcast_utility.cc in Sources */,
                                4140B8331E4E3396007409E6 /* audio_encoder_g722.cc in Sources */,
                                419C833E1FE246230040C30F /* audio_encoder_g722.cc in Sources */,
                                5CDD8B701E43C2B500621E92 /* audio_encoder_ilbc.cc in Sources */,
                                419C84BD1FE319440040C30F /* audio_encoder_ilbc.cc in Sources */,
                                5CDD87AD1E43BC0500621E92 /* audio_encoder_isac.cc in Sources */,
                                419C836C1FE246CA0040C30F /* audio_encoder_isac_fix.cc in Sources */,
-                               416D3BDB212731C200775F09 /* adaptive_agc.cc in Sources */,
-                               416D3BE0212731C200775F09 /* biquad_filter.cc in Sources */,
-                               41924179212738FB00634FCF /* rtc_event_log_impl.cc in Sources */,
-                               4102F6BA21273382006AE8D7 /* audio_receive_stream.cc in Sources */,
                                419C836B1FE246CA0040C30F /* audio_encoder_isac_float.cc in Sources */,
                                41433CFB1F79B33400387B4D /* audio_encoder_isacfix.cc in Sources */,
                                419C83F11FE2488D0040C30F /* audio_encoder_L16.cc in Sources */,
                                419C82F51FE20EB50040C30F /* audio_encoder_opus.cc in Sources */,
                                419C82F31FE20EB50040C30F /* audio_encoder_opus_config.cc in Sources */,
                                4140B8201E4E3383007409E6 /* audio_encoder_pcm.cc in Sources */,
-                               41F2638321267B7700274F59 /* rtpreceiverinterface.cc in Sources */,
                                5CDD8FFE1E43CE3A00621E92 /* audio_encoder_pcm16b.cc in Sources */,
                                5CD285461E6A61D20094FDC8 /* audio_format.cc in Sources */,
                                5CDD84191E439B2900621E92 /* audio_format_conversion.cc in Sources */,
+                               41DDB26F212679D200296D47 /* audio_format_to_string.cc in Sources */,
+                               415F1FCE212730F000064CBF /* audio_frame.cc in Sources */,
                                5CD284921E6A5F410094FDC8 /* audio_frame_manipulator.cc in Sources */,
-                               41D6B45C21273159008F9353 /* rtp_video_sender.cc in Sources */,
                                5CD2854D1E6A62130094FDC8 /* audio_frame_operations.cc in Sources */,
+                               4102F6A421273262006AE8D7 /* audio_level.cc in Sources */,
                                5CDD8A8F1E43C00F00621E92 /* audio_loop.cc in Sources */,
                                5CD284951E6A5F410094FDC8 /* audio_mixer_impl.cc in Sources */,
                                5C11A00D1E457448004F0987 /* audio_mixer_manager_mac.cc in Sources */,
                                5CDD8A011E43BFB300621E92 /* audio_multi_vector.cc in Sources */,
                                419C830D1FE20F3C0040C30F /* audio_network_adaptor_config.cc in Sources */,
                                5CDD8F791E43CBE000621E92 /* audio_network_adaptor_impl.cc in Sources */,
-                               419241C72127593F00634FCF /* bbr_network_controller.cc in Sources */,
+                               41F2637E21267B7700274F59 /* audio_options.cc in Sources */,
                                5CDD8FE91E43CDCA00621E92 /* audio_processing.cc in Sources */,
                                5CDD84AB1E43AF1300621E92 /* audio_processing_impl.cc in Sources */,
                                419C829D1FE20D1C0040C30F /* audio_processing_statistics.cc in Sources */,
+                               4102F6BA21273382006AE8D7 /* audio_receive_stream.cc in Sources */,
                                5CDD8ACC1E43C23900621E92 /* audio_receive_stream.cc in Sources */,
-                               416D3BED212731C200775F09 /* vector_float_frame.cc in Sources */,
                                5C4B4C5C1E431F9C002651C8 /* audio_ring_buffer.cc in Sources */,
                                5CDD8ACF1E43C23900621E92 /* audio_send_stream.cc in Sources */,
                                5CD284B11E6A5F9F0094FDC8 /* audio_send_stream.cc in Sources */,
                                5CDD8A911E43C00F00621E92 /* audio_sink.cc in Sources */,
                                5CDD8AD21E43C23900621E92 /* audio_state.cc in Sources */,
+                               415F1FC62127308F00064CBF /* audio_state.cc in Sources */,
                                41F9BF9B2051C84C00ABF0B9 /* audio_transport_impl.cc in Sources */,
                                5C4B4C5F1E431F9C002651C8 /* audio_util.cc in Sources */,
                                5CDD8A041E43BFB300621E92 /* audio_vector.cc in Sources */,
-                               41E02CAE2127352D00C27CD6 /* bitrate_estimator.cc in Sources */,
                                5CD284F01E6A60570094FDC8 /* audiotrack.cc in Sources */,
                                5CDD8B721E43C2B500621E92 /* augmented_cb_corr.c in Sources */,
                                5CDD86401E43B8B500621E92 /* auto_corr_to_refl_coef.c in Sources */,
                                5CDD86411E43B8B500621E92 /* auto_correlation.c in Sources */,
                                5CDD8A071E43BFB300621E92 /* background_noise.cc in Sources */,
+                               41A08BC8212695DE001D5D7B /* bad_optional_access.cc in Sources */,
+                               419241812127497100634FCF /* bad_variant_access.cc in Sources */,
                                41433CF71F79B33400387B4D /* bandwidth_estimator.c in Sources */,
                                5CDD87AE1E43BC0500621E92 /* bandwidth_estimator.c in Sources */,
-                               41E02CCC212735B700C27CD6 /* bitrate_settings.cc in Sources */,
+                               419241C42127593F00634FCF /* bandwidth_sampler.cc in Sources */,
+                               41F263B72126810C00274F59 /* base64.cc in Sources */,
+                               419241542127376F00634FCF /* basicasyncresolverfactory.cc in Sources */,
                                5C63F9E21E4174F6002CA531 /* basicpacketsocketfactory.cc in Sources */,
-                               4102F69221273206006AE8D7 /* rtcstatstraversal.cc in Sources */,
                                5C4B4D091E4322F6002651C8 /* basicportallocator.cc in Sources */,
+                               419241C92127593F00634FCF /* bbr_factory.cc in Sources */,
+                               419241C72127593F00634FCF /* bbr_network_controller.cc in Sources */,
                                419C846F1FE255FA0040C30F /* bio_ssl.cc in Sources */,
+                               416D3BE0212731C200775F09 /* biquad_filter.cc in Sources */,
                                413A233B1FE18E0700373E99 /* bitbuffer.cc in Sources */,
                                5C4B4C191E431F75002651C8 /* bitrate_adjuster.cc in Sources */,
                                5CDD852F1E43B39C00621E92 /* bitrate_allocator.cc in Sources */,
                                5CDD8F7D1E43CBE000621E92 /* bitrate_controller.cc in Sources */,
-                               4102F6BC21273382006AE8D7 /* flexfec_receive_stream.cc in Sources */,
                                5CDD905D1E43D11200621E92 /* bitrate_controller_impl.cc in Sources */,
+                               41E02CAE2127352D00C27CD6 /* bitrate_estimator.cc in Sources */,
                                5CDD8FA01E43CCBE00621E92 /* bitrate_prober.cc in Sources */,
+                               41E02CCC212735B700C27CD6 /* bitrate_settings.cc in Sources */,
                                413A21751FE18D7100373E99 /* bitrateallocationstrategy.cc in Sources */,
                                5CD285AC1E6A63430094FDC8 /* block_framer.cc in Sources */,
                                5CDD86871E43B93900621E92 /* block_mean_calculator.cc in Sources */,
                                5CD285B01E6A63430094FDC8 /* block_processor.cc in Sources */,
                                5CD285AE1E6A63430094FDC8 /* block_processor_metrics.cc in Sources */,
-                               4102F69021273206006AE8D7 /* jseptransportcontroller.cc in Sources */,
                                5C4B4C611E431F9C002651C8 /* blocker.cc in Sources */,
                                5CDD8A0A1E43BFB300621E92 /* buffer_level_filter.cc in Sources */,
-                               41DDB264212679A300296D47 /* opensslcertificate.cc in Sources */,
                                413A239B1FE18E0800373E99 /* bufferqueue.cc in Sources */,
                                5CD285481E6A61D20094FDC8 /* builtin_audio_decoder_factory.cc in Sources */,
-                               41F2637321267B4A00274F59 /* spl_sqrt_floor.c in Sources */,
                                413091FB1EF8CFF800757C55 /* builtin_audio_encoder_factory.cc in Sources */,
+                               41F2635F21267ADF00274F59 /* builtin_video_decoder_factory.cc in Sources */,
+                               41E02CC42127358800C27CD6 /* builtin_video_encoder_factory.cc in Sources */,
                                5CDD8B741E43C2B500621E92 /* bw_expand.c in Sources */,
                                5CDD8FD31E43CD6600621E92 /* bwe_defines.cc in Sources */,
                                5CDD893E1E43BF3A00621E92 /* bye.cc in Sources */,
-                               4192423E21276B5A00634FCF /* VideoToolBoxEncoderFactory.cpp in Sources */,
                                413A23F21FE18E0800373E99 /* bytebuffer.cc in Sources */,
                                5CDD85341E43B39C00621E92 /* call.cc in Sources */,
+                               41D6B45321273159008F9353 /* call_config.cc in Sources */,
                                5CDD85121E43B1EA00621E92 /* call_statistics.cc in Sources */,
-                               419241442127372800634FCF /* pitch_search_internal.cc in Sources */,
                                5CDD859C1E43B5C000621E92 /* call_stats.cc in Sources */,
                                4145E4E41EF8CD7D00FCF6E6 /* callfactory.cc in Sources */,
                                419C83121FE242800040C30F /* candidate.cc in Sources */,
                                5CDD8B801E43C2B500621E92 /* cb_search.c in Sources */,
                                5CDD8B7E1E43C2B500621E92 /* cb_search_core.c in Sources */,
                                5CDD8B821E43C2B500621E92 /* cb_update_best_index.c in Sources */,
-                               4102F6DB21273416006AE8D7 /* video_stream_decoder_create.cc in Sources */,
+                               4102F6A821273262006AE8D7 /* channel.cc in Sources */,
                                5C4B4C641E431F9C002651C8 /* channel_buffer.cc in Sources */,
                                5CDD8F801E43CBE000621E92 /* channel_controller.cc in Sources */,
+                               4102F6A621273262006AE8D7 /* channel_proxy.cc in Sources */,
                                5CDD8B841E43C2B500621E92 /* chebyshev.c in Sources */,
                                413A23731FE18E0700373E99 /* checks.cc in Sources */,
-                               419241AD212758D300634FCF /* spectral_features.cc in Sources */,
                                5CDD86A11E43B99400621E92 /* circular_buffer.cc in Sources */,
                                5C4B4CC61E4320A9002651C8 /* clock.cc in Sources */,
                                5C4B48DB1E42C1E3002651C8 /* codec.cc in Sources */,
                                5CDD85151E43B1EA00621E92 /* codec_manager.cc in Sources */,
                                5CDD83C81E439A6F00621E92 /* codec_timer.cc in Sources */,
+                               4102F6DC21273416006AE8D7 /* color_space.cc in Sources */,
                                5CDD8A0D1E43BFB300621E92 /* comfort_noise.cc in Sources */,
                                5CD285B41E6A63430094FDC8 /* comfort_noise_generator.cc in Sources */,
                                5CDD89411E43BF3A00621E92 /* common_header.cc in Sources */,
-                               419241812127497100634FCF /* bad_variant_access.cc in Sources */,
-                               416D3BEC212731C200775F09 /* vad_with_level.cc in Sources */,
-                               41DDB26F212679D200296D47 /* audio_format_to_string.cc in Sources */,
                                5CDD8B861E43C2B500621E92 /* comp_corr.c in Sources */,
                                5CFD538D1E4BD3A300482908 /* compare_neon.cc in Sources */,
                                5CFD538E1E4BD3A300482908 /* compare_neon64.cc in Sources */,
                                5CDD86441E43B8B500621E92 /* complex_bit_reverse.c in Sources */,
                                5CDD86471E43B8B500621E92 /* complex_fft.c in Sources */,
                                5CDD89441E43BF3A00621E92 /* compound_packet.cc in Sources */,
+                               415F1FAA21272FBA00064CBF /* compute_interpolated_gain_curve.cc in Sources */,
                                5CDD8FEB1E43CDCA00621E92 /* config.cc in Sources */,
+                               419241712127389B00634FCF /* congestion_controller_experiment.cc in Sources */,
+                               41A08BD821272F1D001D5D7B /* congestion_window_pushback_controller.cc in Sources */,
                                5CDD8A931E43C00F00621E92 /* constant_pcm_packet_source.cc in Sources */,
                                5CDD8B891E43C2B500621E92 /* constants.c in Sources */,
                                419C83FB1FE249370040C30F /* constants.cc in Sources */,
+                               41E02C782127347400C27CD6 /* contributing_sources.cc in Sources */,
                                5CDD8F851E43CBE000621E92 /* controller.cc in Sources */,
                                5CDD8F831E43CBE000621E92 /* controller_manager.cc in Sources */,
-                               41E02C7D2127347400C27CD6 /* rtp_video_header.cc in Sources */,
                                41F9BFAC2051C91900ABF0B9 /* convert_legacy_video_factory.cc in Sources */,
                                5CDD86481E43B8B500621E92 /* copy_set_operations.c in Sources */,
                                413A23151FE18E0700373E99 /* copyonwritebuffer.cc in Sources */,
-                               41F2636921267ADF00274F59 /* video_encoder_software_fallback_wrapper.cc in Sources */,
                                5C4B4CCA1E4320A9002651C8 /* cpu_features.cc in Sources */,
                                5C4B4CCB1E4320A9002651C8 /* cpu_info.cc in Sources */,
                                5CDD87B11E43BC0500621E92 /* crc.c in Sources */,
                                5CDD864B1E43B8B500621E92 /* cross_correlation.c in Sources */,
                                5CDD8A0F1E43BFB300621E92 /* cross_correlation.cc in Sources */,
                                413A23221FE18E0700373E99 /* cryptstring.cc in Sources */,
-                               41924246212771DC00634FCF /* objc_video_frame.mm in Sources */,
                                419C848E1FE2574D0040C30F /* custom_extensions.cc in Sources */,
-                               419241E821275A7600634FCF /* field_trial_units.cc in Sources */,
                                419C848C1FE2574D0040C30F /* d1_both.cc in Sources */,
                                419C848D1FE2574D0040C30F /* d1_lib.cc in Sources */,
                                419C848F1FE2574D0040C30F /* d1_pkt.cc in Sources */,
                                419C84871FE2574D0040C30F /* d1_srtp.cc in Sources */,
+                               419241E121275A3000634FCF /* data_rate.cc in Sources */,
+                               41E02CC02127356A00C27CD6 /* data_rate_limiter.cc in Sources */,
+                               419241DF21275A3000634FCF /* data_size.cc in Sources */,
+                               419241C12127593F00634FCF /* data_transfer_tracker.cc in Sources */,
                                5CD284F21E6A60570094FDC8 /* datachannel.cc in Sources */,
+                               41F2638021267B7700274F59 /* datachannelinterface.cc in Sources */,
                                5CDD8F871E43CBE000621E92 /* debug_dump_writer.cc in Sources */,
                                419C83F91FE248F10040C30F /* decimator.cc in Sources */,
-                               4192416E2127389B00634FCF /* field_trial_parser.cc in Sources */,
                                5CDD8A161E43BFB300621E92 /* decision_logic.cc in Sources */,
-                               4102F6A121273262006AE8D7 /* remix_resample.cc in Sources */,
                                41433D051F79B33400387B4D /* decode.c in Sources */,
                                5CDD87B41E43BC0500621E92 /* decode.c in Sources */,
                                5CDD8B8F1E43C2B500621E92 /* decode.c in Sources */,
                                5CDD87B31E43BC0500621E92 /* decode_bwe.c in Sources */,
                                41433D0E1F79B33400387B4D /* decode_plc.c in Sources */,
                                5CDD8B8D1E43C2B500621E92 /* decode_residual.c in Sources */,
+                               41E02C8B212734B900C27CD6 /* decoder_database.cc in Sources */,
                                5CDD8A191E43BFB300621E92 /* decoder_database.cc in Sources */,
-                               419241E121275A3000634FCF /* data_rate.cc in Sources */,
                                5CDD8B911E43C2B500621E92 /* decoder_interpolate_lsf.c in Sources */,
-                               419241CA2127593F00634FCF /* rtt_stats.cc in Sources */,
                                5CDD83CA1E439A6F00621E92 /* decoding_state.cc in Sources */,
                                5CD284971E6A5F410094FDC8 /* default_output_rate_calculator.cc in Sources */,
-                               41924245212771BB00634FCF /* objc_video_decoder_factory.mm in Sources */,
                                5CD285391E6A61980094FDC8 /* default_video_bitrate_allocator.cc in Sources */,
+                               4102F6BB21273382006AE8D7 /* degraded_call.cc in Sources */,
+                               41E02CA52127352D00C27CD6 /* delay_based_bwe.cc in Sources */,
                                5CDD868D1E43B93900621E92 /* delay_estimator.cc in Sources */,
                                5CDD868B1E43B93900621E92 /* delay_estimator_wrapper.cc in Sources */,
                                5CDD8A1D1E43BFB300621E92 /* delay_manager.cc in Sources */,
                                5CDD8A201E43BFB300621E92 /* delay_peak_detector.cc in Sources */,
-                               416D3BE7212731C200775F09 /* noise_level_estimator.cc in Sources */,
-                               4102F68F21273206006AE8D7 /* transportstats.cc in Sources */,
                                5CDD86EE1E43BA6D00621E92 /* digital_agc.c in Sources */,
                                5CDD864C1E43B8B500621E92 /* division_operations.c in Sources */,
                                5CDD89471E43BF3A00621E92 /* dlrr.cc in Sources */,
                                5CDD8B941E43C2B500621E92 /* do_plc.c in Sources */,
                                412455451EF87C0F00F11809 /* dot_product_with_scale.cc in Sources */,
+                               415F1FAC21272FBA00064CBF /* down_sampler.cc in Sources */,
                                5CDD86501E43B8B500621E92 /* downsample_fast.c in Sources */,
-                               4102F6BB21273382006AE8D7 /* degraded_call.cc in Sources */,
                                4145E4D61EF8CC7600FCF6E6 /* downsampled_render_buffer.cc in Sources */,
                                5CDD8A231E43BFB300621E92 /* dsp_helper.cc in Sources */,
                                419C84881FE2574D0040C30F /* dtls_method.cc in Sources */,
                                419C848A1FE2574D0040C30F /* dtls_record.cc in Sources */,
                                419C82E41FE20E590040C30F /* dtlssrtptransport.cc in Sources */,
                                419C83E11FE247F20040C30F /* dtlstransport.cc in Sources */,
-                               41DDB254212678E400296D47 /* platform_thread_types.cc in Sources */,
                                419C83DE1FE247F20040C30F /* dtlstransportinternal.cc in Sources */,
-                               41E02CB02127352D00C27CD6 /* trendline_estimator.cc in Sources */,
                                5CDD8A261E43BFB300621E92 /* dtmf_buffer.cc in Sources */,
-                               4102F6C9212733B7006AE8D7 /* video_quality_observer.cc in Sources */,
                                5CDD88771E43BE3C00621E92 /* dtmf_queue.cc in Sources */,
                                5CDD8A291E43BFB300621E92 /* dtmf_tone_generator.cc in Sources */,
                                5CD284F41E6A60570094FDC8 /* dtmfsender.cc in Sources */,
-                               419241E321275A3000634FCF /* timestamp.cc in Sources */,
                                5CDD8F8A1E43CBE000621E92 /* dtx_controller.cc in Sources */,
                                5CDD86C11E43B9C200621E92 /* echo_cancellation.cc in Sources */,
                                5CDD84AE1E43AF1300621E92 /* echo_cancellation_impl.cc in Sources */,
-                               4102F6A421273262006AE8D7 /* audio_level.cc in Sources */,
-                               419241D3212759A100634FCF /* fec_private_tables_random.cc in Sources */,
+                               415F1FC02127304C00064CBF /* echo_cancellation_proxy.cc in Sources */,
                                5CD285B81E6A63430094FDC8 /* echo_canceller3.cc in Sources */,
-                               41F2639A21267F5E00274F59 /* pa_ringbuffer.c in Sources */,
                                5CDD85EA1E43B81000621E92 /* echo_control_mobile.cc in Sources */,
-                               419241F121275B2B00634FCF /* simulcast_encoder_adapter.cc in Sources */,
-                               416D3BE8212731C200775F09 /* noise_spectrum_estimator.cc in Sources */,
                                5CDD84B01E43AF1300621E92 /* echo_control_mobile_impl.cc in Sources */,
+                               415F1FBE2127304C00064CBF /* echo_control_mobile_proxy.cc in Sources */,
                                5CD285BA1E6A63430094FDC8 /* echo_path_delay_estimator.cc in Sources */,
-                               419241C42127593F00634FCF /* bandwidth_sampler.cc in Sources */,
                                5CD285BC1E6A63430094FDC8 /* echo_path_variability.cc in Sources */,
                                5CD285C01E6A63430094FDC8 /* echo_remover.cc in Sources */,
                                5CD285BE1E6A63430094FDC8 /* echo_remover_metrics.cc in Sources */,
                                5CDD8A951E43C00F00621E92 /* encode_neteq_input.cc in Sources */,
                                5CDD83CC1E439A6F00621E92 /* encoded_frame.cc in Sources */,
                                41A08BAB212681C8001D5D7B /* encoded_frame.cc in Sources */,
+                               41E02C88212734B900C27CD6 /* encoder_database.cc in Sources */,
                                5CDD859F1E43B5C000621E92 /* encoder_rtcp_feedback.cc in Sources */,
                                5CDD86511E43B8B500621E92 /* energy.c in Sources */,
                                5CDD8B981E43C2B500621E92 /* energy_inverse.c in Sources */,
                                5CDD8B9A1E43C2B500621E92 /* enh_upsample.c in Sources */,
-                               41E02CBE2127356A00C27CD6 /* sslcertificate.cc in Sources */,
                                5CDD8B9E1E43C2B500621E92 /* enhancer.c in Sources */,
                                5CDD8B9C1E43C2B500621E92 /* enhancer_interface.c in Sources */,
                                5CDD87B81E43BC0500621E92 /* entropy_coding.c in Sources */,
                                5CD285C21E6A63430094FDC8 /* erl_estimator.cc in Sources */,
                                5CD285C41E6A63430094FDC8 /* erle_estimator.cc in Sources */,
                                419C84921FE2591F0040C30F /* err_data.c in Sources */,
-                               4102F6DC21273416006AE8D7 /* color_space.cc in Sources */,
-                               41E02C7A2127347400C27CD6 /* rtp_generic_frame_descriptor.cc in Sources */,
                                5C4B4CD21E4320A9002651C8 /* event.cc in Sources */,
                                413A23B71FE18E0800373E99 /* event.cc in Sources */,
                                5CD286141E6A66130094FDC8 /* event_log_writer.cc in Sources */,
                                413A238F1FE18E0700373E99 /* event_tracer.cc in Sources */,
                                419C834F1FE246650040C30F /* exp_filter.cc in Sources */,
                                5CDD8A2C1E43BFB300621E92 /* expand.cc in Sources */,
+                               4102F6AE212732E7006AE8D7 /* expand_uma_logger.cc in Sources */,
                                5CDD894A1E43BF3A00621E92 /* extended_jitter_report.cc in Sources */,
                                5CDD894D1E43BF3A00621E92 /* extended_reports.cc in Sources */,
-                               41E02C8D212734B900C27CD6 /* video_coding_defines.cc in Sources */,
                                5CDD8A971E43C00F00621E92 /* fake_decode_from_file.cc in Sources */,
+                               41299B962127369100B3414B /* fake_network_pipe.cc in Sources */,
                                413A23101FE18E0700373E99 /* fakeclock.cc in Sources */,
                                413A23CC1FE18E0800373E99 /* fakesslidentity.cc in Sources */,
+                               4192413A2127372400634FCF /* features_extraction.cc in Sources */,
+                               41E02C8A212734B900C27CD6 /* fec_controller_default.cc in Sources */,
                                419C830C1FE20F3C0040C30F /* fec_controller_rplr_based.cc in Sources */,
+                               419241902127581000634FCF /* fec_private_tables_bursty.cc in Sources */,
+                               419241D3212759A100634FCF /* fec_private_tables_random.cc in Sources */,
                                5CDD887B1E43BE3C00621E92 /* fec_test_helper.cc in Sources */,
+                               41F2638A21267F4000274F59 /* fft.c in Sources */,
                                41433CEA1F79B33400387B4D /* fft.c in Sources */,
+                               41F2636E21267B3E00274F59 /* fft4g.c in Sources */,
                                41F9BFD72051DDE500ABF0B9 /* fft_buffer.cc in Sources */,
+                               4192413D2127372400634FCF /* fft_util.cc in Sources */,
                                5C4B4CD31E4320A9002651C8 /* field_trial_default.cc in Sources */,
+                               4192416E2127389B00634FCF /* field_trial_parser.cc in Sources */,
+                               419241E821275A7600634FCF /* field_trial_units.cc in Sources */,
                                413A22E61FE18E0700373E99 /* file.cc in Sources */,
                                5C11A0211E457578004F0987 /* file_audio_device.cc in Sources */,
                                5C11A01F1E457578004F0987 /* file_audio_device_factory.cc in Sources */,
                                413A23D81FE18E0800373E99 /* file_posix.cc in Sources */,
                                5CDD8C8B1E43C66000621E92 /* file_utils.cc in Sources */,
+                               41F263AC212680A800274F59 /* file_wrapper.cc in Sources */,
                                413A23DA1FE18E0800373E99 /* filerotatingstream.cc in Sources */,
                                413A23B51FE18E0800373E99 /* fileutils.cc in Sources */,
                                5CDD86551E43B8B500621E92 /* filter_ar.c in Sources */,
                                5CDD86541E43B8B500621E92 /* filter_ar_fast_q12.c in Sources */,
-                               419241992127586500634FCF /* rnn_vad_weights.cc in Sources */,
                                5CDD87BC1E43BC0500621E92 /* filter_functions.c in Sources */,
                                5CDD86561E43B8B500621E92 /* filter_ma_fast_q12.c in Sources */,
                                41433D271F79B33400387B4D /* filterbank_tables.c in Sources */,
                                41433D061F79B33400387B4D /* filterbanks.c in Sources */,
                                5CDD87BF1E43BC0500621E92 /* filterbanks.c in Sources */,
                                5CDD8BA01E43C2B500621E92 /* filtered_cb_vecs.c in Sources */,
-                               4192413D2127372400634FCF /* fft_util.cc in Sources */,
                                41433D041F79B33400387B4D /* filters.c in Sources */,
                                5C11A0031E457400004F0987 /* fine_audio_buffer.cc in Sources */,
                                5CDD89501E43BF3A00621E92 /* fir.cc in Sources */,
                                419C831B1FE242B20040C30F /* fir_filter_c.cc in Sources */,
                                419C831D1FE242B20040C30F /* fir_filter_factory.cc in Sources */,
                                5C4B4C6A1E431F9C002651C8 /* fir_filter_sse.cc in Sources */,
-                               4192424121276F0200634FCF /* VideoToolBoxDecoderFactory.cpp in Sources */,
+                               415F1FAD21272FBA00064CBF /* fixed_digital_level_estimator.cc in Sources */,
+                               416D3BE3212731C200775F09 /* fixed_gain_controller.cc in Sources */,
                                413A217D1FE18D7800373E99 /* flags.cc in Sources */,
                                5CDD887E1E43BE3C00621E92 /* flexfec_header_reader_writer.cc in Sources */,
+                               4102F6BC21273382006AE8D7 /* flexfec_receive_stream.cc in Sources */,
                                5CD284B91E6A5F9F0094FDC8 /* flexfec_receive_stream_impl.cc in Sources */,
                                5CDD88831E43BE3C00621E92 /* flexfec_receiver.cc in Sources */,
                                5CDD88851E43BE3C00621E92 /* flexfec_sender.cc in Sources */,
-                               41DDB2592126792800296D47 /* zero_memory.cc in Sources */,
                                5CDD88881E43BE3C00621E92 /* forward_error_correction.cc in Sources */,
                                5CDD88861E43BE3C00621E92 /* forward_error_correction_internal.cc in Sources */,
                                5CD285C91E6A63430094FDC8 /* frame_blocker.cc in Sources */,
                                5CDD83791E439A3500621E92 /* frame_dropper.cc in Sources */,
                                5CDD8F901E43CBE000621E92 /* frame_length_controller.cc in Sources */,
                                5CDD83D31E439A6F00621E92 /* frame_object.cc in Sources */,
+                               41F2638D21267F4900274F59 /* g711.c in Sources */,
                                4140B8241E4E3383007409E6 /* g711_interface.c in Sources */,
+                               41F2639421267F5300274F59 /* g722_decode.c in Sources */,
+                               41F2639221267F5300274F59 /* g722_encode.c in Sources */,
                                4140B8381E4E3396007409E6 /* g722_interface.c in Sources */,
-                               41F2635F21267ADF00274F59 /* builtin_video_decoder_factory.cc in Sources */,
+                               415F1FAF21272FBA00064CBF /* gain_applier.cc in Sources */,
                                5CDD84B21E43AF1300621E92 /* gain_control_for_experimental_agc.cc in Sources */,
-                               4102F6A921273262006AE8D7 /* transport_feedback_packet_loss_tracker.cc in Sources */,
                                5CDD84B41E43AF1300621E92 /* gain_control_impl.cc in Sources */,
+                               41A08BD021272EE2001D5D7B /* gain_controller2.cc in Sources */,
+                               415F1FB121272FBA00064CBF /* gain_curve_applier.cc in Sources */,
                                5CDD8BA41E43C2B500621E92 /* gain_dequant.c in Sources */,
                                5CDD8BA61E43C2B500621E92 /* gain_quant.c in Sources */,
-                               4192413E2127372400634FCF /* lp_residual.cc in Sources */,
-                               41F2638D21267F4900274F59 /* g711.c in Sources */,
                                5CDD83D51E439A6F00621E92 /* generic_decoder.cc in Sources */,
                                5CDD83D71E439A6F00621E92 /* generic_encoder.cc in Sources */,
                                5CDD8BA81E43C2B500621E92 /* get_cd_vec.c in Sources */,
                                5CDD86571E43B8B500621E92 /* get_hanning_window.c in Sources */,
                                5CDD8BAA1E43C2B500621E92 /* get_lsp_poly.c in Sources */,
                                5CDD86581E43B8B500621E92 /* get_scaling_square.c in Sources */,
-                               419241C92127593F00634FCF /* bbr_factory.cc in Sources */,
                                5CDD8BAC1E43C2B500621E92 /* get_sync_seq.c in Sources */,
                                5CDD87291E43BABE00621E92 /* gmm.cc in Sources */,
+                               41E02CA92127352D00C27CD6 /* goog_cc_factory.cc in Sources */,
+                               41E02CB62127352D00C27CD6 /* goog_cc_network_control.cc in Sources */,
                                5CDD85581E43B42B00621E92 /* h264.cc in Sources */,
                                5CDD83541E43257200621E92 /* h264_bitstream_parser.cc in Sources */,
                                5CDD83561E43257200621E92 /* h264_common.cc in Sources */,
                                4145E4BF1EF894F600FCF6E6 /* h264_profile_level_id.cc in Sources */,
                                5CD285EA1E6A639F0094FDC8 /* h264_sprop_parameter_sets.cc in Sources */,
-                               4192418E212749C800634FCF /* transport_feedback_adapter.cc in Sources */,
                                5CDD83D91E439A6F00621E92 /* h264_sps_pps_tracker.cc in Sources */,
-                               41F263BB2126811500274F59 /* sigslot.cc in Sources */,
                                419C84691FE255FA0040C30F /* handshake.cc in Sources */,
-                               41299B912127367B00B3414B /* isac_vad.c in Sources */,
                                419C84891FE2574D0040C30F /* handshake_client.cc in Sources */,
-                               41299B962127369100B3414B /* fake_network_pipe.cc in Sources */,
                                419C848B1FE2574D0040C30F /* handshake_server.cc in Sources */,
                                41ECEAD82064147C009D5141 /* helpers.cc in Sources */,
                                413A236E1FE18E0700373E99 /* helpers.cc in Sources */,
-                               419241612127385B00634FCF /* rw_lock_wrapper.cc in Sources */,
-                               41E02CB22127352D00C27CD6 /* probe_bitrate_estimator.cc in Sources */,
                                5CDD83DB1E439A6F00621E92 /* histogram.cc in Sources */,
                                419C83511FE246650040C30F /* histogram_percentile_counter.cc in Sources */,
-                               41AF2D14212CD6AF00D033D5 /* RTCVideoDecoderH264.mm in Sources */,
                                5CDD8BAE1E43C2B500621E92 /* hp_input.c in Sources */,
                                5CDD8BB01E43C2B500621E92 /* hp_output.c in Sources */,
                                413A23071FE18E0700373E99 /* httpbase.cc in Sources */,
                                413A236D1FE18E0700373E99 /* httpcommon.cc in Sources */,
+                               4102F6E021273416006AE8D7 /* i010_buffer.cc in Sources */,
                                5CDD90501E43D0E900621E92 /* i420.cc in Sources */,
                                5CD284671E6A57F40094FDC8 /* i420_buffer.cc in Sources */,
                                5C4B4C1B1E431F75002651C8 /* i420_buffer_pool.cc in Sources */,
-                               41924244212771B700634FCF /* objc_video_encoder_factory.mm in Sources */,
+                               41A08BC421269577001D5D7B /* icelogger.cc in Sources */,
                                413091F81EF8CFBD00757C55 /* iceserverparsing.cc in Sources */,
                                419C83E01FE247F20040C30F /* icetransportinternal.cc in Sources */,
                                413A23741FE18E0700373E99 /* ifaddrs_converter.cc in Sources */,
                                5CDD8A9A1E43C00F00621E92 /* input_audio_file.cc in Sources */,
                                5CDD8FD51E43CD6600621E92 /* inter_arrival.cc in Sources */,
                                5CDD83DD1E439A6F00621E92 /* inter_frame_delay.cc in Sources */,
-                               41F2637E21267B7700274F59 /* audio_options.cc in Sources */,
                                5CD2852F1E6A61110094FDC8 /* internaldecoderfactory.cc in Sources */,
                                5CD285311E6A61110094FDC8 /* internalencoderfactory.cc in Sources */,
                                5CDD8BBF1E43C2B500621E92 /* interpolate.c in Sources */,
                                5CDD8BBD1E43C2B500621E92 /* interpolate_samples.c in Sources */,
+                               415F1FB221272FBA00064CBF /* interpolated_gain_curve.cc in Sources */,
                                419C829A1FE20CA10040C30F /* interval_budget.cc in Sources */,
                                5CDD87C01E43BC0500621E92 /* intialize.c in Sources */,
                                413A23ED1FE18E0800373E99 /* ipaddress.cc in Sources */,
                                5CDD87C31E43BC0500621E92 /* isac.c in Sources */,
+                               41299B912127367B00B3414B /* isac_vad.c in Sources */,
                                41433D2A1F79B33400387B4D /* isacfix.c in Sources */,
                                5CDD837B1E439A3500621E92 /* ivf_file_writer.cc in Sources */,
                                5CDD83E11E439A6F00621E92 /* jitter_buffer.cc in Sources */,
                                5CDD83E31E439A6F00621E92 /* jitter_estimator.cc in Sources */,
                                41F9BF862051C80100ABF0B9 /* jsep.cc in Sources */,
                                5CD284741E6A5D280094FDC8 /* jsepicecandidate.cc in Sources */,
+                               41F2638421267B7700274F59 /* jsepicecandidate.cc in Sources */,
                                5CD284721E6A5D080094FDC8 /* jsepsessiondescription.cc in Sources */,
                                41F9BFE32051DE1800ABF0B9 /* jseptransport.cc in Sources */,
-                               41F2639E2126800000274F59 /* aligned_malloc.cc in Sources */,
+                               4102F69021273206006AE8D7 /* jseptransportcontroller.cc in Sources */,
                                413A23301FE18E0700373E99 /* json.cc in Sources */,
+                               4192419A2127586500634FCF /* kiss_fft.cc in Sources */,
                                5C4B4C701E431F9C002651C8 /* lapped_transform.cc in Sources */,
                                5CDD87C41E43BC0500621E92 /* lattice.c in Sources */,
                                41433CF21F79B33400387B4D /* lattice.c in Sources */,
                                5CDD841F1E439B2900621E92 /* legacy_encoded_audio_frame.cc in Sources */,
                                5CDD84B81E43AF1300621E92 /* level_estimator_impl.cc in Sources */,
                                5CDD865A1E43B8B500621E92 /* levinson_durbin.c in Sources */,
+                               416D3BE6212731C200775F09 /* limiter.cc in Sources */,
                                5CD284F61E6A60570094FDC8 /* localaudiosource.cc in Sources */,
                                413A23EB1FE18E0800373E99 /* location.cc in Sources */,
                                5CDD8C0F1E43C34600621E92 /* locked_bandwidth_info.cc in Sources */,
                                413A22CA1FE18E0700373E99 /* logging.cc in Sources */,
                                413A22C01FE18E0700373E99 /* logging_mac.mm in Sources */,
-                               419241862127499300634FCF /* packet_queue_interface.cc in Sources */,
                                413A23BE1FE18E0800373E99 /* logsinks.cc in Sources */,
+                               419241C52127593F00634FCF /* loss_rate_filter.cc in Sources */,
                                5CDD87051E43BA7500621E92 /* loudness_histogram.cc in Sources */,
                                5CD2855D1E6A62ED0094FDC8 /* low_cut_filter.cc in Sources */,
+                               4192413E2127372400634FCF /* lp_residual.cc in Sources */,
                                5CDD87C51E43BC0500621E92 /* lpc_analysis.c in Sources */,
                                5CDD8BC11E43C2B500621E92 /* lpc_encode.c in Sources */,
                                5CDD87C71E43BC0500621E92 /* lpc_gain_swb_tables.c in Sources */,
                                41433CEE1F79B33400387B4D /* lpc_masking_model.c in Sources */,
-                               419241F521275C3200634FCF /* vp8_encoder_simulcast_proxy.cc in Sources */,
                                5CDD87C91E43BC0500621E92 /* lpc_shape_swb12_tables.c in Sources */,
                                5CDD87CB1E43BC0500621E92 /* lpc_shape_swb16_tables.c in Sources */,
                                5CDD87CD1E43BC0500621E92 /* lpc_tables.c in Sources */,
                                41433D1E1F79B33400387B4D /* lpc_tables.c in Sources */,
                                5CDD865B1E43B8B500621E92 /* lpc_to_refl_coef.c in Sources */,
                                5CDD8BC31E43C2B500621E92 /* lsf_check.c in Sources */,
-                               419241522127376F00634FCF /* regatheringcontroller.cc in Sources */,
-                               41E02CB62127352D00C27CD6 /* goog_cc_network_control.cc in Sources */,
                                5CDD8BC51E43C2B500621E92 /* lsf_interpolate_to_poly_dec.c in Sources */,
                                5CDD8BC71E43C2B500621E92 /* lsf_interpolate_to_poly_enc.c in Sources */,
-                               4102F6E021273416006AE8D7 /* i010_buffer.cc in Sources */,
                                5CDD8BC91E43C2B500621E92 /* lsf_to_lsp.c in Sources */,
                                5CDD8BCB1E43C2B500621E92 /* lsf_to_poly.c in Sources */,
                                5CDD8BCD1E43C2B500621E92 /* lsp_to_lsf.c in Sources */,
                                413A23381FE18E0700373E99 /* macutils.cc in Sources */,
                                5CD285CB1E6A63430094FDC8 /* main_filter_update_gain.cc in Sources */,
                                5CD285CF1E6A63430094FDC8 /* matched_filter.cc in Sources */,
-                               416D3BDE212731C200775F09 /* adaptive_mode_level_estimator.cc in Sources */,
                                5CD285CD1E6A63430094FDC8 /* matched_filter_lag_aggregator.cc in Sources */,
                                41F9BFD42051DDE500ABF0B9 /* matrix_buffer.cc in Sources */,
                                5CDD86A41E43B99400621E92 /* mean_variance_estimator.cc in Sources */,
                                5CDD83E51E439A6F00621E92 /* media_opt_util.cc in Sources */,
                                5CDD83E71E439A6F00621E92 /* media_optimization.cc in Sources */,
+                               4102F6B321273331006AE8D7 /* mediachannel.cc in Sources */,
                                5C4B48E61E42C1E3002651C8 /* mediaconstants.cc in Sources */,
                                5C63F9481E41737B002CA531 /* mediaconstraintsinterface.cc in Sources */,
                                5C4B48E81E42C1E3002651C8 /* mediaengine.cc in Sources */,
+                               41E02CB12127352D00C27CD6 /* median_slope_estimator.cc in Sources */,
                                5CD284FA1E6A60570094FDC8 /* mediastream.cc in Sources */,
                                5CD286401E6A683A0094FDC8 /* mediastreaminterface.cc in Sources */,
                                5CD284FC1E6A60570094FDC8 /* mediastreamobserver.cc in Sources */,
                                413A22B31FE18E0700373E99 /* nethelper.cc in Sources */,
                                413A23A11FE18E0800373E99 /* nethelpers.cc in Sources */,
                                413A23E61FE18E0800373E99 /* network.cc in Sources */,
+                               41E02CCD212735B700C27CD6 /* network_types.cc in Sources */,
                                413A238B1FE18E0700373E99 /* networkmonitor.cc in Sources */,
+                               416D3BE7212731C200775F09 /* noise_level_estimator.cc in Sources */,
+                               416D3BE8212731C200775F09 /* noise_spectrum_estimator.cc in Sources */,
                                5CDD85FE1E43B84E00621E92 /* noise_suppression.c in Sources */,
-                               41A08BD421272EFA001D5D7B /* round_robin_packet_queue.cc in Sources */,
                                5CDD84E91E43B0B600621E92 /* noise_suppression_impl.cc in Sources */,
                                5CDD85FC1E43B84E00621E92 /* noise_suppression_x.c in Sources */,
                                413A235F1FE18E0700373E99 /* noop.cc in Sources */,
                                413A23EE1FE18E0800373E99 /* noop.mm in Sources */,
-                               419241702127389B00634FCF /* quality_scaling_experiment.cc in Sources */,
                                5CDD8A3D1E43BFB300621E92 /* normal.cc in Sources */,
-                               419241A02127588300634FCF /* audio_codec_pair_id.cc in Sources */,
                                5CDD86A71E43B99400621E92 /* normalized_covariance_estimator.cc in Sources */,
                                5CDD86001E43B84E00621E92 /* ns_core.c in Sources */,
-                               4102F69321273206006AE8D7 /* rtpparametersconversion.cc in Sources */,
-                               415F1FCE212730F000064CBF /* audio_frame.cc in Sources */,
-                               415F1FA621272FBA00064CBF /* adaptive_digital_gain_applier.cc in Sources */,
                                41ECEAC220640F28009D5141 /* NSString+StdString.mm in Sources */,
                                5CDD86051E43B84E00621E92 /* nsx_core.c in Sources */,
                                5CDD86021E43B84E00621E92 /* nsx_core_c.c in Sources */,
                                41F411AD1EF8D91F00343C26 /* null_aec_dump_factory.cc in Sources */,
-                               4192423D212768BD00634FCF /* objc_frame_buffer.mm in Sources */,
                                419C83B31FE2472E0040C30F /* null_audio_poller.cc in Sources */,
                                413A23D21FE18E0800373E99 /* nullsocketserver.cc in Sources */,
+                               4192423D212768BD00634FCF /* objc_frame_buffer.mm in Sources */,
+                               41924245212771BB00634FCF /* objc_video_decoder_factory.mm in Sources */,
+                               41924244212771B700634FCF /* objc_video_encoder_factory.mm in Sources */,
+                               41924246212771DC00634FCF /* objc_video_frame.mm in Sources */,
                                5CDD86941E43B93900621E92 /* ooura_fft.cc in Sources */,
                                5CDD86911E43B93900621E92 /* ooura_fft_sse2.cc in Sources */,
   &