Title: [212326] trunk/Source/ThirdParty/libwebrtc
Revision
212326
Author
achristen...@apple.com
Date
2017-02-14 15:11:34 -0800 (Tue, 14 Feb 2017)

Log Message

Make libwebrtc.dylib
https://bugs.webkit.org/show_bug.cgi?id=168335

Reviewed by Dan Bernstein.

We were building libwebrtc as a static library, which would prevent us from weak linking with it.
We need to explicitly export what we use from WebCore or WebKit2, and RTCLogging.mm now needs to
be built on Mac, so we make it not automatically reference counted to make it work on 32-bit El Capitan.

* Configurations/libwebrtc.xcconfig:
* Source/webrtc/api/jsep.h:
* Source/webrtc/api/mediastream.h:
* Source/webrtc/api/notifier.h:
(webrtc::Notifier::Notifier): Deleted.
(webrtc::Notifier::RegisterObserver): Deleted.
(webrtc::Notifier::UnregisterObserver): Deleted.
(webrtc::Notifier::FireOnChanged): Deleted.
* Source/webrtc/api/peerconnectioninterface.h:
* Source/webrtc/base/asyncpacketsocket.h:
* Source/webrtc/base/asyncresolverinterface.h:
(rtc::AsyncResolverInterface::address): Deleted.
* Source/webrtc/base/copyonwritebuffer.h:
(rtc::CopyOnWriteBuffer::CopyOnWriteBuffer): Deleted.
(rtc::CopyOnWriteBuffer::data): Deleted.
(rtc::CopyOnWriteBuffer::cdata): Deleted.
(rtc::CopyOnWriteBuffer::size): Deleted.
(rtc::CopyOnWriteBuffer::capacity): Deleted.
(rtc::CopyOnWriteBuffer::operator=): Deleted.
(rtc::CopyOnWriteBuffer::operator!=): Deleted.
(rtc::CopyOnWriteBuffer::operator[]): Deleted.
(rtc::CopyOnWriteBuffer::SetData): Deleted.
(rtc::CopyOnWriteBuffer::AppendData): Deleted.
(rtc::CopyOnWriteBuffer::swap): Deleted.
(rtc::CopyOnWriteBuffer::IsConsistent): Deleted.
* Source/webrtc/base/event.h:
* Source/webrtc/base/export.h: Added.
* Source/webrtc/base/helpers.h:
* Source/webrtc/base/ipaddress.h:
(rtc::IPAddress::IPAddress): Deleted.
(rtc::IPAddress::~IPAddress): Deleted.
(rtc::IPAddress::operator=): Deleted.
(rtc::IPAddress::family): Deleted.
* Source/webrtc/base/location.h:
(rtc::Location::function_name): Deleted.
(rtc::Location::file_and_line): Deleted.
* Source/webrtc/base/messagehandler.h:
(rtc::MessageHandler::MessageHandler): Deleted.
* Source/webrtc/base/network.h:
(rtc::NetworkManagerBase::ipv6_enabled): Deleted.
(rtc::NetworkManagerBase::set_ipv6_enabled): Deleted.
(rtc::NetworkManagerBase::set_max_ipv6_networks): Deleted.
(rtc::NetworkManagerBase::max_ipv6_networks): Deleted.
(rtc::NetworkManagerBase::set_enumeration_permission): Deleted.
(rtc::BasicNetworkManager::started): Deleted.
(rtc::BasicNetworkManager::set_network_ignore_list): Deleted.
(rtc::BasicNetworkManager::set_ignore_non_default_routes): Deleted.
(rtc::Network::default_local_address_provider): Deleted.
(rtc::Network::set_default_local_address_provider): Deleted.
(rtc::Network::name): Deleted.
(rtc::Network::description): Deleted.
(rtc::Network::prefix): Deleted.
(rtc::Network::prefix_length): Deleted.
(rtc::Network::key): Deleted.
(rtc::Network::ip): Deleted.
(rtc::Network::AddIP): Deleted.
(rtc::Network::GetIPs): Deleted.
(rtc::Network::ClearIPs): Deleted.
(rtc::Network::scope_id): Deleted.
(rtc::Network::set_scope_id): Deleted.
(rtc::Network::ignored): Deleted.
(rtc::Network::set_ignored): Deleted.
(rtc::Network::type): Deleted.
(rtc::Network::set_type): Deleted.
(rtc::Network::GetCost): Deleted.
(rtc::Network::id): Deleted.
(rtc::Network::set_id): Deleted.
(rtc::Network::preference): Deleted.
(rtc::Network::set_preference): Deleted.
(rtc::Network::active): Deleted.
(rtc::Network::set_active): Deleted.
* Source/webrtc/base/proxyinfo.h:
* Source/webrtc/base/refcountedobject.h:
(rtc::RefCountedObject::RefCountedObject): Deleted.
(rtc::RefCountedObject::AddRef): Deleted.
(rtc::RefCountedObject::Release): Deleted.
(rtc::RefCountedObject::HasOneRef): Deleted.
(rtc::RefCountedObject::~RefCountedObject): Deleted.
* Source/webrtc/base/socketaddress.h:
(rtc::SocketAddress::hostname): Deleted.
(rtc::SocketAddress::family): Deleted.
(rtc::SocketAddress::scope_id): Deleted.
(rtc::SocketAddress::SetScopeID): Deleted.
(rtc::SocketAddress::operator !=): Deleted.
* Source/webrtc/base/thread.h:
* Source/webrtc/common_types.h:
* Source/webrtc/common_video/include/video_frame_buffer.h:
(webrtc::I420Buffer::Copy): Deleted.
(webrtc::I420Buffer::CropAndScaleFrom): Deleted.
(webrtc::I420Buffer::ScaleFrom): Deleted.
* Source/webrtc/common_video/libyuv/include/webrtc_libyuv.h:
* Source/webrtc/p2p/base/basicpacketsocketfactory.h:
* Source/webrtc/p2p/client/basicportallocator.h:
(cricket::BasicPortAllocator::network_ignore_mask): Deleted.
(cricket::BasicPortAllocator::network_manager): Deleted.
(cricket::BasicPortAllocator::socket_factory): Deleted.
* Source/webrtc/sdk/objc/Framework/Classes/RTCLogging.mm:
(RTCFileName):
* Source/webrtc/sdk/objc/Framework/Classes/videotoolboxvideocodecfactory.h:
* Source/webrtc/video_frame.h:
(webrtc::VideoFrame::timestamp_us): Deleted.
(webrtc::VideoFrame::set_timestamp_us): Deleted.
(webrtc::VideoFrame::set_timestamp): Deleted.
(webrtc::VideoFrame::timestamp): Deleted.
(webrtc::VideoFrame::transport_frame_id): Deleted.
(webrtc::VideoFrame::set_ntp_time_ms): Deleted.
(webrtc::VideoFrame::ntp_time_ms): Deleted.
(webrtc::VideoFrame::rotation): Deleted.
(webrtc::VideoFrame::set_rotation): Deleted.
(webrtc::VideoFrame::set_render_time_ms): Deleted.
(webrtc::VideoFrame::render_time_ms): Deleted.
(webrtc::VideoFrame::is_texture): Deleted.
* build: Added.
* build/Debug: Added.
* libwebrtc.xcodeproj/project.pbxproj:

Modified Paths

Added Paths

Diff

Modified: trunk/Source/ThirdParty/libwebrtc/ChangeLog (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/ChangeLog	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/ChangeLog	2017-02-14 23:11:34 UTC (rev 212326)
@@ -1,5 +1,132 @@
 2017-02-14  Alex Christensen  <achristen...@webkit.org>
 
+        Make libwebrtc.dylib
+        https://bugs.webkit.org/show_bug.cgi?id=168335
+
+        Reviewed by Dan Bernstein.
+
+        We were building libwebrtc as a static library, which would prevent us from weak linking with it.
+        We need to explicitly export what we use from WebCore or WebKit2, and RTCLogging.mm now needs to
+        be built on Mac, so we make it not automatically reference counted to make it work on 32-bit El Capitan.
+
+        * Configurations/libwebrtc.xcconfig:
+        * Source/webrtc/api/jsep.h:
+        * Source/webrtc/api/mediastream.h:
+        * Source/webrtc/api/notifier.h:
+        (webrtc::Notifier::Notifier): Deleted.
+        (webrtc::Notifier::RegisterObserver): Deleted.
+        (webrtc::Notifier::UnregisterObserver): Deleted.
+        (webrtc::Notifier::FireOnChanged): Deleted.
+        * Source/webrtc/api/peerconnectioninterface.h:
+        * Source/webrtc/base/asyncpacketsocket.h:
+        * Source/webrtc/base/asyncresolverinterface.h:
+        (rtc::AsyncResolverInterface::address): Deleted.
+        * Source/webrtc/base/copyonwritebuffer.h:
+        (rtc::CopyOnWriteBuffer::CopyOnWriteBuffer): Deleted.
+        (rtc::CopyOnWriteBuffer::data): Deleted.
+        (rtc::CopyOnWriteBuffer::cdata): Deleted.
+        (rtc::CopyOnWriteBuffer::size): Deleted.
+        (rtc::CopyOnWriteBuffer::capacity): Deleted.
+        (rtc::CopyOnWriteBuffer::operator=): Deleted.
+        (rtc::CopyOnWriteBuffer::operator!=): Deleted.
+        (rtc::CopyOnWriteBuffer::operator[]): Deleted.
+        (rtc::CopyOnWriteBuffer::SetData): Deleted.
+        (rtc::CopyOnWriteBuffer::AppendData): Deleted.
+        (rtc::CopyOnWriteBuffer::swap): Deleted.
+        (rtc::CopyOnWriteBuffer::IsConsistent): Deleted.
+        * Source/webrtc/base/event.h:
+        * Source/webrtc/base/export.h: Added.
+        * Source/webrtc/base/helpers.h:
+        * Source/webrtc/base/ipaddress.h:
+        (rtc::IPAddress::IPAddress): Deleted.
+        (rtc::IPAddress::~IPAddress): Deleted.
+        (rtc::IPAddress::operator=): Deleted.
+        (rtc::IPAddress::family): Deleted.
+        * Source/webrtc/base/location.h:
+        (rtc::Location::function_name): Deleted.
+        (rtc::Location::file_and_line): Deleted.
+        * Source/webrtc/base/messagehandler.h:
+        (rtc::MessageHandler::MessageHandler): Deleted.
+        * Source/webrtc/base/network.h:
+        (rtc::NetworkManagerBase::ipv6_enabled): Deleted.
+        (rtc::NetworkManagerBase::set_ipv6_enabled): Deleted.
+        (rtc::NetworkManagerBase::set_max_ipv6_networks): Deleted.
+        (rtc::NetworkManagerBase::max_ipv6_networks): Deleted.
+        (rtc::NetworkManagerBase::set_enumeration_permission): Deleted.
+        (rtc::BasicNetworkManager::started): Deleted.
+        (rtc::BasicNetworkManager::set_network_ignore_list): Deleted.
+        (rtc::BasicNetworkManager::set_ignore_non_default_routes): Deleted.
+        (rtc::Network::default_local_address_provider): Deleted.
+        (rtc::Network::set_default_local_address_provider): Deleted.
+        (rtc::Network::name): Deleted.
+        (rtc::Network::description): Deleted.
+        (rtc::Network::prefix): Deleted.
+        (rtc::Network::prefix_length): Deleted.
+        (rtc::Network::key): Deleted.
+        (rtc::Network::ip): Deleted.
+        (rtc::Network::AddIP): Deleted.
+        (rtc::Network::GetIPs): Deleted.
+        (rtc::Network::ClearIPs): Deleted.
+        (rtc::Network::scope_id): Deleted.
+        (rtc::Network::set_scope_id): Deleted.
+        (rtc::Network::ignored): Deleted.
+        (rtc::Network::set_ignored): Deleted.
+        (rtc::Network::type): Deleted.
+        (rtc::Network::set_type): Deleted.
+        (rtc::Network::GetCost): Deleted.
+        (rtc::Network::id): Deleted.
+        (rtc::Network::set_id): Deleted.
+        (rtc::Network::preference): Deleted.
+        (rtc::Network::set_preference): Deleted.
+        (rtc::Network::active): Deleted.
+        (rtc::Network::set_active): Deleted.
+        * Source/webrtc/base/proxyinfo.h:
+        * Source/webrtc/base/refcountedobject.h:
+        (rtc::RefCountedObject::RefCountedObject): Deleted.
+        (rtc::RefCountedObject::AddRef): Deleted.
+        (rtc::RefCountedObject::Release): Deleted.
+        (rtc::RefCountedObject::HasOneRef): Deleted.
+        (rtc::RefCountedObject::~RefCountedObject): Deleted.
+        * Source/webrtc/base/socketaddress.h:
+        (rtc::SocketAddress::hostname): Deleted.
+        (rtc::SocketAddress::family): Deleted.
+        (rtc::SocketAddress::scope_id): Deleted.
+        (rtc::SocketAddress::SetScopeID): Deleted.
+        (rtc::SocketAddress::operator !=): Deleted.
+        * Source/webrtc/base/thread.h:
+        * Source/webrtc/common_types.h:
+        * Source/webrtc/common_video/include/video_frame_buffer.h:
+        (webrtc::I420Buffer::Copy): Deleted.
+        (webrtc::I420Buffer::CropAndScaleFrom): Deleted.
+        (webrtc::I420Buffer::ScaleFrom): Deleted.
+        * Source/webrtc/common_video/libyuv/include/webrtc_libyuv.h:
+        * Source/webrtc/p2p/base/basicpacketsocketfactory.h:
+        * Source/webrtc/p2p/client/basicportallocator.h:
+        (cricket::BasicPortAllocator::network_ignore_mask): Deleted.
+        (cricket::BasicPortAllocator::network_manager): Deleted.
+        (cricket::BasicPortAllocator::socket_factory): Deleted.
+        * Source/webrtc/sdk/objc/Framework/Classes/RTCLogging.mm:
+        (RTCFileName):
+        * Source/webrtc/sdk/objc/Framework/Classes/videotoolboxvideocodecfactory.h:
+        * Source/webrtc/video_frame.h:
+        (webrtc::VideoFrame::timestamp_us): Deleted.
+        (webrtc::VideoFrame::set_timestamp_us): Deleted.
+        (webrtc::VideoFrame::set_timestamp): Deleted.
+        (webrtc::VideoFrame::timestamp): Deleted.
+        (webrtc::VideoFrame::transport_frame_id): Deleted.
+        (webrtc::VideoFrame::set_ntp_time_ms): Deleted.
+        (webrtc::VideoFrame::ntp_time_ms): Deleted.
+        (webrtc::VideoFrame::rotation): Deleted.
+        (webrtc::VideoFrame::set_rotation): Deleted.
+        (webrtc::VideoFrame::set_render_time_ms): Deleted.
+        (webrtc::VideoFrame::render_time_ms): Deleted.
+        (webrtc::VideoFrame::is_texture): Deleted.
+        * build: Added.
+        * build/Debug: Added.
+        * libwebrtc.xcodeproj/project.pbxproj:
+
+2017-02-14  Alex Christensen  <achristen...@webkit.org>
+
         Remove android-specific files from ThirdParty/libwebrtc
         https://bugs.webkit.org/show_bug.cgi?id=168272
 

Modified: trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig	2017-02-14 23:11:34 UTC (rev 212326)
@@ -1,4 +1,4 @@
-PRODUCT_NAME = webrtc;
+PRODUCT_NAME = libwebrtc;
 
 CLANG_WARN_BOOL_CONVERSION = YES;
 CLANG_WARN_ENUM_CONVERSION = YES;
@@ -21,4 +21,4 @@
 
 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*] = audio_device_ios.mm voice_processing_audio_unit.mm audio_device_not_implemented_ios.mm RTCAudioSessionConfiguration.m RTCAudioSessionDelegateAdapter.mm RTCAudioSession.mm RTCAudioSession+Configuration.mm RTCUIApplication.mm RTCLogging.mm;
+EXCLUDED_SOURCE_FILE_NAMES[sdk=macosx*] = audio_device_ios.mm voice_processing_audio_unit.mm audio_device_not_implemented_ios.mm RTCAudioSessionConfiguration.m RTCAudioSessionDelegateAdapter.mm RTCAudioSession.mm RTCAudioSession+Configuration.mm RTCUIApplication.mm;

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/api/jsep.h (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/api/jsep.h	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/api/jsep.h	2017-02-14 23:11:34 UTC (rev 212326)
@@ -17,6 +17,7 @@
 #include <vector>
 
 #include "webrtc/base/basictypes.h"
+#include "webrtc/base/export.h"
 #include "webrtc/base/refcount.h"
 
 namespace cricket {
@@ -55,7 +56,7 @@
 // Creates a IceCandidateInterface based on SDP string.
 // Returns NULL if the sdp string can't be parsed.
 // |error| can be NULL if doesn't care about the failure reason.
-IceCandidateInterface* CreateIceCandidate(const std::string& sdp_mid,
+WEBRTC_EXPORT IceCandidateInterface* CreateIceCandidate(const std::string& sdp_mid,
                                           int sdp_mline_index,
                                           const std::string& sdp,
                                           SdpParseError* error);
@@ -112,7 +113,7 @@
 // Creates a SessionDescriptionInterface based on SDP string and the type.
 // Returns NULL if the sdp string can't be parsed or the type is unsupported.
 // |error| can be NULL if doesn't care about the failure reason.
-SessionDescriptionInterface* CreateSessionDescription(const std::string& type,
+WEBRTC_EXPORT SessionDescriptionInterface* CreateSessionDescription(const std::string& type,
                                                       const std::string& sdp,
                                                       SdpParseError* error);
 

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/api/mediastream.h (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/api/mediastream.h	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/api/mediastream.h	2017-02-14 23:11:34 UTC (rev 212326)
@@ -18,10 +18,11 @@
 
 #include "webrtc/api/mediastreaminterface.h"
 #include "webrtc/api/notifier.h"
+#include "webrtc/base/export.h"
 
 namespace webrtc {
 
-class MediaStream : public Notifier<MediaStreamInterface> {
+class WEBRTC_EXPORT MediaStream : public Notifier<MediaStreamInterface> {
  public:
   static rtc::scoped_refptr<MediaStream> Create(const std::string& label);
 

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/api/notifier.h (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/api/notifier.h	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/api/notifier.h	2017-02-14 23:11:34 UTC (rev 212326)
@@ -15,12 +15,13 @@
 
 #include "webrtc/api/mediastreaminterface.h"
 #include "webrtc/base/common.h"
+#include "webrtc/base/export.h"
 
 namespace webrtc {
 
 // Implement a template version of a notifier.
 template <class T>
-class Notifier : public T {
+class WEBRTC_EXPORT Notifier : public T {
  public:
   Notifier() {
   }

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/api/peerconnectioninterface.h (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/api/peerconnectioninterface.h	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/api/peerconnectioninterface.h	2017-02-14 23:11:34 UTC (rev 212326)
@@ -65,6 +65,7 @@
 #include "webrtc/api/rtpsenderinterface.h"
 #include "webrtc/api/statstypes.h"
 #include "webrtc/api/umametrics.h"
+#include "webrtc/base/export.h"
 #include "webrtc/base/fileutils.h"
 #include "webrtc/base/network.h"
 #include "webrtc/base/rtccertificate.h"
@@ -739,7 +740,7 @@
 //
 // If non-null, ownership of |default_adm|, |encoder_factory| and
 // |decoder_factory| are transferred to the returned factory.
-rtc::scoped_refptr<PeerConnectionFactoryInterface> CreatePeerConnectionFactory(
+WEBRTC_EXPORT rtc::scoped_refptr<PeerConnectionFactoryInterface> CreatePeerConnectionFactory(
     rtc::Thread* network_thread,
     rtc::Thread* worker_thread,
     rtc::Thread* signaling_thread,

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/asyncpacketsocket.h (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/asyncpacketsocket.h	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/asyncpacketsocket.h	2017-02-14 23:11:34 UTC (rev 212326)
@@ -13,6 +13,7 @@
 
 #include "webrtc/base/constructormagic.h"
 #include "webrtc/base/dscp.h"
+#include "webrtc/base/export.h"
 #include "webrtc/base/sigslot.h"
 #include "webrtc/base/socket.h"
 #include "webrtc/base/timeutils.h"
@@ -22,7 +23,7 @@
 // This structure holds the info needed to update the packet send time header
 // extension, including the information needed to update the authentication tag
 // after changing the value.
-struct PacketTimeUpdateParams {
+struct WEBRTC_EXPORT PacketTimeUpdateParams {
   PacketTimeUpdateParams();
   ~PacketTimeUpdateParams();
 
@@ -65,7 +66,7 @@
 
 // Provides the ability to receive packets asynchronously. Sends are not
 // buffered since it is acceptable to drop packets under high load.
-class AsyncPacketSocket : public sigslot::has_slots<> {
+class WEBRTC_EXPORT AsyncPacketSocket : public sigslot::has_slots<> {
  public:
   enum State {
     STATE_CLOSED,

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/asyncresolverinterface.h (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/asyncresolverinterface.h	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/asyncresolverinterface.h	2017-02-14 23:11:34 UTC (rev 212326)
@@ -11,6 +11,7 @@
 #ifndef WEBRTC_BASE_ASYNCRESOLVERINTERFACE_H_
 #define WEBRTC_BASE_ASYNCRESOLVERINTERFACE_H_
 
+#include "webrtc/base/export.h"
 #include "webrtc/base/sigslot.h"
 #include "webrtc/base/socketaddress.h"
 
@@ -17,7 +18,7 @@
 namespace rtc {
 
 // This interface defines the methods to resolve the address asynchronously.
-class AsyncResolverInterface {
+class WEBRTC_EXPORT AsyncResolverInterface {
  public:
   AsyncResolverInterface();
   virtual ~AsyncResolverInterface();

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/copyonwritebuffer.h (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/copyonwritebuffer.h	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/copyonwritebuffer.h	2017-02-14 23:11:34 UTC (rev 212326)
@@ -16,12 +16,13 @@
 
 #include "webrtc/base/buffer.h"
 #include "webrtc/base/checks.h"
+#include "webrtc/base/export.h"
 #include "webrtc/base/refcount.h"
 #include "webrtc/base/scoped_ref_ptr.h"
 
 namespace rtc {
 
-class CopyOnWriteBuffer {
+class WEBRTC_EXPORT CopyOnWriteBuffer {
  public:
   // An empty buffer.
   CopyOnWriteBuffer();

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/event.h (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/event.h	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/event.h	2017-02-14 23:11:34 UTC (rev 212326)
@@ -20,10 +20,11 @@
 #endif
 
 #include "webrtc/base/basictypes.h"
+#include "webrtc/base/export.h"
 
 namespace rtc {
 
-class Event {
+class WEBRTC_EXPORT Event {
  public:
   static const int kForever = -1;
 

Added: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/export.h (0 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/export.h	                        (rev 0)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/export.h	2017-02-14 23:11:34 UTC (rev 212326)
@@ -0,0 +1,19 @@
+/*
+ *  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.
+ */
+#ifndef WEBRTC_BASE_EXPORT_H_
+#define WEBRTC_BASE_EXPORT_H_
+
+#ifdef WEBRTC_WEBKIT_BUILD
+#define WEBRTC_EXPORT __attribute__((visibility ("default")))
+#else
+#define WEBRTC_EXPORT
+#endif
+
+#endif

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/helpers.h (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/helpers.h	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/helpers.h	2017-02-14 23:11:34 UTC (rev 212326)
@@ -13,6 +13,7 @@
 
 #include <string>
 #include "webrtc/base/basictypes.h"
+#include "webrtc/base/export.h"
 
 namespace rtc {
 
@@ -25,7 +26,7 @@
 
 // Generates a (cryptographically) random string of the given length.
 // We generate base64 values so that they will be printable.
-std::string CreateRandomString(size_t length);
+WEBRTC_EXPORT std::string CreateRandomString(size_t length);
 
 // Generates a (cryptographically) random string of the given length.
 // We generate base64 values so that they will be printable.

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/ipaddress.h (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/ipaddress.h	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/ipaddress.h	2017-02-14 23:11:34 UTC (rev 212326)
@@ -27,6 +27,7 @@
 
 #include "webrtc/base/basictypes.h"
 #include "webrtc/base/byteorder.h"
+#include "webrtc/base/export.h"
 #if defined(WEBRTC_WIN)
 #include "webrtc/base/win32.h"
 #endif
@@ -47,7 +48,7 @@
 };
 
 // Version-agnostic IP address class, wraps a union of in_addr and in6_addr.
-class IPAddress {
+class WEBRTC_EXPORT IPAddress {
  public:
   IPAddress() : family_(AF_UNSPEC) {
     ::memset(&u_, 0, sizeof(u_));

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/location.h (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/location.h	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/location.h	2017-02-14 23:11:34 UTC (rev 212326)
@@ -13,6 +13,7 @@
 
 #include <string>
 
+#include "webrtc/base/export.h"
 #include "webrtc/system_wrappers/include/stringize_macros.h"
 
 namespace rtc {
@@ -21,7 +22,7 @@
 // significantly brought to life.
 // This is a stripped down version of:
 // https://code.google.com/p/chromium/codesearch#chromium/src/base/location.h
-class Location {
+class WEBRTC_EXPORT Location {
  public:
   // Constructor should be called with a long-lived char*, such as __FILE__.
   // It assumes the provided value will persist as a global constant, and it

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/messagehandler.h (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/messagehandler.h	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/messagehandler.h	2017-02-14 23:11:34 UTC (rev 212326)
@@ -15,6 +15,7 @@
 #include <utility>
 
 #include "webrtc/base/constructormagic.h"
+#include "webrtc/base/export.h"
 
 namespace rtc {
 
@@ -22,7 +23,7 @@
 
 // Messages get dispatched to a MessageHandler
 
-class MessageHandler {
+class WEBRTC_EXPORT MessageHandler {
  public:
   virtual ~MessageHandler();
   virtual void OnMessage(Message* msg) = 0;

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/network.h (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/network.h	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/network.h	2017-02-14 23:11:34 UTC (rev 212326)
@@ -18,6 +18,7 @@
 #include <vector>
 
 #include "webrtc/base/basictypes.h"
+#include "webrtc/base/export.h"
 #include "webrtc/base/ipaddress.h"
 #include "webrtc/base/networkmonitor.h"
 #include "webrtc/base/messagehandler.h"
@@ -135,7 +136,7 @@
 };
 
 // Base class for NetworkManager implementations.
-class NetworkManagerBase : public NetworkManager {
+class WEBRTC_EXPORT NetworkManagerBase : public NetworkManager {
  public:
   NetworkManagerBase();
   ~NetworkManagerBase() override;
@@ -200,7 +201,7 @@
 
 // Basic implementation of the NetworkManager interface that gets list
 // of networks using OS APIs.
-class BasicNetworkManager : public NetworkManagerBase,
+class WEBRTC_EXPORT BasicNetworkManager : public NetworkManagerBase,
                             public MessageHandler,
                             public sigslot::has_slots<> {
  public:
@@ -276,7 +277,7 @@
 };
 
 // Represents a Unix-type network interface, with a name and single address.
-class Network {
+class WEBRTC_EXPORT Network {
  public:
   Network(const std::string& name,
           const std::string& description,

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/proxyinfo.h (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/proxyinfo.h	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/proxyinfo.h	2017-02-14 23:11:34 UTC (rev 212326)
@@ -12,8 +12,9 @@
 #define WEBRTC_BASE_PROXYINFO_H__
 
 #include <string>
+#include "webrtc/base/cryptstring.h"
+#include "webrtc/base/export.h"
 #include "webrtc/base/socketaddress.h"
-#include "webrtc/base/cryptstring.h"
 
 namespace rtc {
 
@@ -25,7 +26,7 @@
 };
 const char * ProxyToString(ProxyType proxy);
 
-struct ProxyInfo {
+struct WEBRTC_EXPORT ProxyInfo {
   ProxyType type;
   SocketAddress address;
   std::string autoconfig_url;

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/refcountedobject.h (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/refcountedobject.h	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/refcountedobject.h	2017-02-14 23:11:34 UTC (rev 212326)
@@ -13,11 +13,12 @@
 #include <utility>
 
 #include "webrtc/base/atomicops.h"
+#include "webrtc/base/export.h"
 
 namespace rtc {
 
 template <class T>
-class RefCountedObject : public T {
+class WEBRTC_EXPORT RefCountedObject : public T {
  public:
   RefCountedObject() {}
 

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/socketaddress.h (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/socketaddress.h	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/socketaddress.h	2017-02-14 23:11:34 UTC (rev 212326)
@@ -25,7 +25,7 @@
 namespace rtc {
 
 // Records an IP address and port.
-class SocketAddress {
+class WEBRTC_EXPORT SocketAddress {
  public:
   // Creates a nil address.
   SocketAddress();

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/thread.h (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/thread.h	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/thread.h	2017-02-14 23:11:34 UTC (rev 212326)
@@ -93,7 +93,7 @@
 
 // WARNING! SUBCLASSES MUST CALL Stop() IN THEIR DESTRUCTORS!  See ~Thread().
 
-class LOCKABLE Thread : public MessageQueue {
+class LOCKABLE WEBRTC_EXPORT Thread : public MessageQueue {
  public:
   // Create a new Thread and optionally assign it to the passed SocketServer.
   Thread();

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/common_types.h (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/common_types.h	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/common_types.h	2017-02-14 23:11:34 UTC (rev 212326)
@@ -27,10 +27,12 @@
 #pragma warning(disable : 4351)
 #endif
 
+#if defined(WIN32)
 #if defined(WEBRTC_EXPORT)
 #define WEBRTC_DLLEXPORT _declspec(dllexport)
 #elif defined(WEBRTC_DLL)
 #define WEBRTC_DLLEXPORT _declspec(dllimport)
+#endif
 #else
 #define WEBRTC_DLLEXPORT
 #endif

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/common_video/include/video_frame_buffer.h (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/common_video/include/video_frame_buffer.h	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/common_video/include/video_frame_buffer.h	2017-02-14 23:11:34 UTC (rev 212326)
@@ -16,6 +16,7 @@
 #include <memory>
 
 #include "webrtc/base/callback.h"
+#include "webrtc/base/export.h"
 #include "webrtc/base/refcount.h"
 #include "webrtc/base/scoped_ref_ptr.h"
 #include "webrtc/common_video/rotation.h"
@@ -56,7 +57,7 @@
 };
 
 // Plain I420 buffer in standard memory.
-class I420Buffer : public VideoFrameBuffer {
+class WEBRTC_EXPORT I420Buffer : public VideoFrameBuffer {
  public:
   I420Buffer(int width, int height);
   I420Buffer(int width, int height, int stride_y, int stride_u, int stride_v);

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/common_video/libyuv/include/webrtc_libyuv.h (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/common_video/libyuv/include/webrtc_libyuv.h	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/common_video/libyuv/include/webrtc_libyuv.h	2017-02-14 23:11:34 UTC (rev 212326)
@@ -18,6 +18,7 @@
 #include <stdio.h>
 #include <vector>
 
+#include "webrtc/base/export.h"
 #include "webrtc/common_types.h"  // RawVideoTypes.
 #include "webrtc/common_video/rotation.h"
 #include "webrtc/typedefs.h"
@@ -100,7 +101,7 @@
 // calls pass |src_video_type| == kI420, and should use libyuv::I420Copy. The
 // only exception at the time of this writing is
 // VideoCaptureImpl::IncomingFrame, which still needs libyuv::ConvertToI420.
-int ConvertToI420(VideoType src_video_type,
+WEBRTC_EXPORT int ConvertToI420(VideoType src_video_type,
                   const uint8_t* src_frame,
                   int crop_x,
                   int crop_y,

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/p2p/base/basicpacketsocketfactory.h (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/p2p/base/basicpacketsocketfactory.h	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/p2p/base/basicpacketsocketfactory.h	2017-02-14 23:11:34 UTC (rev 212326)
@@ -11,6 +11,7 @@
 #ifndef WEBRTC_P2P_BASE_BASICPACKETSOCKETFACTORY_H_
 #define WEBRTC_P2P_BASE_BASICPACKETSOCKETFACTORY_H_
 
+#include "webrtc/base/export.h"
 #include "webrtc/p2p/base/packetsocketfactory.h"
 
 namespace rtc {
@@ -19,7 +20,7 @@
 class SocketFactory;
 class Thread;
 
-class BasicPacketSocketFactory : public PacketSocketFactory {
+class WEBRTC_EXPORT BasicPacketSocketFactory : public PacketSocketFactory {
  public:
   BasicPacketSocketFactory();
   explicit BasicPacketSocketFactory(Thread* thread);

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/p2p/client/basicportallocator.h (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/p2p/client/basicportallocator.h	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/p2p/client/basicportallocator.h	2017-02-14 23:11:34 UTC (rev 212326)
@@ -16,6 +16,7 @@
 #include <vector>
 
 #include "webrtc/p2p/base/portallocator.h"
+#include "webrtc/base/export.h"
 #include "webrtc/base/messagequeue.h"
 #include "webrtc/base/network.h"
 #include "webrtc/base/thread.h"
@@ -22,7 +23,7 @@
 
 namespace cricket {
 
-class BasicPortAllocator : public PortAllocator {
+class WEBRTC_EXPORT BasicPortAllocator : public PortAllocator {
  public:
   BasicPortAllocator(rtc::NetworkManager* network_manager,
                      rtc::PacketSocketFactory* socket_factory);

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/RTCLogging.mm (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/RTCLogging.mm	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/RTCLogging.mm	2017-02-14 23:11:34 UTC (rev 212326)
@@ -38,10 +38,10 @@
 
 NSString* RTCFileName(const char* file_path) {
   NSString* ns_file_path =
-      [[NSString alloc] initWithBytesNoCopy:const_cast<char*>(file_path)
+      [[[NSString alloc] initWithBytesNoCopy:const_cast<char*>(file_path)
                                      length:strlen(file_path)
                                    encoding:NSUTF8StringEncoding
-                               freeWhenDone:NO];
+                               freeWhenDone:NO] autorelease];
   return ns_file_path.lastPathComponent;
 }
 

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/videotoolboxvideocodecfactory.h (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/videotoolboxvideocodecfactory.h	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/videotoolboxvideocodecfactory.h	2017-02-14 23:11:34 UTC (rev 212326)
@@ -11,12 +11,13 @@
 #ifndef WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEOTOOLBOXVIDEOCODECFACTORY_H_
 #define WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEOTOOLBOXVIDEOCODECFACTORY_H_
 
+#include "webrtc/base/export.h"
 #include "webrtc/media/engine/webrtcvideoencoderfactory.h"
 #include "webrtc/media/engine/webrtcvideodecoderfactory.h"
 
 namespace webrtc {
 
-class VideoToolboxVideoEncoderFactory
+class WEBRTC_EXPORT VideoToolboxVideoEncoderFactory
     : public cricket::WebRtcVideoEncoderFactory {
  public:
   VideoToolboxVideoEncoderFactory();
@@ -31,7 +32,7 @@
   std::vector<cricket::VideoCodec> supported_codecs_;
 };
 
-class VideoToolboxVideoDecoderFactory
+class WEBRTC_EXPORT VideoToolboxVideoDecoderFactory
     : public cricket::WebRtcVideoDecoderFactory {
  public:
   VideoToolboxVideoDecoderFactory();

Modified: trunk/Source/ThirdParty/libwebrtc/Source/webrtc/video_frame.h (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/Source/webrtc/video_frame.h	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/Source/webrtc/video_frame.h	2017-02-14 23:11:34 UTC (rev 212326)
@@ -11,6 +11,7 @@
 #ifndef WEBRTC_VIDEO_FRAME_H_
 #define WEBRTC_VIDEO_FRAME_H_
 
+#include "webrtc/base/export.h"
 #include "webrtc/base/scoped_ref_ptr.h"
 #include "webrtc/base/timeutils.h"
 #include "webrtc/common_types.h"
@@ -20,7 +21,7 @@
 
 namespace webrtc {
 
-class VideoFrame {
+class WEBRTC_EXPORT VideoFrame {
  public:
   // TODO(nisse): Deprecated. Using the default constructor violates the
   // reasonable assumption that video_frame_buffer() returns a valid buffer.

Modified: trunk/Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj (212325 => 212326)


--- trunk/Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj	2017-02-14 23:11:06 UTC (rev 212325)
+++ trunk/Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj	2017-02-14 23:11:34 UTC (rev 212326)
@@ -682,6 +682,21 @@
 		5C4B4D0A1E4322F6002651C8 /* basicportallocator.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C4B4D061E4322F6002651C8 /* basicportallocator.h */; };
 		5C4B4D0B1E4322F6002651C8 /* socketmonitor.cc in Sources */ = {isa = PBXBuildFile; fileRef = 5C4B4D071E4322F6002651C8 /* socketmonitor.cc */; };
 		5C4B4D0C1E4322F6002651C8 /* socketmonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C4B4D081E4322F6002651C8 /* socketmonitor.h */; };
+		5C5342981E538A92009FC367 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5C5342971E538A92009FC367 /* CoreVideo.framework */; };
+		5C53429A1E538AB7009FC367 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5C5342991E538AB7009FC367 /* AVFoundation.framework */; };
+		5C53429C1E538AD6009FC367 /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5C53429B1E538AD6009FC367 /* CoreMedia.framework */; };
+		5C53429D1E538AE4009FC367 /* libyuv.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5C0884DE1E4A980100403995 /* libyuv.a */; };
+		5C53429E1E538AF2009FC367 /* libwebrtcpcrtc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5C088C0B1E4AA3B100403995 /* libwebrtcpcrtc.a */; };
+		5C53429F1E538B3C009FC367 /* libboringssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5C63FC601E418411002CA531 /* libboringssl.a */; };
+		5C5342A01E538B3C009FC367 /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5C4B4A8E1E42C336002651C8 /* libopus.a */; };
+		5C5342A11E538B3C009FC367 /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5C0884D11E4A97E300403995 /* libsrtp.a */; };
+		5C5342A21E538B3C009FC367 /* libusrsctp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5C11A12D1E4577E1004F0987 /* libusrsctp.a */; };
+		5C5342A51E538C03009FC367 /* RTCDispatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C5342A31E538C03009FC367 /* RTCDispatcher.m */; };
+		5C5342A61E538C03009FC367 /* RTCDispatcher+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C5342A41E538C03009FC367 /* RTCDispatcher+Private.h */; };
+		5C5342B01E53A2C8009FC367 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5C5342AF1E53A2C8009FC367 /* CoreGraphics.framework */; };
+		5C5342B21E53A2ED009FC367 /* VideoToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5C5342B11E53A2ED009FC367 /* VideoToolbox.framework */; };
+		5C5342B41E53A30E009FC367 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5C5342B31E53A30E009FC367 /* CoreAudio.framework */; };
+		5C5342B51E53A329009FC367 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5C5342AD1E53A29B009FC367 /* AudioToolbox.framework */; };
 		5C60245F1E494DB80088F0B2 /* user_atomic.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C4B4ACB1E42C9D6002651C8 /* user_atomic.h */; };
 		5C6024601E494DB80088F0B2 /* user_environment.c in Sources */ = {isa = PBXBuildFile; fileRef = 5C4B4ACC1E42C9D6002651C8 /* user_environment.c */; };
 		5C6024611E494DB80088F0B2 /* user_environment.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C4B4ACD1E42C9D6002651C8 /* user_environment.h */; };
@@ -1196,6 +1211,15 @@
 		5C6CDD541E413598009754E3 /* video_receive_stream.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C6CDD471E413598009754E3 /* video_receive_stream.h */; };
 		5C6CDD551E413598009754E3 /* video_send_stream.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C6CDD481E413598009754E3 /* video_send_stream.h */; };
 		5C6CDD561E413598009754E3 /* voice_engine_configurations.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C6CDD491E413598009754E3 /* voice_engine_configurations.h */; };
+		5CC8AAF81E53BC2A002637C9 /* export.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CC8AAF71E53BC2A002637C9 /* export.h */; };
+		5CC8AB011E53BD8F002637C9 /* bitrate_adjuster.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CC8AAFA1E53BD8F002637C9 /* bitrate_adjuster.h */; };
+		5CC8AB021E53BD8F002637C9 /* corevideo_frame_buffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CC8AAFB1E53BD8F002637C9 /* corevideo_frame_buffer.h */; };
+		5CC8AB031E53BD8F002637C9 /* frame_callback.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CC8AAFC1E53BD8F002637C9 /* frame_callback.h */; };
+		5CC8AB041E53BD8F002637C9 /* i420_buffer_pool.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CC8AAFD1E53BD8F002637C9 /* i420_buffer_pool.h */; };
+		5CC8AB051E53BD8F002637C9 /* incoming_video_stream.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CC8AAFE1E53BD8F002637C9 /* incoming_video_stream.h */; };
+		5CC8AB061E53BD8F002637C9 /* video_frame_buffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CC8AAFF1E53BD8F002637C9 /* video_frame_buffer.h */; };
+		5CC8AB071E53BD8F002637C9 /* video_image.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CC8AB001E53BD8F002637C9 /* video_image.h */; };
+		5CC8AB0A1E53BDC4002637C9 /* webrtc_libyuv.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CC8AB091E53BDC4002637C9 /* webrtc_libyuv.h */; };
 		5CDD83541E43257200621E92 /* h264_bitstream_parser.cc in Sources */ = {isa = PBXBuildFile; fileRef = 5CDD83431E43257200621E92 /* h264_bitstream_parser.cc */; };
 		5CDD83551E43257200621E92 /* h264_bitstream_parser.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CDD83441E43257200621E92 /* h264_bitstream_parser.h */; };
 		5CDD83561E43257200621E92 /* h264_common.cc in Sources */ = {isa = PBXBuildFile; fileRef = 5CDD83451E43257200621E92 /* h264_common.cc */; };
@@ -1402,7 +1426,6 @@
 		5CDD85341E43B39C00621E92 /* call.cc in Sources */ = {isa = PBXBuildFile; fileRef = 5CDD85221E43B39C00621E92 /* call.cc */; };
 		5CDD85361E43B39C00621E92 /* flexfec_receive_stream.cc in Sources */ = {isa = PBXBuildFile; fileRef = 5CDD85251E43B39C00621E92 /* flexfec_receive_stream.cc */; };
 		5CDD85371E43B39C00621E92 /* flexfec_receive_stream.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CDD85261E43B39C00621E92 /* flexfec_receive_stream.h */; };
-		5CDD853B1E43B39C00621E92 /* transport_adapter.cc in Sources */ = {isa = PBXBuildFile; fileRef = 5CDD852B1E43B39C00621E92 /* transport_adapter.cc */; };
 		5CDD853C1E43B39C00621E92 /* transport_adapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CDD852C1E43B39C00621E92 /* transport_adapter.h */; };
 		5CDD85501E43B42B00621E92 /* h264_objc.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CDD85431E43B42B00621E92 /* h264_objc.mm */; };
 		5CDD85581E43B42B00621E92 /* h264.cc in Sources */ = {isa = PBXBuildFile; fileRef = 5CDD854B1E43B42B00621E92 /* h264.cc */; };
@@ -2463,7 +2486,7 @@
 		5CFD548A1E4C55D300482908 /* WebRTC.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CFD54631E4C55D200482908 /* WebRTC.h */; };
 		5CFD548E1E4E587300482908 /* RTCUIApplication.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CFD548C1E4E587300482908 /* RTCUIApplication.h */; };
 		5CFD548F1E4E587300482908 /* RTCUIApplication.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD548D1E4E587300482908 /* RTCUIApplication.mm */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; };
-		5CFD54911E4E650700482908 /* RTCLogging.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD54901E4E650700482908 /* RTCLogging.mm */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; };
+		5CFD54911E4E650700482908 /* RTCLogging.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD54901E4E650700482908 /* RTCLogging.mm */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXContainerItemProxy section */
@@ -3377,6 +3400,15 @@
 		5C4B4D531E4323D4002651C8 /* scale_common.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = scale_common.cc; path = source/scale_common.cc; sourceTree = "<group>"; };
 		5C4B4D591E4323D4002651C8 /* scale.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = scale.cc; path = source/scale.cc; sourceTree = "<group>"; };
 		5C4B4D5A1E4323D4002651C8 /* video_common.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = video_common.cc; path = source/video_common.cc; sourceTree = "<group>"; };
+		5C5342971E538A92009FC367 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; };
+		5C5342991E538AB7009FC367 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
+		5C53429B1E538AD6009FC367 /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; };
+		5C5342A31E538C03009FC367 /* RTCDispatcher.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RTCDispatcher.m; sourceTree = "<group>"; };
+		5C5342A41E538C03009FC367 /* RTCDispatcher+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "RTCDispatcher+Private.h"; sourceTree = "<group>"; };
+		5C5342AD1E53A29B009FC367 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
+		5C5342AF1E53A2C8009FC367 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+		5C5342B11E53A2ED009FC367 /* VideoToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VideoToolbox.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.Internal.sdk/System/Library/Frameworks/VideoToolbox.framework; sourceTree = DEVELOPER_DIR; };
+		5C5342B31E53A30E009FC367 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
 		5C63F4221E414810002CA531 /* scoped_ref_ptr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scoped_ref_ptr.h; sourceTree = "<group>"; };
 		5C63F6691E415F9B002CA531 /* thread.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = thread.cc; sourceTree = "<group>"; };
 		5C63F66A1E415F9B002CA531 /* thread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thread.h; sourceTree = "<group>"; };
@@ -3859,6 +3891,15 @@
 		5C6CDD471E413598009754E3 /* video_receive_stream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = video_receive_stream.h; sourceTree = "<group>"; };
 		5C6CDD481E413598009754E3 /* video_send_stream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = video_send_stream.h; sourceTree = "<group>"; };
 		5C6CDD491E413598009754E3 /* voice_engine_configurations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = voice_engine_configurations.h; sourceTree = "<group>"; };
+		5CC8AAF71E53BC2A002637C9 /* export.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = export.h; sourceTree = "<group>"; };
+		5CC8AAFA1E53BD8F002637C9 /* bitrate_adjuster.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bitrate_adjuster.h; sourceTree = "<group>"; };
+		5CC8AAFB1E53BD8F002637C9 /* corevideo_frame_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = corevideo_frame_buffer.h; sourceTree = "<group>"; };
+		5CC8AAFC1E53BD8F002637C9 /* frame_callback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = frame_callback.h; sourceTree = "<group>"; };
+		5CC8AAFD1E53BD8F002637C9 /* i420_buffer_pool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = i420_buffer_pool.h; sourceTree = "<group>"; };
+		5CC8AAFE1E53BD8F002637C9 /* incoming_video_stream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = incoming_video_stream.h; sourceTree = "<group>"; };
+		5CC8AAFF1E53BD8F002637C9 /* video_frame_buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = video_frame_buffer.h; sourceTree = "<group>"; };
+		5CC8AB001E53BD8F002637C9 /* video_image.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = video_image.h; sourceTree = "<group>"; };
+		5CC8AB091E53BDC4002637C9 /* webrtc_libyuv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = webrtc_libyuv.h; path = libyuv/include/webrtc_libyuv.h; sourceTree = "<group>"; };
 		5CDD83431E43257200621E92 /* h264_bitstream_parser.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = h264_bitstream_parser.cc; path = h264/h264_bitstream_parser.cc; sourceTree = "<group>"; };
 		5CDD83441E43257200621E92 /* h264_bitstream_parser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = h264_bitstream_parser.h; path = h264/h264_bitstream_parser.h; sourceTree = "<group>"; };
 		5CDD83451E43257200621E92 /* h264_common.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = h264_common.cc; path = h264/h264_common.cc; sourceTree = "<group>"; };
@@ -5153,7 +5194,7 @@
 		5D7C59C51208C68B001C873E /* libwebrtc.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = libwebrtc.xcconfig; sourceTree = "<group>"; };
 		5D7C59C61208C68B001C873E /* Base.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Base.xcconfig; sourceTree = "<group>"; };
 		5D7C59C71208C68B001C873E /* DebugRelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = DebugRelease.xcconfig; sourceTree = "<group>"; };
-		FB39D0D11200F0E300088E69 /* libwebrtc.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libwebrtc.a; sourceTree = BUILT_PRODUCTS_DIR; };
+		FB39D0D11200F0E300088E69 /* libwebrtc.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libwebrtc.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -5203,6 +5244,19 @@
 			isa = PBXFrameworksBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				5C5342B51E53A329009FC367 /* AudioToolbox.framework in Frameworks */,
+				5C5342B41E53A30E009FC367 /* CoreAudio.framework in Frameworks */,
+				5C5342B21E53A2ED009FC367 /* VideoToolbox.framework in Frameworks */,
+				5C5342B01E53A2C8009FC367 /* CoreGraphics.framework in Frameworks */,
+				5C53429F1E538B3C009FC367 /* libboringssl.a in Frameworks */,
+				5C5342A01E538B3C009FC367 /* libopus.a in Frameworks */,
+				5C5342A11E538B3C009FC367 /* libsrtp.a in Frameworks */,
+				5C5342A21E538B3C009FC367 /* libusrsctp.a in Frameworks */,
+				5C53429E1E538AF2009FC367 /* libwebrtcpcrtc.a in Frameworks */,
+				5C53429D1E538AE4009FC367 /* libyuv.a in Frameworks */,
+				5C53429C1E538AD6009FC367 /* CoreMedia.framework in Frameworks */,
+				5C53429A1E538AB7009FC367 /* AVFoundation.framework in Frameworks */,
+				5C5342981E538A92009FC367 /* CoreVideo.framework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -6393,6 +6447,8 @@
 		5C4B4B5A1E431C63002651C8 /* Classes */ = {
 			isa = PBXGroup;
 			children = (
+				5C5342A31E538C03009FC367 /* RTCDispatcher.m */,
+				5C5342A41E538C03009FC367 /* RTCDispatcher+Private.h */,
 				5C4B4B5B1E431C8F002651C8 /* avfoundationvideocapturer.h */,
 				5C4B4B5C1E431C8F002651C8 /* avfoundationvideocapturer.mm */,
 				5C4B4B5D1E431C8F002651C8 /* h264_video_toolbox_decoder.cc */,
@@ -6414,6 +6470,7 @@
 		5C4B4C0F1E431F49002651C8 /* common_video */ = {
 			isa = PBXGroup;
 			children = (
+				5CC8AAF91E53BD7F002637C9 /* include */,
 				5CDD83411E43256400621E92 /* h264 */,
 				5CDD83651E4325C200621E92 /* libyuv */,
 				5C4B4C101E431F75002651C8 /* bitrate_adjuster.cc */,
@@ -6584,6 +6641,7 @@
 		5C63F3041E4146D2002CA531 /* base */ = {
 			isa = PBXGroup;
 			children = (
+				5CC8AAF71E53BC2A002637C9 /* export.h */,
 				5C63F66D1E41619E002CA531 /* applefilesystem.mm */,
 				5C63F66E1E41619E002CA531 /* array_view.h */,
 				5C63F66F1E41619E002CA531 /* arraysize.h */,
@@ -7231,10 +7289,39 @@
 		5CB3048A1DE4143400D2C405 /* Frameworks */ = {
 			isa = PBXGroup;
 			children = (
+				5C5342B31E53A30E009FC367 /* CoreAudio.framework */,
+				5C5342B11E53A2ED009FC367 /* VideoToolbox.framework */,
+				5C5342AF1E53A2C8009FC367 /* CoreGraphics.framework */,
+				5C5342AD1E53A29B009FC367 /* AudioToolbox.framework */,
+				5C53429B1E538AD6009FC367 /* CoreMedia.framework */,
+				5C5342991E538AB7009FC367 /* AVFoundation.framework */,
+				5C5342971E538A92009FC367 /* CoreVideo.framework */,
 			);
 			name = Frameworks;
 			sourceTree = "<group>";
 		};
+		5CC8AAF91E53BD7F002637C9 /* include */ = {
+			isa = PBXGroup;
+			children = (
+				5CC8AAFA1E53BD8F002637C9 /* bitrate_adjuster.h */,
+				5CC8AAFB1E53BD8F002637C9 /* corevideo_frame_buffer.h */,
+				5CC8AAFC1E53BD8F002637C9 /* frame_callback.h */,
+				5CC8AAFD1E53BD8F002637C9 /* i420_buffer_pool.h */,
+				5CC8AAFE1E53BD8F002637C9 /* incoming_video_stream.h */,
+				5CC8AAFF1E53BD8F002637C9 /* video_frame_buffer.h */,
+				5CC8AB001E53BD8F002637C9 /* video_image.h */,
+			);
+			path = include;
+			sourceTree = "<group>";
+		};
+		5CC8AB081E53BDB9002637C9 /* include */ = {
+			isa = PBXGroup;
+			children = (
+				5CC8AB091E53BDC4002637C9 /* webrtc_libyuv.h */,
+			);
+			name = include;
+			sourceTree = "<group>";
+		};
 		5CDD83411E43256400621E92 /* h264 */ = {
 			isa = PBXGroup;
 			children = (
@@ -7257,6 +7344,7 @@
 		5CDD83651E4325C200621E92 /* libyuv */ = {
 			isa = PBXGroup;
 			children = (
+				5CC8AB081E53BDB9002637C9 /* include */,
 				5CDD83661E4325D500621E92 /* webrtc_libyuv.cc */,
 			);
 			name = libyuv;
@@ -9176,7 +9264,7 @@
 				5C4B4A8E1E42C336002651C8 /* libopus.a */,
 				5C0884D11E4A97E300403995 /* libsrtp.a */,
 				5C11A12D1E4577E1004F0987 /* libusrsctp.a */,
-				FB39D0D11200F0E300088E69 /* libwebrtc.a */,
+				FB39D0D11200F0E300088E69 /* libwebrtc.dylib */,
 				5C088C0B1E4AA3B100403995 /* libwebrtcpcrtc.a */,
 				5C0884DE1E4A980100403995 /* libyuv.a */,
 			);
@@ -9374,6 +9462,7 @@
 				5CDD8B6D1E43C2B500621E92 /* abs_quant.h in Headers */,
 				5CDD8B6B1E43C2B500621E92 /* abs_quant_loop.h in Headers */,
 				5CDD89F91E43BFB300621E92 /* accelerate.h in Headers */,
+				5C5342A61E538C03009FC367 /* RTCDispatcher+Private.h in Headers */,
 				5CDD85041E43B1EA00621E92 /* acm_codec_database.h in Headers */,
 				5CDD85051E43B1EA00621E92 /* acm_common_defs.h in Headers */,
 				5CDD850A1E43B1EA00621E92 /* acm_receiver.h in Headers */,
@@ -9648,6 +9737,7 @@
 				5CDD8C8C1E43C66000621E92 /* file_utils.h in Headers */,
 				5C63F7E71E416288002CA531 /* filerotatingstream.h in Headers */,
 				5C63F7EA1E416288002CA531 /* fileutils.h in Headers */,
+				5CC8AB061E53BD8F002637C9 /* video_frame_buffer.h in Headers */,
 				5C63F7E81E416288002CA531 /* fileutils_mock.h in Headers */,
 				5CDD87BE1E43BC0500621E92 /* filterbank_tables.h in Headers */,
 				5CDD8BA11E43C2B500621E92 /* filtered_cb_vecs.h in Headers */,
@@ -9655,6 +9745,7 @@
 				5CDD89511E43BF3A00621E92 /* fir.h in Headers */,
 				5C4B4C6E1E431F9C002651C8 /* fir_filter.h in Headers */,
 				5C4B4C6B1E431F9C002651C8 /* fir_filter_sse.h in Headers */,
+				5CC8AB031E53BD8F002637C9 /* frame_callback.h in Headers */,
 				5C63F7EC1E416288002CA531 /* firewallsocketserver.h in Headers */,
 				5C63F7EE1E416288002CA531 /* flags.h in Headers */,
 				5CDD887F1E43BE3C00621E92 /* flexfec_header_reader_writer.h in Headers */,
@@ -9743,6 +9834,7 @@
 				5CDD90251E43CEDE00621E92 /* level_controller_constants.h in Headers */,
 				5CDD84B91E43AF1300621E92 /* level_estimator_impl.h in Headers */,
 				5CDD84601E43AE2900621E92 /* level_indicator.h in Headers */,
+				5CC8AB021E53BD8F002637C9 /* corevideo_frame_buffer.h in Headers */,
 				5C63F80B1E416288002CA531 /* linked_ptr.h in Headers */,
 				5C63F9471E41737B002CA531 /* localaudiosource.h in Headers */,
 				5C63F80D1E416288002CA531 /* location.h in Headers */,
@@ -10052,6 +10144,7 @@
 				5C63F86B1E416288002CA531 /* sanitizer.h in Headers */,
 				5CDD90301E43CEDE00621E92 /* saturating_gain_estimator.h in Headers */,
 				5C63F86C1E416288002CA531 /* scoped_autorelease_pool.h in Headers */,
+				5CC8AAF81E53BC2A002637C9 /* export.h in Headers */,
 				5C63F5CC1E414811002CA531 /* scoped_ref_ptr.h in Headers */,
 				5CDD8AD51E43C23900621E92 /* scoped_voe_interface.h in Headers */,
 				5C63F86E1E416288002CA531 /* scopedptrcollection.h in Headers */,
@@ -10199,6 +10292,7 @@
 				5C63FA311E4174F6002CA531 /* udpport.h in Headers */,
 				5C63FA341E4174F6002CA531 /* udptransportchannel.h in Headers */,
 				5CFD54891E4C55D300482908 /* UIDevice+RTCDevice.h in Headers */,
+				5CC8AB011E53BD8F002637C9 /* bitrate_adjuster.h in Headers */,
 				5CDD88E01E43BE3D00621E92 /* ulpfec_generator.h in Headers */,
 				5CDD88E31E43BE3D00621E92 /* ulpfec_header_reader_writer.h in Headers */,
 				5CDD88E51E43BE3D00621E92 /* ulpfec_receiver_impl.h in Headers */,
@@ -10237,6 +10331,7 @@
 				5C4B488A1E42C1BA002651C8 /* videoencodersoftwarefallbackwrapper.h in Headers */,
 				5C4B49091E42C1E3002651C8 /* videoframe.h in Headers */,
 				5C4B490A1E42C1E3002651C8 /* videosinkinterface.h in Headers */,
+				5CC8AB071E53BD8F002637C9 /* video_image.h in Headers */,
 				5C4B490C1E42C1E3002651C8 /* videosourcebase.h in Headers */,
 				5C4B490D1E42C1E3002651C8 /* videosourceinterface.h in Headers */,
 				5C63F9791E41737B002CA531 /* videosourceproxy.h in Headers */,
@@ -10264,6 +10359,7 @@
 				5CDD84871E43AE2900621E92 /* voice_engine_impl.h in Headers */,
 				5CDD87421E43BABE00621E92 /* voice_gmm_tables.h in Headers */,
 				5CFD53811E4BA4F500482908 /* voice_processing_audio_unit.h in Headers */,
+				5CC8AB0A1E53BDC4002637C9 /* webrtc_libyuv.h in Headers */,
 				5CDD89871E43BF3A00621E92 /* voip_metric.h in Headers */,
 				5CDD83861E439A3500621E92 /* vp8_header_parser.h in Headers */,
 				5CDD88EA1E43BE3D00621E92 /* vp8_partition_aggregator.h in Headers */,
@@ -10280,9 +10376,11 @@
 				5C63F9841E41737B002CA531 /* webrtcsession.h in Headers */,
 				5C63F9861E41737B002CA531 /* webrtcsessiondescriptionfactory.h in Headers */,
 				5C4B48911E42C1BA002651C8 /* webrtcvideocapturer.h in Headers */,
+				5CC8AB051E53BD8F002637C9 /* incoming_video_stream.h in Headers */,
 				5C4B48931E42C1BA002651C8 /* webrtcvideocapturerfactory.h in Headers */,
 				5C4B48941E42C1BA002651C8 /* webrtcvideodecoderfactory.h in Headers */,
 				5C4B48961E42C1BA002651C8 /* webrtcvideoencoderfactory.h in Headers */,
+				5CC8AB041E53BD8F002637C9 /* i420_buffer_pool.h in Headers */,
 				5C4B48991E42C1BA002651C8 /* webrtcvideoengine2.h in Headers */,
 				5C4B489A1E42C1BA002651C8 /* webrtcvideoframe.h in Headers */,
 				5C4B489B1E42C1BA002651C8 /* webrtcvoe.h in Headers */,
@@ -10443,8 +10541,8 @@
 			);
 			name = libwebrtc;
 			productName = libwebrtc;
-			productReference = FB39D0D11200F0E300088E69 /* libwebrtc.a */;
-			productType = "com.apple.product-type.library.static";
+			productReference = FB39D0D11200F0E300088E69 /* libwebrtc.dylib */;
+			productType = "com.apple.product-type.library.dynamic";
 		};
 /* End PBXNativeTarget section */
 
@@ -11600,6 +11698,7 @@
 				5CDD87331E43BABE00621E92 /* pole_zero_filter.cc in Sources */,
 				5CDD8BD51E43C2B500621E92 /* poly_to_lsf.c in Sources */,
 				5CDD8BD71E43C2B500621E92 /* poly_to_lsp.c in Sources */,
+				5C5342A51E538C03009FC367 /* RTCDispatcher.m in Sources */,
 				5C63F9F71E4174F6002CA531 /* port.cc in Sources */,
 				5C63F9FA1E4174F6002CA531 /* portallocator.cc in Sources */,
 				5CDD8A451E43BFB300621E92 /* post_decode_vad.cc in Sources */,
@@ -11836,7 +11935,6 @@
 				5CDD84691E43AE2900621E92 /* transmit_mixer.cc in Sources */,
 				5C63FA1D1E4174F6002CA531 /* transport.cc in Sources */,
 				5CDD85C11E43B5C000621E92 /* transport_adapter.cc in Sources */,
-				5CDD853B1E43B39C00621E92 /* transport_adapter.cc in Sources */,
 				5CDD89831E43BF3A00621E92 /* transport_feedback.cc in Sources */,
 				5CDD8FBB1E43CD0700621E92 /* transport_feedback_adapter.cc in Sources */,
 				5C63FA1F1E4174F6002CA531 /* transportchannel.cc in Sources */,
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to