Unreviewed, rolling out r224428, r224435, and r224440.
authorryanhaddad@apple.com <ryanhaddad@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 3 Nov 2017 23:32:07 +0000 (23:32 +0000)
committerryanhaddad@apple.com <ryanhaddad@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 3 Nov 2017 23:32:07 +0000 (23:32 +0000)
https://bugs.webkit.org/show_bug.cgi?id=179274

Broke iOS and internal builds (Requested by ryanhaddad on
#webkit).

Reverted changesets:

"Use VCP H264 encoder for platforms supporting it"
https://bugs.webkit.org/show_bug.cgi?id=179076
https://trac.webkit.org/changeset/224428

"Use VCP H264 encoder for platforms supporting it"
https://bugs.webkit.org/show_bug.cgi?id=179076
https://trac.webkit.org/changeset/224435

"Use VCP H264 encoder for platforms supporting it"
https://bugs.webkit.org/show_bug.cgi?id=179076
https://trac.webkit.org/changeset/224440

Patch by Commit Queue <commit-queue@webkit.org> on 2017-11-03

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

14 files changed:
Source/ThirdParty/libwebrtc/ChangeLog
Source/ThirdParty/libwebrtc/Configurations/libwebrtc.iOS.exp
Source/ThirdParty/libwebrtc/Configurations/libwebrtc.iOSsim.exp
Source/ThirdParty/libwebrtc/Configurations/libwebrtc.mac.exp
Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig
Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.h [deleted file]
Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm [deleted file]
Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.mm
Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/videocodecfactory.h
Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/videocodecfactory.mm
Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj
Source/WebCore/ChangeLog
Source/WebCore/platform/mediastream/libwebrtc/VideoToolBoxEncoderFactory.cpp
Source/WebCore/platform/mediastream/libwebrtc/VideoToolBoxEncoderFactory.h

index f69dde1..51813c2 100644 (file)
@@ -1,3 +1,25 @@
+2017-11-03  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r224428, r224435, and r224440.
+        https://bugs.webkit.org/show_bug.cgi?id=179274
+
+        Broke iOS and internal builds (Requested by ryanhaddad on
+        #webkit).
+
+        Reverted changesets:
+
+        "Use VCP H264 encoder for platforms supporting it"
+        https://bugs.webkit.org/show_bug.cgi?id=179076
+        https://trac.webkit.org/changeset/224428
+
+        "Use VCP H264 encoder for platforms supporting it"
+        https://bugs.webkit.org/show_bug.cgi?id=179076
+        https://trac.webkit.org/changeset/224435
+
+        "Use VCP H264 encoder for platforms supporting it"
+        https://bugs.webkit.org/show_bug.cgi?id=179076
+        https://trac.webkit.org/changeset/224440
+
 2017-11-03  Youenn Fablet  <youenn@apple.com>
 
         Use VCP H264 encoder for platforms supporting it
index 4c52dd4..34a845c 100644 (file)
@@ -2029,8 +2029,6 @@ __ZN6webrtc28SendSideCongestionControllerD2Ev
 __ZN6webrtc29RTCStatsIceCandidatePairState11kInProgressE
 __ZN6webrtc30ParseDataChannelOpenAckMessageERKN3rtc17CopyOnWriteBufferE
 __ZN6webrtc30WriteDataChannelOpenAckMessageEPN3rtc17CopyOnWriteBufferE
-__ZN6webrtc32createH264VideoToolboxEncoderVCPERKN7cricket10VideoCodecE
-__ZN6webrtc32deleteH264VideoToolboxEncoderVCPEPNS_26H264VideoToolboxEncoderVCPE
 __ZN6webrtc31VideoToolboxVideoDecoderFactory18CreateVideoDecoderENS_14VideoCodecTypeE
 __ZN6webrtc31VideoToolboxVideoDecoderFactory19DestroyVideoDecoderEPNS_12VideoDecoderE
 __ZN6webrtc31VideoToolboxVideoDecoderFactoryC1Ev
index d2f6f23..de18bb9 100644 (file)
@@ -1805,8 +1805,6 @@ __ZN6webrtc23AudioNetworkAdaptorImpl6ConfigC1Ev
 __ZN6webrtc23AudioNetworkAdaptorImpl6ConfigD1Ev
 __ZN6webrtc23AudioNetworkAdaptorImpl6SetRttEi
 __ZN6webrtc23AudioNetworkAdaptorImplC1ERKNS0_6ConfigENSt3__110unique_ptrINS_17ControllerManagerENS4_14default_deleteIS6_EEEENS5_INS_15DebugDumpWriterENS7_ISA_EEEE
-__ZN6webrtc32createH264VideoToolboxEncoderVCPERKN7cricket10VideoCodecE
-__ZN6webrtc32deleteH264VideoToolboxEncoderVCPEPNS_26H264VideoToolboxEncoderVCPE
 __ZN6webrtc23H264VideoToolboxEncoder10InitEncodeEPKNS_10VideoCodecEim
 __ZN6webrtc23H264VideoToolboxEncoder13SetBitrateBpsEj
 __ZN6webrtc23H264VideoToolboxEncoder14OnEncodedFrameEijP20opaqueCMSampleBufferNS_17CodecSpecificInfoEiixjNS_13VideoRotationE
index a274d78..78d5f7b 100644 (file)
@@ -1803,8 +1803,6 @@ __ZN6webrtc23AudioNetworkAdaptorImpl6ConfigC1Ev
 __ZN6webrtc23AudioNetworkAdaptorImpl6ConfigD1Ev
 __ZN6webrtc23AudioNetworkAdaptorImpl6SetRttEi
 __ZN6webrtc23AudioNetworkAdaptorImplC1ERKNS0_6ConfigENSt3__110unique_ptrINS_17ControllerManagerENS4_14default_deleteIS6_EEEENS5_INS_15DebugDumpWriterENS7_ISA_EEEE
-__ZN6webrtc32createH264VideoToolboxEncoderVCPERKN7cricket10VideoCodecE
-__ZN6webrtc32deleteH264VideoToolboxEncoderVCPEPNS_26H264VideoToolboxEncoderVCPE
 __ZN6webrtc23H264VideoToolboxEncoder10InitEncodeEPKNS_10VideoCodecEim
 __ZN6webrtc23H264VideoToolboxEncoder13SetBitrateBpsEj
 __ZN6webrtc23H264VideoToolboxEncoder14OnEncodedFrameEijP20opaqueCMSampleBufferNS_17CodecSpecificInfoEiixjNS_13VideoRotationE
index d005944..6632613 100644 (file)
@@ -39,5 +39,3 @@ GCC_PREPROCESSOR_DEFINITIONS[sdk=iphonesimulator*] = $(inherited) WEBRTC_IOS;
 EXCLUDED_SOURCE_FILE_NAMES[sdk=iphoneos*] = *_sse.cc *_sse2.cc macutils.cc macwindowpicker.cc audio_device_mac.cc audio_mixer_manager_mac.cc;
 EXCLUDED_SOURCE_FILE_NAMES[sdk=iphonesimulator*] = macutils.cc macwindowpicker.cc audio_device_mac.cc audio_mixer_manager_mac.cc;
 EXCLUDED_SOURCE_FILE_NAMES[sdk=macosx*] = voice_processing_audio_unit.mm;
-
-OTHER_LDFLAGS[sdk=macosx10.13*] = $(inherited) -framework VideoProcessing;
diff --git a/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.h b/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.h
deleted file mode 100644 (file)
index 2b7b85b..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- *  Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
- *  Copyright (c) 2017 Apple Inc. All Rights Reserved.
- *
- *  Use of this source code is governed by a BSD-style license
- *  that can be found in the LICENSE file in the root of the source
- *  tree. An additional intellectual property rights grant can be found
- *  in the file PATENTS.  All contributing project authors may
- *  be found in the AUTHORS file in the root of the source tree.
- *
- */
-
-#pragma once
-
-#ifdef __APPLE__
-#include <Availability.h>
-#include <AvailabilityMacros.h>
-#include <TargetConditionals.h>
-
-#define IS_MAC_OS (defined(TARGET_OS_MAC)  && TARGET_OS_MAC)
-#define IS_IOS (defined(TARGET_OS_IPHONE)  && TARGET_OS_IPHONE)
-#define IS_IOS_SIMULATOR (defined(TARGET_IPHONE_SIMULATOR)  && TARGET_IPHONE_SIMULATOR)
-
-// FIXME: Activate VCP for iOS/iOS simulator
-#if IS_MAC_OS && !IS_IOS && !IS_IOS_SIMULATOR
-
-#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 101304
-#define ENABLE_VCP_ENCODER 1
-#else
-#define ENABLE_VCP_ENCODER 0
-#endif
-
-#endif
-
-#if ENABLE_VCP_ENCODER
-
-#include "webrtc/api/video/video_rotation.h"
-#include "webrtc/base/criticalsection.h"
-#include "webrtc/common_video/h264/h264_bitstream_parser.h"
-#include "webrtc/common_video/include/bitrate_adjuster.h"
-#include "webrtc/media/base/codec.h"
-#include "webrtc/modules/video_coding/codecs/h264/include/h264.h"
-#include "webrtc/modules/video_coding/utility/quality_scaler.h"
-
-#include <VideoProcessing/VideoProcessing.h>
-#include <vector>
-
-// This file provides a H264 encoder implementation using the VideoProcessing APIs.
-
-namespace webrtc {
-
-class H264VideoToolboxEncoderVCP : public H264Encoder {
- public:
-  explicit H264VideoToolboxEncoderVCP(const cricket::VideoCodec& codec);
-
-  ~H264VideoToolboxEncoderVCP() override;
-
-  int InitEncode(const VideoCodec* codec_settings,
-                 int number_of_cores,
-                 size_t max_payload_size) override;
-
-  int Encode(const VideoFrame& input_image,
-             const CodecSpecificInfo* codec_specific_info,
-             const std::vector<FrameType>* frame_types) override;
-
-  int RegisterEncodeCompleteCallback(EncodedImageCallback* callback) override;
-
-  int SetChannelParameters(uint32_t packet_loss, int64_t rtt) override;
-
-  int SetRates(uint32_t new_bitrate_kbit, uint32_t frame_rate) override;
-
-  int Release() override;
-
-  const char* ImplementationName() const override;
-
-  bool SupportsNativeHandle() const override;
-
-  void OnEncodedFrame(OSStatus status,
-                      VTEncodeInfoFlags info_flags,
-                      CMSampleBufferRef sample_buffer,
-                      CodecSpecificInfo codec_specific_info,
-                      int32_t width,
-                      int32_t height,
-                      int64_t render_time_ms,
-                      uint32_t timestamp,
-                      VideoRotation rotation);
-
-  ScalingSettings GetScalingSettings() const override;
-
-  void SetActive(bool is_active) { is_active_ = is_active; }
-
- protected:
-  virtual int CreateCompressionSession(VCPCompressionSessionRef&, VTCompressionOutputCallback, int32_t width, int32_t height, bool useHardwareEncoder = true);
-  void DestroyCompressionSession();
-
- private:
-  int ResetCompressionSession();
-  void ConfigureCompressionSession();
-  rtc::scoped_refptr<VideoFrameBuffer> GetScaledBufferOnEncode(
-      const rtc::scoped_refptr<VideoFrameBuffer>& frame);
-  void SetBitrateBps(uint32_t bitrate_bps);
-  void SetEncoderBitrateBps(uint32_t bitrate_bps);
-
-  EncodedImageCallback* callback_;
-  VCPCompressionSessionRef compression_session_;
-  BitrateAdjuster bitrate_adjuster_;
-  H264PacketizationMode packetization_mode_;
-  uint32_t target_bitrate_bps_;
-  uint32_t encoder_bitrate_bps_;
-  int32_t width_;
-  int32_t height_;
-  VideoCodecMode mode_;
-  const CFStringRef profile_;
-
-  H264BitstreamParser h264_bitstream_parser_;
-  std::vector<uint8_t> nv12_scale_buffer_;
-  bool is_active_ { true };
-};  // H264VideoToolboxEncoder
-
-H264VideoToolboxEncoderVCP* createH264VideoToolboxEncoderVCP(const cricket::VideoCodec&);
-void deleteH264VideoToolboxEncoderVCP(H264VideoToolboxEncoderVCP*);
-
-}  // namespace webrtc
-#else
-
-namespace cricket {
-struct VideoCodec;
-}
-
-namespace webrtc {
-class H264VideoToolboxEncoderVCP;
-H264VideoToolboxEncoderVCP* createH264VideoToolboxEncoderVCP(const cricket::VideoCodec&);
-void deleteH264VideoToolboxEncoderVCP(H264VideoToolboxEncoderVCP*);
-}
-
-#endif // ENABLE_VCP_ENCODER
-
-#endif // __APPLE__
diff --git a/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm b/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm
deleted file mode 100644 (file)
index 4948ee1..0000000
+++ /dev/null
@@ -1,800 +0,0 @@
-/*
- *  Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
- *  Copyright (c) 2017 Apple Inc. All Rights Reserved.
- *
- *  Use of this source code is governed by a BSD-style license
- *  that can be found in the LICENSE file in the root of the source
- *  tree. An additional intellectual property rights grant can be found
- *  in the file PATENTS.  All contributing project authors may
- *  be found in the AUTHORS file in the root of the source tree.
- *
- */
-
-#include "webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.h"
-
-#if ENABLE_VCP_ENCODER
-
-#include <memory>
-#include <string>
-#include <vector>
-
-#if defined(WEBRTC_IOS)  && !defined(WEBRTC_WEBKIT_BUILD)
-#import "Common/RTCUIApplicationStatusObserver.h"
-#import "WebRTC/UIDevice+RTCDevice.h"
-#endif
-#include "libyuv/convert_from.h"
-#include "webrtc/base/checks.h"
-#include "webrtc/base/logging.h"
-#include "webrtc/common_video/h264/profile_level_id.h"
-#include "webrtc/sdk/objc/Framework/Classes/Video/corevideo_frame_buffer.h"
-#include "webrtc/sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter.h"
-#include "webrtc/system_wrappers/include/clock.h"
-
-namespace internal {
-
-// The ratio between kVTCompressionPropertyKey_DataRateLimits and
-// kVTCompressionPropertyKey_AverageBitRate. The data rate limit is set higher
-// than the average bit rate to avoid undershooting the target.
-const float kLimitToAverageBitRateFactor = 1.5f;
-// These thresholds deviate from the default h264 QP thresholds, as they
-// have been found to work better on devices that support VideoToolbox
-const int kLowH264QpThreshold = 28;
-const int kHighH264QpThreshold = 39;
-
-// Convenience function for creating a dictionary.
-inline CFDictionaryRef CreateCFDictionary(CFTypeRef* keys,
-                                          CFTypeRef* values,
-                                          size_t size) {
-  return CFDictionaryCreate(kCFAllocatorDefault, keys, values, size,
-                            &kCFTypeDictionaryKeyCallBacks,
-                            &kCFTypeDictionaryValueCallBacks);
-}
-
-// Copies characters from a CFStringRef into a std::string.
-std::string CFStringToString(const CFStringRef cf_string) {
-  RTC_DCHECK(cf_string);
-  std::string std_string;
-  // Get the size needed for UTF8 plus terminating character.
-  size_t buffer_size =
-      CFStringGetMaximumSizeForEncoding(CFStringGetLength(cf_string),
-                                        kCFStringEncodingUTF8) +
-      1;
-  std::unique_ptr<char[]> buffer(new char[buffer_size]);
-  if (CFStringGetCString(cf_string, buffer.get(), buffer_size,
-                         kCFStringEncodingUTF8)) {
-    // Copy over the characters.
-    std_string.assign(buffer.get());
-  }
-  return std_string;
-}
-
-// Convenience function for setting a VT property.
-void SetVTSessionProperty(VCPCompressionSessionRef session,
-                          CFStringRef key,
-                          int32_t value) {
-  CFNumberRef cfNum =
-      CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt32Type, &value);
-  OSStatus status = VCPCompressionSessionSetProperty(session, key, cfNum);
-  CFRelease(cfNum);
-  if (status != noErr) {
-    std::string key_string = CFStringToString(key);
-    LOG(LS_ERROR) << "VTSessionSetProperty failed to set: " << key_string
-                  << " to " << value << ": " << status;
-  }
-}
-
-// Convenience function for setting a VT property.
-void SetVTSessionProperty(VCPCompressionSessionRef session,
-                          CFStringRef key,
-                          uint32_t value) {
-  int64_t value_64 = value;
-  CFNumberRef cfNum =
-      CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt64Type, &value_64);
-  OSStatus status = VCPCompressionSessionSetProperty(session, key, cfNum);
-  CFRelease(cfNum);
-  if (status != noErr) {
-    std::string key_string = CFStringToString(key);
-    LOG(LS_ERROR) << "VTSessionSetProperty failed to set: " << key_string
-                  << " to " << value << ": " << status;
-  }
-}
-
-// Convenience function for setting a VT property.
-void SetVTSessionProperty(VCPCompressionSessionRef session, CFStringRef key, bool value) {
-  CFBooleanRef cf_bool = (value) ? kCFBooleanTrue : kCFBooleanFalse;
-  OSStatus status = VCPCompressionSessionSetProperty(session, key, cf_bool);
-  if (status != noErr) {
-    std::string key_string = CFStringToString(key);
-    LOG(LS_ERROR) << "VTSessionSetProperty failed to set: " << key_string
-                  << " to " << value << ": " << status;
-  }
-}
-
-// Convenience function for setting a VT property.
-void SetVTSessionProperty(VCPCompressionSessionRef session,
-                          CFStringRef key,
-                          CFStringRef value) {
-  OSStatus status = VCPCompressionSessionSetProperty(session, key, value);
-  if (status != noErr) {
-    std::string key_string = CFStringToString(key);
-    std::string val_string = CFStringToString(value);
-    LOG(LS_ERROR) << "VTSessionSetProperty failed to set: " << key_string
-                  << " to " << val_string << ": " << status;
-  }
-}
-
-// Struct that we pass to the encoder per frame to encode. We receive it again
-// in the encoder callback.
-struct FrameEncodeParams {
-  FrameEncodeParams(webrtc::H264VideoToolboxEncoderVCP* e,
-                    const webrtc::CodecSpecificInfo* csi,
-                    int32_t w,
-                    int32_t h,
-                    int64_t rtms,
-                    uint32_t ts,
-                    webrtc::VideoRotation r)
-      : encoder(e),
-        width(w),
-        height(h),
-        render_time_ms(rtms),
-        timestamp(ts),
-        rotation(r) {
-    if (csi) {
-      codec_specific_info = *csi;
-    } else {
-      codec_specific_info.codecType = webrtc::kVideoCodecH264;
-    }
-  }
-
-  webrtc::H264VideoToolboxEncoderVCP* encoder;
-  webrtc::CodecSpecificInfo codec_specific_info;
-  int32_t width;
-  int32_t height;
-  int64_t render_time_ms;
-  uint32_t timestamp;
-  webrtc::VideoRotation rotation;
-};
-
-// We receive I420Frames as input, but we need to feed CVPixelBuffers into the
-// encoder. This performs the copy and format conversion.
-// TODO(tkchin): See if encoder will accept i420 frames and compare performance.
-bool CopyVideoFrameToPixelBuffer(const rtc::scoped_refptr<webrtc::I420BufferInterface>& frame,
-                                 CVPixelBufferRef pixel_buffer) {
-  RTC_DCHECK(pixel_buffer);
-  RTC_DCHECK_EQ(CVPixelBufferGetPixelFormatType(pixel_buffer),
-                kCVPixelFormatType_420YpCbCr8BiPlanarFullRange);
-  RTC_DCHECK_EQ(CVPixelBufferGetHeightOfPlane(pixel_buffer, 0),
-                static_cast<size_t>(frame->height()));
-  RTC_DCHECK_EQ(CVPixelBufferGetWidthOfPlane(pixel_buffer, 0),
-                static_cast<size_t>(frame->width()));
-
-  CVReturn cvRet = CVPixelBufferLockBaseAddress(pixel_buffer, 0);
-  if (cvRet != kCVReturnSuccess) {
-    LOG(LS_ERROR) << "Failed to lock base address: " << cvRet;
-    return false;
-  }
-  uint8_t* dst_y = reinterpret_cast<uint8_t*>(
-      CVPixelBufferGetBaseAddressOfPlane(pixel_buffer, 0));
-  int dst_stride_y = CVPixelBufferGetBytesPerRowOfPlane(pixel_buffer, 0);
-  uint8_t* dst_uv = reinterpret_cast<uint8_t*>(
-      CVPixelBufferGetBaseAddressOfPlane(pixel_buffer, 1));
-  int dst_stride_uv = CVPixelBufferGetBytesPerRowOfPlane(pixel_buffer, 1);
-  // Convert I420 to NV12.
-  int ret = libyuv::I420ToNV12(
-      frame->DataY(), frame->StrideY(),
-      frame->DataU(), frame->StrideU(),
-      frame->DataV(), frame->StrideV(),
-      dst_y, dst_stride_y, dst_uv, dst_stride_uv,
-      frame->width(), frame->height());
-  CVPixelBufferUnlockBaseAddress(pixel_buffer, 0);
-  if (ret) {
-    LOG(LS_ERROR) << "Error converting I420 VideoFrame to NV12 :" << ret;
-    return false;
-  }
-  return true;
-}
-
-CVPixelBufferRef CreatePixelBuffer(CVPixelBufferPoolRef pixel_buffer_pool) {
-  if (!pixel_buffer_pool) {
-    LOG(LS_ERROR) << "Failed to get pixel buffer pool.";
-    return nullptr;
-  }
-  CVPixelBufferRef pixel_buffer;
-  CVReturn ret = CVPixelBufferPoolCreatePixelBuffer(nullptr, pixel_buffer_pool,
-                                                    &pixel_buffer);
-  if (ret != kCVReturnSuccess) {
-    LOG(LS_ERROR) << "Failed to create pixel buffer: " << ret;
-    // We probably want to drop frames here, since failure probably means
-    // that the pool is empty.
-    return nullptr;
-  }
-  return pixel_buffer;
-}
-
-// This is the callback function that VideoToolbox calls when encode is
-// complete. From inspection this happens on its own queue.
-void VTCompressionOutputCallback(void* encoder,
-                                 void* params,
-                                 OSStatus status,
-                                 VTEncodeInfoFlags info_flags,
-                                 CMSampleBufferRef sample_buffer) {
-  std::unique_ptr<FrameEncodeParams> encode_params(
-      reinterpret_cast<FrameEncodeParams*>(params));
-  encode_params->encoder->OnEncodedFrame(
-      status, info_flags, sample_buffer, encode_params->codec_specific_info,
-      encode_params->width, encode_params->height,
-      encode_params->render_time_ms, encode_params->timestamp,
-      encode_params->rotation);
-}
-
-// Extract VideoToolbox profile out of the cricket::VideoCodec. If there is no
-// specific VideoToolbox profile for the specified level, AutoLevel will be
-// returned. The user must initialize the encoder with a resolution and
-// framerate conforming to the selected H264 level regardless.
-CFStringRef ExtractProfile(const cricket::VideoCodec& codec) {
-  const rtc::Optional<webrtc::H264::ProfileLevelId> profile_level_id =
-      webrtc::H264::ParseSdpProfileLevelId(codec.params);
-  RTC_DCHECK(profile_level_id);
-  switch (profile_level_id->profile) {
-    case webrtc::H264::kProfileConstrainedBaseline:
-    case webrtc::H264::kProfileBaseline:
-      switch (profile_level_id->level) {
-        case webrtc::H264::kLevel3:
-          return kVTProfileLevel_H264_Baseline_3_0;
-        case webrtc::H264::kLevel3_1:
-          return kVTProfileLevel_H264_Baseline_3_1;
-        case webrtc::H264::kLevel3_2:
-          return kVTProfileLevel_H264_Baseline_3_2;
-        case webrtc::H264::kLevel4:
-          return kVTProfileLevel_H264_Baseline_4_0;
-        case webrtc::H264::kLevel4_1:
-          return kVTProfileLevel_H264_Baseline_4_1;
-        case webrtc::H264::kLevel4_2:
-          return kVTProfileLevel_H264_Baseline_4_2;
-        case webrtc::H264::kLevel5:
-          return kVTProfileLevel_H264_Baseline_5_0;
-        case webrtc::H264::kLevel5_1:
-          return kVTProfileLevel_H264_Baseline_5_1;
-        case webrtc::H264::kLevel5_2:
-          return kVTProfileLevel_H264_Baseline_5_2;
-        case webrtc::H264::kLevel1:
-        case webrtc::H264::kLevel1_b:
-        case webrtc::H264::kLevel1_1:
-        case webrtc::H264::kLevel1_2:
-        case webrtc::H264::kLevel1_3:
-        case webrtc::H264::kLevel2:
-        case webrtc::H264::kLevel2_1:
-        case webrtc::H264::kLevel2_2:
-          return kVTProfileLevel_H264_Baseline_AutoLevel;
-      }
-
-    case webrtc::H264::kProfileMain:
-      switch (profile_level_id->level) {
-        case webrtc::H264::kLevel3:
-          return kVTProfileLevel_H264_Main_3_0;
-        case webrtc::H264::kLevel3_1:
-          return kVTProfileLevel_H264_Main_3_1;
-        case webrtc::H264::kLevel3_2:
-          return kVTProfileLevel_H264_Main_3_2;
-        case webrtc::H264::kLevel4:
-          return kVTProfileLevel_H264_Main_4_0;
-        case webrtc::H264::kLevel4_1:
-          return kVTProfileLevel_H264_Main_4_1;
-        case webrtc::H264::kLevel4_2:
-          return kVTProfileLevel_H264_Main_4_2;
-        case webrtc::H264::kLevel5:
-          return kVTProfileLevel_H264_Main_5_0;
-        case webrtc::H264::kLevel5_1:
-          return kVTProfileLevel_H264_Main_5_1;
-        case webrtc::H264::kLevel5_2:
-          return kVTProfileLevel_H264_Main_5_2;
-        case webrtc::H264::kLevel1:
-        case webrtc::H264::kLevel1_b:
-        case webrtc::H264::kLevel1_1:
-        case webrtc::H264::kLevel1_2:
-        case webrtc::H264::kLevel1_3:
-        case webrtc::H264::kLevel2:
-        case webrtc::H264::kLevel2_1:
-        case webrtc::H264::kLevel2_2:
-          return kVTProfileLevel_H264_Main_AutoLevel;
-      }
-
-    case webrtc::H264::kProfileConstrainedHigh:
-    case webrtc::H264::kProfileHigh:
-      switch (profile_level_id->level) {
-        case webrtc::H264::kLevel3:
-          return kVTProfileLevel_H264_High_3_0;
-        case webrtc::H264::kLevel3_1:
-          return kVTProfileLevel_H264_High_3_1;
-        case webrtc::H264::kLevel3_2:
-          return kVTProfileLevel_H264_High_3_2;
-        case webrtc::H264::kLevel4:
-          return kVTProfileLevel_H264_High_4_0;
-        case webrtc::H264::kLevel4_1:
-          return kVTProfileLevel_H264_High_4_1;
-        case webrtc::H264::kLevel4_2:
-          return kVTProfileLevel_H264_High_4_2;
-        case webrtc::H264::kLevel5:
-          return kVTProfileLevel_H264_High_5_0;
-        case webrtc::H264::kLevel5_1:
-          return kVTProfileLevel_H264_High_5_1;
-        case webrtc::H264::kLevel5_2:
-          return kVTProfileLevel_H264_High_5_2;
-        case webrtc::H264::kLevel1:
-        case webrtc::H264::kLevel1_b:
-        case webrtc::H264::kLevel1_1:
-        case webrtc::H264::kLevel1_2:
-        case webrtc::H264::kLevel1_3:
-        case webrtc::H264::kLevel2:
-        case webrtc::H264::kLevel2_1:
-        case webrtc::H264::kLevel2_2:
-          return kVTProfileLevel_H264_High_AutoLevel;
-      }
-  }
-}
-
-}  // namespace internal
-
-namespace webrtc {
-
-H264VideoToolboxEncoderVCP* createH264VideoToolboxEncoderVCP(const cricket::VideoCodec& codec)
-{
-    return new H264VideoToolboxEncoderVCP(codec);
-}
-
-void deleteH264VideoToolboxEncoderVCP(H264VideoToolboxEncoderVCP* codec)
-{
-    delete codec;
-}
-
-// .5 is set as a mininum to prevent overcompensating for large temporary
-// overshoots. We don't want to degrade video quality too badly.
-// .95 is set to prevent oscillations. When a lower bitrate is set on the
-// encoder than previously set, its output seems to have a brief period of
-// drastically reduced bitrate, so we want to avoid that. In steady state
-// conditions, 0.95 seems to give us better overall bitrate over long periods
-// of time.
-H264VideoToolboxEncoderVCP::H264VideoToolboxEncoderVCP(const cricket::VideoCodec& codec)
-    : callback_(nullptr),
-      compression_session_(nullptr),
-      bitrate_adjuster_(Clock::GetRealTimeClock(), .5, .95),
-      packetization_mode_(H264PacketizationMode::NonInterleaved),
-      profile_(internal::ExtractProfile(codec)) {
-  LOG(LS_INFO) << "Using profile " << internal::CFStringToString(profile_);
-  RTC_CHECK(cricket::CodecNamesEq(codec.name, cricket::kH264CodecName));
-}
-
-H264VideoToolboxEncoderVCP::~H264VideoToolboxEncoderVCP() {
-  DestroyCompressionSession();
-}
-
-int H264VideoToolboxEncoderVCP::InitEncode(const VideoCodec* codec_settings,
-                                        int number_of_cores,
-                                        size_t max_payload_size) {
-  RTC_DCHECK(codec_settings);
-  RTC_DCHECK_EQ(codec_settings->codecType, kVideoCodecH264);
-
-  width_ = codec_settings->width;
-  height_ = codec_settings->height;
-  mode_ = codec_settings->mode;
-  // We can only set average bitrate on the HW encoder.
-  target_bitrate_bps_ = codec_settings->startBitrate;
-  bitrate_adjuster_.SetTargetBitrateBps(target_bitrate_bps_);
-
-  // TODO(tkchin): Try setting payload size via
-  // kVTCompressionPropertyKey_MaxH264SliceBytes.
-
-  return ResetCompressionSession();
-}
-
-int H264VideoToolboxEncoderVCP::Encode(
-    const VideoFrame& frame,
-    const CodecSpecificInfo* codec_specific_info,
-    const std::vector<FrameType>* frame_types) {
-  // |input_frame| size should always match codec settings.
-  RTC_DCHECK_EQ(frame.width(), width_);
-  RTC_DCHECK_EQ(frame.height(), height_);
-  if (!callback_ || !compression_session_) {
-    return WEBRTC_VIDEO_CODEC_UNINITIALIZED;
-  }
-
-#if defined(WEBRTC_IOS)
-#if !defined(WEBRTC_WEBKIT_BUILD)
-    if (![[RTCUIApplicationStatusObserver sharedInstance] isApplicationActive]) {
-#else
-    if (!is_active_) {
-#endif
-    // Ignore all encode requests when app isn't active. In this state, the
-    // hardware encoder has been invalidated by the OS.
-    return WEBRTC_VIDEO_CODEC_OK;
-  }
-#endif
-  bool is_keyframe_required = false;
-
-  // Get a pixel buffer from the pool and copy frame data over.
-  CVPixelBufferPoolRef pixel_buffer_pool =
-      VCPCompressionSessionGetPixelBufferPool(compression_session_);
-#if defined(WEBRTC_IOS)
-  if (!pixel_buffer_pool) {
-    // Kind of a hack. On backgrounding, the compression session seems to get
-    // invalidated, which causes this pool call to fail when the application
-    // is foregrounded and frames are being sent for encoding again.
-    // Resetting the session when this happens fixes the issue.
-    // In addition we request a keyframe so video can recover quickly.
-    ResetCompressionSession();
-    pixel_buffer_pool =
-        VCPCompressionSessionGetPixelBufferPool(compression_session_);
-    is_keyframe_required = true;
-    LOG(LS_INFO) << "Resetting compression session due to invalid pool.";
-  }
-#endif
-
-  CVPixelBufferRef pixel_buffer;
-  if (frame.video_frame_buffer()->type() == VideoFrameBuffer::Type::kNative) {
-    rtc::scoped_refptr<CoreVideoFrameBuffer> core_video_frame_buffer(
-        static_cast<CoreVideoFrameBuffer*>(frame.video_frame_buffer().get()));
-    if (!core_video_frame_buffer->RequiresCropping()) {
-      pixel_buffer = core_video_frame_buffer->pixel_buffer();
-      // This pixel buffer might have a higher resolution than what the
-      // compression session is configured to. The compression session can
-      // handle that and will output encoded frames in the configured
-      // resolution regardless of the input pixel buffer resolution.
-      CVBufferRetain(pixel_buffer);
-    } else {
-      // Cropping required, we need to crop and scale to a new pixel buffer.
-      pixel_buffer = internal::CreatePixelBuffer(pixel_buffer_pool);
-      if (!pixel_buffer) {
-        return WEBRTC_VIDEO_CODEC_ERROR;
-      }
-      if (!core_video_frame_buffer->CropAndScaleTo(&nv12_scale_buffer_,
-                                                   pixel_buffer)) {
-        return WEBRTC_VIDEO_CODEC_ERROR;
-      }
-    }
-  } else {
-    pixel_buffer = internal::CreatePixelBuffer(pixel_buffer_pool);
-    if (!pixel_buffer) {
-      return WEBRTC_VIDEO_CODEC_ERROR;
-    }
-    RTC_DCHECK(pixel_buffer);
-    if (!internal::CopyVideoFrameToPixelBuffer(frame.video_frame_buffer()->ToI420(),
-                                               pixel_buffer)) {
-      LOG(LS_ERROR) << "Failed to copy frame data.";
-      CVBufferRelease(pixel_buffer);
-      return WEBRTC_VIDEO_CODEC_ERROR;
-    }
-  }
-
-  // Check if we need a keyframe.
-  if (!is_keyframe_required && frame_types) {
-    for (auto frame_type : *frame_types) {
-      if (frame_type == kVideoFrameKey) {
-        is_keyframe_required = true;
-        break;
-      }
-    }
-  }
-
-  CMTime presentation_time_stamp =
-      CMTimeMake(frame.render_time_ms(), 1000);
-  CFDictionaryRef frame_properties = nullptr;
-  if (is_keyframe_required) {
-    CFTypeRef keys[] = {kVTEncodeFrameOptionKey_ForceKeyFrame};
-    CFTypeRef values[] = {kCFBooleanTrue};
-    frame_properties = internal::CreateCFDictionary(keys, values, 1);
-  } else {
-    frame_properties = internal::CreateCFDictionary(0, 0, 0);
-  }
-  std::unique_ptr<internal::FrameEncodeParams> encode_params;
-  encode_params.reset(new internal::FrameEncodeParams(
-      this, codec_specific_info, width_, height_, frame.render_time_ms(),
-      frame.timestamp(), frame.rotation()));
-
-  encode_params->codec_specific_info.codecSpecific.H264.packetization_mode =
-      packetization_mode_;
-
-  // Update the bitrate if needed.
-  SetBitrateBps(bitrate_adjuster_.GetAdjustedBitrateBps());
-
-  OSStatus status = VCPCompressionSessionEncodeFrame(
-      compression_session_, pixel_buffer, presentation_time_stamp,
-      kCMTimeInvalid, frame_properties, encode_params.release(), nullptr);
-  if (frame_properties) {
-    CFRelease(frame_properties);
-  }
-  if (pixel_buffer) {
-    CVBufferRelease(pixel_buffer);
-  }
-  if (status != noErr) {
-    LOG(LS_ERROR) << "Failed to encode frame with code: " << status;
-    return WEBRTC_VIDEO_CODEC_ERROR;
-  }
-  return WEBRTC_VIDEO_CODEC_OK;
-}
-
-int H264VideoToolboxEncoderVCP::RegisterEncodeCompleteCallback(
-    EncodedImageCallback* callback) {
-  callback_ = callback;
-  return WEBRTC_VIDEO_CODEC_OK;
-}
-
-int H264VideoToolboxEncoderVCP::SetChannelParameters(uint32_t packet_loss,
-                                                  int64_t rtt) {
-  // Encoder doesn't know anything about packet loss or rtt so just return.
-  return WEBRTC_VIDEO_CODEC_OK;
-}
-
-int H264VideoToolboxEncoderVCP::SetRates(uint32_t new_bitrate_kbit,
-                                      uint32_t frame_rate) {
-  target_bitrate_bps_ = 1000 * new_bitrate_kbit;
-  bitrate_adjuster_.SetTargetBitrateBps(target_bitrate_bps_);
-  SetBitrateBps(bitrate_adjuster_.GetAdjustedBitrateBps());
-  return WEBRTC_VIDEO_CODEC_OK;
-}
-
-int H264VideoToolboxEncoderVCP::Release() {
-  // Need to reset so that the session is invalidated and won't use the
-  // callback anymore. Do not remove callback until the session is invalidated
-  // since async encoder callbacks can occur until invalidation.
-  int ret = ResetCompressionSession();
-  callback_ = nullptr;
-  return ret;
-}
-
-int H264VideoToolboxEncoderVCP::ResetCompressionSession() {
-  DestroyCompressionSession();
-
-  int status = CreateCompressionSession(compression_session_, internal::VTCompressionOutputCallback, width_, height_);
-  if (status != noErr) {
-    LOG(LS_ERROR) << "Failed to create compression session: " << status;
-    return WEBRTC_VIDEO_CODEC_ERROR;
-  }
-  ConfigureCompressionSession();
-  return WEBRTC_VIDEO_CODEC_OK;
-}
-
-int H264VideoToolboxEncoderVCP::CreateCompressionSession(VCPCompressionSessionRef& compressionSession, VTCompressionOutputCallback outputCallback, int32_t width, int32_t height, bool useHardwareEncoder) {
-
-  // Set source image buffer attributes. These attributes will be present on
-  // buffers retrieved from the encoder's pixel buffer pool.
-  const size_t attributes_size = 3;
-  CFTypeRef keys[attributes_size] = {
-#if defined(WEBRTC_IOS)
-    kCVPixelBufferOpenGLESCompatibilityKey,
-#elif defined(WEBRTC_MAC)
-    kCVPixelBufferOpenGLCompatibilityKey,
-#endif
-    kCVPixelBufferIOSurfacePropertiesKey,
-    kCVPixelBufferPixelFormatTypeKey
-  };
-  CFDictionaryRef io_surface_value =
-      internal::CreateCFDictionary(nullptr, nullptr, 0);
-  int64_t nv12type = kCVPixelFormatType_420YpCbCr8BiPlanarFullRange;
-  CFNumberRef pixel_format =
-      CFNumberCreate(nullptr, kCFNumberLongType, &nv12type);
-  CFTypeRef values[attributes_size] = {kCFBooleanTrue, io_surface_value,
-                                       pixel_format};
-  CFDictionaryRef source_attributes =
-      internal::CreateCFDictionary(keys, values, attributes_size);
-  if (io_surface_value) {
-    CFRelease(io_surface_value);
-    io_surface_value = nullptr;
-  }
-  if (pixel_format) {
-    CFRelease(pixel_format);
-    pixel_format = nullptr;
-  }
-
-#if defined(WEBRTC_USE_VTB_HARDWARE_ENCODER)
-  CFTypeRef sessionKeys[] = {kVTVideoEncoderSpecification_EnableHardwareAcceleratedVideoEncoder, kVTVideoEncoderSpecification_RequireHardwareAcceleratedVideoEncoder, kVTCompressionPropertyKey_RealTime };
-  CFTypeRef sessionValues[] = { useHardwareEncoder ? kCFBooleanTrue : kCFBooleanFalse, kCFBooleanTrue, kCFBooleanTrue };
-  CFDictionaryRef encoderSpecification = internal::CreateCFDictionary(sessionKeys, sessionValues, 3);
-#else
-  CFDictionaryRef encoderSpecification = nullptr;
-#endif
-
-  OSStatus status = VCPCompressionSessionCreate(
-      nullptr,  // use default allocator
-      width, height, kVCPCodecType4CC_H264,
-      encoderSpecification,  // use default encoder
-      source_attributes,
-      nullptr,  // use default compressed data allocator
-      outputCallback, this, &compression_session_);
-  if (source_attributes) {
-    CFRelease(source_attributes);
-    source_attributes = nullptr;
-  }
-
-#if defined(WEBRTC_USE_VTB_HARDWARE_ENCODER)
-  if (encoderSpecification) {
-    CFRelease(encoderSpecification);
-    encoderSpecification = nullptr;
-  }
-#endif
-  return status;
-}
-
-void H264VideoToolboxEncoderVCP::ConfigureCompressionSession() {
-  RTC_DCHECK(compression_session_);
-  internal::SetVTSessionProperty(compression_session_,
-                                 kVTCompressionPropertyKey_RealTime, true);
-  internal::SetVTSessionProperty(compression_session_,
-                                 kVTCompressionPropertyKey_ProfileLevel,
-                                 profile_);
-  internal::SetVTSessionProperty(compression_session_,
-                                 kVTCompressionPropertyKey_AllowFrameReordering,
-                                 false);
-  SetEncoderBitrateBps(target_bitrate_bps_);
-  // TODO(tkchin): Look at entropy mode and colorspace matrices.
-  // TODO(tkchin): Investigate to see if there's any way to make this work.
-  // May need it to interop with Android. Currently this call just fails.
-  // On inspecting encoder output on iOS8, this value is set to 6.
-  // internal::SetVTSessionProperty(compression_session_,
-  //     kVTCompressionPropertyKey_MaxFrameDelayCount,
-  //     1);
-
-  // Set a relatively large value for keyframe emission (7200 frames or
-  // 4 minutes).
-  internal::SetVTSessionProperty(
-      compression_session_,
-      kVTCompressionPropertyKey_MaxKeyFrameInterval, 7200);
-  internal::SetVTSessionProperty(
-      compression_session_,
-      kVTCompressionPropertyKey_MaxKeyFrameIntervalDuration, 240);
-}
-
-void H264VideoToolboxEncoderVCP::DestroyCompressionSession() {
-  if (compression_session_) {
-    VCPCompressionSessionInvalidate(compression_session_);
-    CFRelease(compression_session_);
-    compression_session_ = nullptr;
-  }
-}
-
-const char* H264VideoToolboxEncoderVCP::ImplementationName() const {
-  return "VideoToolbox";
-}
-
-bool H264VideoToolboxEncoderVCP::SupportsNativeHandle() const {
-  return true;
-}
-
-void H264VideoToolboxEncoderVCP::SetBitrateBps(uint32_t bitrate_bps) {
-  if (encoder_bitrate_bps_ != bitrate_bps) {
-    SetEncoderBitrateBps(bitrate_bps);
-  }
-}
-
-void H264VideoToolboxEncoderVCP::SetEncoderBitrateBps(uint32_t bitrate_bps) {
-  if (compression_session_) {
-    internal::SetVTSessionProperty(compression_session_,
-                                   kVTCompressionPropertyKey_AverageBitRate,
-                                   bitrate_bps);
-
-    // TODO(tkchin): Add a helper method to set array value.
-    int64_t data_limit_bytes_per_second_value = static_cast<int64_t>(
-        bitrate_bps * internal::kLimitToAverageBitRateFactor / 8);
-    CFNumberRef bytes_per_second =
-        CFNumberCreate(kCFAllocatorDefault,
-                       kCFNumberSInt64Type,
-                       &data_limit_bytes_per_second_value);
-    int64_t one_second_value = 1;
-    CFNumberRef one_second =
-        CFNumberCreate(kCFAllocatorDefault,
-                       kCFNumberSInt64Type,
-                       &one_second_value);
-    const void* nums[2] = { bytes_per_second, one_second };
-    CFArrayRef data_rate_limits =
-        CFArrayCreate(nullptr, nums, 2, &kCFTypeArrayCallBacks);
-    OSStatus status =
-        VTSessionSetProperty(compression_session_,
-                             kVTCompressionPropertyKey_DataRateLimits,
-                             data_rate_limits);
-    if (bytes_per_second) {
-      CFRelease(bytes_per_second);
-    }
-    if (one_second) {
-      CFRelease(one_second);
-    }
-    if (data_rate_limits) {
-      CFRelease(data_rate_limits);
-    }
-    if (status != noErr) {
-      LOG(LS_ERROR) << "Failed to set data rate limit";
-    }
-
-    encoder_bitrate_bps_ = bitrate_bps;
-  }
-}
-
-void H264VideoToolboxEncoderVCP::OnEncodedFrame(
-    OSStatus status,
-    VTEncodeInfoFlags info_flags,
-    CMSampleBufferRef sample_buffer,
-    CodecSpecificInfo codec_specific_info,
-    int32_t width,
-    int32_t height,
-    int64_t render_time_ms,
-    uint32_t timestamp,
-    VideoRotation rotation) {
-  if (status != noErr) {
-    LOG(LS_ERROR) << "H264 encode failed.";
-    return;
-  }
-  if (info_flags & kVTEncodeInfo_FrameDropped) {
-    LOG(LS_INFO) << "H264 encode dropped frame.";
-    return;
-  }
-
-  bool is_keyframe = false;
-  CFArrayRef attachments =
-      CMSampleBufferGetSampleAttachmentsArray(sample_buffer, 0);
-  if (attachments != nullptr && CFArrayGetCount(attachments)) {
-    CFDictionaryRef attachment =
-        static_cast<CFDictionaryRef>(CFArrayGetValueAtIndex(attachments, 0));
-    is_keyframe =
-        !CFDictionaryContainsKey(attachment, kCMSampleAttachmentKey_NotSync);
-  }
-
-  if (is_keyframe) {
-    LOG(LS_INFO) << "Generated keyframe";
-  }
-
-  // Convert the sample buffer into a buffer suitable for RTP packetization.
-  // TODO(tkchin): Allocate buffers through a pool.
-  std::unique_ptr<rtc::Buffer> buffer(new rtc::Buffer());
-  std::unique_ptr<webrtc::RTPFragmentationHeader> header;
-  {
-    webrtc::RTPFragmentationHeader* header_raw;
-    bool result = H264CMSampleBufferToAnnexBBuffer(sample_buffer, is_keyframe,
-                                                   buffer.get(), &header_raw);
-    header.reset(header_raw);
-    if (!result) {
-      return;
-    }
-  }
-  webrtc::EncodedImage frame(buffer->data(), buffer->size(), buffer->size());
-  frame._encodedWidth = width;
-  frame._encodedHeight = height;
-  frame._completeFrame = true;
-  frame._frameType =
-      is_keyframe ? webrtc::kVideoFrameKey : webrtc::kVideoFrameDelta;
-  frame.capture_time_ms_ = render_time_ms;
-  frame._timeStamp = timestamp;
-  frame.rotation_ = rotation;
-  frame.content_type_ =
-      (mode_ == kScreensharing) ? VideoContentType::SCREENSHARE : VideoContentType::UNSPECIFIED;
-  frame.timing_.is_timing_frame = false;
-
-  h264_bitstream_parser_.ParseBitstream(buffer->data(), buffer->size());
-  h264_bitstream_parser_.GetLastSliceQp(&frame.qp_);
-
-  EncodedImageCallback::Result res =
-      callback_->OnEncodedImage(frame, &codec_specific_info, header.get());
-  if (res.error != EncodedImageCallback::Result::OK) {
-    LOG(LS_ERROR) << "Encode callback failed: " << res.error;
-    return;
-  }
-  bitrate_adjuster_.Update(frame._length);
-}
-
-VideoEncoder::ScalingSettings H264VideoToolboxEncoderVCP::GetScalingSettings()
-    const {
-  return VideoEncoder::ScalingSettings(true, internal::kLowH264QpThreshold,
-                                       internal::kHighH264QpThreshold);
-}
-}  // namespace webrtc
-#else
-namespace webrtc {
-
-H264VideoToolboxEncoderVCP* createH264VideoToolboxEncoderVCP(const cricket::VideoCodec&)
-{
-    return nullptr;
-}
-
-void deleteH264VideoToolboxEncoderVCP(H264VideoToolboxEncoderVCP*)
-{
-}
-
-}
-#endif // ENABLE_VCP_ENCODER
index d10f3cc..109010a 100644 (file)
@@ -48,7 +48,7 @@ inline CFDictionaryRef CreateCFDictionary(CFTypeRef* keys,
 }
 
 // Copies characters from a CFStringRef into a std::string.
-static std::string CFStringToString(const CFStringRef cf_string) {
+std::string CFStringToString(const CFStringRef cf_string) {
   RTC_DCHECK(cf_string);
   std::string std_string;
   // Get the size needed for UTF8 plus terminating character.
@@ -66,7 +66,7 @@ static std::string CFStringToString(const CFStringRef cf_string) {
 }
 
 // Convenience function for setting a VT property.
-static void SetVTSessionProperty(VTSessionRef session,
+void SetVTSessionProperty(VTSessionRef session,
                           CFStringRef key,
                           int32_t value) {
   CFNumberRef cfNum =
@@ -81,7 +81,7 @@ static void SetVTSessionProperty(VTSessionRef session,
 }
 
 // Convenience function for setting a VT property.
-static void SetVTSessionProperty(VTSessionRef session,
+void SetVTSessionProperty(VTSessionRef session,
                           CFStringRef key,
                           uint32_t value) {
   int64_t value_64 = value;
@@ -97,7 +97,7 @@ static void SetVTSessionProperty(VTSessionRef session,
 }
 
 // Convenience function for setting a VT property.
-static void SetVTSessionProperty(VTSessionRef session, CFStringRef key, bool value) {
+void SetVTSessionProperty(VTSessionRef session, CFStringRef key, bool value) {
   CFBooleanRef cf_bool = (value) ? kCFBooleanTrue : kCFBooleanFalse;
   OSStatus status = VTSessionSetProperty(session, key, cf_bool);
   if (status != noErr) {
@@ -108,7 +108,7 @@ static void SetVTSessionProperty(VTSessionRef session, CFStringRef key, bool val
 }
 
 // Convenience function for setting a VT property.
-static void SetVTSessionProperty(VTSessionRef session,
+void SetVTSessionProperty(VTSessionRef session,
                           CFStringRef key,
                           CFStringRef value) {
   OSStatus status = VTSessionSetProperty(session, key, value);
@@ -155,7 +155,7 @@ struct FrameEncodeParams {
 // We receive I420Frames as input, but we need to feed CVPixelBuffers into the
 // encoder. This performs the copy and format conversion.
 // TODO(tkchin): See if encoder will accept i420 frames and compare performance.
-static bool CopyVideoFrameToPixelBuffer(const rtc::scoped_refptr<webrtc::I420BufferInterface>& frame,
+bool CopyVideoFrameToPixelBuffer(const rtc::scoped_refptr<webrtc::I420BufferInterface>& frame,
                                  CVPixelBufferRef pixel_buffer) {
   RTC_DCHECK(pixel_buffer);
   RTC_DCHECK_EQ(CVPixelBufferGetPixelFormatType(pixel_buffer),
@@ -191,7 +191,7 @@ static bool CopyVideoFrameToPixelBuffer(const rtc::scoped_refptr<webrtc::I420Buf
   return true;
 }
 
-static CVPixelBufferRef CreatePixelBuffer(CVPixelBufferPoolRef pixel_buffer_pool) {
+CVPixelBufferRef CreatePixelBuffer(CVPixelBufferPoolRef pixel_buffer_pool) {
   if (!pixel_buffer_pool) {
     LOG(LS_ERROR) << "Failed to get pixel buffer pool.";
     return nullptr;
@@ -210,7 +210,7 @@ static CVPixelBufferRef CreatePixelBuffer(CVPixelBufferPoolRef pixel_buffer_pool
 
 // This is the callback function that VideoToolbox calls when encode is
 // complete. From inspection this happens on its own queue.
-static void VTCompressionOutputCallback(void* encoder,
+void VTCompressionOutputCallback(void* encoder,
                                  void* params,
                                  OSStatus status,
                                  VTEncodeInfoFlags info_flags,
@@ -228,7 +228,7 @@ static void VTCompressionOutputCallback(void* encoder,
 // specific VideoToolbox profile for the specified level, AutoLevel will be
 // returned. The user must initialize the encoder with a resolution and
 // framerate conforming to the selected H264 level regardless.
-static CFStringRef ExtractProfile(const cricket::VideoCodec& codec) {
+CFStringRef ExtractProfile(const cricket::VideoCodec& codec) {
   const rtc::Optional<webrtc::H264::ProfileLevelId> profile_level_id =
       webrtc::H264::ParseSdpProfileLevelId(codec.params);
   RTC_DCHECK(profile_level_id);
index 6ffb819..d5ca4f4 100644 (file)
@@ -27,10 +27,9 @@ class VideoToolboxVideoEncoderFactory
   void DestroyVideoEncoder(VideoEncoder* encoder) override;
   const std::vector<cricket::VideoCodec>& supported_codecs() const override;
 
-protected:
+ private:
   virtual VideoEncoder* CreateSupportedVideoEncoder(const cricket::VideoCodec& codec);
 
-private:
   // TODO(magjed): Mutable because it depends on a field trial and it is
   // recalculated every call to supported_codecs().
   mutable std::vector<cricket::VideoCodec> supported_codecs_;
index d4e90f7..88aa86c 100644 (file)
@@ -12,7 +12,6 @@
 #include "webrtc/base/logging.h"
 #include "webrtc/common_video/h264/profile_level_id.h"
 #include "webrtc/media/base/codec.h"
-#include "webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.h"
 #include "webrtc/sdk/objc/Framework/Classes/VideoToolbox/decoder.h"
 #include "webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.h"
 #include "webrtc/system_wrappers/include/field_trial.h"
@@ -29,12 +28,7 @@ bool IsHighProfileEnabled() {
 
 // VideoToolboxVideoEncoderFactory
 
-VideoToolboxVideoEncoderFactory::VideoToolboxVideoEncoderFactory()
-{
-#if ENABLE_VCP_ENCODER
-    VPModuleInitialize();
-#endif
-}
+VideoToolboxVideoEncoderFactory::VideoToolboxVideoEncoderFactory() {}
 
 VideoToolboxVideoEncoderFactory::~VideoToolboxVideoEncoderFactory() {}
 
@@ -49,11 +43,7 @@ VideoEncoder* VideoToolboxVideoEncoderFactory::CreateVideoEncoder(
 }
 
 VideoEncoder* VideoToolboxVideoEncoderFactory::CreateSupportedVideoEncoder(const cricket::VideoCodec& codec) {
-#if ENABLE_VCP_ENCODER
-  return new H264VideoToolboxEncoderVCP(codec);
-#else
-    return new H264VideoToolboxEncoder(codec);
-#endif
+  return new H264VideoToolboxEncoder(codec);
 }
 
 void VideoToolboxVideoEncoderFactory::DestroyVideoEncoder(VideoEncoder* encoder) {
index 64ab23f..6b063c1 100644 (file)
                414D71141E4AE98C0023E526 /* user_socket.c in Sources */ = {isa = PBXBuildFile; fileRef = 414D71121E4AE9820023E526 /* user_socket.c */; };
                414D71171E4AEAFB0023E526 /* sctp_indata.c in Sources */ = {isa = PBXBuildFile; fileRef = 414D71151E4AEACD0023E526 /* sctp_indata.c */; };
                414D71191E4AEB110023E526 /* sctp_userspace.c in Sources */ = {isa = PBXBuildFile; fileRef = 414D71181E4AEB110023E526 /* sctp_userspace.c */; };
-               416D2F151FA8CCAE00097345 /* encoder_vcp.h in Headers */ = {isa = PBXBuildFile; fileRef = 416D2F131FA8CCAD00097345 /* encoder_vcp.h */; settings = {ATTRIBUTES = (Private, ); }; };
-               416D2F161FA8CCAE00097345 /* encoder_vcp.mm in Sources */ = {isa = PBXBuildFile; fileRef = 416D2F141FA8CCAD00097345 /* encoder_vcp.mm */; };
                417DA4581EF9CD0D00E869DB /* RTCUIApplicationStatusObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 417DA4561EF9CD0A00E869DB /* RTCUIApplicationStatusObserver.h */; };
                41A391731EFC447C00C4516A /* sha1-altivec.c in Sources */ = {isa = PBXBuildFile; fileRef = 41A3914F1EFC446E00C4516A /* sha1-altivec.c */; };
                41A391741EFC447C00C4516A /* sha1.c in Sources */ = {isa = PBXBuildFile; fileRef = 41A391501EFC446E00C4516A /* sha1.c */; };
                414D71121E4AE9820023E526 /* user_socket.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = user_socket.c; sourceTree = "<group>"; };
                414D71151E4AEACD0023E526 /* sctp_indata.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sctp_indata.c; path = netinet/sctp_indata.c; sourceTree = "<group>"; };
                414D71181E4AEB110023E526 /* sctp_userspace.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sctp_userspace.c; path = netinet/sctp_userspace.c; sourceTree = "<group>"; };
-               416D2F101FA8CC0400097345 /* VideoProcessing.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VideoProcessing.framework; path = System/Library/PrivateFrameworks/VideoProcessing.framework; sourceTree = SDKROOT; };
-               416D2F131FA8CCAD00097345 /* encoder_vcp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = encoder_vcp.h; path = VideoProcessing/encoder_vcp.h; sourceTree = "<group>"; };
-               416D2F141FA8CCAD00097345 /* encoder_vcp.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = encoder_vcp.mm; path = VideoProcessing/encoder_vcp.mm; sourceTree = "<group>"; };
                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; };
                41A391451EFC446E00C4516A /* sha1-586.pl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.perl; path = "sha1-586.pl"; sourceTree = "<group>"; };
                41A391461EFC446E00C4516A /* sha1-armv4-large.pl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.perl; path = "sha1-armv4-large.pl"; sourceTree = "<group>"; };
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
+                               5C316D8B1E66333C008BE64D /* Foundation.framework in Frameworks */,
                                5C316D891E66323F008BE64D /* CoreFoundation.framework in Frameworks */,
+                               5C0073141E5514020042215A /* VideoToolbox.framework in Frameworks */,
                                5C0073111E5513E70042215A /* CoreMedia.framework in Frameworks */,
                                5C0073121E5513E70042215A /* CoreVideo.framework in Frameworks */,
-                               5C316D8B1E66333C008BE64D /* Foundation.framework in Frameworks */,
                                5C0073031E5513E70042215A /* libboringssl.a in Frameworks */,
                                5C0073041E5513E70042215A /* libopus.a in Frameworks */,
                                5C0073051E5513E70042215A /* libsrtp.a in Frameworks */,
                                5C0073061E5513E70042215A /* libusrsctp.a in Frameworks */,
                                5C0073071E5513E70042215A /* libwebrtcpcrtc.a in Frameworks */,
                                5C0073081E5513E70042215A /* libyuv.a in Frameworks */,
-                               5C0073141E5514020042215A /* VideoToolbox.framework in Frameworks */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                41109AA41E5FA18100C0955A /* include */ = {
                        isa = PBXGroup;
                        children = (
-                               41109AA91E5FA19200C0955A /* bitrate_adjuster.h */,
-                               41109AA81E5FA19200C0955A /* frame_callback.h */,
                                41109AA61E5FA19200C0955A /* i420_buffer_pool.h */,
-                               41109AAA1E5FA19200C0955A /* incoming_video_stream.h */,
                                41109AA71E5FA19200C0955A /* video_frame_buffer.h */,
+                               41109AA81E5FA19200C0955A /* frame_callback.h */,
+                               41109AA91E5FA19200C0955A /* bitrate_adjuster.h */,
+                               41109AAA1E5FA19200C0955A /* incoming_video_stream.h */,
                        );
                        name = include;
                        sourceTree = "<group>";
                41433C9E1F79B1E800387B4D /* source */ = {
                        isa = PBXGroup;
                        children = (
-                               41433CC91F79B33300387B4D /* arith_routines.c */,
                                41433CE81F79B33300387B4D /* arith_routines_hist.c */,
                                41433CCE1F79B33300387B4D /* arith_routines_logist.c */,
+                               41433CC91F79B33300387B4D /* arith_routines.c */,
                                41433CC01F79B33300387B4D /* arith_routins.h */,
                                41433CB81F79B33300387B4D /* audio_decoder_isacfix.cc */,
                                41433CBA1F79B33300387B4D /* audio_encoder_isacfix.cc */,
                                41433CB61F79B33300387B4D /* bandwidth_estimator.c */,
                                41433CE31F79B33300387B4D /* bandwidth_estimator.h */,
                                41433CB21F79B33200387B4D /* codec.h */,
-                               41433CC41F79B33300387B4D /* decode.c */,
                                41433CAA1F79B33200387B4D /* decode_bwe.c */,
                                41433CCD1F79B33300387B4D /* decode_plc.c */,
+                               41433CC41F79B33300387B4D /* decode.c */,
                                41433CD11F79B33300387B4D /* encode.c */,
-                               41433CD41F79B33300387B4D /* entropy_coding.c */,
-                               41433CD21F79B33300387B4D /* entropy_coding.h */,
                                41433CC21F79B33300387B4D /* entropy_coding_mips.c */,
                                41433CD91F79B33300387B4D /* entropy_coding_neon.c */,
+                               41433CD41F79B33300387B4D /* entropy_coding.c */,
+                               41433CD21F79B33300387B4D /* entropy_coding.h */,
                                41433CA91F79B33200387B4D /* fft.c */,
                                41433CE11F79B33300387B4D /* fft.h */,
                                41433CAC1F79B33200387B4D /* filterbank_internal.h */,
                                41433CE61F79B33300387B4D /* filterbank_tables.c */,
                                41433CCC1F79B33300387B4D /* filterbank_tables.h */,
-                               41433CC51F79B33300387B4D /* filterbanks.c */,
                                41433CCA1F79B33300387B4D /* filterbanks_mips.c */,
                                41433CDF1F79B33300387B4D /* filterbanks_neon.c */,
                                41433CDC1F79B33300387B4D /* filterbanks_unittest.cc */,
-                               41433CC31F79B33300387B4D /* filters.c */,
+                               41433CC51F79B33300387B4D /* filterbanks.c */,
                                41433CDB1F79B33300387B4D /* filters_mips.c */,
                                41433CE01F79B33300387B4D /* filters_neon.c */,
                                41433CBD1F79B33300387B4D /* filters_unittest.cc */,
+                               41433CC31F79B33300387B4D /* filters.c */,
                                41433CB71F79B33300387B4D /* initialize.c */,
                                41433CBE1F79B33300387B4D /* isac_fix_type.h */,
                                41433CE91F79B33300387B4D /* isacfix.c */,
-                               41433CB11F79B33200387B4D /* lattice.c */,
                                41433CB91F79B33300387B4D /* lattice_armv7.S */,
                                41433CD31F79B33300387B4D /* lattice_c.c */,
                                41433CE41F79B33300387B4D /* lattice_mips.c */,
                                41433CAB1F79B33200387B4D /* lattice_neon.c */,
-                               41433CAD1F79B33200387B4D /* lpc_masking_model.c */,
-                               41433CD71F79B33300387B4D /* lpc_masking_model.h */,
+                               41433CB11F79B33200387B4D /* lattice.c */,
                                41433CBC1F79B33300387B4D /* lpc_masking_model_mips.c */,
                                41433CC61F79B33300387B4D /* lpc_masking_model_unittest.cc */,
+                               41433CAD1F79B33200387B4D /* lpc_masking_model.c */,
+                               41433CD71F79B33300387B4D /* lpc_masking_model.h */,
                                41433CDD1F79B33300387B4D /* lpc_tables.c */,
                                41433CE71F79B33300387B4D /* lpc_tables.h */,
-                               41433CE51F79B33300387B4D /* pitch_estimator.c */,
-                               41433CB01F79B33200387B4D /* pitch_estimator.h */,
                                41433CB51F79B33300387B4D /* pitch_estimator_c.c */,
                                41433CD61F79B33300387B4D /* pitch_estimator_mips.c */,
-                               41433CD01F79B33300387B4D /* pitch_filter.c */,
+                               41433CE51F79B33300387B4D /* pitch_estimator.c */,
+                               41433CB01F79B33200387B4D /* pitch_estimator.h */,
                                41433CDA1F79B33300387B4D /* pitch_filter_armv6.S */,
                                41433CB31F79B33200387B4D /* pitch_filter_c.c */,
                                41433CDE1F79B33300387B4D /* pitch_filter_mips.c */,
+                               41433CD01F79B33300387B4D /* pitch_filter.c */,
                                41433CCF1F79B33300387B4D /* pitch_gain_tables.c */,
                                41433CE21F79B33300387B4D /* pitch_gain_tables.h */,
                                41433CD81F79B33300387B4D /* pitch_lag_tables.c */,
                                41433CC11F79B33300387B4D /* spectrum_ar_model_tables.c */,
                                41433CAE1F79B33200387B4D /* spectrum_ar_model_tables.h */,
                                41433CAF1F79B33200387B4D /* structs.h */,
-                               41433CBF1F79B33300387B4D /* transform.c */,
                                41433CBB1F79B33300387B4D /* transform_mips.c */,
                                41433CB41F79B33300387B4D /* transform_neon.c */,
                                41433CD51F79B33300387B4D /* transform_tables.c */,
                                41433CCB1F79B33300387B4D /* transform_unittest.cc */,
+                               41433CBF1F79B33300387B4D /* transform.c */,
                        );
                        name = source;
                        sourceTree = "<group>";
                4145E4C01EF8962800FCF6E6 /* stats */ = {
                        isa = PBXGroup;
                        children = (
-                               4145E4C41EF896D700FCF6E6 /* rtcstats.h */,
                                4145E4C31EF896D200FCF6E6 /* rtcstats_objects.h */,
+                               4145E4C41EF896D700FCF6E6 /* rtcstats.h */,
                                4145E4C11EF896C800FCF6E6 /* rtcstatscollectorcallback.h */,
                                4145E4C21EF896CE00FCF6E6 /* rtcstatsreport.h */,
                        );
                        name = stats;
                        sourceTree = "<group>";
                };
-               416D2F121FA8CC8E00097345 /* VideoProcessing */ = {
-                       isa = PBXGroup;
-                       children = (
-                               416D2F131FA8CCAD00097345 /* encoder_vcp.h */,
-                               416D2F141FA8CCAD00097345 /* encoder_vcp.mm */,
-                       );
-                       name = VideoProcessing;
-                       sourceTree = "<group>";
-               };
                417DA4551EF9CCD800E869DB /* Common */ = {
                        isa = PBXGroup;
                        children = (
                41A391EA1EFC493000C4516A /* aes */ = {
                        isa = PBXGroup;
                        children = (
-                               41A391EE1EFC493000C4516A /* asm */,
                                41A391EB1EFC493000C4516A /* aes.c */,
+                               41A391EE1EFC493000C4516A /* asm */,
                                41A391FA1EFC493000C4516A /* internal.h */,
                                41A391FB1EFC493000C4516A /* key_wrap.c */,
                                41A391FC1EFC493000C4516A /* mode_wrappers.c */,
                                41EA53D31EFC2CDC002FF04C /* ecdsa */,
                                41EA53A31EFC2BFD002FF04C /* hmac */,
                                41EA54121EFC2D4F002FF04C /* md4 */,
-                               41EA54141EFC2D53002FF04C /* md5 */,
                                41A391531EFC447400C4516A /* modes */,
                                41A391641EFC447900C4516A /* rand */,
                                41A3916D1EFC447C00C4516A /* rsa */,
                                41A391431EFC446E00C4516A /* sha */,
+                               41EA54141EFC2D53002FF04C /* md5 */,
                        );
                        path = fipsmodule;
                        sourceTree = "<group>";
                41EA53DA1EFC2D1A002FF04C /* bn */ = {
                        isa = PBXGroup;
                        children = (
-                               41EA53DC1EFC2D1A002FF04C /* asm */,
                                41EA53DB1EFC2D1A002FF04C /* add.c */,
+                               41EA53DC1EFC2D1A002FF04C /* asm */,
                                41EA53E61EFC2D1A002FF04C /* bn.c */,
                                41EA53E91EFC2D1A002FF04C /* bytes.c */,
                                41EA53EB1EFC2D1A002FF04C /* cmp.c */,
                                5C4B45BD1E42A87E002651C8 /* p_dsa_asn1.c */,
                                5C4B45BF1E42A87E002651C8 /* p_ec.c */,
                                5C4B45BE1E42A87E002651C8 /* p_ec_asn1.c */,
-                               41A392051EFC4A6300C4516A /* p_ed25519.c */,
                                41A392071EFC4A7100C4516A /* p_ed25519_asn1.c */,
+                               41A392051EFC4A6300C4516A /* p_ed25519.c */,
                                5C4B45C11E42A87E002651C8 /* p_rsa.c */,
                                5C4B45C01E42A87E002651C8 /* p_rsa_asn1.c */,
                                5C4B45C31E42A87E002651C8 /* pbkdf.c */,
                                5C4B44BC1E42A6F7002651C8 /* t_x509.c */,
                                5C4B44BD1E42A6F7002651C8 /* t_x509a.c */,
                                5C4B44BE1E42A6F7002651C8 /* vpm_int.h */,
+                               41A391CB1EFC46DE00C4516A /* x_all.c */,
                                5C4B44DE1E42A6F7002651C8 /* x509.c */,
                                5C4B44CE1E42A6F7002651C8 /* x509_att.c */,
                                5C4B44CF1E42A6F7002651C8 /* x509_cmp.c */,
                                5C4B44E11E42A6F7002651C8 /* x509rset.c */,
                                5C4B44E21E42A6F7002651C8 /* x509spki.c */,
                                5C4B44BF1E42A6F7002651C8 /* x_algor.c */,
-                               41A391CB1EFC46DE00C4516A /* x_all.c */,
                                5C4B44C01E42A6F7002651C8 /* x_all.c */,
                                5C4B44C11E42A6F7002651C8 /* x_attrib.c */,
                                5C4B44C21E42A6F7002651C8 /* x_crl.c */,
                5C4B48481E42C171002651C8 /* media */ = {
                        isa = PBXGroup;
                        children = (
+                               5CD286381E6A680D0094FDC8 /* sctp */,
                                5C4B48491E42C18C002651C8 /* base */,
                                5C4B484B1E42C199002651C8 /* engine */,
-                               5CD286381E6A680D0094FDC8 /* sctp */,
                        );
                        path = media;
                        sourceTree = "<group>";
                5C4B484B1E42C199002651C8 /* engine */ = {
                        isa = PBXGroup;
                        children = (
-                               41F411C61EF972F100343C26 /* adm_helpers.cc */,
-                               41F411C51EF972EC00343C26 /* adm_helpers.h */,
-                               5CD284C01E6A5FFC0094FDC8 /* apm_helpers.cc */,
-                               5CD284C11E6A5FFC0094FDC8 /* apm_helpers.h */,
-                               5C4B48511E42C1BA002651C8 /* constants.h */,
+                               5CD286221E6A666D0094FDC8 /* videodecodersoftwarefallbackwrapper.cc */,
+                               5CD286231E6A666D0094FDC8 /* videodecodersoftwarefallbackwrapper.h */,
                                5CD285231E6A61110094FDC8 /* internaldecoderfactory.cc */,
                                5CD285241E6A61110094FDC8 /* internaldecoderfactory.h */,
                                5CD285251E6A61110094FDC8 /* internalencoderfactory.cc */,
                                5CD285261E6A61110094FDC8 /* internalencoderfactory.h */,
                                5CD285271E6A61110094FDC8 /* nullwebrtcvideoengine.h */,
+                               41F411C61EF972F100343C26 /* adm_helpers.cc */,
+                               41F411C51EF972EC00343C26 /* adm_helpers.h */,
+                               5CD284C01E6A5FFC0094FDC8 /* apm_helpers.cc */,
+                               5CD284C11E6A5FFC0094FDC8 /* apm_helpers.h */,
+                               5C4B48511E42C1BA002651C8 /* constants.h */,
                                5C4B485C1E42C1BA002651C8 /* payload_type_mapper.cc */,
                                5C4B485D1E42C1BA002651C8 /* payload_type_mapper.h */,
                                5C4B485F1E42C1BA002651C8 /* simulcast.cc */,
                                5C4B48601E42C1BA002651C8 /* simulcast.h */,
-                               5CD286221E6A666D0094FDC8 /* videodecodersoftwarefallbackwrapper.cc */,
-                               5CD286231E6A666D0094FDC8 /* videodecodersoftwarefallbackwrapper.h */,
                                5C4B48621E42C1BA002651C8 /* videoencodersoftwarefallbackwrapper.cc */,
                                5C4B48631E42C1BA002651C8 /* videoencodersoftwarefallbackwrapper.h */,
                                5C4B48641E42C1BA002651C8 /* webrtccommon.h */,
                                5C4B48671E42C1BA002651C8 /* webrtcmediaengine.h */,
                                5C4B48691E42C1BA002651C8 /* webrtcvideocapturer.cc */,
                                5C4B486A1E42C1BA002651C8 /* webrtcvideocapturer.h */,
+                               4145E4CF1EF8CC1700FCF6E6 /* webrtcvideoengine.cc */,
+                               4145E4D01EF8CC1F00FCF6E6 /* webrtcvideoengine.h */,
                                5C4B486B1E42C1BA002651C8 /* webrtcvideocapturerfactory.cc */,
                                5C4B486C1E42C1BA002651C8 /* webrtcvideocapturerfactory.h */,
                                5C4B486D1E42C1BA002651C8 /* webrtcvideodecoderfactory.h */,
                                5C4B486F1E42C1BA002651C8 /* webrtcvideoencoderfactory.h */,
-                               4145E4CF1EF8CC1700FCF6E6 /* webrtcvideoengine.cc */,
-                               4145E4D01EF8CC1F00FCF6E6 /* webrtcvideoengine.h */,
                                5C4B48741E42C1BA002651C8 /* webrtcvoe.h */,
                                5C4B48761E42C1BA002651C8 /* webrtcvoiceengine.cc */,
                                5C4B48771E42C1BA002651C8 /* webrtcvoiceengine.h */,
                        isa = PBXGroup;
                        children = (
                                417DA4551EF9CCD800E869DB /* Common */,
-                               4145E4931EF890E500FCF6E6 /* Video */,
-                               416D2F121FA8CC8E00097345 /* VideoProcessing */,
                                4145E4971EF8918600FCF6E6 /* VideoToolbox */,
+                               4145E4931EF890E500FCF6E6 /* Video */,
                        );
                        name = Classes;
                        path = sdk/objc/Framework/Classes;
                5C4B4C221E431F81002651C8 /* common_audio */ = {
                        isa = PBXGroup;
                        children = (
+                               5CD285F21E6A63F60094FDC8 /* smoothing_filter.cc */,
+                               5CD285F31E6A63F60094FDC8 /* smoothing_filter.h */,
                                5CDD87431E43BAE900621E92 /* resampler */,
                                5CDD86091E43B8A300621E92 /* signal_processing */,
                                5CDD86C41E43BA1800621E92 /* vad */,
                                5C4B4C431E431F9C002651C8 /* real_fourier_ooura.h */,
                                5C4B4C4A1E431F9C002651C8 /* ring_buffer.c */,
                                5C4B4C4B1E431F9C002651C8 /* ring_buffer.h */,
-                               5CD285F21E6A63F60094FDC8 /* smoothing_filter.cc */,
-                               5CD285F31E6A63F60094FDC8 /* smoothing_filter.h */,
                                5C4B4C4D1E431F9C002651C8 /* sparse_fir_filter.cc */,
                                5C4B4C4E1E431F9C002651C8 /* sparse_fir_filter.h */,
                                5C4B4C501E431F9C002651C8 /* wav_file.cc */,
                5C4B4C8C1E43209B002651C8 /* source */ = {
                        isa = PBXGroup;
                        children = (
+                               5CD286261E6A669D0094FDC8 /* rtp_to_ntp_estimator.cc */,
                                5C4B4C8F1E4320A9002651C8 /* aligned_malloc.cc */,
                                5C4B4C901E4320A9002651C8 /* atomic32_darwin.cc */,
                                5C4B4C941E4320A9002651C8 /* clock.cc */,
                                5C4B4CA11E4320A9002651C8 /* field_trial_default.cc */,
                                5C4B4CA21E4320A9002651C8 /* file_impl.cc */,
                                5C4B4CA71E4320A9002651C8 /* metrics_default.cc */,
-                               5CD286261E6A669D0094FDC8 /* rtp_to_ntp_estimator.cc */,
                                5C4B4CB31E4320A9002651C8 /* rw_lock.cc */,
                                5C4B4CAD1E4320A9002651C8 /* rw_lock_posix.cc */,
                                5C4B4CAE1E4320A9002651C8 /* rw_lock_posix.h */,
                5C63F3041E4146D2002CA531 /* base */ = {
                        isa = PBXGroup;
                        children = (
+                               5CD286421E6A7B420094FDC8 /* sha1.cc */,
+                               5CD286431E6A7B420094FDC8 /* sha1.h */,
+                               412455461EF8853300F11809 /* stringize_macros.h */,
+                               41F411C01EF8DBF600343C26 /* string_to_number.cc */,
+                               41F411C11EF8DBF600343C26 /* string_to_number.h */,
                                5CD2854F1E6A62310094FDC8 /* numerics */,
                                5C63F66D1E41619E002CA531 /* applefilesystem.mm */,
                                5C63F66E1E41619E002CA531 /* array_view.h */,
                                5C63F7571E416288002CA531 /* sequenced_task_checker.h */,
                                5C63F7541E416288002CA531 /* sequenced_task_checker_impl.cc */,
                                5C63F7551E416288002CA531 /* sequenced_task_checker_impl.h */,
-                               5CD286421E6A7B420094FDC8 /* sha1.cc */,
-                               5CD286431E6A7B420094FDC8 /* sha1.h */,
                                5C63F7581E416288002CA531 /* sha1digest.cc */,
                                5C63F7591E416288002CA531 /* sha1digest.h */,
                                5C63F75C1E416288002CA531 /* signalthread.cc */,
                                5C63F77D1E416288002CA531 /* sslstreamadapter.h */,
                                5C63F77E1E416288002CA531 /* stream.cc */,
                                5C63F77F1E416288002CA531 /* stream.h */,
-                               41F411C01EF8DBF600343C26 /* string_to_number.cc */,
-                               41F411C11EF8DBF600343C26 /* string_to_number.h */,
                                5C63F7801E416288002CA531 /* stringencode.cc */,
                                5C63F7811E416288002CA531 /* stringencode.h */,
-                               412455461EF8853300F11809 /* stringize_macros.h */,
                                5C63F7821E416288002CA531 /* stringutils.cc */,
                                5C63F7831E416288002CA531 /* stringutils.h */,
                                5C63F7841E416288002CA531 /* swap_queue.h */,
                5C63F8E21E41732B002CA531 /* api */ = {
                        isa = PBXGroup;
                        children = (
+                               5CD2863F1E6A683A0094FDC8 /* mediastreaminterface.cc */,
+                               5CD286301E6A67BF0094FDC8 /* mediatypes.cc */,
+                               5CD286311E6A67BF0094FDC8 /* mediatypes.h */,
                                5CD2853B1E6A61BE0094FDC8 /* audio_codecs */,
-                               5CDD8C451E43C57900621E92 /* call */,
                                4145E4C01EF8962800FCF6E6 /* stats */,
-                               5CD284601E6A57DD0094FDC8 /* video */,
                                412455581EF88AD900F11809 /* video_codecs */,
+                               5CD284601E6A57DD0094FDC8 /* video */,
+                               5CDD8C451E43C57900621E92 /* call */,
                                5C63F8E61E41737B002CA531 /* datachannel.h */,
                                5C63F8E71E41737B002CA531 /* datachannelinterface.h */,
                                5C63F8EB1E41737B002CA531 /* dtmfsenderinterface.h */,
                                5C63F8F61E41737B002CA531 /* mediaconstraintsinterface.cc */,
                                5C63F8F71E41737B002CA531 /* mediaconstraintsinterface.h */,
                                5C63F8FB1E41737B002CA531 /* mediastream.h */,
-                               5CD2863F1E6A683A0094FDC8 /* mediastreaminterface.cc */,
                                5C63F8FC1E41737B002CA531 /* mediastreaminterface.h */,
                                5C63F8FF1E41737B002CA531 /* mediastreamproxy.h */,
                                5C63F9001E41737B002CA531 /* mediastreamtrack.h */,
                                5C63F9011E41737B002CA531 /* mediastreamtrackproxy.h */,
-                               5CD286301E6A67BF0094FDC8 /* mediatypes.cc */,
-                               5CD286311E6A67BF0094FDC8 /* mediatypes.h */,
                                5C63F9021E41737B002CA531 /* notifier.h */,
                                5C63F9081E41737B002CA531 /* peerconnectionfactoryproxy.h */,
                                5C63F9091E41737B002CA531 /* peerconnectioninterface.h */,
                5C63F9881E4174DD002CA531 /* base */ = {
                        isa = PBXGroup;
                        children = (
+                               5CD2846D1E6A5C250094FDC8 /* jseptransport.cc */,
+                               5CD2846E1E6A5C250094FDC8 /* jseptransport.h */,
                                5C63F98A1E4174F6002CA531 /* asyncstuntcpsocket.cc */,
                                5C63F98B1E4174F6002CA531 /* asyncstuntcpsocket.h */,
                                5C63F98C1E4174F6002CA531 /* basicpacketsocketfactory.cc */,
                                5C63F9941E4174F6002CA531 /* dtlstransportchannel.h */,
                                5C63F9951E4174F6002CA531 /* fakeportallocator.h */,
                                5C63F9961E4174F6002CA531 /* faketransportcontroller.h */,
-                               5CD2846D1E6A5C250094FDC8 /* jseptransport.cc */,
-                               5CD2846E1E6A5C250094FDC8 /* jseptransport.h */,
+                               412455541EF887FA00F11809 /* packetlossestimator.cc */,
+                               412455551EF887FA00F11809 /* packetlossestimator.h */,
                                5C63F9971E4174F6002CA531 /* p2pconstants.cc */,
                                5C63F9981E4174F6002CA531 /* p2pconstants.h */,
                                5C63F99C1E4174F6002CA531 /* p2ptransportchannel.cc */,
                                5C63F99D1E4174F6002CA531 /* p2ptransportchannel.h */,
-                               412455541EF887FA00F11809 /* packetlossestimator.cc */,
-                               412455551EF887FA00F11809 /* packetlossestimator.h */,
                                5C63F99E1E4174F6002CA531 /* packetsocketfactory.h */,
                                5C63F99F1E4174F6002CA531 /* packettransportinterface.h */,
                                5C63F9A11E4174F6002CA531 /* port.cc */,
                5C63FA351E417608002CA531 /* pc */ = {
                        isa = PBXGroup;
                        children = (
-                               5C63FA361E41761F002CA531 /* audiomonitor.cc */,
-                               5C63FA371E41761F002CA531 /* audiomonitor.h */,
                                5CD284C41E6A60570094FDC8 /* audiotrack.cc */,
                                5CD284C51E6A60570094FDC8 /* audiotrack.h */,
-                               5C63FA3A1E41761F002CA531 /* bundlefilter.cc */,
-                               5C63FA3B1E41761F002CA531 /* bundlefilter.h */,
-                               5C63FA3D1E41761F002CA531 /* channel.cc */,
-                               5C63FA3E1E41761F002CA531 /* channel.h */,
-                               5C63FA401E41761F002CA531 /* channelmanager.cc */,
-                               5C63FA411E41761F002CA531 /* channelmanager.h */,
                                4145E4C91EF8CB3100FCF6E6 /* createpeerconnectionfactory.cc */,
-                               5C63FA431E41761F002CA531 /* currentspeakermonitor.cc */,
-                               5C63FA441E41761F002CA531 /* currentspeakermonitor.h */,
                                5CD284C61E6A60570094FDC8 /* datachannel.cc */,
                                5CD284C71E6A60570094FDC8 /* datachannel.h */,
                                5CD284C81E6A60570094FDC8 /* dtmfsender.cc */,
                                5CD284C91E6A60570094FDC8 /* dtmfsender.h */,
-                               5C63FA461E41761F002CA531 /* externalhmac.cc */,
-                               5C63FA471E41761F002CA531 /* externalhmac.h */,
                                413091F61EF8CFBD00757C55 /* iceserverparsing.cc */,
                                413091F51EF8CFBD00757C55 /* iceserverparsing.h */,
-                               5CD284731E6A5D280094FDC8 /* jsepicecandidate.cc */,
-                               5CD284711E6A5D080094FDC8 /* jsepsessiondescription.cc */,
                                5CD284CA1E6A60570094FDC8 /* localaudiosource.cc */,
                                5CD284CB1E6A60570094FDC8 /* localaudiosource.h */,
-                               5C63FA481E41761F002CA531 /* mediamonitor.cc */,
-                               5C63FA491E41761F002CA531 /* mediamonitor.h */,
-                               5C63FA4B1E41761F002CA531 /* mediasession.cc */,
-                               5C63FA4C1E41761F002CA531 /* mediasession.h */,
                                5CD284CE1E6A60570094FDC8 /* mediastream.cc */,
                                5CD284CF1E6A60570094FDC8 /* mediastream.h */,
                                5CD284D01E6A60570094FDC8 /* mediastreamobserver.cc */,
                                5CD284D21E6A60570094FDC8 /* mediastreamtrack.h */,
                                5CD284D31E6A60570094FDC8 /* peerconnection.cc */,
                                5CD284D41E6A60570094FDC8 /* peerconnection.h */,
-                               5CD2847D1E6A5E740094FDC8 /* peerconnectionfactory.cc */,
-                               5CD2847E1E6A5E740094FDC8 /* peerconnectionfactory.h */,
                                5CD284D91E6A60570094FDC8 /* remoteaudiosource.cc */,
                                5CD284DA1E6A60570094FDC8 /* remoteaudiosource.h */,
-                               5C63FA501E41761F002CA531 /* rtcpmuxfilter.cc */,
-                               5C63FA511E41761F002CA531 /* rtcpmuxfilter.h */,
                                5CD284DB1E6A60570094FDC8 /* rtcstatscollector.cc */,
                                5CD284DC1E6A60570094FDC8 /* rtcstatscollector.h */,
                                5CD284DD1E6A60570094FDC8 /* rtpreceiver.cc */,
                                4145E4CD1EF8CB9400FCF6E6 /* rtptransport.h */,
                                5CD284E11E6A60570094FDC8 /* sctputils.cc */,
                                5CD284E21E6A60570094FDC8 /* sctputils.h */,
-                               5C63FA531E41761F002CA531 /* srtpfilter.cc */,
-                               5C63FA541E41761F002CA531 /* srtpfilter.h */,
                                5CD284E31E6A60570094FDC8 /* statscollector.cc */,
                                5CD284E41E6A60570094FDC8 /* statscollector.h */,
                                5CD284E51E6A60570094FDC8 /* streamcollection.h */,
                                5CD284EB1E6A60570094FDC8 /* videotrack.h */,
                                5CD284EC1E6A60570094FDC8 /* videotracksource.cc */,
                                5CD284ED1E6A60570094FDC8 /* videotracksource.h */,
-                               5C63FA561E41761F002CA531 /* voicechannel.h */,
+                               5CD284EE1E6A60570094FDC8 /* webrtcsessiondescriptionfactory.cc */,
+                               5CD284EF1E6A60570094FDC8 /* webrtcsessiondescriptionfactory.h */,
+                               5CD2847D1E6A5E740094FDC8 /* peerconnectionfactory.cc */,
+                               5CD2847E1E6A5E740094FDC8 /* peerconnectionfactory.h */,
                                5CD284751E6A5D550094FDC8 /* webrtcsdp.cc */,
                                5CD284761E6A5D550094FDC8 /* webrtcsdp.h */,
                                5CD284771E6A5D550094FDC8 /* webrtcsession.cc */,
                                5CD284781E6A5D550094FDC8 /* webrtcsession.h */,
-                               5CD284EE1E6A60570094FDC8 /* webrtcsessiondescriptionfactory.cc */,
-                               5CD284EF1E6A60570094FDC8 /* webrtcsessiondescriptionfactory.h */,
+                               5CD284731E6A5D280094FDC8 /* jsepicecandidate.cc */,
+                               5CD284711E6A5D080094FDC8 /* jsepsessiondescription.cc */,
+                               5C63FA361E41761F002CA531 /* audiomonitor.cc */,
+                               5C63FA371E41761F002CA531 /* audiomonitor.h */,
+                               5C63FA3A1E41761F002CA531 /* bundlefilter.cc */,
+                               5C63FA3B1E41761F002CA531 /* bundlefilter.h */,
+                               5C63FA3D1E41761F002CA531 /* channel.cc */,
+                               5C63FA3E1E41761F002CA531 /* channel.h */,
+                               5C63FA401E41761F002CA531 /* channelmanager.cc */,
+                               5C63FA411E41761F002CA531 /* channelmanager.h */,
+                               5C63FA431E41761F002CA531 /* currentspeakermonitor.cc */,
+                               5C63FA441E41761F002CA531 /* currentspeakermonitor.h */,
+                               5C63FA461E41761F002CA531 /* externalhmac.cc */,
+                               5C63FA471E41761F002CA531 /* externalhmac.h */,
+                               5C63FA481E41761F002CA531 /* mediamonitor.cc */,
+                               5C63FA491E41761F002CA531 /* mediamonitor.h */,
+                               5C63FA4B1E41761F002CA531 /* mediasession.cc */,
+                               5C63FA4C1E41761F002CA531 /* mediasession.h */,
+                               5C63FA501E41761F002CA531 /* rtcpmuxfilter.cc */,
+                               5C63FA511E41761F002CA531 /* rtcpmuxfilter.h */,
+                               5C63FA531E41761F002CA531 /* srtpfilter.cc */,
+                               5C63FA541E41761F002CA531 /* srtpfilter.h */,
+                               5C63FA561E41761F002CA531 /* voicechannel.h */,
                        );
                        path = pc;
                        sourceTree = "<group>";
                                5C4B44581E42A64B002651C8 /* pem */,
                                5C4B445A1E42A65A002651C8 /* pkcs8 */,
                                5C4B445B1E42A664002651C8 /* poly1305 */,
-                               41A391C11EFC465600C4516A /* pool */,
                                41A392091EFC4AFE00C4516A /* rand_extra */,
+                               41A391C11EFC465600C4516A /* pool */,
                                5C4B445E1E42A676002651C8 /* rc4 */,
                                41A391CF1EFC484C00C4516A /* rsa_extra */,
                                5C4B44611E42A690002651C8 /* stack */,
                5CB3048A1DE4143400D2C405 /* Frameworks */ = {
                        isa = PBXGroup;
                        children = (
+                               5C316D8A1E66333C008BE64D /* Foundation.framework */,
+                               5C316D881E66323F008BE64D /* CoreFoundation.framework */,
+                               5C85C4CA1E5780DD00D097B1 /* CFNetwork.framework */,
+                               5C0073451E552CA20042215A /* SystemConfiguration.framework */,
+                               5C0073411E552C800042215A /* CoreGraphics.framework */,
+                               5C0073421E552C800042215A /* Security.framework */,
+                               5C0073131E5514020042215A /* VideoToolbox.framework */,
                                5C0073091E5513E70042215A /* AudioToolbox.framework */,
                                5C00730A1E5513E70042215A /* AVFoundation.framework */,
-                               5C85C4CA1E5780DD00D097B1 /* CFNetwork.framework */,
                                5C00730B1E5513E70042215A /* CoreAudio.framework */,
-                               5C316D881E66323F008BE64D /* CoreFoundation.framework */,
-                               5C0073411E552C800042215A /* CoreGraphics.framework */,
                                5C00730C1E5513E70042215A /* CoreMedia.framework */,
                                5C00730D1E5513E70042215A /* CoreVideo.framework */,
-                               5C316D8A1E66333C008BE64D /* Foundation.framework */,
-                               5C0073421E552C800042215A /* Security.framework */,
-                               5C0073451E552CA20042215A /* SystemConfiguration.framework */,
-                               416D2F101FA8CC0400097345 /* VideoProcessing.framework */,
-                               5C0073131E5514020042215A /* VideoToolbox.framework */,
                        );
                        name = Frameworks;
                        sourceTree = "<group>";
                        children = (
                                5CD284611E6A57F40094FDC8 /* i420_buffer.cc */,
                                5CD284621E6A57F40094FDC8 /* i420_buffer.h */,
-                               5CD284641E6A57F40094FDC8 /* video_frame.cc */,
-                               5CD284651E6A57F40094FDC8 /* video_frame.h */,
                                4124554A1EF8874300F11809 /* video_frame_buffer.cc */,
                                5CD284631E6A57F40094FDC8 /* video_frame_buffer.h */,
+                               5CD284641E6A57F40094FDC8 /* video_frame.cc */,
+                               5CD284651E6A57F40094FDC8 /* video_frame.h */,
                                5CD284661E6A57F40094FDC8 /* video_rotation.h */,
                        );
                        path = video;
                5CD2853B1E6A61BE0094FDC8 /* audio_codecs */ = {
                        isa = PBXGroup;
                        children = (
+                               5CD2853C1E6A61D20094FDC8 /* audio_decoder_factory.h */,
                                5CD2853D1E6A61D20094FDC8 /* audio_decoder.cc */,
                                5CD2853E1E6A61D20094FDC8 /* audio_decoder.h */,
-                               5CD2853C1E6A61D20094FDC8 /* audio_decoder_factory.h */,
                                4145E4DD1EF8CD3400FCF6E6 /* audio_encoder.cc */,
                                4145E4DE1EF8CD3900FCF6E6 /* audio_encoder.h */,
                                5CD2853F1E6A61D20094FDC8 /* audio_format.cc */,
                        children = (
                                5CD285601E6A63430094FDC8 /* adaptive_fir_filter.cc */,
                                5CD285611E6A63430094FDC8 /* adaptive_fir_filter.h */,
+                               5CD285621E6A63430094FDC8 /* aec_state.cc */,
+                               5CD285631E6A63430094FDC8 /* aec_state.h */,
                                5CD285641E6A63430094FDC8 /* aec3_common.cc */,
                                5CD285651E6A63430094FDC8 /* aec3_common.h */,
                                5CD285661E6A63430094FDC8 /* aec3_fft.cc */,
                                5CD285671E6A63430094FDC8 /* aec3_fft.h */,
-                               5CD285621E6A63430094FDC8 /* aec_state.cc */,
-                               5CD285631E6A63430094FDC8 /* aec_state.h */,
                                5CD285681E6A63430094FDC8 /* block_framer.cc */,
                                5CD285691E6A63430094FDC8 /* block_framer.h */,
-                               5CD2856C1E6A63430094FDC8 /* block_processor.cc */,
-                               5CD2856D1E6A63430094FDC8 /* block_processor.h */,
                                5CD2856A1E6A63430094FDC8 /* block_processor_metrics.cc */,
                                5CD2856B1E6A63430094FDC8 /* block_processor_metrics.h */,
+                               5CD2856C1E6A63430094FDC8 /* block_processor.cc */,
+                               5CD2856D1E6A63430094FDC8 /* block_processor.h */,
                                5CD2856E1E6A63430094FDC8 /* cascaded_biquad_filter.cc */,
                                5CD2856F1E6A63430094FDC8 /* cascaded_biquad_filter.h */,
                                5CD285701E6A63430094FDC8 /* comfort_noise_generator.cc */,
                                5CD285771E6A63430094FDC8 /* echo_path_delay_estimator.h */,
                                5CD285781E6A63430094FDC8 /* echo_path_variability.cc */,
                                5CD285791E6A63430094FDC8 /* echo_path_variability.h */,
-                               5CD2857C1E6A63430094FDC8 /* echo_remover.cc */,
-                               5CD2857D1E6A63430094FDC8 /* echo_remover.h */,
                                5CD2857A1E6A63430094FDC8 /* echo_remover_metrics.cc */,
                                5CD2857B1E6A63430094FDC8 /* echo_remover_metrics.h */,
+                               5CD2857C1E6A63430094FDC8 /* echo_remover.cc */,
+                               5CD2857D1E6A63430094FDC8 /* echo_remover.h */,
                                5CD2857E1E6A63430094FDC8 /* erl_estimator.cc */,
                                5CD2857F1E6A63430094FDC8 /* erl_estimator.h */,
                                5CD285801E6A63430094FDC8 /* erle_estimator.cc */,
                                5CD285861E6A63430094FDC8 /* frame_blocker.h */,
                                5CD285871E6A63430094FDC8 /* main_filter_update_gain.cc */,
                                5CD285881E6A63430094FDC8 /* main_filter_update_gain.h */,
-                               5CD2858B1E6A63430094FDC8 /* matched_filter.cc */,
-                               5CD2858C1E6A63430094FDC8 /* matched_filter.h */,
                                5CD285891E6A63430094FDC8 /* matched_filter_lag_aggregator.cc */,
                                5CD2858A1E6A63430094FDC8 /* matched_filter_lag_aggregator.h */,
+                               5CD2858B1E6A63430094FDC8 /* matched_filter.cc */,
+                               5CD2858C1E6A63430094FDC8 /* matched_filter.h */,
                                5CD2858D1E6A63430094FDC8 /* output_selector.cc */,
                                5CD2858E1E6A63430094FDC8 /* output_selector.h */,
                                4145E4D71EF8CC9A00FCF6E6 /* render_buffer.cc */,
                                4145E4D81EF8CC9A00FCF6E6 /* render_buffer.h */,
                                5CD285911E6A63430094FDC8 /* render_delay_buffer.cc */,
                                5CD285921E6A63430094FDC8 /* render_delay_buffer.h */,
-                               5CD285951E6A63430094FDC8 /* render_delay_controller.cc */,
-                               5CD285961E6A63430094FDC8 /* render_delay_controller.h */,
                                5CD285931E6A63430094FDC8 /* render_delay_controller_metrics.cc */,
                                5CD285941E6A63430094FDC8 /* render_delay_controller_metrics.h */,
+                               5CD285951E6A63430094FDC8 /* render_delay_controller.cc */,
+                               5CD285961E6A63430094FDC8 /* render_delay_controller.h */,
                                5CD285971E6A63430094FDC8 /* render_signal_analyzer.cc */,
                                5CD285981E6A63430094FDC8 /* render_signal_analyzer.h */,
                                5CD285991E6A63430094FDC8 /* residual_echo_estimator.cc */,
                                5CD2859A1E6A63430094FDC8 /* residual_echo_estimator.h */,
                                5CD2859B1E6A63430094FDC8 /* shadow_filter_update_gain.cc */,
                                5CD2859C1E6A63430094FDC8 /* shadow_filter_update_gain.h */,
+                               5CD2859D1E6A63430094FDC8 /* subtractor_output.h */,
                                5CD2859E1E6A63430094FDC8 /* subtractor.cc */,
                                5CD2859F1E6A63430094FDC8 /* subtractor.h */,
-                               5CD2859D1E6A63430094FDC8 /* subtractor_output.h */,
                                5CD285A01E6A63430094FDC8 /* suppression_filter.cc */,
                                5CD285A11E6A63430094FDC8 /* suppression_filter.h */,
                                5CD285A21E6A63430094FDC8 /* suppression_gain.cc */,
                5CDD83681E4399E400621E92 /* modules */ = {
                        isa = PBXGroup;
                        children = (
+                               5CD284811E6A5F2B0094FDC8 /* audio_mixer */,
                                5CDD84051E439AF200621E92 /* audio_coding */,
                                5CDD87E71E43BDC400621E92 /* audio_conference_mixer */,
                                5C119FEF1E4573CA004F0987 /* audio_device */,
-                               5CD284811E6A5F2B0094FDC8 /* audio_mixer */,
                                5CDD84881E43AEC900621E92 /* audio_processing */,
                                5CDD90511E43D10400621E92 /* bitrate_controller */,
                                5CDD8FA61E43CCE100621E92 /* congestion_controller */,
                5CDD83691E4399F400621E92 /* video_coding */ = {
                        isa = PBXGroup;
                        children = (
+                               5CD285E81E6A639F0094FDC8 /* h264_sprop_parameter_sets.cc */,
+                               5CD285E91E6A639F0094FDC8 /* h264_sprop_parameter_sets.h */,
+                               5CD285341E6A61590094FDC8 /* video_codec_initializer.cc */,
                                5CDD853D1E43B3F800621E92 /* codecs */,
                                5CDD836A1E439A0D00621E92 /* utility */,
                                5CDD83871E439A6F00621E92 /* codec_database.cc */,
                                5CDD83971E439A6F00621E92 /* generic_decoder.h */,
                                5CDD83981E439A6F00621E92 /* generic_encoder.cc */,
                                5CDD83991E439A6F00621E92 /* generic_encoder.h */,
-                               5CD285E81E6A639F0094FDC8 /* h264_sprop_parameter_sets.cc */,
-                               5CD285E91E6A639F0094FDC8 /* h264_sprop_parameter_sets.h */,
                                5CDD839A1E439A6F00621E92 /* h264_sps_pps_tracker.cc */,
                                5CDD839B1E439A6F00621E92 /* h264_sps_pps_tracker.h */,
                                5CDD839C1E439A6F00621E92 /* histogram.cc */,
                                5CDD83BF1E439A6F00621E92 /* timestamp_map.h */,
                                5CDD83C01E439A6F00621E92 /* timing.cc */,
                                5CDD83C11E439A6F00621E92 /* timing.h */,
-                               5CD285341E6A61590094FDC8 /* video_codec_initializer.cc */,
                                5CDD83C21E439A6F00621E92 /* video_coding_impl.cc */,
                                5CDD83C31E439A6F00621E92 /* video_coding_impl.h */,
                                5CDD83C41E439A6F00621E92 /* video_receiver.cc */,
                5CDD84061E439AF900621E92 /* codecs */ = {
                        isa = PBXGroup;
                        children = (
+                               5CD2862C1E6A67970094FDC8 /* builtin_audio_decoder_factory_internal.cc */,
+                               5CD2862D1E6A67970094FDC8 /* builtin_audio_decoder_factory_internal.h */,
+                               413092241EF8D6E600757C55 /* builtin_audio_encoder_factory_internal.cc */,
+                               413092261EF8D6E600757C55 /* builtin_audio_encoder_factory_internal.h */,
+                               413092251EF8D6E600757C55 /* builtin_audio_encoder_factory.h */,
                                5CDD8C9D1E43C6EB00621E92 /* cng */,
                                4140B8161E4E335E007409E6 /* g711 */,
                                4140B8171E4E3365007409E6 /* g722 */,
                                5CDD840C1E439B2900621E92 /* audio_format_conversion.cc */,
                                5CDD840D1E439B2900621E92 /* audio_format_conversion.h */,
                                5CDD84111E439B2900621E92 /* builtin_audio_decoder_factory.h */,
-                               5CD2862C1E6A67970094FDC8 /* builtin_audio_decoder_factory_internal.cc */,
-                               5CD2862D1E6A67970094FDC8 /* builtin_audio_decoder_factory_internal.h */,
-                               413092251EF8D6E600757C55 /* builtin_audio_encoder_factory.h */,
-                               413092241EF8D6E600757C55 /* builtin_audio_encoder_factory_internal.cc */,
-                               413092261EF8D6E600757C55 /* builtin_audio_encoder_factory_internal.h */,
                                5CDD84121E439B2900621E92 /* legacy_encoded_audio_frame.cc */,
                                5CDD84131E439B2900621E92 /* legacy_encoded_audio_frame.h */,
                        );
                        children = (
                                413092041EF8D0C800757C55 /* audio_level.cc */,
                                413092031EF8D0C800757C55 /* audio_level.h */,
-                               5CDD842E1E43AE2900621E92 /* channel.cc */,
-                               5CDD842F1E43AE2900621E92 /* channel.h */,
-                               5CDD842A1E43AE2900621E92 /* channel_manager.cc */,
-                               5CDD842B1E43AE2900621E92 /* channel_manager.h */,
-                               5CDD842C1E43AE2900621E92 /* channel_proxy.cc */,
-                               5CDD842D1E43AE2900621E92 /* channel_proxy.h */,
                                5CD285FC1E6A64840094FDC8 /* coder.cc */,
                                5CD285FD1E6A64840094FDC8 /* coder.h */,
                                5CD285FE1E6A64840094FDC8 /* file_player.cc */,
                                5CD285FF1E6A64840094FDC8 /* file_player.h */,
                                5CD286001E6A64840094FDC8 /* file_recorder.cc */,
                                5CD286011E6A64840094FDC8 /* file_recorder.h */,
+                               4130920D1EF8D40100757C55 /* transport_feedback_packet_loss_tracker.cc */,
+                               5CD286021E6A64840094FDC8 /* transport_feedback_packet_loss_tracker.h */,
+                               5CDD842E1E43AE2900621E92 /* channel.cc */,
+                               5CDD842F1E43AE2900621E92 /* channel.h */,
+                               5CDD842A1E43AE2900621E92 /* channel_manager.cc */,
+                               5CDD842B1E43AE2900621E92 /* channel_manager.h */,
+                               5CDD842C1E43AE2900621E92 /* channel_proxy.cc */,
+                               5CDD842D1E43AE2900621E92 /* channel_proxy.h */,
                                5CDD84331E43AE2900621E92 /* monitor_module.h */,
                                5CDD84341E43AE2900621E92 /* output_mixer.cc */,
                                5CDD84351E43AE2900621E92 /* output_mixer.h */,
                                5CDD84381E43AE2900621E92 /* statistics.cc */,
                                5CDD84391E43AE2900621E92 /* statistics.h */,
                                5CDD843A1E43AE2900621E92 /* transmit_mixer.cc */,
-                               5CDD843B1E43AE2900621E92 /* transmit_mixer.h */,
-                               4130920D1EF8D40100757C55 /* transport_feedback_packet_loss_tracker.cc */,
-                               5CD286021E6A64840094FDC8 /* transport_feedback_packet_loss_tracker.h */,
                                4130920C1EF8D40100757C55 /* transport_feedback_packet_loss_tracker.h */,
+                               5CDD843B1E43AE2900621E92 /* transmit_mixer.h */,
                                5CDD843C1E43AE2900621E92 /* utility.cc */,
                                5CDD843D1E43AE2900621E92 /* utility.h */,
                                5CDD84401E43AE2900621E92 /* voe_base_impl.cc */,
                5CDD84881E43AEC900621E92 /* audio_processing */ = {
                        isa = PBXGroup;
                        children = (
-                               5CDD86A91E43B9B900621E92 /* aec */,
-                               5CD2855F1E6A63050094FDC8 /* aec3 */,
                                4130922A1EF8D73500757C55 /* aec_dump */,
+                               5CD2855F1E6A63050094FDC8 /* aec3 */,
+                               5CD2855B1E6A62ED0094FDC8 /* low_cut_filter.cc */,
+                               5CD2855C1E6A62ED0094FDC8 /* low_cut_filter.h */,
+                               5CDD86A91E43B9B900621E92 /* aec */,
                                5CDD86E51E43BA5B00621E92 /* agc */,
                                4130920B1EF8D2CD00757C55 /* agc2 */,
                                5CDD90631E43D14B00621E92 /* beamformer */,
                                5CDD84951E43AF1300621E92 /* gain_control_impl.h */,
                                5CDD84981E43AF1300621E92 /* level_estimator_impl.cc */,
                                5CDD84991E43AF1300621E92 /* level_estimator_impl.h */,
-                               5CD2855B1E6A62ED0094FDC8 /* low_cut_filter.cc */,
-                               5CD2855C1E6A62ED0094FDC8 /* low_cut_filter.h */,
                                5CDD84E71E43B0B600621E92 /* noise_suppression_impl.cc */,
                                5CDD84E81E43B0B600621E92 /* noise_suppression_impl.h */,
                                5CDD849C1E43AF1300621E92 /* render_queue_item_verifier.h */,
                                5CD2849E1E6A5F9F0094FDC8 /* audio_send_stream.cc */,
                                5CD2849F1E6A5F9F0094FDC8 /* audio_send_stream.h */,
                                5CD284A01E6A5F9F0094FDC8 /* audio_state.h */,
+                               5CD284A81E6A5F9F0094FDC8 /* flexfec_receive_stream_impl.cc */,
+                               5CD284A91E6A5F9F0094FDC8 /* flexfec_receive_stream_impl.h */,
+                               5CD284AE1E6A5F9F0094FDC8 /* syncable.cc */,
+                               5CD284AF1E6A5F9F0094FDC8 /* syncable.h */,
                                5CDD851C1E43B39C00621E92 /* bitrate_allocator.cc */,
                                5CDD851D1E43B39C00621E92 /* bitrate_allocator.h */,
                                5CDD85221E43B39C00621E92 /* call.cc */,
                                4145E4E31EF8CD7C00FCF6E6 /* callfactory.h */,
                                4145E4E21EF8CD7700FCF6E6 /* callfactoryinterface.h */,
                                5CDD85261E43B39C00621E92 /* flexfec_receive_stream.h */,
-                               5CD284A81E6A5F9F0094FDC8 /* flexfec_receive_stream_impl.cc */,
-                               5CD284A91E6A5F9F0094FDC8 /* flexfec_receive_stream_impl.h */,
                                413092001EF8D0A600757C55 /* rtp_demuxer.cc */,
-                               413091FF1EF8D0A400757C55 /* rtp_demuxer.h */,
+                               413092171EF8D63900757C55 /* rtp_transport_controller_send_interface.h */,
                                413092181EF8D63F00757C55 /* rtp_transport_controller_send.cc */,
                                413092161EF8D63400757C55 /* rtp_transport_controller_send.h */,
-                               413092171EF8D63900757C55 /* rtp_transport_controller_send_interface.h */,
-                               5CD284AE1E6A5F9F0094FDC8 /* syncable.cc */,
-                               5CD284AF1E6A5F9F0094FDC8 /* syncable.h */,
+                               413091FF1EF8D0A400757C55 /* rtp_demuxer.h */,
                        );
                        name = call;
                        sourceTree = "<group>";
                5CDD853D1E43B3F800621E92 /* codecs */ = {
                        isa = PBXGroup;
                        children = (
+                               41F411BD1EF8DB8200343C26 /* vp8 */,
                                5CDD853E1E43B40500621E92 /* h264 */,
                                5CDD904E1E43D0D400621E92 /* i420 */,
-                               41F411BD1EF8DB8200343C26 /* vp8 */,
                                5CDD8C121E43C39200621E92 /* vp9 */,
                        );
                        name = codecs;
                5CDD85591E43B5AE00621E92 /* video */ = {
                        isa = PBXGroup;
                        children = (
+                               5CD286281E6A66C80094FDC8 /* quality_threshold.cc */,
+                               5CD286291E6A66C80094FDC8 /* quality_threshold.h */,
                                5CDD855C1E43B5C000621E92 /* call_stats.cc */,
                                5CDD855D1E43B5C000621E92 /* call_stats.h */,
                                5CDD85601E43B5C000621E92 /* encoder_rtcp_feedback.cc */,
                                5CDD85671E43B5C000621E92 /* overuse_frame_detector.h */,
                                5CDD856A1E43B5C000621E92 /* payload_router.cc */,
                                5CDD856B1E43B5C000621E92 /* payload_router.h */,
-                               5CD286281E6A66C80094FDC8 /* quality_threshold.cc */,
-                               5CD286291E6A66C80094FDC8 /* quality_threshold.h */,
                                5CDD856D1E43B5C000621E92 /* receive_statistics_proxy.cc */,
                                5CDD856E1E43B5C000621E92 /* receive_statistics_proxy.h */,
                                5CDD85711E43B5C000621E92 /* report_block_stats.cc */,
                5CDD86961E43B98200621E92 /* echo_detector */ = {
                        isa = PBXGroup;
                        children = (
+                               5CD2860E1E6A64C90094FDC8 /* moving_max.cc */,
+                               5CD2860F1E6A64C90094FDC8 /* moving_max.h */,
                                5CDD86981E43B99400621E92 /* circular_buffer.cc */,
                                5CDD86991E43B99400621E92 /* circular_buffer.h */,
                                5CDD869B1E43B99400621E92 /* mean_variance_estimator.cc */,
                                5CDD869C1E43B99400621E92 /* mean_variance_estimator.h */,
-                               5CD2860E1E6A64C90094FDC8 /* moving_max.cc */,
-                               5CD2860F1E6A64C90094FDC8 /* moving_max.h */,
                                5CDD869E1E43B99400621E92 /* normalized_covariance_estimator.cc */,
                                5CDD869F1E43B99400621E92 /* normalized_covariance_estimator.h */,
                        );
                5CDD87FA1E43BE2600621E92 /* source */ = {
                        isa = PBXGroup;
                        children = (
+                               5CD285F81E6A64520094FDC8 /* rtcp_nack_stats.cc */,
+                               5CD285F91E6A64520094FDC8 /* rtcp_nack_stats.h */,
                                5CDD88EB1E43BF2500621E92 /* rtcp_packet */,
                                5CDD87FC1E43BE3C00621E92 /* byte_io.h */,
                                5CDD87FE1E43BE3C00621E92 /* dtmf_queue.cc */,
                                5CDD881A1E43BE3C00621E92 /* receive_statistics_impl.cc */,
                                5CDD881B1E43BE3C00621E92 /* receive_statistics_impl.h */,
                                5CDD881E1E43BE3C00621E92 /* remote_ntp_time_estimator.cc */,
-                               5CD285F81E6A64520094FDC8 /* rtcp_nack_stats.cc */,
-                               5CD285F91E6A64520094FDC8 /* rtcp_nack_stats.h */,
                                5CDD88211E43BE3C00621E92 /* rtcp_packet.cc */,
                                5CDD88221E43BE3C00621E92 /* rtcp_packet.h */,
                                5CDD88241E43BE3C00621E92 /* rtcp_receiver.cc */,
                5CDD89881E43BF8A00621E92 /* neteq */ = {
                        isa = PBXGroup;
                        children = (
+                               5CD285EC1E6A63D20094FDC8 /* neteq_decoder_enum.cc */,
+                               5CD285ED1E6A63D20094FDC8 /* neteq_decoder_enum.h */,
                                5CDD8A5F1E43C00000621E92 /* tools */,
                                5CDD89891E43BFB300621E92 /* accelerate.cc */,
                                5CDD898A1E43BFB300621E92 /* accelerate.h */,
                                5CDD89C51E43BFB300621E92 /* nack_tracker.cc */,
                                5CDD89C61E43BFB300621E92 /* nack_tracker.h */,
                                5CDD89D01E43BFB300621E92 /* neteq.cc */,
-                               5CD285EC1E6A63D20094FDC8 /* neteq_decoder_enum.cc */,
-                               5CD285ED1E6A63D20094FDC8 /* neteq_decoder_enum.h */,
                                5CDD89C91E43BFB300621E92 /* neteq_impl.cc */,
                                5CDD89CA1E43BFB300621E92 /* neteq_impl.h */,
                                5CDD89D31E43BFB300621E92 /* normal.cc */,
                5CDD8ABB1E43C22200621E92 /* audio */ = {
                        isa = PBXGroup;
                        children = (
+                               5CD286341E6A67D80094FDC8 /* audio_transport_proxy.cc */,
+                               5CD286351E6A67D80094FDC8 /* audio_transport_proxy.h */,
                                5CD2854A1E6A62090094FDC8 /* utility */,
                                5CDD8ABD1E43C23900621E92 /* audio_receive_stream.cc */,
                                5CDD8ABE1E43C23900621E92 /* audio_receive_stream.h */,
                                5CDD8AC11E43C23900621E92 /* audio_send_stream.h */,
                                5CDD8AC31E43C23900621E92 /* audio_state.cc */,
                                5CDD8AC41E43C23900621E92 /* audio_state.h */,
-                               5CD286341E6A67D80094FDC8 /* audio_transport_proxy.cc */,
-                               5CD286351E6A67D80094FDC8 /* audio_transport_proxy.h */,
                                5CDD8AC61E43C23900621E92 /* conversion.h */,
                                5CDD8AC91E43C23900621E92 /* scoped_voe_interface.h */,
                        );
                5CDD8E241E43C7DC00621E92 /* x86 */ = {
                        isa = PBXGroup;
                        children = (
-                               5CDD8E251E43C7EC00621E92 /* main_sse.h */,
                                5C5F408D1E978FD200D94279 /* NSQ_del_dec_sse.c */,
                                5C5F408E1E978FD200D94279 /* NSQ_sse.c */,
                                5C5F408F1E978FD200D94279 /* SigProc_FIX_sse.h */,
                                5C5F40901E978FD200D94279 /* VAD_sse.c */,
                                5C5F40911E978FD200D94279 /* VQ_WMat_EC_sse.c */,
+                               5CDD8E251E43C7EC00621E92 /* main_sse.h */,
                                5CDD8E2B1E43C7EC00621E92 /* x86_silk_map.c */,
                        );
                        name = x86;
                5CDD8F551E43CBCA00621E92 /* audio_network_adaptor */ = {
                        isa = PBXGroup;
                        children = (
+                               5CD286121E6A66130094FDC8 /* event_log_writer.cc */,
+                               5CD286131E6A66130094FDC8 /* event_log_writer.h */,
                                5CDD8F591E43CBDF00621E92 /* audio_network_adaptor.cc */,
                                5CDD8F571E43CBDF00621E92 /* audio_network_adaptor_impl.cc */,
                                5CDD8F581E43CBDF00621E92 /* audio_network_adaptor_impl.h */,
                                5CDD8F681E43CBDF00621E92 /* debug_dump_writer.h */,
                                5CDD8F6B1E43CBE000621E92 /* dtx_controller.cc */,
                                5CDD8F6C1E43CBE000621E92 /* dtx_controller.h */,
-                               5CD286121E6A66130094FDC8 /* event_log_writer.cc */,
-                               5CD286131E6A66130094FDC8 /* event_log_writer.h */,
                                5CDD8F711E43CBE000621E92 /* frame_length_controller.cc */,
                                5CDD8F721E43CBE000621E92 /* frame_length_controller.h */,
                        );
                        children = (
                                41F411B21EF8DA4A00343C26 /* acknowledge_bitrate_estimator.cc */,
                                41F411B31EF8DA4A00343C26 /* acknowledge_bitrate_estimator.h */,
+                               5CD286161E6A66380094FDC8 /* median_slope_estimator.cc */,
+                               5CD286171E6A66380094FDC8 /* median_slope_estimator.h */,
+                               5CD2861A1E6A66380094FDC8 /* trendline_estimator.cc */,
+                               5CD2861B1E6A66380094FDC8 /* trendline_estimator.h */,
                                5CDD8FA71E43CD0700621E92 /* congestion_controller.cc */,
                                5CDD8FAA1E43CD0700621E92 /* delay_based_bwe.cc */,
                                5CDD8FAB1E43CD0700621E92 /* delay_based_bwe.h */,
-                               5CD286161E6A66380094FDC8 /* median_slope_estimator.cc */,
-                               5CD286171E6A66380094FDC8 /* median_slope_estimator.h */,
                                5CDD8FAC1E43CD0700621E92 /* probe_bitrate_estimator.cc */,
                                5CDD8FAD1E43CD0700621E92 /* probe_bitrate_estimator.h */,
                                5CDD8FAE1E43CD0700621E92 /* probe_controller.cc */,
                                413092141EF8D5ED00757C55 /* send_side_congestion_controller.cc */,
                                5CDD8FB01E43CD0700621E92 /* transport_feedback_adapter.cc */,
                                5CDD8FB11E43CD0700621E92 /* transport_feedback_adapter.h */,
-                               5CD2861A1E6A66380094FDC8 /* trendline_estimator.cc */,
-                               5CD2861B1E6A66380094FDC8 /* trendline_estimator.h */,
                        );
                        path = congestion_controller;
                        sourceTree = "<group>";
                5CDD90341E43CF3700621E92 /* rtc_event_log */ = {
                        isa = PBXGroup;
                        children = (
-                               5CDD903E1E43CF6100621E92 /* rtc_event_log.cc */,
-                               5CDD903F1E43CF6100621E92 /* rtc_event_log.h */,
+                               41F411B71EF8DA9000343C26 /* rtc_event_log_factory_interface.h */,
                                41F411B61EF8DA8A00343C26 /* rtc_event_log_factory.cc */,
                                41F411B81EF8DA9500343C26 /* rtc_event_log_factory.h */,
-                               41F411B71EF8DA9000343C26 /* rtc_event_log_factory_interface.h */,
+                               5CDD903E1E43CF6100621E92 /* rtc_event_log.cc */,
+                               5CDD903F1E43CF6100621E92 /* rtc_event_log.h */,
                                5CDD90371E43CF6100621E92 /* rtc_event_log_helper_thread.cc */,
                                5CDD90381E43CF6100621E92 /* rtc_event_log_helper_thread.h */,
                        );
                5D7C59C41208C68B001C873E /* Configurations */ = {
                        isa = PBXGroup;
                        children = (
+                               41433D2B1F79B39200387B4D /* libwebrtc.iOS.exp */,
+                               41433D2D1F79B39200387B4D /* libwebrtc.iOSsim.exp */,
+                               41433D2C1F79B39200387B4D /* libwebrtc.mac.exp */,
                                5D7C59C61208C68B001C873E /* Base.xcconfig */,
                                5C4B43B01E42877A002651C8 /* boringssl.xcconfig */,
                                5D7C59C71208C68B001C873E /* DebugRelease.xcconfig */,
                                5C0884891E4A978C00403995 /* libsrtp.xcconfig */,
-                               41433D2B1F79B39200387B4D /* libwebrtc.iOS.exp */,
-                               41433D2D1F79B39200387B4D /* libwebrtc.iOSsim.exp */,
-                               41433D2C1F79B39200387B4D /* libwebrtc.mac.exp */,
                                5D7C59C51208C68B001C873E /* libwebrtc.xcconfig */,
                                5C0885361E4AA38900403995 /* libwebrtcpcrtc.xcconfig */,
                                5C08848A1E4A978C00403995 /* libyuv.xcconfig */,
                                5CDD8E701E43C80C00621E92 /* NSQ.h in Headers */,
                                5C4B4AC11E42C574002651C8 /* opus_private.h in Headers */,
                                5CDD8D511E43C79C00621E92 /* os_support.h in Headers */,
+                               5C5F40991E978FDB00D94279 /* SigProc_FIX_sse.h in Headers */,
                                5CDD8D531E43C79C00621E92 /* pitch.h in Headers */,
                                5CDD8E711E43C80C00621E92 /* pitch_est_defines.h in Headers */,
                                5CDD8E741E43C80C00621E92 /* PLC.h in Headers */,
                                5CDD8E7F1E43C80C00621E92 /* resampler_rom.h in Headers */,
                                5CDD8E801E43C80C00621E92 /* resampler_structs.h in Headers */,
                                5CDD8E841E43C80C00621E92 /* SigProc_FIX.h in Headers */,
-                               5C5F40991E978FDB00D94279 /* SigProc_FIX_sse.h in Headers */,
                                5CDD8EFC1E43C9F600621E92 /* SigProc_FLP.h in Headers */,
                                5CDD8D581E43C79C00621E92 /* stack_alloc.h in Headers */,
                                5CDD8D591E43C79C00621E92 /* static_modes_fixed.h in Headers */,
                        buildActionMask = 2147483647;
                        files = (
                                5C4B475A1E42AAF5002651C8 /* asn1_locl.h in Headers */,
-                               5C4B46751E42AA3C002651C8 /* charmap.h in Headers */,
-                               5C4B47DD1E42C029002651C8 /* conf_def.h in Headers */,
-                               5C4B46491E42AA34002651C8 /* ext_dat.h in Headers */,
                                41A391B31EFC454F00C4516A /* internal.h in Headers */,
+                               41EA53AE1EFC2C4D002FF04C /* md32_common.h in Headers */,
+                               5C4B46751E42AA3C002651C8 /* charmap.h in Headers */,
                                41A391931EFC44EB00C4516A /* internal.h in Headers */,
+                               5C4B47DD1E42C029002651C8 /* conf_def.h in Headers */,
                                41EA53AD1EFC2C4D002FF04C /* internal.h in Headers */,
+                               5C4B46491E42AA34002651C8 /* ext_dat.h in Headers */,
                                41A391C61EFC465600C4516A /* internal.h in Headers */,
                                41A391DF1EFC489A00C4516A /* internal.h in Headers */,
                                5C4B46BA1E42AA66002651C8 /* internal.h in Headers */,
                                41EA53C81EFC2C8B002FF04C /* internal.h in Headers */,
                                5C4B463E1E42AA2C002651C8 /* internal.h in Headers */,
                                5C4B46E71E42AA97002651C8 /* internal.h in Headers */,
+                               41EA53CC1EFC2C8B002FF04C /* p256-x86_64-table.h in Headers */,
                                5C4B47411E42AAEA002651C8 /* internal.h in Headers */,
-                               41A391811EFC447C00C4516A /* internal.h in Headers */,
-                               41A3917C1EFC447C00C4516A /* internal.h in Headers */,
-                               41A391851EFC447C00C4516A /* internal.h in Headers */,
-                               41EA53AE1EFC2C4D002FF04C /* md32_common.h in Headers */,
                                5C4B46C91E42AA70002651C8 /* obj_dat.h in Headers */,
-                               41EA53CC1EFC2C8B002FF04C /* p256-x86_64-table.h in Headers */,
+                               41A391811EFC447C00C4516A /* internal.h in Headers */,
                                41EA53CE1EFC2C8B002FF04C /* p256-x86_64.h in Headers */,
                                5C4B464C1E42AA34002651C8 /* pcy_int.h in Headers */,
-                               41EA540F1EFC2D1B002FF04C /* rsaz_exp.h in Headers */,
+                               41A3917C1EFC447C00C4516A /* internal.h in Headers */,
                                5C4B467F1E42AA3C002651C8 /* vpm_int.h in Headers */,
+                               41EA540F1EFC2D1B002FF04C /* rsaz_exp.h in Headers */,
+                               41A391851EFC447C00C4516A /* internal.h in Headers */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                                5CDD8B6D1E43C2B500621E92 /* abs_quant.h in Headers */,
                                5CDD8B6B1E43C2B500621E92 /* abs_quant_loop.h in Headers */,
                                5CDD89F91E43BFB300621E92 /* accelerate.h in Headers */,
-                               41F411B51EF8DA4B00343C26 /* acknowledge_bitrate_estimator.h in Headers */,
                                5CDD85041E43B1EA00621E92 /* acm_codec_database.h in Headers */,
+                               5CD286111E6A64C90094FDC8 /* moving_max.h in Headers */,
+                               4145E4B41EF8943E00FCF6E6 /* encoder.h in Headers */,
                                5CDD850A1E43B1EA00621E92 /* acm_receiver.h in Headers */,
                                5CDD850C1E43B1EA00621E92 /* acm_resampler.h in Headers */,
                                5C4B48D81E42C1E3002651C8 /* adaptedvideotracksource.h in Headers */,
-                               5CD285A51E6A63430094FDC8 /* adaptive_fir_filter.h in Headers */,
-                               41F411C81EF97BAF00343C26 /* adm_helpers.h in Headers */,
-                               5CD285A91E6A63430094FDC8 /* aec3_common.h in Headers */,
-                               5CD285AB1E6A63430094FDC8 /* aec3_fft.h in Headers */,
                                5CDD86B71E43B9C200621E92 /* aec_common.h in Headers */,
                                5CDD86BD1E43B9C200621E92 /* aec_core.h in Headers */,
                                5CDD86BA1E43B9C200621E92 /* aec_core_optimized_methods.h in Headers */,
-                               413092121EF8D51100757C55 /* aec_dump.h in Headers */,
-                               413092301EF8D77100757C55 /* aec_dump_factory.h in Headers */,
                                5CDD86BF1E43B9C200621E92 /* aec_resampler.h in Headers */,
-                               5CD285A71E6A63430094FDC8 /* aec_state.h in Headers */,
                                5CDD85E81E43B81000621E92 /* aecm_core.h in Headers */,
                                5CDD85E91E43B81000621E92 /* aecm_defines.h in Headers */,
+                               4145E4C71EF896D700FCF6E6 /* rtcstats_objects.h in Headers */,
                                5C0885271E4A99D200403995 /* aes.h in Headers */,
+                               5CD285E71E6A63430094FDC8 /* suppression_gain.h in Headers */,
                                5C0885241E4A99D200403995 /* aes_gcm_ossl.h in Headers */,
+                               5CD2853A1E6A61980094FDC8 /* default_video_bitrate_allocator.h in Headers */,
                                5C0885261E4A99D200403995 /* aes_icm.h in Headers */,
                                5C0885251E4A99D200403995 /* aes_icm_ossl.h in Headers */,
                                5CDD87021E43BA7500621E92 /* agc.h in Headers */,
+                               5CD2846C1E6A57F40094FDC8 /* video_rotation.h in Headers */,
+                               41433D081F79B33400387B4D /* settings.h in Headers */,
                                5CDD87001E43BA7500621E92 /* agc_manager_direct.h in Headers */,
+                               4145E4E51EF8CD7D00FCF6E6 /* callfactoryinterface.h in Headers */,
                                5CDD8FD21E43CD6600621E92 /* aimd_rate_control.h in Headers */,
                                5C0885281E4A99D200403995 /* alloc.h in Headers */,
+                               4145E4E01EF8CD3900FCF6E6 /* audio_encoder.h in Headers */,
                                5CDD8F9F1E43CCBE00621E92 /* alr_detector.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 */,
                                5CDD87AA1E43BC0500621E92 /* arith_routines.h in Headers */,
-                               41433D011F79B33400387B4D /* arith_routins.h in Headers */,
                                5CDD90761E43D15C00621E92 /* array_util.h in Headers */,
                                5C63F6811E41619E002CA531 /* array_view.h in Headers */,
                                5C63F6821E41619E002CA531 /* arraysize.h in Headers */,
                                5C63F6891E41619E002CA531 /* asyncpacketsocket.h in Headers */,
                                5C63F68B1E41619E002CA531 /* asyncresolverinterface.h in Headers */,
                                5C63F68D1E41619E002CA531 /* asyncsocket.h in Headers */,
+                               4145E4B71EF8943E00FCF6E6 /* nalu_rewriter.h in Headers */,
                                5C63F9E11E4174F6002CA531 /* asyncstuntcpsocket.h in Headers */,
                                5C63F68F1E41619E002CA531 /* asynctcpsocket.h in Headers */,
                                5C63F6911E41619E002CA531 /* asyncudpsocket.h in Headers */,
+                               5CD284F11E6A60570094FDC8 /* audiotrack.h in Headers */,
                                5C63F7B21E416288002CA531 /* atomicops.h in Headers */,
                                5CDD84AA1E43AF1300621E92 /* audio_buffer.h in Headers */,
                                5CDD8A8E1E43C00F00621E92 /* audio_checksum.h in Headers */,
                                5CDD87F21E43BDED00621E92 /* audio_conference_mixer_impl.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 */,
                                4140B8321E4E3396007409E6 /* audio_decoder_g722.h in Headers */,
                                5CDD8B6F1E43C2B500621E92 /* audio_decoder_ilbc.h in Headers */,
                                5CDD89FE1E43BFB300621E92 /* audio_decoder_impl.h in Headers */,
                                5CDD8C0A1E43C34600621E92 /* audio_decoder_isac_t.h in Headers */,
                                5CDD8C091E43C34600621E92 /* audio_decoder_isac_t_impl.h in Headers */,
+                               5CD285491E6A61D20094FDC8 /* builtin_audio_decoder_factory.h in Headers */,
                                5CDD8C611E43C60900621E92 /* audio_decoder_opus.h in Headers */,
                                4140B8231E4E3383007409E6 /* audio_decoder_pcm.h in Headers */,
                                5CDD8FFD1E43CE3A00621E92 /* audio_decoder_pcm16b.h in Headers */,
                                5C119FFF1E457400004F0987 /* audio_device_generic.h in Headers */,
                                5CFD537C1E4BA4F500482908 /* audio_device_ios.h in Headers */,
                                5C11A00C1E457448004F0987 /* audio_device_mac.h in Headers */,
-                               4145E4E01EF8CD3900FCF6E6 /* audio_encoder.h in Headers */,
                                5CDD84181E439B2900621E92 /* audio_encoder.h in Headers */,
                                5CDD8CA81E43C6F700621E92 /* audio_encoder_cng.h in Headers */,
                                5CDD8FF41E43CDF400621E92 /* audio_encoder_copy_red.h in Headers */,
+                               412455531EF887B700F11809 /* httpcommon.h in Headers */,
+                               5CD285CA1E6A63430094FDC8 /* frame_blocker.h in Headers */,
                                4140B8341E4E3396007409E6 /* audio_encoder_g722.h in Headers */,
                                5CDD8B711E43C2B500621E92 /* audio_encoder_ilbc.h in Headers */,
                                5CDD8C0C1E43C34600621E92 /* audio_encoder_isac_t.h in Headers */,
+                               412455571EF887FB00F11809 /* packetlossestimator.h in Headers */,
                                5CDD8C0B1E43C34600621E92 /* audio_encoder_isac_t_impl.h in Headers */,
                                5CDD8C641E43C60900621E92 /* audio_encoder_opus.h in Headers */,
                                4140B8211E4E3383007409E6 /* audio_encoder_pcm.h in Headers */,
                                5CDD8FFF1E43CE3A00621E92 /* audio_encoder_pcm16b.h in Headers */,
-                               5CD285471E6A61D20094FDC8 /* audio_format.h in Headers */,
                                5CDD841A1E439B2900621E92 /* audio_format_conversion.h in Headers */,
                                5CDD87F41E43BDED00621E92 /* audio_frame_manipulator.h in Headers */,
-                               5CD284931E6A5F410094FDC8 /* audio_frame_manipulator.h in Headers */,
-                               5CD2854E1E6A62130094FDC8 /* audio_frame_operations.h in Headers */,
-                               413092051EF8D0C900757C55 /* audio_level.h in Headers */,
                                5CDD8A901E43C00F00621E92 /* audio_loop.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 */,
                                5CDD8FEA1E43CDCA00621E92 /* audio_processing.h in Headers */,
                                5CDD84AC1E43AF1300621E92 /* audio_processing_impl.h in Headers */,
                                5CDD8ACD1E43C23900621E92 /* audio_receive_stream.h in Headers */,
-                               5CD284B01E6A5F9F0094FDC8 /* audio_receive_stream.h in Headers */,
                                5C4B4C5D1E431F9C002651C8 /* audio_ring_buffer.h in Headers */,
+                               413091F31EF8CF9200757C55 /* rtp_video_stream_receiver.h in Headers */,
                                5CDD8AD01E43C23900621E92 /* audio_send_stream.h in Headers */,
-                               5CD284B21E6A5F9F0094FDC8 /* audio_send_stream.h in Headers */,
                                5CFD53801E4BA4F500482908 /* audio_session_observer.h in Headers */,
+                               5CD286151E6A66130094FDC8 /* event_log_writer.h in Headers */,
                                5CDD8C4F1E43C58E00621E92 /* audio_sink.h in Headers */,
+                               41433CED1F79B33400387B4D /* filterbank_internal.h in Headers */,
                                5CDD8A921E43C00F00621E92 /* audio_sink.h in Headers */,
+                               5CD2863D1E6A681C0094FDC8 /* sctptransport.h in Headers */,
                                5CDD8AD31E43C23900621E92 /* audio_state.h in Headers */,
-                               5CD284B31E6A5F9F0094FDC8 /* audio_state.h in Headers */,
-                               5CD286371E6A67D80094FDC8 /* audio_transport_proxy.h in Headers */,
                                5CDD8A051E43BFB300621E92 /* audio_vector.h in Headers */,
                                5C4B48D91E42C1E3002651C8 /* audiosource.h in Headers */,
-                               5CD284F11E6A60570094FDC8 /* audiotrack.h in Headers */,
                                5CDD8B731E43C2B500621E92 /* augmented_cb_corr.h in Headers */,
                                5C0885291E4A99D200403995 /* auth.h in Headers */,
                                5C63F8DA1E416D53002CA531 /* autolink.h in Headers */,
                                5CDD8A081E43BFB300621E92 /* background_noise.h in Headers */,
+                               5CD284B81E6A5F9F0094FDC8 /* call.h in Headers */,
+                               41433D0D1F79B33400387B4D /* filterbank_tables.h in Headers */,
                                5CDD87AF1E43BC0500621E92 /* bandwidth_estimator.h in Headers */,
-                               41433D241F79B33400387B4D /* bandwidth_estimator.h in Headers */,
                                5CDD8C0D1E43C34600621E92 /* bandwidth_info.h in Headers */,
                                5C63F7B61E416288002CA531 /* base64.h in Headers */,
                                5C63F9E31E4174F6002CA531 /* basicpacketsocketfactory.h in Headers */,
                                5C4B4D0A1E4322F6002651C8 /* basicportallocator.h in Headers */,
                                5C63F7B71E416288002CA531 /* basictypes.h in Headers */,
+                               41433D131F79B33400387B4D /* entropy_coding.h in Headers */,
                                5C63F7B81E416288002CA531 /* bind.h in Headers */,
                                5CDD901D1E43CEDE00621E92 /* biquad_filter.h in Headers */,
                                5C63F7BA1E416288002CA531 /* bitbuffer.h in Headers */,
-                               41109AB01E5FA19200C0955A /* bitrate_adjuster.h in Headers */,
                                5CDD85301E43B39C00621E92 /* bitrate_allocator.h in Headers */,
                                5CDD8F7E1E43CBE000621E92 /* bitrate_controller.h in Headers */,
                                5CDD905E1E43D11200621E92 /* bitrate_controller_impl.h in Headers */,
                                5CDD8FA11E43CCBE00621E92 /* bitrate_prober.h in Headers */,
-                               5CD285AD1E6A63430094FDC8 /* block_framer.h in Headers */,
                                5CDD86881E43B93900621E92 /* block_mean_calculator.h in Headers */,
-                               5CD285B11E6A63430094FDC8 /* block_processor.h in Headers */,
-                               5CD285AF1E6A63430094FDC8 /* block_processor_metrics.h in Headers */,
                                5C4B4C621E431F9C002651C8 /* blocker.h in Headers */,
                                5C63F7BC1E416288002CA531 /* buffer.h in Headers */,
                                5CDD8A0B1E43BFB300621E92 /* buffer_level_filter.h in Headers */,
                                5C63F7BE1E416288002CA531 /* bufferqueue.h in Headers */,
-                               5CD285491E6A61D20094FDC8 /* builtin_audio_decoder_factory.h in Headers */,
                                5CDD841E1E439B2900621E92 /* builtin_audio_decoder_factory.h in Headers */,
-                               5CD2862F1E6A67970094FDC8 /* builtin_audio_decoder_factory_internal.h in Headers */,
-                               413091FC1EF8CFF800757C55 /* builtin_audio_encoder_factory.h in Headers */,
-                               413092281EF8D6E600757C55 /* builtin_audio_encoder_factory.h in Headers */,
-                               413092291EF8D6E600757C55 /* builtin_audio_encoder_factory_internal.h in Headers */,
+                               5CD285A51E6A63430094FDC8 /* adaptive_fir_filter.h in Headers */,
+                               4145E4DA1EF8CC9B00FCF6E6 /* render_buffer.h in Headers */,
                                5CDD8B751E43C2B500621E92 /* bw_expand.h in Headers */,
                                5CDD893F1E43BF3A00621E92 /* bye.h in Headers */,
+                               4130921A1EF8D63F00757C55 /* rtp_transport_controller_send_interface.h in Headers */,
                                5CDD88761E43BE3C00621E92 /* byte_io.h in Headers */,
                                5C63F7C01E416288002CA531 /* bytebuffer.h in Headers */,
                                5C63F7C11E416288002CA531 /* byteorder.h in Headers */,
-                               5CD284B81E6A5F9F0094FDC8 /* call.h in Headers */,
                                5CDD85131E43B1EA00621E92 /* call_statistics.h in Headers */,
                                5CDD859D1E43B5C000621E92 /* call_stats.h in Headers */,
                                5C63F7C21E416288002CA531 /* callback.h in Headers */,
-                               4145E4E61EF8CD7D00FCF6E6 /* callfactory.h in Headers */,
-                               4145E4E51EF8CD7D00FCF6E6 /* callfactoryinterface.h in Headers */,
+                               5CD285111E6A60570094FDC8 /* streamcollection.h in Headers */,
                                5C63F9E41E4174F6002CA531 /* candidate.h in Headers */,
                                5C63F9E51E4174F6002CA531 /* candidatepairinterface.h in Headers */,
-                               5CD285B31E6A63430094FDC8 /* cascaded_biquad_filter.h in Headers */,
                                5CDD8B771E43C2B500621E92 /* cb_construct.h in Headers */,
                                5CDD8B7D1E43C2B500621E92 /* cb_mem_energy.h in Headers */,
                                5CDD8B791E43C2B500621E92 /* cb_mem_energy_augmentation.h in Headers */,
+                               5CD285BB1E6A63430094FDC8 /* echo_path_delay_estimator.h in Headers */,
                                5CDD8B7B1E43C2B500621E92 /* cb_mem_energy_calc.h in Headers */,
                                5CDD8B811E43C2B500621E92 /* cb_search.h in Headers */,
                                5CDD8B7F1E43C2B500621E92 /* cb_search_core.h in Headers */,
                                5CDD8B831E43C2B500621E92 /* cb_update_best_index.h in Headers */,
                                5CDD845E1E43AE2900621E92 /* channel.h in Headers */,
+                               412455441EF87C0F00F11809 /* dot_product_with_scale.h in Headers */,
                                5C4B4C651E431F9C002651C8 /* channel_buffer.h in Headers */,
                                5CDD8F811E43CBE000621E92 /* channel_controller.h in Headers */,
                                5CDD845A1E43AE2900621E92 /* channel_manager.h in Headers */,
                                5CDD86A21E43B99400621E92 /* circular_buffer.h in Headers */,
                                5C4B48DC1E42C1E3002651C8 /* codec.h in Headers */,
                                5CDD87B01E43BC0500621E92 /* codec.h in Headers */,
-                               41433CF31F79B33400387B4D /* codec.h in Headers */,
                                5CDD83C71E439A6F00621E92 /* codec_database.h in Headers */,
                                5CDD85161E43B1EA00621E92 /* codec_manager.h in Headers */,
                                5CDD83C91E439A6F00621E92 /* codec_timer.h in Headers */,
-                               5CD286061E6A64840094FDC8 /* coder.h in Headers */,
                                5CDD8A0E1E43BFB300621E92 /* comfort_noise.h in Headers */,
-                               5CD285B51E6A63430094FDC8 /* comfort_noise_generator.h in Headers */,
                                5C63F9E61E4174F6002CA531 /* common.h in Headers */,
+                               5CD284FD1E6A60570094FDC8 /* mediastreamobserver.h in Headers */,
+                               4145E4911EF88EF700FCF6E6 /* webrtc_libyuv.h in Headers */,
                                5CDD87271E43BABE00621E92 /* common.h in Headers */,
                                5CDD84AD1E43AF1300621E92 /* common.h in Headers */,
                                5CDD8C861E43C66000621E92 /* common.h in Headers */,
                                5CDD89421E43BF3A00621E92 /* common_header.h in Headers */,
                                5C6CDD4C1E413598009754E3 /* common_types.h in Headers */,
                                5CDD8B871E43C2B500621E92 /* comp_corr.h in Headers */,
+                               5CD285EF1E6A63D20094FDC8 /* neteq_decoder_enum.h in Headers */,
                                5CDD86461E43B8B500621E92 /* complex_fft_tables.h in Headers */,
+                               41F411C81EF97BAF00343C26 /* adm_helpers.h in Headers */,
                                5CDD90781E43D15C00621E92 /* complex_matrix.h in Headers */,
                                5CDD89451E43BF3A00621E92 /* compound_packet.h in Headers */,
                                5CDD8FEC1E43CDCA00621E92 /* config.h in Headers */,
                                5CDD8F841E43CBE000621E92 /* controller_manager.h in Headers */,
                                5CDD8AD41E43C23900621E92 /* conversion.h in Headers */,
                                5C63F7C91E416288002CA531 /* copyonwritebuffer.h in Headers */,
-                               4145E4AB1EF8933D00FCF6E6 /* corevideo_frame_buffer.h in Headers */,
                                5CDD907B1E43D15C00621E92 /* covariance_matrix_generator.h in Headers */,
                                5CDD87B21E43BC0500621E92 /* crc.h in Headers */,
                                5C63F7CC1E416288002CA531 /* crc32.h in Headers */,
                                5CDD8B8C1E43C2B500621E92 /* create_augmented_vec.h in Headers */,
                                5C63F7CE1E416288002CA531 /* criticalsection.h in Headers */,
                                5CDD8A101E43BFB300621E92 /* cross_correlation.h in Headers */,
+                               5CD285BD1E6A63430094FDC8 /* echo_path_variability.h in Headers */,
                                5C08852B1E4A99D200403995 /* crypto_kernel.h in Headers */,
                                5C08852C1E4A99D200403995 /* crypto_types.h in Headers */,
                                5C4B48DD1E42C1E3002651C8 /* cryptoparams.h in Headers */,
                                5C63F7D01E416288002CA531 /* cryptstring.h in Headers */,
                                5C63F9391E41737B002CA531 /* datachannel.h in Headers */,
-                               5CD284F31E6A60570094FDC8 /* datachannel.h in Headers */,
+                               5CD284BF1E6A5F9F0094FDC8 /* syncable.h in Headers */,
                                5C63F93A1E41737B002CA531 /* datachannelinterface.h in Headers */,
+                               5CD286211E6A66380094FDC8 /* trendline_estimator.h in Headers */,
+                               5CD284931E6A5F410094FDC8 /* audio_frame_manipulator.h in Headers */,
+                               413092201EF8D6A200757C55 /* gain_controller2.h in Headers */,
                                5C08852D1E4A99D200403995 /* datatypes.h in Headers */,
                                5CDD8C871E43C66000621E92 /* daubechies_8_wavelet_coeffs.h in Headers */,
                                5CDD8F881E43CBE000621E92 /* debug_dump_writer.h in Headers */,
-                               5CD285B71E6A63430094FDC8 /* decimator_by_4.h in Headers */,
                                5CDD8A171E43BFB300621E92 /* decision_logic.h in Headers */,
                                5CDD8A121E43BFB300621E92 /* decision_logic_fax.h in Headers */,
                                5CDD8A141E43BFB300621E92 /* decision_logic_normal.h in Headers */,
                                5CDD8B901E43C2B500621E92 /* decode.h in Headers */,
                                5CDD8B8E1E43C2B500621E92 /* decode_residual.h in Headers */,
-                               4145E4B51EF8943E00FCF6E6 /* decoder.h in Headers */,
+                               5CD2862B1E6A66C80094FDC8 /* quality_threshold.h in Headers */,
+                               5CD285001E6A60570094FDC8 /* peerconnection.h in Headers */,
                                5CDD8A1A1E43BFB300621E92 /* 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 */,
-                               5CD2853A1E6A61980094FDC8 /* default_video_bitrate_allocator.h in Headers */,
+                               41F411BA1EF8DA9600343C26 /* rtc_event_log_factory_interface.h in Headers */,
                                5CDD85FB1E43B84E00621E92 /* defines.h in Headers */,
                                5CDD8A1B1E43BFB300621E92 /* defines.h in Headers */,
                                5CDD8B931E43C2B500621E92 /* defines.h in Headers */,
                                5C63F7D41E416288002CA531 /* deprecation.h in Headers */,
                                5C4B48DE1E42C1E3002651C8 /* device.h in Headers */,
                                5CDD86EF1E43BA6D00621E92 /* digital_agc.h in Headers */,
-                               413092211EF8D6A200757C55 /* digital_gain_applier.h in Headers */,
                                5CDD89481E43BF3A00621E92 /* dlrr.h in Headers */,
                                5CDD8B951E43C2B500621E92 /* do_plc.h in Headers */,
-                               412455441EF87C0F00F11809 /* dot_product_with_scale.h in Headers */,
                                5CDD901F1E43CEDE00621E92 /* down_sampler.h in Headers */,
-                               4145E4D51EF8CC7600FCF6E6 /* downsampled_render_buffer.h in Headers */,
                                5C63F7D71E416288002CA531 /* dscp.h in Headers */,
                                5CDD8A241E43BFB300621E92 /* dsp_helper.h in Headers */,
                                5C63F9EA1E4174F6002CA531 /* dtlstransportchannel.h in Headers */,
                                5CDD8A271E43BFB300621E92 /* dtmf_buffer.h in Headers */,
                                5CDD88781E43BE3C00621E92 /* dtmf_queue.h in Headers */,
+                               5CD285A71E6A63430094FDC8 /* aec_state.h in Headers */,
                                5CDD8A2A1E43BFB300621E92 /* dtmf_tone_generator.h in Headers */,
-                               5CD284F51E6A60570094FDC8 /* dtmfsender.h in Headers */,
                                5C63F93D1E41737B002CA531 /* dtmfsenderinterface.h in Headers */,
                                5CDD8F8B1E43CBE000621E92 /* dtx_controller.h in Headers */,
+                               5CD285321E6A61110094FDC8 /* internalencoderfactory.h in Headers */,
                                5CDD8C891E43C66000621E92 /* dyadic_decimator.h in Headers */,
                                5CDD86C21E43B9C200621E92 /* echo_cancellation.h in Headers */,
                                5CDD84AF1E43AF1300621E92 /* echo_cancellation_impl.h in Headers */,
-                               5CD285B91E6A63430094FDC8 /* echo_canceller3.h in Headers */,
                                5CDD85EB1E43B81000621E92 /* echo_control_mobile.h in Headers */,
+                               5CD285E31E6A63430094FDC8 /* subtractor.h in Headers */,
                                5CDD84B11E43AF1300621E92 /* echo_control_mobile_impl.h in Headers */,
-                               5CD285BB1E6A63430094FDC8 /* echo_path_delay_estimator.h in Headers */,
-                               5CD285BD1E6A63430094FDC8 /* echo_path_variability.h in Headers */,
-                               5CD285C11E6A63430094FDC8 /* echo_remover.h in Headers */,
-                               5CD285BF1E6A63430094FDC8 /* echo_remover_metrics.h in Headers */,
                                5CDD8B971E43C2B500621E92 /* encode.h in Headers */,
                                5CDD87B61E43BC0500621E92 /* encode_lpc_swb.h in Headers */,
                                5CDD8A961E43C00F00621E92 /* encode_neteq_input.h in Headers */,
                                5CDD83CD1E439A6F00621E92 /* encoded_frame.h in Headers */,
-                               4145E4B41EF8943E00FCF6E6 /* encoder.h in Headers */,
                                5CDD85A01E43B5C000621E92 /* encoder_rtcp_feedback.h in Headers */,
-                               416D2F151FA8CCAE00097345 /* encoder_vcp.h in Headers */,
                                5CDD8B991E43C2B500621E92 /* energy_inverse.h in Headers */,
+                               5CD285FB1E6A64520094FDC8 /* rtcp_nack_stats.h in Headers */,
                                5CDD8B9B1E43C2B500621E92 /* enh_upsample.h in Headers */,
                                5CDD8B9F1E43C2B500621E92 /* enhancer.h in Headers */,
                                5CDD8B9D1E43C2B500621E92 /* enhancer_interface.h in Headers */,
-                               41433D131F79B33400387B4D /* entropy_coding.h in Headers */,
+                               5CD285DA1E6A63430094FDC8 /* render_delay_controller.h in Headers */,
                                5CDD87B91E43BC0500621E92 /* entropy_coding.h in Headers */,
-                               5CD285C31E6A63430094FDC8 /* erl_estimator.h in Headers */,
-                               5CD285C51E6A63430094FDC8 /* erle_estimator.h in Headers */,
+                               413091FC1EF8CFF800757C55 /* builtin_audio_encoder_factory.h in Headers */,
                                5C08852E1E4A99D200403995 /* err.h in Headers */,
                                5C63F7DB1E416288002CA531 /* event.h in Headers */,
-                               5CD286151E6A66130094FDC8 /* event_log_writer.h in Headers */,
                                5C4B4CCF1E4320A9002651C8 /* event_timer_posix.h in Headers */,
                                5C63F7D91E416288002CA531 /* event_tracer.h in Headers */,
-                               5CD285541E6A62410094FDC8 /* exp_filter.h in Headers */,
                                5CDD8A2D1E43BFB300621E92 /* expand.h in Headers */,
                                5CDD894B1E43BF3A00621E92 /* extended_jitter_report.h in Headers */,
                                5CDD894E1E43BF3A00621E92 /* extended_reports.h in Headers */,
+                               41F411C31EF8DBF600343C26 /* string_to_number.h in Headers */,
+                               5CD285C81E6A63430094FDC8 /* fft_data.h in Headers */,
                                5CDD8A981E43C00F00621E92 /* fake_decode_from_file.h in Headers */,
                                5C63F7DF1E416288002CA531 /* fakeclock.h in Headers */,
                                5C4B48DF1E42C1E3002651C8 /* fakemediaengine.h in Headers */,
                                5CDD887A1E43BE3C00621E92 /* fec_private_tables_random.h in Headers */,
                                5CDD887C1E43BE3C00621E92 /* fec_test_helper.h in Headers */,
                                5CDD87BB1E43BC0500621E92 /* fft.h in Headers */,
-                               41433D221F79B33400387B4D /* fft.h in Headers */,
                                5C4B4C671E431F9C002651C8 /* fft4g.h in Headers */,
-                               5CD285C81E6A63430094FDC8 /* fft_data.h in Headers */,
                                5C63F7E51E416288002CA531 /* file.h in Headers */,
                                5C11A0221E457578004F0987 /* file_audio_device.h in Headers */,
                                5C11A0201E457578004F0987 /* file_audio_device_factory.h in Headers */,
-                               5CD286081E6A64840094FDC8 /* file_player.h in Headers */,
-                               5CD2860A1E6A64840094FDC8 /* file_recorder.h in Headers */,
                                5CDD8C8C1E43C66000621E92 /* file_utils.h in Headers */,
                                5C63F7E71E416288002CA531 /* filerotatingstream.h in Headers */,
                                5C63F7EA1E416288002CA531 /* fileutils.h in Headers */,
-                               41433CED1F79B33400387B4D /* filterbank_internal.h in Headers */,
-                               41433D0D1F79B33400387B4D /* filterbank_tables.h in Headers */,
                                5CDD87BE1E43BC0500621E92 /* filterbank_tables.h in Headers */,
                                5CDD8BA11E43C2B500621E92 /* filtered_cb_vecs.h in Headers */,
+                               41433D281F79B33400387B4D /* lpc_tables.h in Headers */,
+                               5CD286251E6A666D0094FDC8 /* videodecodersoftwarefallbackwrapper.h in Headers */,
+                               41F411BB1EF8DA9600343C26 /* rtc_event_log_factory.h in Headers */,
                                5C11A0041E457400004F0987 /* fine_audio_buffer.h in Headers */,
                                5CDD89511E43BF3A00621E92 /* fir.h in Headers */,
+                               413092281EF8D6E600757C55 /* builtin_audio_encoder_factory.h in Headers */,
                                5C4B4C6E1E431F9C002651C8 /* fir_filter.h in Headers */,
                                5C4B4C6B1E431F9C002651C8 /* fir_filter_sse.h in Headers */,
+                               4145E4E61EF8CD7D00FCF6E6 /* callfactory.h in Headers */,
+                               41433D241F79B33400387B4D /* bandwidth_estimator.h in Headers */,
                                5C63F7EC1E416288002CA531 /* firewallsocketserver.h in Headers */,
                                5C63F7EE1E416288002CA531 /* 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 */,
                                5C63F7EF1E416288002CA531 /* format_macros.h in Headers */,
                                5CDD88891E43BE3C00621E92 /* forward_error_correction.h in Headers */,
                                5CDD88871E43BE3C00621E92 /* forward_error_correction_internal.h in Headers */,
                                5C63F8DD1E416D53002CA531 /* forwards.h in Headers */,
-                               5CD285CA1E6A63430094FDC8 /* frame_blocker.h in Headers */,
                                5CDD83D01E439A6F00621E92 /* frame_buffer.h in Headers */,
                                5CDD83D21E439A6F00621E92 /* frame_buffer2.h in Headers */,
-                               41109AAF1E5FA19200C0955A /* frame_callback.h in Headers */,
                                5CDD8BA31E43C2B500621E92 /* frame_classify.h in Headers */,
-                               5CD2849B1E6A5F410094FDC8 /* frame_combiner.h in Headers */,
                                5CDD837A1E439A3500621E92 /* frame_dropper.h in Headers */,
                                5CDD8F911E43CBE000621E92 /* frame_length_controller.h in Headers */,
                                5CDD83D41E439A6F00621E92 /* frame_object.h in Headers */,
                                5C63F7F01E416288002CA531 /* function_view.h in Headers */,
                                4140B8271E4E3383007409E6 /* g711.h in Headers */,
+                               5CD285301E6A61110094FDC8 /* internaldecoderfactory.h in Headers */,
                                4140B8251E4E3383007409E6 /* g711_interface.h in Headers */,
                                4140B8361E4E3396007409E6 /* g722_enc_dec.h in Headers */,
                                4140B8391E4E3396007409E6 /* g722_interface.h in Headers */,
+                               5CD285471E6A61D20094FDC8 /* audio_format.h in Headers */,
                                5CDD90211E43CEDE00621E92 /* 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 */,
-                               413092201EF8D6A200757C55 /* gain_controller2.h in Headers */,
                                5CDD8BA51E43C2B500621E92 /* gain_dequant.h in Headers */,
                                5CDD87031E43BA7500621E92 /* gain_map_internal.h in Headers */,
                                5CDD8BA71E43C2B500621E92 /* gain_quant.h in Headers */,
+                               5CD285431E6A61D20094FDC8 /* audio_decoder_factory.h in Headers */,
                                5CDD90231E43CEDE00621E92 /* gain_selector.h in Headers */,
+                               5CD285081E6A60570094FDC8 /* rtcstatscollector.h in Headers */,
                                5CDD83D61E439A6F00621E92 /* generic_decoder.h in Headers */,
                                5CDD83D81E439A6F00621E92 /* generic_encoder.h in Headers */,
+                               5CD285AF1E6A63430094FDC8 /* block_processor_metrics.h in Headers */,
                                5CDD8BA91E43C2B500621E92 /* get_cd_vec.h in Headers */,
                                5CDD8BAB1E43C2B500621E92 /* get_lsp_poly.h in Headers */,
                                5CDD8BAD1E43C2B500621E92 /* get_sync_seq.h in Headers */,
                                5C63F7F11E416288002CA531 /* gtest_prod_util.h in Headers */,
                                5C63F7F31E416288002CA531 /* gunit.h in Headers */,
                                5C63F7F21E416288002CA531 /* gunit_prod.h in Headers */,
+                               41433CF01F79B33400387B4D /* structs.h in Headers */,
+                               5CD285C31E6A63430094FDC8 /* erl_estimator.h in Headers */,
+                               5CD285E01E6A63430094FDC8 /* shadow_filter_update_gain.h in Headers */,
                                5CDD83551E43257200621E92 /* h264_bitstream_parser.h in Headers */,
                                5CDD83571E43257200621E92 /* h264_common.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 */,
                                5C63F7F51E416288002CA531 /* helpers.h in Headers */,
                                5CDD83DC1E439A6F00621E92 /* histogram.h in Headers */,
                                5CDD8BAF1E43C2B500621E92 /* hp_input.h in Headers */,
+                               5CD285BF1E6A63430094FDC8 /* echo_remover_metrics.h in Headers */,
                                5CDD8BB11E43C2B500621E92 /* hp_output.h in Headers */,
-                               412455531EF887B700F11809 /* httpcommon.h in Headers */,
-                               5CD284681E6A57F40094FDC8 /* i420_buffer.h in Headers */,
-                               41109AAD1E5FA19200C0955A /* i420_buffer_pool.h in Headers */,
-                               413091F71EF8CFBD00757C55 /* iceserverparsing.h in Headers */,
+                               413092121EF8D51100757C55 /* aec_dump.h in Headers */,
                                5C63F8021E416288002CA531 /* ifaddrs_converter.h in Headers */,
                                5C63F8051E416288002CA531 /* ignore_wundef.h in Headers */,
+                               41109AAE1E5FA19200C0955A /* video_frame_buffer.h in Headers */,
                                5CDD8BB41E43C2B500621E92 /* ilbc.h in Headers */,
-                               41109AB11E5FA19200C0955A /* incoming_video_stream.h in Headers */,
+                               5CD285F71E6A63F60094FDC8 /* smoothing_filter.h in Headers */,
+                               5CD285451E6A61D20094FDC8 /* audio_decoder.h in Headers */,
                                5CDD8BB61E43C2B500621E92 /* index_conv_dec.h in Headers */,
                                5CDD8BB81E43C2B500621E92 /* index_conv_enc.h in Headers */,
                                5CDD8BBA1E43C2B500621E92 /* init_decode.h in Headers */,
                                5CDD8A9B1E43C00F00621E92 /* input_audio_file.h in Headers */,
                                5C08852F1E4A99D200403995 /* integers.h in Headers */,
                                5CDD8FD61E43CD6600621E92 /* inter_arrival.h in Headers */,
+                               5CD2855E1E6A62ED0094FDC8 /* low_cut_filter.h in Headers */,
                                5CDD83DE1E439A6F00621E92 /* inter_frame_delay.h in Headers */,
                                5CDD83DF1E439A6F00621E92 /* internal_defines.h in Headers */,
-                               5CD285301E6A61110094FDC8 /* internaldecoderfactory.h in Headers */,
-                               5CD285321E6A61110094FDC8 /* internalencoderfactory.h in Headers */,
                                5CDD8BC01E43C2B500621E92 /* interpolate.h in Headers */,
                                5CDD8BBE1E43C2B500621E92 /* interpolate_samples.h in Headers */,
                                5C63F8071E416288002CA531 /* ipaddress.h in Headers */,
-                               41433CFF1F79B33400387B4D /* isac_fix_type.h in Headers */,
                                5CDD87C11E43BC0500621E92 /* isac_float_type.h in Headers */,
                                5CDD837C1E439A3500621E92 /* ivf_file_writer.h in Headers */,
                                5CDD83E21E439A6F00621E92 /* jitter_buffer.h in Headers */,
                                5CDD83E41E439A6F00621E92 /* jitter_estimator.h in Headers */,
                                5C63F9411E41737B002CA531 /* jsep.h in Headers */,
                                5C63F9431E41737B002CA531 /* jsepicecandidate.h in Headers */,
+                               41433CF31F79B33400387B4D /* codec.h in Headers */,
                                5C63F9451E41737B002CA531 /* jsepsessiondescription.h in Headers */,
-                               5CD284701E6A5C250094FDC8 /* jseptransport.h in Headers */,
                                5C63F8091E416288002CA531 /* json.h in Headers */,
                                5C63F8DE1E416D53002CA531 /* json.h in Headers */,
                                5C63F80A1E416288002CA531 /* keep_ref_until_done.h in Headers */,
                                5C0885301E4A99D200403995 /* key.h in Headers */,
                                5C4B4C711E431F9C002651C8 /* lapped_transform.h in Headers */,
+                               413092291EF8D6E600757C55 /* builtin_audio_encoder_factory_internal.h in Headers */,
+                               41433CFF1F79B33400387B4D /* isac_fix_type.h in Headers */,
                                5CDD84201E439B2900621E92 /* legacy_encoded_audio_frame.h in Headers */,
                                5CDD90281E43CEDE00621E92 /* level_controller.h in Headers */,
+                               41109AB11E5FA19200C0955A /* incoming_video_stream.h in Headers */,
+                               5CD2850E1E6A60570094FDC8 /* sctputils.h in Headers */,
+                               5CD286061E6A64840094FDC8 /* coder.h in Headers */,
                                5CDD90251E43CEDE00621E92 /* level_controller_constants.h in Headers */,
                                5CDD84B91E43AF1300621E92 /* level_estimator_impl.h in Headers */,
-                               5CD284F71E6A60570094FDC8 /* localaudiosource.h in Headers */,
                                5C63F80D1E416288002CA531 /* location.h in Headers */,
                                5CDD8C101E43C34600621E92 /* locked_bandwidth_info.h in Headers */,
                                5C63F8101E416288002CA531 /* logging.h in Headers */,
                                5C63F8121E416288002CA531 /* logsinks.h in Headers */,
                                5CDD87061E43BA7500621E92 /* loudness_histogram.h in Headers */,
-                               5CD2855E1E6A62ED0094FDC8 /* low_cut_filter.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 */,
                                5CDD87CA1E43BC0500621E92 /* lpc_shape_swb12_tables.h in Headers */,
                                5CDD87CC1E43BC0500621E92 /* lpc_shape_swb16_tables.h in Headers */,
-                               41433D281F79B33400387B4D /* lpc_tables.h in Headers */,
                                5CDD87CE1E43BC0500621E92 /* lpc_tables.h in Headers */,
                                5CDD8BC41E43C2B500621E92 /* lsf_check.h in Headers */,
                                5CDD8BC61E43C2B500621E92 /* lsf_interpolate_to_poly_dec.h in Headers */,
                                5CDD8BCC1E43C2B500621E92 /* lsf_to_poly.h in Headers */,
                                5CDD8BCE1E43C2B500621E92 /* lsp_to_lsf.h in Headers */,
                                5C63F8181E416288002CA531 /* macutils.h in Headers */,
-                               5CD285CC1E6A63430094FDC8 /* main_filter_update_gain.h in Headers */,
-                               5CD285D01E6A63430094FDC8 /* matched_filter.h in Headers */,
-                               5CD285CE1E6A63430094FDC8 /* matched_filter_lag_aggregator.h in Headers */,
+                               41109AB01E5FA19200C0955A /* bitrate_adjuster.h in Headers */,
+                               5CD285EB1E6A639F0094FDC8 /* h264_sprop_parameter_sets.h in Headers */,
                                5C63F81B1E416288002CA531 /* mathutils.h in Headers */,
                                5CDD907E1E43D15C00621E92 /* matrix.h in Headers */,
                                5C63F81D1E416288002CA531 /* md5.h in Headers */,
+                               413092211EF8D6A200757C55 /* digital_gain_applier.h in Headers */,
                                5C63F81F1E416288002CA531 /* md5digest.h in Headers */,
                                5CDD86A51E43B99400621E92 /* mean_variance_estimator.h in Headers */,
                                5CDD876C1E43BB3000621E92 /* media_file.h in Headers */,
                                5CDD87671E43BB3000621E92 /* media_file_defines.h in Headers */,
                                5CDD87691E43BB3000621E92 /* media_file_impl.h in Headers */,
+                               5CD285D61E6A63430094FDC8 /* render_delay_buffer.h in Headers */,
                                5CDD876B1E43BB3000621E92 /* media_file_utility.h in Headers */,
                                5CDD83E61E439A6F00621E92 /* media_opt_util.h in Headers */,
                                5CDD83E81E439A6F00621E92 /* media_optimization.h in Headers */,
                                5C4B48E51E42C1E3002651C8 /* mediachannel.h in Headers */,
                                5C4B48E71E42C1E3002651C8 /* mediaconstants.h in Headers */,
                                5C63F9491E41737B002CA531 /* mediaconstraintsinterface.h in Headers */,
+                               5CD285D21E6A63430094FDC8 /* output_selector.h in Headers */,
                                5C4B48E91E42C1E3002651C8 /* mediaengine.h in Headers */,
-                               5CD2861D1E6A66380094FDC8 /* median_slope_estimator.h in Headers */,
                                5C63F94D1E41737B002CA531 /* mediastream.h in Headers */,
-                               5CD284FB1E6A60570094FDC8 /* mediastream.h in Headers */,
                                5C63F94E1E41737B002CA531 /* mediastreaminterface.h in Headers */,
-                               5CD284FD1E6A60570094FDC8 /* mediastreamobserver.h in Headers */,
                                5C63F9511E41737B002CA531 /* mediastreamproxy.h in Headers */,
                                5C63F9521E41737B002CA531 /* mediastreamtrack.h in Headers */,
-                               5CD284FE1E6A60570094FDC8 /* mediastreamtrack.h in Headers */,
                                5C63F9531E41737B002CA531 /* mediastreamtrackproxy.h in Headers */,
-                               5CD286331E6A67BF0094FDC8 /* mediatypes.h in Headers */,
                                5CDD87F61E43BDED00621E92 /* memory_pool.h in Headers */,
                                5CDD87F51E43BDED00621E92 /* memory_pool_posix.h in Headers */,
                                5CDD8A301E43BFB300621E92 /* merge.h in Headers */,
                                5CDD87071E43BA7500621E92 /* mock_agc.h in Headers */,
                                5C11A0051E457400004F0987 /* mock_audio_device_buffer.h in Headers */,
                                5CDD8FED1E43CDCA00621E92 /* mock_audio_processing.h in Headers */,
+                               4130920A1EF8D11200757C55 /* qp_parser.h in Headers */,
                                5CDD907F1E43D15C00621E92 /* mock_nonlinear_beamformer.h in Headers */,
                                5C63F8261E416288002CA531 /* mod_ops.h in Headers */,
                                5CDD84621E43AE2900621E92 /* monitor_module.h in Headers */,
                                5CDD837E1E439A3500621E92 /* moving_average.h in Headers */,
-                               5CD286111E6A64C90094FDC8 /* moving_max.h in Headers */,
+                               5CD284981E6A5F410094FDC8 /* default_output_rate_calculator.h in Headers */,
                                5CDD8C8F1E43C66000621E92 /* moving_moments.h in Headers */,
                                5CDD8BD01E43C2B500621E92 /* my_corr.h in Headers */,
+                               4145E4C81EF896D700FCF6E6 /* rtcstats.h in Headers */,
                                5CDD89541E43BF3A00621E92 /* nack.h in Headers */,
                                5CDD83E91E439A6F00621E92 /* nack_fec_tables.h in Headers */,
                                5CDD83EB1E439A6F00621E92 /* nack_module.h in Headers */,
                                5CDD8A331E43BFB300621E92 /* nack_tracker.h in Headers */,
-                               4145E4B71EF8943E00FCF6E6 /* nalu_rewriter.h in Headers */,
                                5C63F8291E416288002CA531 /* natserver.h in Headers */,
+                               5CD284FB1E6A60570094FDC8 /* mediastream.h in Headers */,
                                5C63F82B1E416288002CA531 /* natsocketfactory.h in Headers */,
                                5C63F82D1E416288002CA531 /* nattypes.h in Headers */,
                                5CDD8BD21E43C2B500621E92 /* nearest_neighbor.h in Headers */,
-                               5CD285EF1E6A63D20094FDC8 /* neteq_decoder_enum.h in Headers */,
                                5CDD8A371E43BFB300621E92 /* neteq_impl.h in Headers */,
                                5CDD8A9E1E43C00F00621E92 /* neteq_input.h in Headers */,
+                               4130920E1EF8D40100757C55 /* transport_feedback_packet_loss_tracker.h in Headers */,
                                5CDD8AA61E43C00F00621E92 /* neteq_replacement_input.h in Headers */,
                                5C63F82F1E416288002CA531 /* nethelpers.h in Headers */,
                                5C63F8311E416288002CA531 /* network.h in Headers */,
                                5C63F8331E416288002CA531 /* networkmonitor.h in Headers */,
                                5C63F8341E416288002CA531 /* networkroute.h in Headers */,
+                               5CD284FE1E6A60570094FDC8 /* mediastreamtrack.h in Headers */,
                                5CDD872B1E43BABE00621E92 /* noise_gmm_tables.h in Headers */,
+                               5CD285131E6A60570094FDC8 /* trackmediainfomap.h in Headers */,
                                5CDD902A1E43CEDE00621E92 /* noise_level_estimator.h in Headers */,
                                5CDD902C1E43CEDE00621E92 /* noise_spectrum_estimator.h in Headers */,
                                5CDD85FF1E43B84E00621E92 /* noise_suppression.h in Headers */,
                                5C63F9541E41737B002CA531 /* notifier.h in Headers */,
                                5CDD86011E43B84E00621E92 /* ns_core.h in Headers */,
                                5CDD86061E43B84E00621E92 /* nsx_core.h in Headers */,
+                               5CD285551E6A62410094FDC8 /* percentile_filter.h in Headers */,
+                               5CD285331E6A61110094FDC8 /* nullwebrtcvideoengine.h in Headers */,
                                5CDD86071E43B84E00621E92 /* nsx_defines.h in Headers */,
                                5C0885311E4A99D200403995 /* null_auth.h in Headers */,
+                               41433CF11F79B33400387B4D /* pitch_estimator.h in Headers */,
                                5C0885321E4A99D200403995 /* null_cipher.h in Headers */,
                                5C63F8361E416288002CA531 /* nullsocketserver.h in Headers */,
-                               5CD285331E6A61110094FDC8 /* nullwebrtcvideoengine.h in Headers */,
+                               5CD285C11E6A63430094FDC8 /* echo_remover.h in Headers */,
                                5C63F8371E416288002CA531 /* onetimeevent.h in Headers */,
                                5CDD86951E43B93900621E92 /* ooura_fft.h in Headers */,
                                5CDD86921E43B93900621E92 /* ooura_fft_tables_common.h in Headers */,
                                5C63F8381E416288002CA531 /* openssl.h in Headers */,
+                               5CD285B31E6A63430094FDC8 /* cascaded_biquad_filter.h in Headers */,
                                5C63F83A1E416288002CA531 /* openssladapter.h in Headers */,
+                               4145E48D1EF88B9D00FCF6E6 /* video_decoder.h in Headers */,
                                5C63F83C1E416288002CA531 /* openssldigest.h in Headers */,
                                5C63F83E1E416288002CA531 /* opensslidentity.h in Headers */,
                                5C63F8401E416288002CA531 /* opensslstreamadapter.h in Headers */,
+                               417DA4581EF9CD0D00E869DB /* RTCUIApplicationStatusObserver.h in Headers */,
                                5C63F8431E416288002CA531 /* optional.h in Headers */,
                                5C63F8451E416288002CA531 /* optionsfile.h in Headers */,
                                5CDD8C661E43C60900621E92 /* opus_inst.h in Headers */,
                                5CDD87CF1E43BC0500621E92 /* os_specific_inline.h in Headers */,
                                5CDD8AAA1E43C00F00621E92 /* output_audio_file.h in Headers */,
                                5CDD84641E43AE2900621E92 /* output_mixer.h in Headers */,
-                               5CD2849C1E6A5F410094FDC8 /* output_rate_calculator.h in Headers */,
-                               5CD285D21E6A63430094FDC8 /* output_selector.h in Headers */,
                                5CDD8AAB1E43C00F00621E92 /* output_wav_file.h in Headers */,
                                5CDD8FD81E43CD6600621E92 /* overuse_detector.h in Headers */,
                                5CDD8FDA1E43CD6600621E92 /* overuse_estimator.h in Headers */,
                                5CDD83EF1E439A6F00621E92 /* packet.h in Headers */,
                                5CDD8AB01E43C00F00621E92 /* packet.h in Headers */,
                                5CDD8A431E43BFB300621E92 /* packet.h in Headers */,
+                               5CD285D01E6A63430094FDC8 /* matched_filter.h in Headers */,
                                5CDD8A411E43BFB300621E92 /* packet_buffer.h in Headers */,
+                               41433D221F79B33400387B4D /* fft.h in Headers */,
                                5CDD83ED1E439A6F00621E92 /* packet_buffer.h in Headers */,
                                5CDD888D1E43BE3C00621E92 /* packet_loss_stats.h in Headers */,
                                5CDD8FA51E43CCBE00621E92 /* packet_router.h in Headers */,
                                5CDD8AAD1E43C00F00621E92 /* packet_source.h in Headers */,
-                               412455571EF887FB00F11809 /* packetlossestimator.h in Headers */,
                                5C63F9F41E4174F6002CA531 /* packetsocketfactory.h in Headers */,
                                5C63F9F51E4174F6002CA531 /* packettransportinterface.h in Headers */,
                                5C63F8471E416288002CA531 /* pathutils.h in Headers */,
                                5C4B48841E42C1BA002651C8 /* payload_type_mapper.h in Headers */,
                                5CDD90011E43CE3A00621E92 /* pcm16b.h in Headers */,
                                5CDD902E1E43CEDE00621E92 /* peak_level_estimator.h in Headers */,
-                               5CD285001E6A60570094FDC8 /* peerconnection.h in Headers */,
-                               5CD284801E6A5E740094FDC8 /* peerconnectionfactory.h in Headers */,
                                5C63F9591E41737B002CA531 /* peerconnectionfactoryproxy.h in Headers */,
                                5C63F95A1E41737B002CA531 /* peerconnectioninterface.h in Headers */,
                                5C63F95B1E41737B002CA531 /* peerconnectionproxy.h in Headers */,
-                               5CD285551E6A62410094FDC8 /* percentile_filter.h in Headers */,
                                5C63F8491E416288002CA531 /* physicalsocketserver.h in Headers */,
                                5CDD872E1E43BABE00621E92 /* pitch_based_vad.h in Headers */,
-                               41433CF11F79B33400387B4D /* pitch_estimator.h in Headers */,
                                5CDD87D11E43BC0500621E92 /* pitch_estimator.h in Headers */,
                                5CDD87D41E43BC0600621E92 /* pitch_gain_tables.h in Headers */,
-                               41433D231F79B33400387B4D /* pitch_gain_tables.h in Headers */,
                                5CDD87311E43BABE00621E92 /* pitch_internal.h in Headers */,
                                5CDD87D61E43BC0600621E92 /* pitch_lag_tables.h in Headers */,
-                               41433D091F79B33400387B4D /* pitch_lag_tables.h in Headers */,
                                5C63F84B1E416288002CA531 /* platform_file.h in Headers */,
+                               4145E4D21EF8CC2000FCF6E6 /* webrtcvideoengine.h in Headers */,
                                5C63F84E1E416288002CA531 /* platform_thread.h in Headers */,
                                5C63F84C1E416288002CA531 /* platform_thread_types.h in Headers */,
+                               4145E4C51EF896D700FCF6E6 /* rtcstatscollectorcallback.h in Headers */,
                                5CDD88901E43BE3C00621E92 /* playout_delay_oracle.h in Headers */,
                                5CDD89571E43BF3A00621E92 /* pli.h in Headers */,
                                5CDD87341E43BABE00621E92 /* pole_zero_filter.h in Headers */,
                                5CDD8BD81E43C2B500621E92 /* poly_to_lsp.h in Headers */,
                                5C63F9F81E4174F6002CA531 /* port.h in Headers */,
                                5C63F9FB1E4174F6002CA531 /* portallocator.h in Headers */,
+                               5CD285191E6A60570094FDC8 /* videotracksource.h in Headers */,
                                5C63F9FC1E4174F6002CA531 /* portinterface.h in Headers */,
                                5CDD8A461E43BFB300621E92 /* post_decode_vad.h in Headers */,
                                5CDD835A1E43257200621E92 /* pps_parser.h in Headers */,
                                5CDD835D1E43257200621E92 /* profile_level_id.h in Headers */,
                                5CDD83F31E439A6F00621E92 /* protection_bitrate_calculator.h in Headers */,
                                5C63F95D1E41737B002CA531 /* proxy.h in Headers */,
+                               41433D231F79B33400387B4D /* pitch_gain_tables.h in Headers */,
                                5C63F8521E416288002CA531 /* proxyinfo.h in Headers */,
+                               41433D091F79B33400387B4D /* pitch_lag_tables.h in Headers */,
                                5C63F8541E416288002CA531 /* proxyserver.h in Headers */,
                                5C63F9FF1E4174F6002CA531 /* pseudotcp.h in Headers */,
                                5CDD89591E43BF3A00621E92 /* psfb.h in Headers */,
                                5CDD87561E43BAF500621E92 /* push_sinc_resampler.h in Headers */,
-                               4130920A1EF8D11200757C55 /* qp_parser.h in Headers */,
                                5CDD83821E439A3500621E92 /* quality_scaler.h in Headers */,
-                               5CD2862B1E6A66C80094FDC8 /* quality_threshold.h in Headers */,
                                5C63F8561E416288002CA531 /* race_checker.h in Headers */,
                                5C63F8581E416288002CA531 /* random.h in Headers */,
                                5CDD8A4B1E43BFB300621E92 /* random_vector.h in Headers */,
+                               41109AAF1E5FA19200C0955A /* frame_callback.h in Headers */,
+                               4145E4B51EF8943E00FCF6E6 /* decoder.h in Headers */,
                                5CDD895C1E43BF3A00621E92 /* rapid_resync_request.h in Headers */,
                                5C63F85A1E416288002CA531 /* rate_limiter.h in Headers */,
                                5C63F85C1E416288002CA531 /* rate_statistics.h in Headers */,
+                               5CD2849B1E6A5F410094FDC8 /* frame_combiner.h in Headers */,
                                5C63F85E1E416288002CA531 /* ratelimiter.h in Headers */,
+                               5CD285B71E6A63430094FDC8 /* decimator_by_4.h in Headers */,
                                5C63F8601E416288002CA531 /* ratetracker.h in Headers */,
+                               5CD2861D1E6A66380094FDC8 /* median_slope_estimator.h in Headers */,
                                5C0885331E4A99D200403995 /* rdb.h in Headers */,
+                               4145E4D51EF8CC7600FCF6E6 /* downsampled_render_buffer.h in Headers */,
                                5C0885341E4A99D200403995 /* rdbx.h in Headers */,
                                5C63F8DF1E416D53002CA531 /* reader.h in Headers */,
                                5C4B4C781E431F9C002651C8 /* real_fourier.h in Headers */,
                                5C63F8611E416288002CA531 /* refcount.h in Headers */,
                                5C63F8621E416288002CA531 /* refcountedobject.h in Headers */,
                                5CDD8BDA1E43C2B500621E92 /* refiner.h in Headers */,
+                               5CD284F71E6A60570094FDC8 /* localaudiosource.h in Headers */,
                                5C63FA021E4174F6002CA531 /* relayport.h in Headers */,
                                5C63FA051E4174F6002CA531 /* relayserver.h in Headers */,
                                5CDD89621E43BF3A00621E92 /* remb.h in Headers */,
                                5CDD8FDC1E43CD6600621E92 /* remote_bitrate_estimator_abs_send_time.h in Headers */,
                                5CDD8FDE1E43CD6600621E92 /* remote_bitrate_estimator_single_stream.h in Headers */,
                                5CDD8FE21E43CD6600621E92 /* remote_estimator_proxy.h in Headers */,
-                               5CD285061E6A60570094FDC8 /* remoteaudiosource.h in Headers */,
-                               4145E4DA1EF8CC9B00FCF6E6 /* render_buffer.h in Headers */,
-                               5CD285D61E6A63430094FDC8 /* render_delay_buffer.h in Headers */,
-                               5CD285DA1E6A63430094FDC8 /* render_delay_controller.h in Headers */,
-                               5CD285D81E6A63430094FDC8 /* render_delay_controller_metrics.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 */,
                                5CDD89651E43BF3A00621E92 /* report_block.h in Headers */,
+                               4145E4C61EF896D700FCF6E6 /* rtcstatsreport.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 */,
                                5C4B4C7B1E431F9C002651C8 /* ring_buffer.h in Headers */,
                                5CDD84C01E43AF1300621E92 /* rms_level.h in Headers */,
                                5C63F8631E416288002CA531 /* rollingaccumulator.h in Headers */,
                                5CDD896B1E43BF3A00621E92 /* rrtr.h in Headers */,
                                5CDD904C1E43CF6100621E92 /* rtc_event_log.h in Headers */,
-                               41F411BB1EF8DA9600343C26 /* rtc_event_log_factory.h in Headers */,
-                               41F411BA1EF8DA9600343C26 /* rtc_event_log_factory_interface.h in Headers */,
                                5CDD90451E43CF6100621E92 /* rtc_event_log_helper_thread.h in Headers */,
                                5C63F8651E416288002CA531 /* rtccertificate.h in Headers */,
+                               412455471EF8853300F11809 /* stringize_macros.h in Headers */,
                                5C63F8671E416288002CA531 /* rtccertificategenerator.h in Headers */,
-                               41F411B11EF8DA0200343C26 /* rtcerror.h in Headers */,
                                5CDD8A501E43BFB300621E92 /* rtcp.h in Headers */,
-                               5CD285FB1E6A64520094FDC8 /* rtcp_nack_stats.h in Headers */,
                                5CDD88981E43BE3C00621E92 /* rtcp_packet.h in Headers */,
+                               413092051EF8D0C900757C55 /* audio_level.h in Headers */,
                                5CDD889B1E43BE3C00621E92 /* rtcp_receiver.h in Headers */,
+                               5CD285AB1E6A63430094FDC8 /* aec3_fft.h in Headers */,
                                5CDD889E1E43BE3C00621E92 /* rtcp_sender.h in Headers */,
-                               4145E4C81EF896D700FCF6E6 /* rtcstats.h in Headers */,
-                               4145E4C71EF896D700FCF6E6 /* rtcstats_objects.h in Headers */,
-                               5CD285081E6A60570094FDC8 /* rtcstatscollector.h in Headers */,
-                               4145E4C51EF896D700FCF6E6 /* rtcstatscollectorcallback.h in Headers */,
-                               4145E4C61EF896D700FCF6E6 /* rtcstatsreport.h in Headers */,
-                               417DA4581EF9CD0D00E869DB /* RTCUIApplicationStatusObserver.h in Headers */,
-                               413092011EF8D0A600757C55 /* rtp_demuxer.h in Headers */,
+                               41109AAD1E5FA19200C0955A /* i420_buffer_pool.h in Headers */,
                                5CDD8AB71E43C00F00621E92 /* rtp_file_source.h in Headers */,
                                5CDD88B11E43BE3C00621E92 /* rtp_format.h in Headers */,
                                5CDD88A51E43BE3C00621E92 /* rtp_format_h264.h in Headers */,
                                5CDD88AF1E43BE3C00621E92 /* rtp_format_vp9.h in Headers */,
                                5CDD83F71E439A6F00621E92 /* rtp_frame_reference_finder.h in Headers */,
                                5CDD8AB91E43C00F00621E92 /* rtp_generator.h in Headers */,
+                               5CD285151E6A60570094FDC8 /* videocapturertracksource.h in Headers */,
                                5CDD88B61E43BE3C00621E92 /* rtp_header_extensions.h in Headers */,
                                5CDD88BF1E43BE3D00621E92 /* rtp_packet.h in Headers */,
                                5CDD88BA1E43BE3D00621E92 /* rtp_packet_history.h in Headers */,
                                5CDD88BB1E43BE3D00621E92 /* rtp_packet_received.h in Headers */,
                                5CDD88BC1E43BE3D00621E92 /* rtp_packet_to_send.h in Headers */,
                                5CDD88C31E43BE3D00621E92 /* rtp_receiver_audio.h in Headers */,
+                               41433D011F79B33400387B4D /* arith_routins.h in Headers */,
                                5CDD88C51E43BE3D00621E92 /* rtp_receiver_impl.h in Headers */,
                                5CDD88C71E43BE3D00621E92 /* rtp_receiver_strategy.h in Headers */,
+                               4145E4CE1EF8CB9500FCF6E6 /* rtptransport.h in Headers */,
                                5CDD88C91E43BE3D00621E92 /* rtp_receiver_video.h in Headers */,
                                5CDD88CA1E43BE3D00621E92 /* rtp_rtcp_config.h in Headers */,
+                               5CD285CE1E6A63430094FDC8 /* matched_filter_lag_aggregator.h in Headers */,
                                5CDD88CD1E43BE3D00621E92 /* rtp_rtcp_impl.h in Headers */,
                                5CDD88D41E43BE3D00621E92 /* rtp_sender.h in Headers */,
                                5CDD88CF1E43BE3D00621E92 /* rtp_sender_audio.h in Headers */,
                                5CDD88D21E43BE3D00621E92 /* rtp_sender_video.h in Headers */,
                                5CDD85B31E43B5C000621E92 /* rtp_streams_synchronizer.h in Headers */,
-                               413092191EF8D63F00757C55 /* rtp_transport_controller_send.h in Headers */,
-                               4130921A1EF8D63F00757C55 /* rtp_transport_controller_send_interface.h in Headers */,
+                               4145E48E1EF88B9D00FCF6E6 /* video_encoder.h in Headers */,
+                               5CD285E11E6A63430094FDC8 /* subtractor_output.h in Headers */,
                                5CDD88D61E43BE3D00621E92 /* rtp_utility.h in Headers */,
-                               413091F31EF8CF9200757C55 /* rtp_video_stream_receiver.h in Headers */,
                                5C4B48EC1E42C1E3002651C8 /* rtpdataengine.h in Headers */,
                                5CDD896D1E43BF3A00621E92 /* rtpfb.h in Headers */,
                                5C63F9661E41737B002CA531 /* rtpparameters.h in Headers */,
-                               5CD2850A1E6A60570094FDC8 /* rtpreceiver.h in Headers */,
                                5C63F9691E41737B002CA531 /* rtpreceiverinterface.h in Headers */,
                                5C63F96B1E41737B002CA531 /* rtpsender.h in Headers */,
-                               5CD2850C1E6A60570094FDC8 /* rtpsender.h in Headers */,
                                5C63F96C1E41737B002CA531 /* rtpsenderinterface.h in Headers */,
-                               4145E4CE1EF8CB9500FCF6E6 /* rtptransport.h in Headers */,
                                5C4B48F21E42C1E3002651C8 /* rtputils.h in Headers */,
                                5CDD83F91E439A6F00621E92 /* rtt_filter.h in Headers */,
+                               41433D181F79B33400387B4D /* lpc_masking_model.h in Headers */,
                                5C4B4CDF1E4320A9002651C8 /* rw_lock_posix.h in Headers */,
                                5C63F8681E416288002CA531 /* safe_compare.h in Headers */,
                                5C63F86A1E416288002CA531 /* safe_conversions.h in Headers */,
                                5C63F8691E416288002CA531 /* safe_conversions_impl.h in Headers */,
+                               5CD285101E6A60570094FDC8 /* statscollector.h in Headers */,
                                5C63F86B1E416288002CA531 /* sanitizer.h in Headers */,
+                               4145E4AB1EF8933D00FCF6E6 /* corevideo_frame_buffer.h in Headers */,
                                5CDD90301E43CEDE00621E92 /* saturating_gain_estimator.h in Headers */,
                                5C63F5CC1E414811002CA531 /* scoped_ref_ptr.h in Headers */,
                                5CDD8AD51E43C23900621E92 /* scoped_voe_interface.h in Headers */,
-                               5CD2863D1E6A681C0094FDC8 /* sctptransport.h in Headers */,
-                               5CD2863E1E6A681C0094FDC8 /* sctptransportinternal.h in Headers */,
-                               5CD2850E1E6A60570094FDC8 /* sctputils.h in Headers */,
                                5CDD89701E43BF3A00621E92 /* sdes.h in Headers */,
                                5CDD85B71E43B5C000621E92 /* send_delay_stats.h in Headers */,
+                               5CD284B21E6A5F9F0094FDC8 /* audio_send_stream.h in Headers */,
+                               5CD285D81E6A63430094FDC8 /* render_delay_controller_metrics.h in Headers */,
+                               5CD286331E6A67BF0094FDC8 /* mediatypes.h in Headers */,
+                               413091F71EF8CFBD00757C55 /* iceserverparsing.h in Headers */,
                                5CDD90621E43D11200621E92 /* send_side_bandwidth_estimation.h in Headers */,
                                5CDD85BA1E43B5C000621E92 /* send_statistics_proxy.h in Headers */,
                                5CDD89731E43BF3A00621E92 /* sender_report.h in Headers */,
                                5C63F8721E416288002CA531 /* sequenced_task_checker.h in Headers */,
                                5C63F8701E416288002CA531 /* sequenced_task_checker_impl.h in Headers */,
                                5C63FA071E4174F6002CA531 /* session.h in Headers */,
+                               5CD285B91E6A63430094FDC8 /* echo_canceller3.h in Headers */,
                                5CDD83FC1E439A6F00621E92 /* session_info.h in Headers */,
                                5C63FA091E4174F6002CA531 /* sessiondescription.h in Headers */,
-                               41433D081F79B33400387B4D /* settings.h in Headers */,
                                5CDD87D71E43BC0600621E92 /* settings.h in Headers */,
-                               5CD286451E6A7B420094FDC8 /* sha1.h in Headers */,
                                5C63F8741E416288002CA531 /* sha1digest.h in Headers */,
-                               5CD285E01E6A63430094FDC8 /* shadow_filter_update_gain.h in Headers */,
+                               5CD284B01E6A5F9F0094FDC8 /* audio_receive_stream.h in Headers */,
+                               5CD2846B1E6A57F40094FDC8 /* video_frame.h in Headers */,
+                               5CD285DE1E6A63430094FDC8 /* residual_echo_estimator.h in Headers */,
                                5CDD84661E43AE2900621E92 /* shared_data.h in Headers */,
                                5CDD90321E43CEDE00621E92 /* signal_classifier.h in Headers */,
+                               5CD2850C1E6A60570094FDC8 /* rtpsender.h in Headers */,
+                               5CD285B51E6A63430094FDC8 /* comfort_noise_generator.h in Headers */,
                                5C63F8781E416288002CA531 /* signalthread.h in Headers */,
+                               413092011EF8D0A600757C55 /* rtp_demuxer.h in Headers */,
                                5C63F87A1E416288002CA531 /* sigslot.h in Headers */,
+                               5CD284691E6A57F40094FDC8 /* video_frame_buffer.h in Headers */,
                                5C63F87C1E416288002CA531 /* sigslottester.h in Headers */,
+                               5CD2849C1E6A5F410094FDC8 /* output_rate_calculator.h in Headers */,
                                5CDD8BDC1E43C2B500621E92 /* simple_interpolate_lsf.h in Headers */,
                                5CDD8BDE1E43C2B500621E92 /* simple_lpc_analysis.h in Headers */,
                                5CDD8BE01E43C2B500621E92 /* simple_lsf_dequant.h in Headers */,
+                               5CD284681E6A57F40094FDC8 /* i420_buffer.h in Headers */,
+                               5CD285A91E6A63430094FDC8 /* aec3_common.h in Headers */,
                                5CDD8BE21E43C2B500621E92 /* simple_lsf_quant.h in Headers */,
                                5C4B48871E42C1BA002651C8 /* simulcast.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 */,
+                               5CD285061E6A60570094FDC8 /* remoteaudiosource.h in Headers */,
                                5C63F87F1E416288002CA531 /* socket.h in Headers */,
                                5C63F8811E416288002CA531 /* socketadapters.h in Headers */,
                                5C63F8831E416288002CA531 /* socketaddress.h in Headers */,
                                5C63F8861E416288002CA531 /* socketfactory.h in Headers */,
                                5C4B4D0C1E4322F6002651C8 /* socketmonitor.h in Headers */,
                                5C63F8891E416288002CA531 /* socketserver.h in Headers */,
+                               5CD2850A1E6A60570094FDC8 /* rtpreceiver.h in Headers */,
                                5C63F88B1E416288002CA531 /* socketstream.h in Headers */,
                                5CDD8BE81E43C2B500621E92 /* sort_sq.h in Headers */,
                                5C4B4C7E1E431F9C002651C8 /* sparse_fir_filter.h in Headers */,
                                5CDD87D91E43BC0600621E92 /* spectrum_ar_model_tables.h in Headers */,
-                               41433CEF1F79B33400387B4D /* spectrum_ar_model_tables.h in Headers */,
                                5CDD8BEA1E43C2B500621E92 /* split_vq.h in Headers */,
                                5CDD84C21E43AF1300621E92 /* splitting_filter.h in Headers */,
                                5CDD83601E43257200621E92 /* sps_parser.h in Headers */,
                                5CDD84681E43AE2900621E92 /* statistics.h in Headers */,
                                5CDD8A521E43BFB300621E92 /* statistics_calculator.h in Headers */,
                                5CDD85BD1E43B5C000621E92 /* stats_counter.h in Headers */,
-                               5CD285101E6A60570094FDC8 /* statscollector.h in Headers */,
+                               5CD2854E1E6A62130094FDC8 /* audio_frame_operations.h in Headers */,
+                               41F411B11EF8DA0200343C26 /* rtcerror.h in Headers */,
                                5C63F9731E41737B002CA531 /* statstypes.h in Headers */,
                                5C63F8991E416288002CA531 /* stream.h in Headers */,
                                5CDD85C01E43B5C000621E92 /* stream_synchronization.h in Headers */,
-                               5CD285111E6A60570094FDC8 /* streamcollection.h in Headers */,
                                5C63F9741E41737B002CA531 /* streamcollection.h in Headers */,
                                5C4B48F51E42C1E3002651C8 /* streamparams.h in Headers */,
-                               41F411C31EF8DBF600343C26 /* string_to_number.h in Headers */,
                                5C63F89B1E416288002CA531 /* stringencode.h in Headers */,
-                               412455471EF8853300F11809 /* stringize_macros.h in Headers */,
                                5C63F89D1E416288002CA531 /* stringutils.h in Headers */,
-                               41433CF01F79B33400387B4D /* structs.h in Headers */,
                                5CDD87DA1E43BC0600621E92 /* structs.h in Headers */,
                                5C63FA0C1E4174F6002CA531 /* stun.h in Headers */,
                                5C63FA0F1E4174F6002CA531 /* stunport.h in Headers */,
                                5C63FA121E4174F6002CA531 /* stunrequest.h in Headers */,
                                5C63FA151E4174F6002CA531 /* stunserver.h in Headers */,
-                               5CD285E31E6A63430094FDC8 /* subtractor.h in Headers */,
-                               5CD285E11E6A63430094FDC8 /* subtractor_output.h in Headers */,
-                               5CD285E51E6A63430094FDC8 /* suppression_filter.h in Headers */,
-                               5CD285E71E6A63430094FDC8 /* suppression_gain.h in Headers */,
                                5CDD8BF01E43C2B500621E92 /* swap_bytes.h in Headers */,
+                               5CD284F31E6A60570094FDC8 /* datachannel.h in Headers */,
+                               5CD2863E1E6A681C0094FDC8 /* sctptransportinternal.h in Headers */,
+                               5CD286371E6A67D80094FDC8 /* audio_transport_proxy.h in Headers */,
                                5C63F89E1E416288002CA531 /* swap_queue.h in Headers */,
                                5CDD8A551E43BFB300621E92 /* sync_buffer.h in Headers */,
-                               5CD284BF1E6A5F9F0094FDC8 /* syncable.h in Headers */,
                                5CDD89791E43BF3A00621E92 /* target_bitrate.h in Headers */,
                                5C63F8A61E416288002CA531 /* task_queue.h in Headers */,
                                5C63F8A41E416288002CA531 /* task_queue_posix.h in Headers */,
+                               5CD285CC1E6A63430094FDC8 /* main_filter_update_gain.h in Headers */,
+                               5CD284701E6A5C250094FDC8 /* jseptransport.h in Headers */,
                                5C63FA181E4174F6002CA531 /* tcpport.h in Headers */,
                                5C63F8AD1E416288002CA531 /* template_util.h in Headers */,
                                5C63F8AE1E416288002CA531 /* testbase64.h in Headers */,
                                5C63F8B81E416288002CA531 /* timedelta.h in Headers */,
                                5CDD83FE1E439A6F00621E92 /* timestamp_map.h in Headers */,
                                5CDD8A5E1E43BFB300621E92 /* timestamp_scaler.h in Headers */,
+                               5CD284801E6A5E740094FDC8 /* peerconnectionfactory.h in Headers */,
                                5C63F8BA1E416288002CA531 /* timestampaligner.h in Headers */,
                                5C63F8BC1E416288002CA531 /* timeutils.h in Headers */,
                                5CDD84001E439A6F00621E92 /* timing.h in Headers */,
                                5CDD897E1E43BF3A00621E92 /* tmmbn.h in Headers */,
                                5CDD89811E43BF3A00621E92 /* tmmbr.h in Headers */,
                                5CDD88DD1E43BE3D00621E92 /* tmmbr_help.h in Headers */,
+                               5CD285171E6A60570094FDC8 /* videotrack.h in Headers */,
                                5C63F8BD1E416288002CA531 /* trace_event.h in Headers */,
                                5C4B4CEB1E4320A9002651C8 /* trace_impl.h in Headers */,
                                5C4B4CED1E4320A9002651C8 /* trace_posix.h in Headers */,
-                               5CD285131E6A60570094FDC8 /* trackmediainfomap.h in Headers */,
                                5C63F8BF1E416288002CA531 /* transformadapter.h in Headers */,
                                5CDD8C921E43C66000621E92 /* transient_detector.h in Headers */,
+                               5CD285E51E6A63430094FDC8 /* suppression_filter.h in Headers */,
                                5CDD8C961E43C66000621E92 /* transient_suppressor.h in Headers */,
+                               4145E4BE1EF894F600FCF6E6 /* h264_profile_level_id.h in Headers */,
                                5CDD846A1E43AE2900621E92 /* transmit_mixer.h in Headers */,
                                5C63FA1E1E4174F6002CA531 /* transport.h in Headers */,
+                               5CD285541E6A62410094FDC8 /* exp_filter.h in Headers */,
                                5CDD85C21E43B5C000621E92 /* transport_adapter.h in Headers */,
                                5CDD89841E43BF3A00621E92 /* transport_feedback.h in Headers */,
                                5CDD8FBC1E43CD0700621E92 /* transport_feedback_adapter.h in Headers */,
-                               4130920E1EF8D40100757C55 /* transport_feedback_packet_loss_tracker.h in Headers */,
-                               5CD2860B1E6A64840094FDC8 /* transport_feedback_packet_loss_tracker.h in Headers */,
                                5C63FA211E4174F6002CA531 /* transportchannelimpl.h in Headers */,
                                5C63FA241E4174F6002CA531 /* transportcontroller.h in Headers */,
+                               4145E4BB1EF8943E00FCF6E6 /* videocodecfactory.h in Headers */,
                                5C63FA261E4174F6002CA531 /* transportdescription.h in Headers */,
+                               41F411B51EF8DA4B00343C26 /* acknowledge_bitrate_estimator.h in Headers */,
                                5C63FA291E4174F6002CA531 /* transportdescriptionfactory.h in Headers */,
+                               5CD2862F1E6A67970094FDC8 /* builtin_audio_decoder_factory_internal.h in Headers */,
                                5C63FA2A1E4174F6002CA531 /* transportinfo.h in Headers */,
-                               5CD286211E6A66380094FDC8 /* trendline_estimator.h in Headers */,
                                5C63FA2D1E4174F6002CA531 /* turnport.h in Headers */,
                                5C63FA301E4174F6002CA531 /* turnserver.h in Headers */,
                                5C4B48FA1E42C1E3002651C8 /* turnutils.h in Headers */,
                                5C63F8C01E416288002CA531 /* type_traits.h in Headers */,
+                               5CD284B31E6A5F9F0094FDC8 /* audio_state.h in Headers */,
                                5C6CDD501E413598009754E3 /* typedefs.h in Headers */,
                                5CDD84C61E43AF1300621E92 /* typing_detection.h in Headers */,
                                5C63FA311E4174F6002CA531 /* udpport.h in Headers */,
+                               5CD2851B1E6A60570094FDC8 /* webrtcsessiondescriptionfactory.h in Headers */,
                                5CDD88E01E43BE3D00621E92 /* ulpfec_generator.h in Headers */,
+                               5CD285B11E6A63430094FDC8 /* block_processor.h in Headers */,
                                5CDD88E31E43BE3D00621E92 /* ulpfec_header_reader_writer.h in Headers */,
                                5CDD88E51E43BE3D00621E92 /* ulpfec_receiver_impl.h in Headers */,
                                5C63F9751E41737B002CA531 /* umametrics.h in Headers */,
+                               5CD286451E6A7B420094FDC8 /* sha1.h in Headers */,
                                5C63F8C31E416288002CA531 /* unixfilesystem.h in Headers */,
                                5CDD8BF21E43C2B500621E92 /* unpack_bits.h in Headers */,
                                5CDD87091E43BA7500621E92 /* utility.h in Headers */,
                                5CDD846C1E43AE2900621E92 /* utility.h in Headers */,
+                               5CD284961E6A5F410094FDC8 /* audio_mixer_impl.h in Headers */,
                                5CDD87DF1E43BC2E00621E92 /* utility.h in Headers */,
                                5CDD873B1E43BABE00621E92 /* vad_audio_proc.h in Headers */,
                                5CDD87381E43BABE00621E92 /* vad_audio_proc_internal.h in Headers */,
                                5CDD86D71E43BA2800621E92 /* vad_core.h in Headers */,
                                5CDD86DA1E43BA2800621E92 /* vad_filterbank.h in Headers */,
                                5CDD86DD1E43BA2800621E92 /* vad_gmm.h in Headers */,
+                               5CD285C51E6A63430094FDC8 /* erle_estimator.h in Headers */,
+                               5CD284F51E6A60570094FDC8 /* dtmfsender.h in Headers */,
                                5CDD86E01E43BA2800621E92 /* vad_sp.h in Headers */,
                                5C63F8E01E416D53002CA531 /* value.h in Headers */,
                                5CDD88E71E43BE3D00621E92 /* video_codec_information.h in Headers */,
                                5CDD84021E439A6F00621E92 /* video_coding_impl.h in Headers */,
-                               4145E48D1EF88B9D00FCF6E6 /* video_decoder.h in Headers */,
-                               4145E48E1EF88B9D00FCF6E6 /* video_encoder.h in Headers */,
-                               5CD2846B1E6A57F40094FDC8 /* video_frame.h in Headers */,
-                               41109AAE1E5FA19200C0955A /* video_frame_buffer.h in Headers */,
-                               5CD284691E6A57F40094FDC8 /* video_frame_buffer.h in Headers */,
+                               5CD284BA1E6A5F9F0094FDC8 /* flexfec_receive_stream_impl.h in Headers */,
                                5C6CDD541E413598009754E3 /* video_receive_stream.h in Headers */,
                                5CDD85CB1E43B5C000621E92 /* video_receive_stream.h in Headers */,
                                5C4B4C211E431F75002651C8 /* video_render_frames.h in Headers */,
-                               5CD2846C1E6A57F40094FDC8 /* video_rotation.h in Headers */,
                                5C6CDD551E413598009754E3 /* video_send_stream.h in Headers */,
                                5CDD85CE1E43B5C000621E92 /* video_send_stream.h in Headers */,
                                5CDD85D01E43B5C000621E92 /* video_stream_decoder.h in Headers */,
                                5C4B49001E42C1E3002651C8 /* videobroadcaster.h in Headers */,
                                5C4B49031E42C1E3002651C8 /* videocapturer.h in Headers */,
                                5C4B49041E42C1E3002651C8 /* videocapturerfactory.h in Headers */,
-                               5CD285151E6A60570094FDC8 /* videocapturertracksource.h in Headers */,
-                               4145E4BB1EF8943E00FCF6E6 /* videocodecfactory.h in Headers */,
+                               5CD2860A1E6A64840094FDC8 /* file_recorder.h in Headers */,
+                               413092301EF8D77100757C55 /* aec_dump_factory.h in Headers */,
+                               5CD285DC1E6A63430094FDC8 /* render_signal_analyzer.h in Headers */,
                                5C4B49071E42C1E3002651C8 /* videocommon.h in Headers */,
-                               5CD286251E6A666D0094FDC8 /* videodecodersoftwarefallbackwrapper.h in Headers */,
                                5C4B488A1E42C1BA002651C8 /* videoencodersoftwarefallbackwrapper.h in Headers */,
                                5C4B490A1E42C1E3002651C8 /* videosinkinterface.h in Headers */,
                                5C4B490C1E42C1E3002651C8 /* videosourcebase.h in Headers */,
                                5C4B490D1E42C1E3002651C8 /* videosourceinterface.h in Headers */,
+                               5CD2847A1E6A5D550094FDC8 /* webrtcsdp.h in Headers */,
+                               5CD2860B1E6A64840094FDC8 /* transport_feedback_packet_loss_tracker.h in Headers */,
                                5C63F9791E41737B002CA531 /* videosourceproxy.h in Headers */,
-                               5CD285171E6A60570094FDC8 /* videotrack.h in Headers */,
-                               5CD285191E6A60570094FDC8 /* videotracksource.h in Headers */,
                                5C63F97E1E41737B002CA531 /* videotracksource.h in Headers */,
                                5CDD85D31E43B5C000621E92 /* vie_encoder.h in Headers */,
                                5C63F8C71E416288002CA531 /* virtualsocketserver.h in Headers */,
                                5CDD84701E43AE2900621E92 /* voe_base_impl.h in Headers */,
+                               413092191EF8D63F00757C55 /* rtp_transport_controller_send.h in Headers */,
                                5CDD84721E43AE2900621E92 /* voe_codec_impl.h in Headers */,
                                5CDD84761E43AE2900621E92 /* voe_file_impl.h in Headers */,
                                5CDD847C1E43AE2900621E92 /* voe_network_impl.h in Headers */,
+                               5CD284C31E6A5FFC0094FDC8 /* apm_helpers.h in Headers */,
                                5CDD847E1E43AE2900621E92 /* voe_rtp_rtcp_impl.h in Headers */,
                                5CDD87411E43BABE00621E92 /* voice_activity_detector.h in Headers */,
                                5CDD84C81E43AF1300621E92 /* voice_detection_impl.h in Headers */,
                                5CDD84831E43AE2900621E92 /* voice_engine_defines.h in Headers */,
+                               5CD286081E6A64840094FDC8 /* file_player.h in Headers */,
                                5CDD84871E43AE2900621E92 /* voice_engine_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 */,
                                5CDD83861E439A3500621E92 /* vp8_header_parser.h in Headers */,
                                5CDD8BF41E43C2B500621E92 /* vq3.h in Headers */,
+                               5CD285AD1E6A63430094FDC8 /* block_framer.h in Headers */,
                                5CDD8BF61E43C2B500621E92 /* vq4.h in Headers */,
                                5C4B4C811E431F9C002651C8 /* wav_file.h in Headers */,
                                5C4B4C841E431F9C002651C8 /* wav_header.h in Headers */,
                                5C63F8CA1E416288002CA531 /* weak_ptr.h in Headers */,
                                5CDD8CAB1E43C6F700621E92 /* webrtc_cng.h in Headers */,
-                               4145E4911EF88EF700FCF6E6 /* webrtc_libyuv.h in Headers */,
                                5C4B488B1E42C1BA002651C8 /* webrtccommon.h in Headers */,
                                5C4B488E1E42C1BA002651C8 /* webrtcmediaengine.h in Headers */,
-                               5CD2847A1E6A5D550094FDC8 /* webrtcsdp.h in Headers */,
+                               41433CEF1F79B33400387B4D /* spectrum_ar_model_tables.h in Headers */,
                                5C63F9811E41737B002CA531 /* webrtcsdp.h in Headers */,
-                               5CD2847C1E6A5D550094FDC8 /* webrtcsession.h in Headers */,
-                               5CD2851B1E6A60570094FDC8 /* webrtcsessiondescriptionfactory.h in Headers */,
                                5C4B48911E42C1BA002651C8 /* webrtcvideocapturer.h in Headers */,
                                5C4B48931E42C1BA002651C8 /* webrtcvideocapturerfactory.h in Headers */,
                                5C4B48941E42C1BA002651C8 /* webrtcvideodecoderfactory.h in Headers */,
                                5C4B48961E42C1BA002651C8 /* webrtcvideoencoderfactory.h in Headers */,
-                               4145E4D21EF8CC2000FCF6E6 /* webrtcvideoengine.h in Headers */,
                                5C4B489B1E42C1BA002651C8 /* webrtcvoe.h in Headers */,
                                5C4B489E1E42C1BA002651C8 /* webrtcvoiceengine.h in Headers */,
                                5CDD8BF81E43C2B500621E92 /* window32_w32.h in Headers */,
                                5CDD8C991E43C66000621E92 /* wpd_node.h in Headers */,
                                5CDD8C9C1E43C66000621E92 /* wpd_tree.h in Headers */,
                                5C63F8E11E416D53002CA531 /* writer.h in Headers */,
+                               5CD2847C1E6A5D550094FDC8 /* webrtcsession.h in Headers */,
                                5CDD8BFA1E43C2B500621E92 /* xcorr_coef.h in Headers */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                                5CDD8D341E43C79C00621E92 /* celt_encoder.c in Sources */,
                                5CDD8D351E43C79C00621E92 /* celt_lpc.c in Sources */,
                                5CDD8E401E43C80C00621E92 /* check_control_input.c in Sources */,
+                               5C5F409B1E978FDB00D94279 /* VQ_WMat_EC_sse.c in Sources */,
                                5CDD8E411E43C80C00621E92 /* CNG.c in Sources */,
                                5CDD8E421E43C80C00621E92 /* code_signs.c in Sources */,
                                5CDD8E431E43C80C00621E92 /* control_audio_bandwidth.c in Sources */,
                                5CDD8F3E1E43CB1E00621E92 /* encode_frame_FIX.c in Sources */,
                                5CDD8EE51E43C9F600621E92 /* encode_frame_FLP.c in Sources */,
                                5CDD8E531E43C80C00621E92 /* encode_indices.c in Sources */,
+                               5C5F40971E978FDB00D94279 /* NSQ_del_dec_sse.c in Sources */,
                                5CDD8E541E43C80C00621E92 /* encode_pulses.c in Sources */,
                                5CDD8EE61E43C9F600621E92 /* energy_FLP.c in Sources */,
                                5CDD8D3D1E43C79C00621E92 /* entcode.c in Sources */,
                                5CDD8EF31E43C9F600621E92 /* noise_shape_analysis_FLP.c in Sources */,
                                5CDD8E6F1E43C80C00621E92 /* NSQ.c in Sources */,
                                5CDD8E6E1E43C80C00621E92 /* NSQ_del_dec.c in Sources */,
-                               5C5F40971E978FDB00D94279 /* NSQ_del_dec_sse.c in Sources */,
-                               5C5F40981E978FDB00D94279 /* NSQ_sse.c in Sources */,
                                5C4B4AC21E42C574002651C8 /* opus.c in Sources */,
                                5C4B4ABA1E42C574002651C8 /* opus_compare.c in Sources */,
                                5C4B4ABB1E42C574002651C8 /* opus_decoder.c in Sources */,
                                5CDD8E941E43C80C00621E92 /* tables_pitch_lag.c in Sources */,
                                5CDD8E951E43C80C00621E92 /* tables_pulses_per_block.c in Sources */,
                                5CDD8E991E43C80C00621E92 /* VAD.c in Sources */,
-                               5C5F409A1E978FDB00D94279 /* VAD_sse.c in Sources */,
+                               5C5F40981E978FDB00D94279 /* NSQ_sse.c in Sources */,
                                5CDD8F531E43CB1E00621E92 /* vector_ops_FIX.c in Sources */,
                                5CDD8D5B1E43C79C00621E92 /* vq.c in Sources */,
                                5CDD8E9A1E43C80C00621E92 /* VQ_WMat_EC.c in Sources */,
-                               5C5F409B1E978FDB00D94279 /* VQ_WMat_EC_sse.c in Sources */,
                                5CDD8F541E43CB1E00621E92 /* warped_autocorrelation_FIX.c in Sources */,
+                               5C5F409A1E978FDB00D94279 /* VAD_sse.c in Sources */,
                                5CDD8F001E43C9F600621E92 /* warped_autocorrelation_FLP.c in Sources */,
                                5CDD8F011E43C9F600621E92 /* wrappers_FLP.c in Sources */,
                                5CDD8D2C1E43C79C00621E92 /* x86_celt_map.c in Sources */,
                                5C4B47481E42AAF5002651C8 /* a_bool.c in Sources */,
                                5C4B47491E42AAF5002651C8 /* a_d2i_fp.c in Sources */,
                                5C4B466D1E42AA3C002651C8 /* a_digest.c in Sources */,
+                               41EA53AB1EFC2C4D002FF04C /* digest.c in Sources */,
                                5C4B474A1E42AAF5002651C8 /* a_dup.c in Sources */,
+                               41EA540C1EFC2D1B002FF04C /* prime.c in Sources */,
+                               41EA53D01EFC2C8B002FF04C /* simple.c in Sources */,
                                5C4B474B1E42AAF5002651C8 /* a_enum.c in Sources */,
                                5C4B474C1E42AAF5002651C8 /* a_gentm.c in Sources */,
                                5C4B474D1E42AAF5002651C8 /* a_i2d_fp.c in Sources */,
+                               41EA53D21EFC2C8B002FF04C /* wnaf.c in Sources */,
+                               41A3918F1EFC44EB00C4516A /* aead.c in Sources */,
                                5C4B474E1E42AAF5002651C8 /* a_int.c in Sources */,
                                5C4B474F1E42AAF5002651C8 /* a_mbstr.c in Sources */,
                                5C4B47501E42AAF5002651C8 /* a_object.c in Sources */,
                                5C4B47511E42AAF5002651C8 /* a_octet.c in Sources */,
                                5C4B47521E42AAF5002651C8 /* a_print.c in Sources */,
+                               41A392011EFC493000C4516A /* mode_wrappers.c in Sources */,
                                5C4B466E1E42AA3C002651C8 /* a_sign.c in Sources */,
+                               41A391BE1EFC460D00C4516A /* pkcs8_x509.c in Sources */,
                                5C4B466F1E42AA3C002651C8 /* a_strex.c in Sources */,
                                5C4B47531E42AAF5002651C8 /* a_strnid.c in Sources */,
                                5C4B47541E42AAF5002651C8 /* a_time.c in Sources */,
                                5C4B47561E42AAF5002651C8 /* a_utctm.c in Sources */,
                                5C4B47571E42AAF5002651C8 /* a_utf8.c in Sources */,
                                5C4B46701E42AA3C002651C8 /* a_verify.c in Sources */,
-                               41EA53FC1EFC2D1B002FF04C /* add.c in Sources */,
-                               41A3918F1EFC44EB00C4516A /* aead.c in Sources */,
+                               41A391881EFC447C00C4516A /* rsa_impl.c in Sources */,
                                5C4B47D11E42BDB1002651C8 /* aes-586.S in Sources */,
                                5C4B47961E42B60C002651C8 /* aes-x86_64.S in Sources */,
-                               41A392211EFC5CFA00C4516A /* aes.c in Sources */,
                                5C4B47A11E42B623002651C8 /* aesni-gcm-x86_64.S in Sources */,
                                5C4B47D21E42BDB1002651C8 /* aesni-x86.S in Sources */,
+                               41A391821EFC447C00C4516A /* rand.c in Sources */,
                                5C4B47971E42B60C002651C8 /* aesni-x86_64.S in Sources */,
                                5C4B46711E42AA3C002651C8 /* algorithm.c in Sources */,
                                5C4B471E1E42AAD6002651C8 /* asn1_compat.c in Sources */,
+                               41EA54001EFC2D1B002FF04C /* bytes.c in Sources */,
                                5C4B46721E42AA3C002651C8 /* asn1_gen.c in Sources */,
                                5C4B47591E42AAF5002651C8 /* asn1_lib.c in Sources */,
+                               41A392031EFC495B00C4516A /* time_support.c in Sources */,
                                5C4B475B1E42AAF5002651C8 /* asn1_par.c in Sources */,
+                               41EA54031EFC2D1B002FF04C /* div.c in Sources */,
                                5C4B47581E42AAF5002651C8 /* asn_pack.c in Sources */,
                                5C4B47461E42AAEF002651C8 /* base64.c in Sources */,
                                5C4B471F1E42AAD6002651C8 /* ber.c in Sources */,
+                               41EA53C31EFC2C8B002FF04C /* ec.c in Sources */,
+                               41A3917A1EFC447C00C4516A /* gcm.c in Sources */,
                                5C4B473B1E42AAEA002651C8 /* bio.c in Sources */,
                                5C4B473A1E42AAEA002651C8 /* bio_mem.c in Sources */,
-                               41A391841EFC447C00C4516A /* blinding.c in Sources */,
+                               41A391CE1EFC473B00C4516A /* ssl_transcript.c in Sources */,
                                5C4B47CE1E42BDB1002651C8 /* bn-586.S in Sources */,
-                               41EA53FE1EFC2D1B002FF04C /* bn.c in Sources */,
-                               41A391BB1EFC45CD00C4516A /* bn_asn1.c in Sources */,
                                5C4B47981E42B60C002651C8 /* bsaes-x86_64.S in Sources */,
                                5C4B47231E42AADA002651C8 /* buf.c in Sources */,
                                5C4B46731E42AA3C002651C8 /* by_dir.c in Sources */,
                                5C4B46741E42AA3C002651C8 /* by_file.c in Sources */,
-                               41EA54001EFC2D1B002FF04C /* bytes.c in Sources */,
                                5C4B47201E42AAD6002651C8 /* cbb.c in Sources */,
-                               41A391771EFC447C00C4516A /* cbc.c in Sources */,
                                5C4B47211E42AAD6002651C8 /* cbs.c in Sources */,
-                               41A391781EFC447C00C4516A /* cfb.c in Sources */,
+                               41A3921A1EFC5AB800C4516A /* x25519-asm-arm.S in Sources */,
+                               41A391C71EFC465600C4516A /* pool.c in Sources */,
                                5C4B47CD1E42BDB1002651C8 /* chacha-x86.S in Sources */,
                                5C4B479E1E42B619002651C8 /* chacha-x86_64.S in Sources */,
                                5C4B471D1E42AAD0002651C8 /* chacha.c in Sources */,
-                               41A3921E1EFC5B1100C4516A /* chacha20_poly1305_x86_64.S in Sources */,
                                5C4B47091E42AABE002651C8 /* check.c in Sources */,
-                               41A391901EFC44EB00C4516A /* cipher.c in Sources */,
-                               41A391A81EFC454F00C4516A /* cipher_extra.c in Sources */,
                                5C4B470F1E42AAC6002651C8 /* cmac.c in Sources */,
-                               41EA54011EFC2D1B002FF04C /* cmp.c in Sources */,
+                               41EA540B1EFC2D1B002FF04C /* mul.c in Sources */,
                                5C4B47CF1E42BDB1002651C8 /* co-586.S in Sources */,
                                5C4B47DB1E42C021002651C8 /* conf.c in Sources */,
                                5C4B473D1E42AAEA002651C8 /* connect.c in Sources */,
-                               41A391BC1EFC45CD00C4516A /* convert.c in Sources */,
                                5C4B463B1E42AA2C002651C8 /* cpu-intel.c in Sources */,
+                               41A391741EFC447C00C4516A /* sha1.c in Sources */,
+                               41A391751EFC447C00C4516A /* sha256.c in Sources */,
                                5C4B463C1E42AA2C002651C8 /* crypto.c in Sources */,
-                               41A391791EFC447C00C4516A /* ctr.c in Sources */,
-                               41A3917F1EFC447C00C4516A /* ctrdrbg.c in Sources */,
-                               41EA54021EFC2D1B002FF04C /* ctx.c in Sources */,
                                5C4B4D001E432185002651C8 /* curve25519.c in Sources */,
                                5C4B48231E42C06A002651C8 /* custom_extensions.c in Sources */,
+                               41A392201EFC5CF500C4516A /* e_aes.c in Sources */,
                                5C4B48241E42C06A002651C8 /* d1_both.c in Sources */,
                                5C4B48251E42C06A002651C8 /* d1_lib.c in Sources */,
+                               41A391E31EFC48AE00C4516A /* ecdsa_asn1.c in Sources */,
                                5C4B48261E42C06A002651C8 /* d1_pkt.c in Sources */,
+                               41A391B11EFC454F00C4516A /* e_ssl3.c in Sources */,
                                5C4B48271E42C06A002651C8 /* d1_srtp.c in Sources */,
-                               41A391AA1EFC454F00C4516A /* derive_key.c in Sources */,
-                               41A391E81EFC490400C4516A /* des.c in Sources */,
                                5C4B470B1E42AABE002651C8 /* dh.c in Sources */,
                                5C4B470A1E42AABE002651C8 /* dh_asn1.c in Sources */,
-                               41EA53AB1EFC2C4D002FF04C /* digest.c in Sources */,
-                               41A391DD1EFC489A00C4516A /* digest_extra.c in Sources */,
-                               41EA53AC1EFC2C4D002FF04C /* digests.c in Sources */,
+                               41A391AA1EFC454F00C4516A /* derive_key.c in Sources */,
+                               41EA54081EFC2D1B002FF04C /* jacobi.c in Sources */,
                                5C4B46E31E42AA97002651C8 /* digestsign.c in Sources */,
-                               41EA54031EFC2D1B002FF04C /* div.c in Sources */,
                                5C4B47041E42AAB4002651C8 /* dsa.c in Sources */,
                                5C4B48471E42C0F6002651C8 /* dsa_asn1.c in Sources */,
                                5C4B48281E42C06A002651C8 /* dtls_method.c in Sources */,
                                5C4B48291E42C06A002651C8 /* dtls_record.c in Sources */,
-                               41A392201EFC5CF500C4516A /* e_aes.c in Sources */,
-                               41A391AB1EFC454F00C4516A /* e_aesctrhmac.c in Sources */,
-                               41A391AC1EFC454F00C4516A /* e_aesgcmsiv.c in Sources */,
-                               41A391AD1EFC454F00C4516A /* e_chacha20poly1305.c in Sources */,
-                               41A391921EFC44EB00C4516A /* e_des.c in Sources */,
-                               41A391AE1EFC454F00C4516A /* e_null.c in Sources */,
-                               41A391AF1EFC454F00C4516A /* e_rc2.c in Sources */,
-                               41A391B01EFC454F00C4516A /* e_rc4.c in Sources */,
-                               41A391B11EFC454F00C4516A /* e_ssl3.c in Sources */,
-                               41A391B21EFC454F00C4516A /* e_tls.c in Sources */,
-                               41EA53C31EFC2C8B002FF04C /* ec.c in Sources */,
-                               41A391E41EFC48CE00C4516A /* ec_asn1.c in Sources */,
-                               41EA53C41EFC2C8B002FF04C /* ec_key.c in Sources */,
-                               41EA53C51EFC2C8B002FF04C /* ec_montgomery.c in Sources */,
                                5C4B46F51E42AAAA002651C8 /* ecdh.c in Sources */,
-                               41EA53D81EFC2CDC002FF04C /* ecdsa.c in Sources */,
-                               41A391E31EFC48AE00C4516A /* ecdsa_asn1.c in Sources */,
                                5C4B46F21E42AAA1002651C8 /* engine.c in Sources */,
                                5C4B46F11E42AA9C002651C8 /* err.c in Sources */,
                                5C4B4C8A1E432051002651C8 /* err_data.c in Sources */,
                                5C4B46E41E42AA97002651C8 /* evp_asn1.c in Sources */,
                                5C4B46E51E42AA97002651C8 /* evp_ctx.c in Sources */,
                                5C4B463D1E42AA2C002651C8 /* ex_data.c in Sources */,
-                               41EA54041EFC2D1B002FF04C /* exponentiation.c in Sources */,
                                5C4B475D1E42AAF5002651C8 /* f_enum.c in Sources */,
                                5C4B475E1E42AAF5002651C8 /* f_int.c in Sources */,
                                5C4B475F1E42AAF5002651C8 /* f_string.c in Sources */,
                                5C4B473E1E42AAEA002651C8 /* fd.c in Sources */,
+                               41A3921B1EFC5AB800C4516A /* x25519-asm-x86_64.S in Sources */,
                                5C4B473F1E42AAEA002651C8 /* file.c in Sources */,
-                               41A392151EFC4B3A00C4516A /* forkunsafe.c in Sources */,
-                               41EA54051EFC2D1B002FF04C /* gcd.c in Sources */,
-                               41A3917A1EFC447C00C4516A /* gcm.c in Sources */,
-                               41EA54061EFC2D1B002FF04C /* generic.c in Sources */,
+                               41EA54011EFC2D1B002FF04C /* cmp.c in Sources */,
+                               41A391B21EFC454F00C4516A /* e_tls.c in Sources */,
+                               41EA54021EFC2D1B002FF04C /* ctx.c in Sources */,
                                5C4B47CB1E42BDB1002651C8 /* ghash-x86.S in Sources */,
+                               41EA53D81EFC2CDC002FF04C /* ecdsa.c in Sources */,
+                               41EA53FE1EFC2D1B002FF04C /* bn.c in Sources */,
                                5C4B47A21E42B623002651C8 /* ghash-x86_64.S in Sources */,
                                5C4B482A1E42C06A002651C8 /* handshake_client.c in Sources */,
+                               41EA53A51EFC2C14002FF04C /* hmac.c in Sources */,
+                               41EA54061EFC2D1B002FF04C /* generic.c in Sources */,
                                5C4B482B1E42C06A002651C8 /* handshake_server.c in Sources */,
                                5C4B47401E42AAEA002651C8 /* hexdump.c in Sources */,
+                               41EA54191EFC2D53002FF04C /* md4.c in Sources */,
                                5C4B46E21E42AA92002651C8 /* hkdf.c in Sources */,
-                               41EA53A51EFC2C14002FF04C /* hmac.c in Sources */,
+                               41EA53CA1EFC2C8B002FF04C /* p224-64.c in Sources */,
+                               41A391AF1EFC454F00C4516A /* e_rc2.c in Sources */,
                                5C4B46761E42AA3C002651C8 /* i2d_pr.c in Sources */,
-                               41EA54081EFC2D1B002FF04C /* jacobi.c in Sources */,
-                               41A392001EFC493000C4516A /* key_wrap.c in Sources */,
                                5C4B46DF1E42AA89002651C8 /* lhash.c in Sources */,
-                               41EA54191EFC2D53002FF04C /* md4.c in Sources */,
                                5C4B47CC1E42BDB1002651C8 /* md5-586.S in Sources */,
                                5C4B47A01E42B61F002651C8 /* md5-x86_64.S in Sources */,
-                               41EA541A1EFC2D53002FF04C /* md5.c in Sources */,
+                               41A391E81EFC490400C4516A /* des.c in Sources */,
                                5C4B463F1E42AA2C002651C8 /* mem.c in Sources */,
-                               41A392011EFC493000C4516A /* mode_wrappers.c in Sources */,
-                               41EA54091EFC2D1B002FF04C /* montgomery.c in Sources */,
-                               41EA540A1EFC2D1B002FF04C /* montgomery_inv.c in Sources */,
-                               41EA540B1EFC2D1B002FF04C /* mul.c in Sources */,
+                               41A391761EFC447C00C4516A /* sha512.c in Sources */,
+                               41EA53C41EFC2C8B002FF04C /* ec_key.c in Sources */,
                                5C4B46CD1E42AA70002651C8 /* obj.c in Sources */,
                                5C4B46CB1E42AA70002651C8 /* obj_xref.c in Sources */,
-                               41EA53C91EFC2C8B002FF04C /* oct.c in Sources */,
-                               41A3917D1EFC447C00C4516A /* ofb.c in Sources */,
-                               41EA53CA1EFC2C8B002FF04C /* p224-64.c in Sources */,
-                               41EA53CB1EFC2C8B002FF04C /* p256-64.c in Sources */,
                                5C4B479F1E42B61D002651C8 /* p256-x86_64-asm.S in Sources */,
-                               41EA53CD1EFC2C8B002FF04C /* p256-x86_64.c in Sources */,
                                5C4B46BC1E42AA66002651C8 /* p5_pbev2.c in Sources */,
                                5C4B46E81E42AA97002651C8 /* p_dsa_asn1.c in Sources */,
                                5C4B46EA1E42AA97002651C8 /* p_ec.c in Sources */,
                                5C4B46E91E42AA97002651C8 /* p_ec_asn1.c in Sources */,
-                               41A392061EFC4A6300C4516A /* p_ed25519.c in Sources */,
-                               41A392081EFC4A7100C4516A /* p_ed25519_asn1.c in Sources */,
                                5C4B46EC1E42AA97002651C8 /* p_rsa.c in Sources */,
+                               41EA53FD1EFC2D1B002FF04C /* x86_64-gcc.c in Sources */,
                                5C4B46EB1E42AA97002651C8 /* p_rsa_asn1.c in Sources */,
-                               41A391861EFC447C00C4516A /* padding.c in Sources */,
+                               41A391AD1EFC454F00C4516A /* e_chacha20poly1305.c in Sources */,
                                5C4B47421E42AAEA002651C8 /* pair.c in Sources */,
+                               41A391731EFC447C00C4516A /* sha1-altivec.c in Sources */,
+                               41A391AC1EFC454F00C4516A /* e_aesgcmsiv.c in Sources */,
                                5C4B470C1E42AABE002651C8 /* params.c in Sources */,
                                5C4B46EE1E42AA97002651C8 /* pbkdf.c in Sources */,
+                               41A392081EFC4A7100C4516A /* p_ed25519_asn1.c in Sources */,
                                5C4B464A1E42AA34002651C8 /* pcy_cache.c in Sources */,
                                5C4B464B1E42AA34002651C8 /* pcy_data.c in Sources */,
                                5C4B464D1E42AA34002651C8 /* pcy_lib.c in Sources */,
                                5C4B46C71E42AA6B002651C8 /* pem_x509.c in Sources */,
                                5C4B46C81E42AA6B002651C8 /* pem_xaux.c in Sources */,
                                5C4B46BF1E42AA66002651C8 /* pkcs8.c in Sources */,
-                               41A391BE1EFC460D00C4516A /* pkcs8_x509.c in Sources */,
                                5C4B46B91E42AA61002651C8 /* poly1305.c in Sources */,
                                5C4B46B81E42AA61002651C8 /* poly1305_vec.c in Sources */,
-                               41A3917E1EFC447C00C4516A /* polyval.c in Sources */,
-                               41A391C71EFC465600C4516A /* pool.c in Sources */,
-                               41EA540C1EFC2D1B002FF04C /* prime.c in Sources */,
                                5C4B46EF1E42AA97002651C8 /* print.c in Sources */,
                                5C4B47431E42AAEA002651C8 /* printf.c in Sources */,
-                               41A391821EFC447C00C4516A /* rand.c in Sources */,
-                               41EA540D1EFC2D1B002FF04C /* random.c in Sources */,
+                               41A391CC1EFC46DE00C4516A /* x_all.c in Sources */,
                                5C4B46B01E42AA51002651C8 /* rc4.c in Sources */,
+                               41A392211EFC5CFA00C4516A /* aes.c in Sources */,
                                5C4B47A31E42B625002651C8 /* rdrand-x86_64.S in Sources */,
                                5C4B46401E42AA2C002651C8 /* refcount_c11.c in Sources */,
                                5C4B46411E42AA2C002651C8 /* refcount_lock.c in Sources */,
-                               41A391871EFC447C00C4516A /* rsa.c in Sources */,
-                               41A391D31EFC484D00C4516A /* rsa_asn1.c in Sources */,
-                               41A391881EFC447C00C4516A /* rsa_impl.c in Sources */,
+                               41A392001EFC493000C4516A /* key_wrap.c in Sources */,
+                               41EA541A1EFC2D53002FF04C /* md5.c in Sources */,
                                5C4B467A1E42AA3C002651C8 /* rsa_pss.c in Sources */,
                                5C4B479A1E42B610002651C8 /* rsaz-avx2.S in Sources */,
-                               41EA540E1EFC2D1B002FF04C /* rsaz_exp.c in Sources */,
+                               41A391B61EFC459D00C4516A /* ssl_x509.c in Sources */,
                                5C4B482D1E42C06A002651C8 /* s3_both.c in Sources */,
+                               41EA54041EFC2D1B002FF04C /* exponentiation.c in Sources */,
+                               41A391CA1EFC469D00C4516A /* ssl_privkey.c in Sources */,
                                5C4B482F1E42C06A002651C8 /* s3_lib.c in Sources */,
+                               41A391841EFC447C00C4516A /* blinding.c in Sources */,
                                5C4B48301E42C06A002651C8 /* s3_pkt.c in Sources */,
                                5C4B47C81E42BDB1002651C8 /* sha1-586.S in Sources */,
-                               41A391731EFC447C00C4516A /* sha1-altivec.c in Sources */,
                                5C4B47A41E42B629002651C8 /* sha1-x86_64.S in Sources */,
-                               41A391741EFC447C00C4516A /* sha1.c in Sources */,
                                5C4B47C91E42BDB1002651C8 /* sha256-586.S in Sources */,
                                5C4B47A51E42B629002651C8 /* sha256-x86_64.S in Sources */,
-                               41A391751EFC447C00C4516A /* sha256.c in Sources */,
                                5C4B47CA1E42BDB1002651C8 /* sha512-586.S in Sources */,
-                               5C4B47A61E42B629002651C8 /* sha512-x86_64.S in Sources */,
-                               41A391761EFC447C00C4516A /* sha512.c in Sources */,
+                               41A3917F1EFC447C00C4516A /* ctrdrbg.c in Sources */,
                                41EA54101EFC2D1B002FF04C /* shift.c in Sources */,
+                               5C4B47A61E42B629002651C8 /* sha512-x86_64.S in Sources */,
+                               41A391861EFC447C00C4516A /* padding.c in Sources */,
                                5C4B46F01E42AA97002651C8 /* sign.c in Sources */,
-                               41EA53D01EFC2C8B002FF04C /* simple.c in Sources */,
+                               41EA540E1EFC2D1B002FF04C /* rsaz_exp.c in Sources */,
                                5C4B47451E42AAEA002651C8 /* socket.c in Sources */,
                                5C4B47441E42AAEA002651C8 /* socket_helper.c in Sources */,
                                5C4B4D021E432185002651C8 /* spake25519.c in Sources */,
-                               41EA54111EFC2D1B002FF04C /* sqrt.c in Sources */,
                                5C4B48311E42C06A002651C8 /* ssl_aead_ctx.c in Sources */,
+                               41EA540A1EFC2D1B002FF04C /* montgomery_inv.c in Sources */,
                                5C4B48321E42C06A002651C8 /* ssl_asn1.c in Sources */,
                                5C4B48331E42C06A002651C8 /* ssl_buffer.c in Sources */,
                                5C4B48341E42C06A002651C8 /* ssl_cert.c in Sources */,
                                5C4B48351E42C06A002651C8 /* ssl_cipher.c in Sources */,
                                5C4B48361E42C06A002651C8 /* ssl_ecdh.c in Sources */,
+                               41A391771EFC447C00C4516A /* cbc.c in Sources */,
                                5C4B48371E42C06A002651C8 /* ssl_file.c in Sources */,
+                               41EA53C51EFC2C8B002FF04C /* ec_montgomery.c in Sources */,
                                5C4B48381E42C06A002651C8 /* ssl_lib.c in Sources */,
-                               41A391CA1EFC469D00C4516A /* ssl_privkey.c in Sources */,
+                               41A391B41EFC454F00C4516A /* tls_cbc.c in Sources */,
                                5C4B483A1E42C06A002651C8 /* ssl_session.c in Sources */,
                                5C4B483B1E42C06A002651C8 /* ssl_stat.c in Sources */,
-                               41A391CE1EFC473B00C4516A /* ssl_transcript.c in Sources */,
-                               41A391B61EFC459D00C4516A /* ssl_x509.c in Sources */,
+                               41EA53FC1EFC2D1B002FF04C /* add.c in Sources */,
+                               41A391901EFC44EB00C4516A /* cipher.c in Sources */,
                                5C4B46A51E42AA42002651C8 /* stack.c in Sources */,
                                5C4B483D1E42C06A002651C8 /* t1_enc.c in Sources */,
                                5C4B483E1E42C06A002651C8 /* t1_lib.c in Sources */,
                                5C4B467B1E42AA3C002651C8 /* t_crl.c in Sources */,
                                5C4B467C1E42AA3C002651C8 /* t_req.c in Sources */,
+                               41A391DD1EFC489A00C4516A /* digest_extra.c in Sources */,
+                               41A391D31EFC484D00C4516A /* rsa_asn1.c in Sources */,
                                5C4B467D1E42AA3C002651C8 /* t_x509.c in Sources */,
                                5C4B467E1E42AA3C002651C8 /* t_x509a.c in Sources */,
                                5C4B46511E42AA34002651C8 /* tab_test.c in Sources */,
                                5C4B46431E42AA2C002651C8 /* thread_none.c in Sources */,
                                5C4B46441E42AA2C002651C8 /* thread_pthread.c in Sources */,
                                5C4B46461E42AA2C002651C8 /* thread_win.c in Sources */,
-                               41A392031EFC495B00C4516A /* time_support.c in Sources */,
                                5C4B48411E42C06A002651C8 /* tls13_both.c in Sources */,
                                5C4B48421E42C06A002651C8 /* tls13_client.c in Sources */,
                                5C4B48431E42C06A002651C8 /* tls13_enc.c in Sources */,
+                               41A391831EFC447C00C4516A /* urandom.c in Sources */,
                                5C4B48441E42C06A002651C8 /* tls13_server.c in Sources */,
-                               41A391B41EFC454F00C4516A /* tls_cbc.c in Sources */,
+                               41A391921EFC44EB00C4516A /* e_des.c in Sources */,
                                5C4B483F1E42C06A002651C8 /* tls_method.c in Sources */,
                                5C4B48401E42C06A002651C8 /* tls_record.c in Sources */,
-                               41A391831EFC447C00C4516A /* urandom.c in Sources */,
-                               41EA53D11EFC2C8B002FF04C /* util-64.c in Sources */,
+                               41A391791EFC447C00C4516A /* ctr.c in Sources */,
                                5C4B46521E42AA34002651C8 /* v3_akey.c in Sources */,
+                               41A391BC1EFC45CD00C4516A /* convert.c in Sources */,
                                5C4B46531E42AA34002651C8 /* v3_akeya.c in Sources */,
+                               41A392151EFC4B3A00C4516A /* forkunsafe.c in Sources */,
                                5C4B46541E42AA34002651C8 /* v3_alt.c in Sources */,
                                5C4B46551E42AA34002651C8 /* v3_bcons.c in Sources */,
+                               41EA53C91EFC2C8B002FF04C /* oct.c in Sources */,
+                               41EA54091EFC2D1B002FF04C /* montgomery.c in Sources */,
                                5C4B46561E42AA34002651C8 /* v3_bitst.c in Sources */,
                                5C4B46571E42AA34002651C8 /* v3_conf.c in Sources */,
                                5C4B46581E42AA34002651C8 /* v3_cpols.c in Sources */,
                                5C4B46591E42AA34002651C8 /* v3_crld.c in Sources */,
                                5C4B465A1E42AA34002651C8 /* v3_enum.c in Sources */,
                                5C4B465B1E42AA34002651C8 /* v3_extku.c in Sources */,
+                               41A392061EFC4A6300C4516A /* p_ed25519.c in Sources */,
                                5C4B465C1E42AA34002651C8 /* v3_genn.c in Sources */,
                                5C4B465D1E42AA34002651C8 /* v3_ia5.c in Sources */,
                                5C4B465E1E42AA34002651C8 /* v3_info.c in Sources */,
                                5C4B46641E42AA34002651C8 /* v3_pcons.c in Sources */,
                                5C4B46651E42AA34002651C8 /* v3_pku.c in Sources */,
                                5C4B46661E42AA34002651C8 /* v3_pmaps.c in Sources */,
+                               41A3917D1EFC447C00C4516A /* ofb.c in Sources */,
                                5C4B46671E42AA34002651C8 /* v3_prn.c in Sources */,
                                5C4B46681E42AA34002651C8 /* v3_purp.c in Sources */,
                                5C4B46691E42AA34002651C8 /* v3_skey.c in Sources */,
                                5C4B466B1E42AA34002651C8 /* v3_utl.c in Sources */,
                                5C4B47D31E42BDB1002651C8 /* vpaes-x86.S in Sources */,
                                5C4B47991E42B60C002651C8 /* vpaes-x86_64.S in Sources */,
-                               41EA53D21EFC2C8B002FF04C /* wnaf.c in Sources */,
-                               41A3921A1EFC5AB800C4516A /* x25519-asm-arm.S in Sources */,
-                               41A3921B1EFC5AB800C4516A /* x25519-asm-x86_64.S in Sources */,
                                5C4B4D031E432185002651C8 /* x25519-x86_64.c in Sources */,
+                               41A391871EFC447C00C4516A /* rsa.c in Sources */,
                                5C4B469F1E42AA3C002651C8 /* x509.c in Sources */,
                                5C4B468F1E42AA3C002651C8 /* x509_att.c in Sources */,
+                               41A391B01EFC454F00C4516A /* e_rc4.c in Sources */,
                                5C4B46901E42AA3C002651C8 /* x509_cmp.c in Sources */,
                                5C4B46911E42AA3C002651C8 /* x509_d2.c in Sources */,
                                5C4B46921E42AA3C002651C8 /* x509_def.c in Sources */,
                                5C4B46961E42AA3C002651C8 /* x509_r2x.c in Sources */,
                                5C4B46971E42AA3C002651C8 /* x509_req.c in Sources */,
                                5C4B46981E42AA3C002651C8 /* x509_set.c in Sources */,
+                               41A391A81EFC454F00C4516A /* cipher_extra.c in Sources */,
+                               41A3917E1EFC447C00C4516A /* polyval.c in Sources */,
+                               41EA54051EFC2D1B002FF04C /* gcd.c in Sources */,
                                5C4B469A1E42AA3C002651C8 /* x509_trs.c in Sources */,
+                               41EA53AC1EFC2C4D002FF04C /* digests.c in Sources */,
                                5C4B469B1E42AA3C002651C8 /* x509_txt.c in Sources */,
+                               41EA53CB1EFC2C8B002FF04C /* p256-64.c in Sources */,
                                5C4B469C1E42AA3C002651C8 /* x509_v3.c in Sources */,
+                               41A391AB1EFC454F00C4516A /* e_aesctrhmac.c in Sources */,
                                5C4B469D1E42AA3C002651C8 /* x509_vfy.c in Sources */,
+                               41EA53CD1EFC2C8B002FF04C /* p256-x86_64.c in Sources */,
                                5C4B469E1E42AA3C002651C8 /* x509_vpm.c in Sources */,
+                               41EA54111EFC2D1B002FF04C /* sqrt.c in Sources */,
                                5C4B46A01E42AA3C002651C8 /* x509cset.c in Sources */,
                                5C4B46A11E42AA3C002651C8 /* x509name.c in Sources */,
+                               41EA540D1EFC2D1B002FF04C /* random.c in Sources */,
+                               41A391AE1EFC454F00C4516A /* e_null.c in Sources */,
                                5C4B46A21E42AA3C002651C8 /* x509rset.c in Sources */,
+                               41A391781EFC447C00C4516A /* cfb.c in Sources */,
                                5C4B46A31E42AA3C002651C8 /* x509spki.c in Sources */,
                                5C4B47D01E42BDB1002651C8 /* x86-mont.S in Sources */,
-                               41EA53FD1EFC2D1B002FF04C /* x86_64-gcc.c in Sources */,
+                               41A3921E1EFC5B1100C4516A /* chacha20_poly1305_x86_64.S in Sources */,
                                5C4B479C1E42B610002651C8 /* x86_64-mont.S in Sources */,
                                5C4B479D1E42B610002651C8 /* x86_64-mont5.S in Sources */,
+                               41EA53D11EFC2C8B002FF04C /* util-64.c in Sources */,
                                5C4B46801E42AA3C002651C8 /* x_algor.c in Sources */,
-                               41A391CC1EFC46DE00C4516A /* x_all.c in Sources */,
                                5C4B46811E42AA3C002651C8 /* x_all.c in Sources */,
                                5C4B46821E42AA3C002651C8 /* x_attrib.c in Sources */,
                                5C4B46831E42AA3C002651C8 /* x_crl.c in Sources */,
                                5C4B46841E42AA3C002651C8 /* x_exten.c in Sources */,
+                               41A391E41EFC48CE00C4516A /* ec_asn1.c in Sources */,
                                5C4B46851E42AA3C002651C8 /* x_info.c in Sources */,
                                5C4B46861E42AA3C002651C8 /* x_name.c in Sources */,
                                5C4B46871E42AA3C002651C8 /* x_pkey.c in Sources */,
+                               41A391BB1EFC45CD00C4516A /* bn_asn1.c in Sources */,
                                5C4B46881E42AA3C002651C8 /* x_pubkey.c in Sources */,
                                5C4B46891E42AA3C002651C8 /* x_req.c in Sources */,
                                5C4B468A1E42AA3C002651C8 /* x_sig.c in Sources */,
                                5CDD8B6C1E43C2B500621E92 /* abs_quant.c in Sources */,
                                5CDD8B6A1E43C2B500621E92 /* abs_quant_loop.c in Sources */,
                                5CDD89F81E43BFB300621E92 /* accelerate.cc in Sources */,
-                               41F411B41EF8DA4B00343C26 /* acknowledge_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 */,
-                               5CD285A41E6A63430094FDC8 /* adaptive_fir_filter.cc in Sources */,
-                               41F411C71EF97BAC00343C26 /* adm_helpers.cc in Sources */,
-                               5CD285A81E6A63430094FDC8 /* aec3_common.cc in Sources */,
-                               5CD285AA1E6A63430094FDC8 /* aec3_fft.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 */,
+                               5CD2852F1E6A61110094FDC8 /* internaldecoderfactory.cc in Sources */,
                                5CDD85E71E43B81000621E92 /* aecm_core.cc in Sources */,
                                5CDD85E41E43B81000621E92 /* aecm_core_c.cc in Sources */,
                                5CDD87011E43BA7500621E92 /* agc.cc in Sources */,
                                5CDD86FF1E43BA7500621E92 /* agc_manager_direct.cc in Sources */,
                                5CDD8FD11E43CD6600621E92 /* aimd_rate_control.cc in Sources */,
+                               5CD2846A1E6A57F40094FDC8 /* video_frame.cc in Sources */,
                                5C4B4CC11E4320A9002651C8 /* aligned_malloc.cc in Sources */,
                                5CDD8F9E1E43CCBE00621E92 /* alr_detector.cc in Sources */,
+                               41433CEE1F79B33400387B4D /* lpc_masking_model.c in Sources */,
                                5CDD86EC1E43BA6D00621E92 /* analog_agc.c in Sources */,
                                5CDD87E51E43BDA100621E92 /* apm_data_dumper.cc in Sources */,
-                               5CD284C21E6A5FFC0094FDC8 /* apm_helpers.cc in Sources */,
+                               5CD284951E6A5F410094FDC8 /* audio_mixer_impl.cc in Sources */,
                                5CDD893B1E43BF3A00621E92 /* app.cc in Sources */,
                                5C63F6801E41619E002CA531 /* applefilesystem.mm in Sources */,
                                5CDD87A91E43BC0500621E92 /* arith_routines.c in Sources */,
-                               41433D0A1F79B33400387B4D /* arith_routines.c in Sources */,
                                5CDD87A71E43BC0500621E92 /* arith_routines_hist.c in Sources */,
-                               41433D291F79B33400387B4D /* arith_routines_hist.c in Sources */,
                                5CDD87A81E43BC0500621E92 /* arith_routines_logist.c in Sources */,
-                               41433D0F1F79B33400387B4D /* arith_routines_logist.c in Sources */,
                                5CDD90751E43D15C00621E92 /* array_util.cc in Sources */,
                                5C63F6861E41619E002CA531 /* asyncinvoker.cc in Sources */,
                                5C63F6881E41619E002CA531 /* asyncpacketsocket.cc in Sources */,
                                5CDD85101E43B1EA00621E92 /* audio_coding_module.cc in Sources */,
                                5CDD87F11E43BDED00621E92 /* audio_conference_mixer_impl.cc in Sources */,
                                5C4B4C591E431F9C002651C8 /* audio_converter.cc in Sources */,
-                               5CD285441E6A61D20094FDC8 /* audio_decoder.cc in Sources */,
                                4140B8311E4E3396007409E6 /* audio_decoder_g722.cc in Sources */,
                                5CDD8B6E1E43C2B500621E92 /* audio_decoder_ilbc.cc in Sources */,
                                5CDD89FD1E43BFB300621E92 /* audio_decoder_impl.cc in Sources */,
+                               413092061EF8D0C900757C55 /* audio_level.cc in Sources */,
                                5CDD87AB1E43BC0500621E92 /* audio_decoder_isac.cc in Sources */,
-                               41433CF91F79B33400387B4D /* audio_decoder_isacfix.cc in Sources */,
                                5CDD8C601E43C60900621E92 /* audio_decoder_opus.cc in Sources */,
                                4140B8221E4E3383007409E6 /* audio_decoder_pcm.cc in Sources */,
                                5CDD8FFC1E43CE3A00621E92 /* audio_decoder_pcm16b.cc in Sources */,
+                               5CD285B01E6A63430094FDC8 /* block_processor.cc in Sources */,
                                5C119FFB1E457400004F0987 /* audio_device_buffer.cc in Sources */,
                                5C11A01D1E457578004F0987 /* audio_device_dummy.cc in Sources */,
                                5C119FFE1E457400004F0987 /* audio_device_generic.cc in Sources */,
                                5C11A00B1E457448004F0987 /* audio_device_mac.cc in Sources */,
-                               4145E4DF1EF8CD3900FCF6E6 /* audio_encoder.cc in Sources */,
                                5CDD8CA71E43C6F700621E92 /* audio_encoder_cng.cc in Sources */,
                                5CDD8FF31E43CDF400621E92 /* audio_encoder_copy_red.cc in Sources */,
                                4140B8331E4E3396007409E6 /* audio_encoder_g722.cc in Sources */,
+                               5CD284C21E6A5FFC0094FDC8 /* apm_helpers.cc in Sources */,
                                5CDD8B701E43C2B500621E92 /* audio_encoder_ilbc.cc in Sources */,
                                5CDD87AD1E43BC0500621E92 /* audio_encoder_isac.cc in Sources */,
-                               41433CFB1F79B33400387B4D /* audio_encoder_isacfix.cc in Sources */,
+                               5CD284671E6A57F40094FDC8 /* i420_buffer.cc in Sources */,
                                5CDD8C631E43C60900621E92 /* audio_encoder_opus.cc in Sources */,
+                               41433CF71F79B33400387B4D /* bandwidth_estimator.c in Sources */,
                                4140B8201E4E3383007409E6 /* audio_encoder_pcm.cc in Sources */,
                                5CDD8FFE1E43CE3A00621E92 /* audio_encoder_pcm16b.cc in Sources */,
-                               5CD285461E6A61D20094FDC8 /* audio_format.cc in Sources */,
                                5CDD84191E439B2900621E92 /* audio_format_conversion.cc in Sources */,
                                5CDD87F31E43BDED00621E92 /* audio_frame_manipulator.cc in Sources */,
-                               5CD284921E6A5F410094FDC8 /* audio_frame_manipulator.cc in Sources */,
-                               5CD2854D1E6A62130094FDC8 /* audio_frame_operations.cc in Sources */,
-                               413092061EF8D0C900757C55 /* audio_level.cc in Sources */,
                                5CDD8A8F1E43C00F00621E92 /* audio_loop.cc in Sources */,
-                               5CD284951E6A5F410094FDC8 /* audio_mixer_impl.cc in Sources */,
+                               5CD285D11E6A63430094FDC8 /* output_selector.cc in Sources */,
                                5C11A00D1E457448004F0987 /* audio_mixer_manager_mac.cc in Sources */,
                                5CDD8A011E43BFB300621E92 /* audio_multi_vector.cc in Sources */,
+                               5CD285CD1E6A63430094FDC8 /* matched_filter_lag_aggregator.cc in Sources */,
                                5CDD8F7B1E43CBE000621E92 /* audio_network_adaptor.cc in Sources */,
                                5CDD8F791E43CBE000621E92 /* audio_network_adaptor_impl.cc in Sources */,
+                               5CD285351E6A61590094FDC8 /* video_codec_initializer.cc in Sources */,
                                5CDD8FE91E43CDCA00621E92 /* audio_processing.cc in Sources */,
                                5CDD84AB1E43AF1300621E92 /* audio_processing_impl.cc in Sources */,
                                5CDD8ACC1E43C23900621E92 /* audio_receive_stream.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 */,
-                               5CD286361E6A67D80094FDC8 /* audio_transport_proxy.cc in Sources */,
                                5C4B4C5F1E431F9C002651C8 /* audio_util.cc in Sources */,
                                5CDD8A041E43BFB300621E92 /* audio_vector.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 */,
-                               41433CF71F79B33400387B4D /* bandwidth_estimator.c in Sources */,
                                5CDD87AE1E43BC0500621E92 /* bandwidth_estimator.c in Sources */,
                                5C63F7B51E416288002CA531 /* base64.cc in Sources */,
                                5C63F9E21E4174F6002CA531 /* basicpacketsocketfactory.cc in Sources */,
+                               5CD285B81E6A63430094FDC8 /* echo_canceller3.cc in Sources */,
+                               41433D051F79B33400387B4D /* decode.c in Sources */,
                                5C4B4D091E4322F6002651C8 /* basicportallocator.cc in Sources */,
+                               5CD2855D1E6A62ED0094FDC8 /* low_cut_filter.cc in Sources */,
                                5CDD901C1E43CEDE00621E92 /* biquad_filter.cc in Sources */,
+                               413091FB1EF8CFF800757C55 /* builtin_audio_encoder_factory.cc in Sources */,
                                5C63F7B91E416288002CA531 /* bitbuffer.cc in Sources */,
                                5C4B4C191E431F75002651C8 /* bitrate_adjuster.cc in Sources */,
                                5CDD852F1E43B39C00621E92 /* bitrate_allocator.cc in Sources */,
                                5CDD8F7D1E43CBE000621E92 /* bitrate_controller.cc in Sources */,
                                5CDD905D1E43D11200621E92 /* bitrate_controller_impl.cc in Sources */,
                                5CDD8FA01E43CCBE00621E92 /* bitrate_prober.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 */,
                                5C4B4C611E431F9C002651C8 /* blocker.cc in Sources */,
                                5CDD8A0A1E43BFB300621E92 /* buffer_level_filter.cc in Sources */,
                                5C63F7BD1E416288002CA531 /* bufferqueue.cc in Sources */,
-                               5CD285481E6A61D20094FDC8 /* builtin_audio_decoder_factory.cc in Sources */,
-                               5CD2862E1E6A67970094FDC8 /* builtin_audio_decoder_factory_internal.cc in Sources */,
-                               413091FB1EF8CFF800757C55 /* builtin_audio_encoder_factory.cc in Sources */,
-                               413092271EF8D6E600757C55 /* builtin_audio_encoder_factory_internal.cc in Sources */,
+                               412455521EF887B700F11809 /* httpcommon.cc in Sources */,
                                5CDD8B741E43C2B500621E92 /* bw_expand.c in Sources */,
                                5CDD8FD31E43CD6600621E92 /* bwe_defines.cc in Sources */,
                                5CDD893E1E43BF3A00621E92 /* bye.cc in Sources */,
                                5C63F7BF1E416288002CA531 /* bytebuffer.cc in Sources */,
+                               412455491EF886FA00F11809 /* thread_darwin.mm in Sources */,
                                5CDD85341E43B39C00621E92 /* call.cc in Sources */,
                                5CDD85121E43B1EA00621E92 /* call_statistics.cc in Sources */,
                                5CDD859C1E43B5C000621E92 /* call_stats.cc in Sources */,
-                               4145E4E41EF8CD7D00FCF6E6 /* callfactory.cc in Sources */,
-                               5CD285B21E6A63430094FDC8 /* cascaded_biquad_filter.cc in Sources */,
                                5CDD8B761E43C2B500621E92 /* cb_construct.c in Sources */,
                                5CDD8B7C1E43C2B500621E92 /* cb_mem_energy.c in Sources */,
                                5CDD8B781E43C2B500621E92 /* cb_mem_energy_augmentation.c in Sources */,
                                5CDD8B7A1E43C2B500621E92 /* cb_mem_energy_calc.c in Sources */,
+                               4145E4BF1EF894F600FCF6E6 /* h264_profile_level_id.cc in Sources */,
                                5CDD8B801E43C2B500621E92 /* cb_search.c in Sources */,
                                5CDD8B7E1E43C2B500621E92 /* cb_search_core.c in Sources */,
                                5CDD8B821E43C2B500621E92 /* cb_update_best_index.c in Sources */,
                                5CDD84591E43AE2900621E92 /* channel_manager.cc in Sources */,
                                5CDD845B1E43AE2900621E92 /* channel_proxy.cc in Sources */,
                                5CDD8B841E43C2B500621E92 /* chebyshev.c in Sources */,
+                               41433D141F79B33400387B4D /* lattice_c.c in Sources */,
                                5C63F7C31E416288002CA531 /* checks.cc in Sources */,
+                               5CD285A61E6A63430094FDC8 /* aec_state.cc in Sources */,
                                5CDD86A11E43B99400621E92 /* circular_buffer.cc in Sources */,
+                               413092021EF8D0A600757C55 /* rtp_demuxer.cc in Sources */,
                                5CDD8C851E43C66000621E92 /* click_annotate.cc in Sources */,
+                               5CD285C21E6A63430094FDC8 /* erl_estimator.cc in Sources */,
+                               5CD2846F1E6A5C250094FDC8 /* jseptransport.cc in Sources */,
+                               5CD286071E6A64840094FDC8 /* file_player.cc in Sources */,
                                5C4B4CC61E4320A9002651C8 /* clock.cc in Sources */,
                                5C4B48DB1E42C1E3002651C8 /* codec.cc in Sources */,
+                               41433CEB1F79B33400387B4D /* decode_bwe.c in Sources */,
+                               5CD284F01E6A60570094FDC8 /* audiotrack.cc in Sources */,
                                5CDD83C61E439A6F00621E92 /* codec_database.cc in Sources */,
                                5CDD85151E43B1EA00621E92 /* codec_manager.cc in Sources */,
                                5CDD83C81E439A6F00621E92 /* codec_timer.cc in Sources */,
-                               5CD286051E6A64840094FDC8 /* coder.cc in Sources */,
                                5CDD8A0D1E43BFB300621E92 /* comfort_noise.cc in Sources */,
-                               5CD285B41E6A63430094FDC8 /* comfort_noise_generator.cc in Sources */,
                                5CDD89411E43BF3A00621E92 /* common_header.cc in Sources */,
                                5C6CDD4B1E413598009754E3 /* common_types.cc in Sources */,
+                               5CD2849A1E6A5F410094FDC8 /* frame_combiner.cc in Sources */,
                                5CDD8B861E43C2B500621E92 /* comp_corr.c in Sources */,
                                5CFD538D1E4BD3A300482908 /* compare_neon.cc in Sources */,
                                5CFD538E1E4BD3A300482908 /* compare_neon64.cc in Sources */,
                                5CDD8FB21E43CD0700621E92 /* congestion_controller.cc in Sources */,
                                5CDD8A931E43C00F00621E92 /* constant_pcm_packet_source.cc in Sources */,
                                5CDD8B891E43C2B500621E92 /* constants.c in Sources */,
+                               41433D061F79B33400387B4D /* filterbanks.c in Sources */,
                                5CDD8F851E43CBE000621E92 /* controller.cc in Sources */,
                                5CDD8F831E43CBE000621E92 /* controller_manager.cc in Sources */,
                                5CDD86481E43B8B500621E92 /* copy_set_operations.c in Sources */,
                                5C63F7C81E416288002CA531 /* copyonwritebuffer.cc in Sources */,
-                               4145E4AA1EF8933D00FCF6E6 /* corevideo_frame_buffer.cc in Sources */,
                                5CDD907A1E43D15C00621E92 /* covariance_matrix_generator.cc in Sources */,
                                5C4B4CCA1E4320A9002651C8 /* cpu_features.cc in Sources */,
+                               5CD285071E6A60570094FDC8 /* rtcstatscollector.cc in Sources */,
                                5C4B4CCB1E4320A9002651C8 /* cpu_info.cc in Sources */,
                                5CDD87B11E43BC0500621E92 /* crc.c in Sources */,
                                5C63F7CB1E416288002CA531 /* crc32.cc in Sources */,
                                5CDD8B8B1E43C2B500621E92 /* create_augmented_vec.c in Sources */,
-                               4145E4CA1EF8CB3200FCF6E6 /* createpeerconnectionfactory.cc in Sources */,
                                5C63F7CD1E416288002CA531 /* criticalsection.cc in Sources */,
                                5CDD864B1E43B8B500621E92 /* cross_correlation.c in Sources */,
                                5CDD8A0F1E43BFB300621E92 /* cross_correlation.cc in Sources */,
                                5C63F7CF1E416288002CA531 /* cryptstring.cc in Sources */,
-                               5CD284F21E6A60570094FDC8 /* datachannel.cc in Sources */,
                                5CDD8F871E43CBE000621E92 /* debug_dump_writer.cc in Sources */,
-                               5CD285B61E6A63430094FDC8 /* decimator_by_4.cc in Sources */,
+                               5CD285181E6A60570094FDC8 /* videotracksource.cc in Sources */,
                                5CDD8A161E43BFB300621E92 /* decision_logic.cc in Sources */,
                                5CDD8A111E43BFB300621E92 /* decision_logic_fax.cc in Sources */,
                                5CDD8A131E43BFB300621E92 /* decision_logic_normal.cc in Sources */,
-                               41433D051F79B33400387B4D /* decode.c in Sources */,
+                               5CD2862E1E6A67970094FDC8 /* builtin_audio_decoder_factory_internal.cc in Sources */,
                                5CDD87B41E43BC0500621E92 /* decode.c in Sources */,
                                5CDD8B8F1E43C2B500621E92 /* decode.c in Sources */,
-                               41433CEB1F79B33400387B4D /* decode_bwe.c in Sources */,
                                5CDD87B31E43BC0500621E92 /* decode_bwe.c in Sources */,
-                               41433D0E1F79B33400387B4D /* decode_plc.c in Sources */,
                                5CDD8B8D1E43C2B500621E92 /* decode_residual.c in Sources */,
-                               4145E4B81EF8943E00FCF6E6 /* decoder.mm in Sources */,
+                               5CD284971E6A5F410094FDC8 /* default_output_rate_calculator.cc in Sources */,
                                5CDD8A191E43BFB300621E92 /* decoder_database.cc in Sources */,
                                5CDD8B911E43C2B500621E92 /* decoder_interpolate_lsf.c in Sources */,
+                               41433D0E1F79B33400387B4D /* decode_plc.c in Sources */,
                                5CDD83CA1E439A6F00621E92 /* decoding_state.cc in Sources */,
-                               5CD284971E6A5F410094FDC8 /* default_output_rate_calculator.cc in Sources */,
-                               5CD285391E6A61980094FDC8 /* default_video_bitrate_allocator.cc in Sources */,
                                5CDD8FB51E43CD0700621E92 /* delay_based_bwe.cc in Sources */,
+                               5CD284BE1E6A5F9F0094FDC8 /* syncable.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 */,
                                5CDD86EE1E43BA6D00621E92 /* digital_agc.c in Sources */,
-                               413092221EF8D6A200757C55 /* digital_gain_applier.cc 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 */,
                                5CDD901E1E43CEDE00621E92 /* down_sampler.cc in Sources */,
                                5CDD86501E43B8B500621E92 /* downsample_fast.c in Sources */,
-                               4145E4D61EF8CC7600FCF6E6 /* downsampled_render_buffer.cc in Sources */,
                                5CDD8A231E43BFB300621E92 /* dsp_helper.cc in Sources */,
                                5C63F9E91E4174F6002CA531 /* dtlstransportchannel.cc in Sources */,
                                5CDD8A261E43BFB300621E92 /* dtmf_buffer.cc in Sources */,
+                               5CD285A81E6A63430094FDC8 /* aec3_common.cc in Sources */,
                                5CDD88771E43BE3C00621E92 /* dtmf_queue.cc in Sources */,
                                5CDD8A291E43BFB300621E92 /* dtmf_tone_generator.cc in Sources */,
-                               5CD284F41E6A60570094FDC8 /* dtmfsender.cc in Sources */,
                                5CDD8F8A1E43CBE000621E92 /* dtx_controller.cc in Sources */,
                                5CDD86C11E43B9C200621E92 /* echo_cancellation.cc in Sources */,
                                5CDD84AE1E43AF1300621E92 /* echo_cancellation_impl.cc in Sources */,
-                               5CD285B81E6A63430094FDC8 /* echo_canceller3.cc in Sources */,
                                5CDD85EA1E43B81000621E92 /* echo_control_mobile.cc in Sources */,
+                               5CD285E21E6A63430094FDC8 /* subtractor.cc in Sources */,
+                               4124554B1EF8874300F11809 /* video_frame_buffer.cc in Sources */,
+                               5CD285DB1E6A63430094FDC8 /* render_signal_analyzer.cc in Sources */,
                                5CDD84B01E43AF1300621E92 /* echo_control_mobile_impl.cc in Sources */,
-                               5CD285BA1E6A63430094FDC8 /* echo_path_delay_estimator.cc in Sources */,
-                               5CD285BC1E6A63430094FDC8 /* echo_path_variability.cc in Sources */,
-                               5CD285C01E6A63430094FDC8 /* echo_remover.cc in Sources */,
-                               5CD285BE1E6A63430094FDC8 /* echo_remover_metrics.cc in Sources */,
                                5CDD8C0E1E43C34600621E92 /* empty.cc in Sources */,
                                5CDD8B961E43C2B500621E92 /* encode.c in Sources */,
                                5CDD87B71E43BC0500621E92 /* encode.c in Sources */,
-                               41433D121F79B33400387B4D /* encode.c in Sources */,
                                5CDD87B51E43BC0500621E92 /* encode_lpc_swb.c in Sources */,
                                5CDD8A951E43C00F00621E92 /* encode_neteq_input.cc in Sources */,
                                5CDD83CC1E439A6F00621E92 /* encoded_frame.cc in Sources */,
-                               4145E4B61EF8943E00FCF6E6 /* encoder.mm in Sources */,
                                5CDD859F1E43B5C000621E92 /* encoder_rtcp_feedback.cc in Sources */,
-                               416D2F161FA8CCAE00097345 /* encoder_vcp.mm in Sources */,
                                5CDD86511E43B8B500621E92 /* energy.c in Sources */,
                                5CDD8B981E43C2B500621E92 /* energy_inverse.c in Sources */,
                                5CDD8B9A1E43C2B500621E92 /* enh_upsample.c in Sources */,
                                5CDD8B9E1E43C2B500621E92 /* enhancer.c in Sources */,
+                               41433D291F79B33400387B4D /* arith_routines_hist.c in Sources */,
                                5CDD8B9C1E43C2B500621E92 /* enhancer_interface.c in Sources */,
+                               4145E4D11EF8CC2000FCF6E6 /* webrtcvideoengine.cc in Sources */,
+                               5CD284B11E6A5F9F0094FDC8 /* audio_send_stream.cc in Sources */,
+                               413091F81EF8CFBD00757C55 /* iceserverparsing.cc in Sources */,
                                5CDD87B81E43BC0500621E92 /* entropy_coding.c in Sources */,
-                               41433D151F79B33400387B4D /* entropy_coding.c in Sources */,
-                               5CD285C21E6A63430094FDC8 /* erl_estimator.cc in Sources */,
-                               5CD285C41E6A63430094FDC8 /* erle_estimator.cc in Sources */,
                                5C4B4CD21E4320A9002651C8 /* event.cc in Sources */,
+                               5CD285A41E6A63430094FDC8 /* adaptive_fir_filter.cc in Sources */,
                                5C63F7DA1E416288002CA531 /* event.cc in Sources */,
-                               5CD286141E6A66130094FDC8 /* event_log_writer.cc in Sources */,
                                5C4B4CCE1E4320A9002651C8 /* event_timer_posix.cc in Sources */,
                                5C63F7D81E416288002CA531 /* event_tracer.cc in Sources */,
-                               5CD285531E6A62410094FDC8 /* exp_filter.cc in Sources */,
                                5CDD8A2C1E43BFB300621E92 /* expand.cc in Sources */,
                                5CDD894A1E43BF3A00621E92 /* extended_jitter_report.cc in Sources */,
                                5CDD894D1E43BF3A00621E92 /* extended_reports.cc in Sources */,
                                5CDD8A971E43C00F00621E92 /* fake_decode_from_file.cc in Sources */,
                                5C63F7DE1E416288002CA531 /* fakeclock.cc in Sources */,
                                5C63F93F1E41737B002CA531 /* fakemetricsobserver.cc in Sources */,
+                               5CD285BC1E6A63430094FDC8 /* echo_path_variability.cc in Sources */,
                                5CDD887B1E43BE3C00621E92 /* fec_test_helper.cc in Sources */,
                                5CDD87BA1E43BC0500621E92 /* fft.c in Sources */,
-                               41433CEA1F79B33400387B4D /* fft.c in Sources */,
+                               5CD285EE1E6A63D20094FDC8 /* neteq_decoder_enum.cc in Sources */,
                                5C4B4C661E431F9C002651C8 /* fft4g.c in Sources */,
                                5C4B4CD31E4320A9002651C8 /* field_trial_default.cc in Sources */,
                                5C63F7E41E416288002CA531 /* file.cc in Sources */,
                                5C11A0211E457578004F0987 /* file_audio_device.cc in Sources */,
                                5C11A01F1E457578004F0987 /* file_audio_device_factory.cc in Sources */,
                                5C4B4CD41E4320A9002651C8 /* file_impl.cc in Sources */,
-                               5CD286071E6A64840094FDC8 /* file_player.cc in Sources */,
+                               4130921B1EF8D63F00757C55 /* rtp_transport_controller_send.cc in Sources */,
                                5C63F7E31E416288002CA531 /* file_posix.cc in Sources */,
-                               5CD286091E6A64840094FDC8 /* file_recorder.cc in Sources */,
                                5CDD8C8B1E43C66000621E92 /* file_utils.cc in Sources */,
                                5C63F7E61E416288002CA531 /* filerotatingstream.cc in Sources */,
                                5C63F7E91E416288002CA531 /* fileutils.cc in Sources */,
                                5CDD86551E43B8B500621E92 /* filter_ar.c in Sources */,
                                5CDD86541E43B8B500621E92 /* filter_ar_fast_q12.c in Sources */,
                                5CDD87BC1E43BC0500621E92 /* filter_functions.c in Sources */,
+                               5CD284F61E6A60570094FDC8 /* localaudiosource.cc in Sources */,
                                5CDD86561E43B8B500621E92 /* filter_ma_fast_q12.c in Sources */,
                                5CDD87BD1E43BC0500621E92 /* filterbank_tables.c in Sources */,
-                               41433D271F79B33400387B4D /* filterbank_tables.c in Sources */,
-                               41433D061F79B33400387B4D /* filterbanks.c in Sources */,
                                5CDD87BF1E43BC0500621E92 /* filterbanks.c in Sources */,
+                               5CD285481E6A61D20094FDC8 /* builtin_audio_decoder_factory.cc in Sources */,
                                5CDD8BA01E43C2B500621E92 /* filtered_cb_vecs.c in Sources */,
-                               41433D041F79B33400387B4D /* filters.c in Sources */,
                                5C11A0031E457400004F0987 /* fine_audio_buffer.cc in Sources */,
+                               5CD285311E6A61110094FDC8 /* internalencoderfactory.cc in Sources */,
                                5CDD89501E43BF3A00621E92 /* fir.cc in Sources */,
                                5C4B4C6D1E431F9C002651C8 /* fir_filter.cc in Sources */,
                                5C4B4C6A1E431F9C002651C8 /* fir_filter_sse.cc in Sources */,
                                5C63F7EB1E416288002CA531 /* firewallsocketserver.cc in Sources */,
+                               41F411BF1EF8DBA500343C26 /* vp8_noop.cc in Sources */,
                                5C63F7ED1E416288002CA531 /* flags.cc in Sources */,
                                5CDD887E1E43BE3C00621E92 /* flexfec_header_reader_writer.cc in Sources */,
-                               5CD284B91E6A5F9F0094FDC8 /* flexfec_receive_stream_impl.cc in Sources */,
                                5CDD88831E43BE3C00621E92 /* flexfec_receiver.cc in Sources */,
                                5CDD88851E43BE3C00621E92 /* flexfec_sender.cc in Sources */,
                                5CDD88881E43BE3C00621E92 /* forward_error_correction.cc in Sources */,
                                5CDD88861E43BE3C00621E92 /* forward_error_correction_internal.cc in Sources */,
-                               5CD285C91E6A63430094FDC8 /* frame_blocker.cc in Sources */,
                                5CDD83CF1E439A6F00621E92 /* frame_buffer.cc in Sources */,
                                5CDD83D11E439A6F00621E92 /* frame_buffer2.cc in Sources */,
+                               5CD286101E6A64C90094FDC8 /* moving_max.cc in Sources */,
                                5CDD8BA21E43C2B500621E92 /* frame_classify.c in Sources */,
-                               5CD2849A1E6A5F410094FDC8 /* frame_combiner.cc in Sources */,
                                5CDD83791E439A3500621E92 /* frame_dropper.cc in Sources */,
                                5CDD8F901E43CBE000621E92 /* frame_length_controller.cc in Sources */,
+                               5CD286141E6A66130094FDC8 /* event_log_writer.cc in Sources */,
                                5CDD83D31E439A6F00621E92 /* frame_object.cc in Sources */,
+                               5CD284FA1E6A60570094FDC8 /* mediastream.cc in Sources */,
                                4140B8261E4E3383007409E6 /* g711.c in Sources */,
                                4140B8241E4E3383007409E6 /* g711_interface.c in Sources */,
                                4140B8351E4E3396007409E6 /* g722_decode.c in Sources */,
                                5CDD90201E43CEDE00621E92 /* gain_applier.cc in Sources */,
                                5CDD84B21E43AF1300621E92 /* gain_control_for_experimental_agc.cc in Sources */,
                                5CDD84B41E43AF1300621E92 /* gain_control_impl.cc in Sources */,
-                               413092231EF8D6A200757C55 /* gain_controller2.cc in Sources */,
                                5CDD8BA41E43C2B500621E92 /* gain_dequant.c in Sources */,
                                5CDD8BA61E43C2B500621E92 /* gain_quant.c in Sources */,
                                5CDD90221E43CEDE00621E92 /* gain_selector.cc in Sources */,
                                5CDD83D51E439A6F00621E92 /* generic_decoder.cc in Sources */,
+                               5CD285531E6A62410094FDC8 /* exp_filter.cc in Sources */,
                                5CDD83D71E439A6F00621E92 /* generic_encoder.cc in Sources */,
                                5CDD8BA81E43C2B500621E92 /* get_cd_vec.c in Sources */,
                                5CDD86571E43B8B500621E92 /* get_hanning_window.c in Sources */,
+                               5CD285461E6A61D20094FDC8 /* audio_format.cc in Sources */,
                                5CDD8BAA1E43C2B500621E92 /* get_lsp_poly.c in Sources */,
                                5CDD86581E43B8B500621E92 /* get_scaling_square.c in Sources */,
                                5CDD8BAC1E43C2B500621E92 /* get_sync_seq.c 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 */,
                                5CDD83D91E439A6F00621E92 /* h264_sps_pps_tracker.cc in Sources */,
+                               5CD285CB1E6A63430094FDC8 /* main_filter_update_gain.cc in Sources */,
                                5C63F7F41E416288002CA531 /* helpers.cc in Sources */,
+                               5CD285BA1E6A63430094FDC8 /* echo_path_delay_estimator.cc in Sources */,
                                5CDD83DB1E439A6F00621E92 /* histogram.cc in Sources */,
                                5CDD8BAE1E43C2B500621E92 /* hp_input.c in Sources */,
                                5CDD8BB01E43C2B500621E92 /* hp_output.c in Sources */,
-                               412455521EF887B700F11809 /* httpcommon.cc in Sources */,
                                5CDD90501E43D0E900621E92 /* i420.cc in Sources */,
-                               5CD284671E6A57F40094FDC8 /* i420_buffer.cc in Sources */,
                                5C4B4C1B1E431F75002651C8 /* i420_buffer_pool.cc in Sources */,
-                               413091F81EF8CFBD00757C55 /* iceserverparsing.cc in Sources */,
                                5C63F8011E416288002CA531 /* ifaddrs_converter.cc in Sources */,
+                               5CD285441E6A61D20094FDC8 /* audio_decoder.cc in Sources */,
+                               5CD285FA1E6A64520094FDC8 /* rtcp_nack_stats.cc in Sources */,
                                5CDD8BB31E43C2B500621E92 /* ilbc.c in Sources */,
                                5CDD86591E43B8B500621E92 /* ilbc_specific_functions.c in Sources */,
+                               41433D151F79B33400387B4D /* entropy_coding.c in Sources */,
                                5C4B4C1C1E431F75002651C8 /* incoming_video_stream.cc in Sources */,
+                               4145E4D61EF8CC7600FCF6E6 /* downsampled_render_buffer.cc in Sources */,
+                               41433CF61F79B33400387B4D /* pitch_estimator_c.c in Sources */,
                                5CDD8BB51E43C2B500621E92 /* index_conv_dec.c in Sources */,
                                5CDD8BB71E43C2B500621E92 /* index_conv_enc.c in Sources */,
                                5CDD8BB91E43C2B500621E92 /* init_decode.c in Sources */,
                                5CDD8BBB1E43C2B500621E92 /* init_encode.c in Sources */,
-                               41433CF81F79B33400387B4D /* initialize.c in Sources */,
                                5CDD8A9A1E43C00F00621E92 /* input_audio_file.cc in Sources */,
                                5CDD8FD51E43CD6600621E92 /* inter_arrival.cc in Sources */,
                                5CDD83DD1E439A6F00621E92 /* inter_frame_delay.cc in Sources */,
-                               5CD2852F1E6A61110094FDC8 /* internaldecoderfactory.cc in Sources */,
-                               5CD285311E6A61110094FDC8 /* internalencoderfactory.cc in Sources */,
                                5CDD8BBF1E43C2B500621E92 /* interpolate.c in Sources */,
                                5CDD8BBD1E43C2B500621E92 /* interpolate_samples.c in Sources */,
+                               5CD285D91E6A63430094FDC8 /* render_delay_controller.cc in Sources */,
                                5CDD87C01E43BC0500621E92 /* intialize.c in Sources */,
                                5C63F8061E416288002CA531 /* ipaddress.cc in Sources */,
+                               5CD285C91E6A63430094FDC8 /* frame_blocker.cc in Sources */,
                                5CDD87C31E43BC0500621E92 /* isac.c in Sources */,
-                               41433D2A1F79B33400387B4D /* isacfix.c in Sources */,
                                5CDD837B1E439A3500621E92 /* ivf_file_writer.cc in Sources */,
                                5CDD83E11E439A6F00621E92 /* jitter_buffer.cc in Sources */,