2020-02-03  youenn fablet  <youenn@apple.com>

        Make sure RTCVideoEncoderH264 generate a keyframe even if the frame that was supposed to be a key frame was dropped
        https://bugs.webkit.org/show_bug.cgi?id=207108

        Reviewed by Eric Carlson.

        Add a parameter telling whether a frame to be encoded should be a key frame.
        In encoder callback, if the frame is expected to be a key frame, set a flag to force the next frame to be a key frame.
        This ensures that keyframe sending is not delayed in case encoding is dropping or failing to encode frames.

        * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
        (-[RTCVideoEncoderH264 initWithCodecInfo:]):
        (-[RTCVideoEncoderH264 encode:codecSpecificInfo:frameTypes:]):
        (-[RTCVideoEncoderH264 frameWasEncoded:flags:sampleBuffer:codecSpecificInfo:width:height:renderTimeMs:timestamp:rotation:isKeyFrameRequired:]):

2020-01-20  youenn fablet  <youenn@apple.com>

        Setting kVTCompressionPropertyKey_DataRateLimits on RTCVideoEncoderH264 fails
        https://bugs.webkit.org/show_bug.cgi?id=206402

        Reviewed by Eric Carlson.

        Add helper routine dedicated to setting VTB/VCP array value properties.
        Logging shows the bitrate is then set appropriately.

        * Source/webrtc/sdk/objc/components/video_codec/helpers.cc:
        * Source/webrtc/sdk/objc/components/video_codec/helpers.h:

2020-01-06  youenn fablet  <youenn@apple.com>

        Implement RTC VTB encoders in GPUProcess
        https://bugs.webkit.org/show_bug.cgi?id=205713

        Reviewed by Eric Carlson.

        Add support for remote video encoders created and used through simple routines.
        Add factory to create video encoders implemented elsewhere than in WebRTC backend.
        This is used for H264 encoders.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:
        * Source/webrtc/sdk/WebKit/WebKitEncoder.h: Added.
        (webrtc::WebKitRTPFragmentationHeader::value):
        (webrtc::WebKitEncodedFrameInfo::decode):
        (webrtc::WebKitEncodedFrameInfo::encode const):
        (webrtc::WebKitRTPFragmentationHeader::WebKitRTPFragmentationHeader):
        (webrtc::WebKitRTPFragmentationHeader::encode const):
        (webrtc::WebKitRTPFragmentationHeader::decode):
        * Source/webrtc/sdk/WebKit/WebKitEncoder.mm: Added.
        (webrtc::VideoEncoderFactoryWithSimulcast::CreateVideoEncoder):
        (webrtc::videoEncoderCallbacks):
        (webrtc::setVideoEncoderCallbacks):
        (webrtc::RemoteVideoEncoder::RemoteVideoEncoder):
        (webrtc::RemoteVideoEncoder::InitEncode):
        (webrtc::RemoteVideoEncoder::Release):
        (webrtc::RemoteVideoEncoder::Encode):
        (webrtc::RemoteVideoEncoder::SetRates):
        (webrtc::RemoteVideoEncoder::GetEncoderInfo const):
        (webrtc::RemoteVideoEncoder::RegisterEncodeCompleteCallback):
        (webrtc::RemoteVideoEncoder::encodeComplete):
        (webrtc::createLocalEncoder):
        (webrtc::releaseLocalEncoder):
        (webrtc::initializeLocalEncoder):
        (webrtc::encodeLocalEncoderFrame):
        (webrtc::setLocalEncoderRates):
        * Source/webrtc/sdk/WebKit/WebKitUtilities.h:
        * Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
        * libwebrtc.xcodeproj/project.pbxproj:

2020-01-01  youenn fablet  <youenn@apple.com>

        Implement transceiver setCodecPreferences
        https://bugs.webkit.org/show_bug.cgi?id=190840
        <rdar://problem/45496326>

        Reviewed by Eric Carlson.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:

2019-12-31  youenn fablet  <youenn@apple.com>

        Implement RTC VTB decoders in GPUProcess
        https://bugs.webkit.org/show_bug.cgi?id=205607

        Reviewed by Eric Carlson.

        Expose remote decoder abilities with C like functions.
        This allows WebProcess to implement IPC-based decoders.
        Expose VTB H264 decoder as C like functions.
        This allows GPU process to instantiate wasily H2664 decoders.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:
        * Source/webrtc/sdk/WebKit/WebKitUtilities.h:
        * Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
        (webrtc::videoDecoderCallbacks):
        (webrtc::setVideoDecoderCallbacks):
        (webrtc::RemoteVideoDecoder::RemoteVideoDecoder):
        (webrtc::RemoteVideoDecoder::decodeComplete):
        (webrtc::RemoteVideoDecoder::InitDecode):
        (webrtc::RemoteVideoDecoder::Decode):
        (webrtc::RemoteVideoDecoder::RegisterDecodeCompleteCallback):
        (webrtc::RemoteVideoDecoder::Release):
        (webrtc::RemoteVideoDecoderFactory::RemoteVideoDecoderFactory):
        (webrtc::RemoteVideoDecoderFactory::GetSupportedFormats const):
        (webrtc::RemoteVideoDecoderFactory::CreateVideoDecoder):
        (webrtc::createWebKitDecoderFactory):
        (webrtc::createLocalDecoder):
        (webrtc::releaseLocalDecoder):
        (webrtc::decodeFrame):
        * Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH264.h:
        * Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH264.mm:
        (-[RTCVideoDecoderH264 decode:missingFrames:codecSpecificInfo:renderTimeMs:]):
        (-[RTCVideoDecoderH264 decodeData:size:timeStamp:]):

2019-12-30  youenn fablet  <youenn@apple.com>

        Do not build yasm for iOS and iOS simulator
        https://bugs.webkit.org/show_bug.cgi?id=205556
        <rdar://problem/58159497>

        Reviewed by Eric Carlson.

        We want to stop compiling yasm for iOS/iOS simulator but we do not have a good way to do so right now.
        Instead, compile a dummy main_noop.c for iOS/iOS simulator and build the executable with it.
        This executable wil anyway not be used on these platforms.

        * Configurations/yasm.xcconfig:
        * Source/third_party/yasm/main_noop.c: Added.
        (main):
        * libwebrtc.xcodeproj/project.pbxproj:

2019-12-23  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r253884.
        https://bugs.webkit.org/show_bug.cgi?id=205565

        Broke production builds (Requested by ap on #webkit).

        Reverted changeset:

        "Do not build yasm for iOS and iOS simulator"
        https://bugs.webkit.org/show_bug.cgi?id=205556
        https://trac.webkit.org/changeset/253884

2019-12-23  youenn fablet  <youenn@apple.com>

        Do not build yasm for iOS and iOS simulator
        https://bugs.webkit.org/show_bug.cgi?id=205556
        <rdar://problem/58159497>

        Reviewed by Eric Carlson.

        Now that we no longer need yasm for iOS simulator, we can stop building it for iOS and iOS simulator.
        We can also remove the hack to run yasm.

        * Configurations/yasm.xcconfig:
        * libwebrtc.xcodeproj/project.pbxproj:

2019-12-22  youenn fablet  <youenn@apple.com>

        Compile libwebrtc without hardware acceleration for iOS simulator
        https://bugs.webkit.org/show_bug.cgi?id=205491

        Reviewed by Alex Christensen.

        Use c routines instead of optimized versions for iOS simulator.

        * Configurations/libvpx.xcconfig:
        * Source/third_party/libvpx/source/config/mac/x64/vp8_rtcd.h:
        * Source/third_party/libvpx/source/config/mac/x64/vp8_rtcd_no_acceleration.h: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/mac/x64/vp8_rtcd.h.
        * Source/third_party/libvpx/source/config/mac/x64/vpx_config.h:
        * Source/third_party/libvpx/source/config/mac/x64/vpx_dsp_rtcd.h:
        * Source/third_party/libvpx/source/config/mac/x64/vpx_dsp_rtcd_no_acceleration.h: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/mac/x64/vpx_dsp_rtcd.h.
        * Source/third_party/libvpx/source/libvpx/vpx_ports/system_state.h:
        * libwebrtc.xcodeproj/project.pbxproj:

2019-12-08  youenn fablet  <youenn@apple.com>

        Add more logging to physical socket server when a socket file descriptor is invalid
        https://bugs.webkit.org/show_bug.cgi?id=204948

        Reviewed by Darin Adler.

        * Source/webrtc/rtc_base/physical_socket_server.cc:

2019-11-15  Philippe Normand  <pnormand@igalia.com>

        Unreviewed, GTK/WPE Debug build fix after r252472.

        * CMakeLists.txt:

2019-11-07  Youenn Fablet  <youenn@apple.com> and Thibault Saunier <tsaunier@igalia.com>

        Update libwebrtc to M78
        https://bugs.webkit.org/show_bug.cgi?id=203897

        Reviewed by Eric Carlson.

        * webrtc: Updated

2019-11-04  Youenn Fablet  <youenn@apple.com>

        Update libwebrtc third-party boringssl to M78
        https://bugs.webkit.org/show_bug.cgi?id=202731

        Reviewed by Alex Christensen.

        * CMakeLists.txt:
        * Source/third_party/boringssl: Updated.
        * libwebrtc.xcodeproj/project.pbxproj:

2019-11-04  youenn fablet  <youenn@apple.com>

        Unreviewed.
        Revert https://trac.webkit.org/changeset/251980 since commit queue actually succeeded to land it previously.

        * Source/third_party/yasm-1.3.0: removed.

2019-11-04  youenn fablet  <youenn@apple.com>

        Rename yasm-1.3.0 folder to yasm
        https://bugs.webkit.org/show_bug.cgi?id=202725

        Reviewed by Eric Carlson.

        To align with upstream repository.

        * Configurations/yasm.xcconfig:
        * Source/third_party/yasm: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/yasm-1.3.0.
        * libwebrtc.xcodeproj/project.pbxproj:

2019-10-18  youenn fablet  <youenn@apple.com>

        Update libwebrtc third-party abseilcpp to M78
        https://bugs.webkit.org/show_bug.cgi?id=202726
        <rdar://problem/56147823>

        Unreviewed.

        * Source/third_party/abseil-cpp/absl/strings/string_view.h:
        (absl::string_view::CheckLengthInternal):
        Build fix for debug bots.

2019-10-17  Youenn Fablet  <youenn@apple.com>

        Add libwebrtc third-party pfft
        https://bugs.webkit.org/show_bug.cgi?id=202733

        Reviewed by Eric Carlson.

        Initial check-in of pfft which is now used in libwebrtc.

        * Source/third_party/pffft: Added.

2019-10-10  Youenn Fablet  <youenn@apple.com>

        Update libwebrtc third-party jsoncpp to M78
        https://bugs.webkit.org/show_bug.cgi?id=202729

        Reviewed by Eric Carlson.

        * Source/third_party/jsoncpp: Updated.

2019-10-10  youenn fablet  <youenn@apple.com>

        Rename yasm-1.3.0 folder to yasm
        https://bugs.webkit.org/show_bug.cgi?id=202725

        Reviewed by Eric Carlson.

        To align with upstream repository.

        * Configurations/yasm.xcconfig:
        * Source/third_party/yasm: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/yasm-1.3.0.
        * libwebrtc.xcodeproj/project.pbxproj:

2019-10-10  Youenn Fablet  <youenn@apple.com>

        Update libwebrtc third-party abseilcpp to M78
        https://bugs.webkit.org/show_bug.cgi?id=202726

        Reviewed by Alex Christensen.

        * CMakeLists.txt: Remove optional.cc.
        * Source/third_party/abseil-cpp: Updated.
        * libwebrtc.xcodeproj/project.pbxproj: Remove optional.cc.

2019-10-10  Youenn Fablet  <youenn@apple.com>

        Update libwebrtc third-party opus to M78
        https://bugs.webkit.org/show_bug.cgi?id=202728

        Reviewed by Alex Christensen.

        * Source/third_party/opus: Updated.

2019-10-10  Youenn Fablet  <youenn@apple.com>

        Update libwebrtc third-arty libyuv to M78
        https://bugs.webkit.org/show_bug.cgi?id=202727

        Reviewed by Alex Christensen.

        libyuv

        * Source/third_party/libyuv: Updated.

2019-10-04  youenn fablet  <youenn@apple.com>

        Allow to suspend RTCPeerConnection when not connected
        https://bugs.webkit.org/show_bug.cgi?id=202403

        Reviewed by Chris Dumez.

        Export rtc::TimeMillis()

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:

2019-09-11  Youenn Fablet  <youenn@apple.com>

        Disable DTLS1.0
        https://bugs.webkit.org/show_bug.cgi?id=201679

        Reviewed by Alex Christensen.

        * Source/webrtc/rtc_base/opensslstreamadapter.cc:
        Set minimum version to DTLS1.2 when DTLS1.2 is supported.
        This makes sure any client will never downgrade to DTLS1.0.

2019-08-29  Keith Rollin  <krollin@apple.com>

        Update .xcconfig symbols to reflect the current set of past and future product versions.
        https://bugs.webkit.org/show_bug.cgi?id=200720
        <rdar://problem/54305032>

        Reviewed by Alex Christensen.

        Remove version symbols related to old OS's we no longer support,
        ensure that version symbols are defined for OS's we do support.

        * Configurations/Base.xcconfig:
        * Configurations/DebugRelease.xcconfig:
        * Configurations/Version.xcconfig:

2019-08-29  Keith Rollin  <krollin@apple.com>

        Remove support for macOS < 10.13 (part 3)
        https://bugs.webkit.org/show_bug.cgi?id=201224
        <rdar://problem/54795934>

        Reviewed by Darin Adler.

        Remove symbols in WebKitTargetConditionals.xcconfig related to macOS
        10.13, including WK_MACOS_1013 and WK_MACOS_BEFORE_1013, and suffixes
        like _MACOS_SINCE_1013.

        * Configurations/WebKitTargetConditionals.xcconfig:

2019-08-15  Youenn Fablet  <youenn@apple.com>

        Make mock libwebrtc tests run with unified plan
        https://bugs.webkit.org/show_bug.cgi?id=200713

        Reviewed by Alex Christensen.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:

2019-08-14  Keith Rollin  <krollin@apple.com>

        Remove support for macOS < 10.13
        https://bugs.webkit.org/show_bug.cgi?id=200694
        <rdar://problem/54278851>

        Reviewed by Youenn Fablet.

        Update conditionals that reference __MAC_OS_X_VERSION_MIN_REQUIRED and
        __MAC_OS_X_VERSION_MAX_ALLOWED, assuming that they both have values >=
        101300. This means that expressions like
        "__MAC_OS_X_VERSION_MIN_REQUIRED < 101300" are always False and
        "__MAC_OS_X_VERSION_MIN_REQUIRED >= 101300" are always True.

        * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
        * WebKit/libwebrtc.diff:

2019-08-13  Youenn Fablet  <youenn@apple.com>

        User Agent and SessionID should be given to NetworkRTCProvider to set up the correct proxy information
        https://bugs.webkit.org/show_bug.cgi?id=200583

        Reviewed by Eric Carlson.

        Export of some symbols.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:

2019-08-02  Youenn Fablet  <youenn@apple.com>

        Add build check for libwebrtc ObjectiveC names
        https://bugs.webkit.org/show_bug.cgi?id=200365

        Reviewed by Eric Carlson.

        Only allow ObjectiveC names starting with WK_RTC.

        * libwebrtc.xcodeproj/project.pbxproj:

2019-08-02  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r248156.
        https://bugs.webkit.org/show_bug.cgi?id=200393

        It broke internal bots (Requested by youenn on #webkit).

        Reverted changeset:

        "Add build check for libwebrtc ObjectiveC names"
        https://bugs.webkit.org/show_bug.cgi?id=200365
        https://trac.webkit.org/changeset/248156

2019-08-02  Youenn Fablet  <youenn@apple.com>

        Add build check for libwebrtc ObjectiveC names
        https://bugs.webkit.org/show_bug.cgi?id=200365

        Reviewed by Eric Carlson.

        Only allow ObjectiveC names starting with WK_RTC.

        * libwebrtc.xcodeproj/project.pbxproj:

2019-08-01  Loïc Yhuel  <loic.yhuel@softathome.com>

        Fix libwebrtc build with Linux 5.2 headers
        https://bugs.webkit.org/show_bug.cgi?id=200342

        Reviewed by Eric Carlson.

        We need to include linux/sockios.h for SIOCGSTAMP.
        Take upstream fix from https://bugs.chromium.org/p/webrtc/issues/detail?id=10677.

        * Source/webrtc/rtc_base/physicalsocketserver.cc:

2019-07-31  Youenn Fablet  <youenn@apple.com>

        ObjC RTCCVPixelBuffer should be prefixed to not conflict with other apps
        https://bugs.webkit.org/show_bug.cgi?id=200289
        <rdar://problem/49554670>

        Reviewed by Darin Adler.

        * Source/webrtc/sdk/objc/components/video_frame_buffer/RTCCVPixelBuffer.h:

2019-07-17  Youenn Fablet  <youenn@apple.com>

        Use VCP SPI in case creation of a compression session with VTB for 'h264.rtvc' fails
        https://bugs.webkit.org/show_bug.cgi?id=199863
        <rdar://problem/52922217>

        Reviewed by Darin Adler.

        Calling VTCompressionSessionCreate with kVTVideoEncoderList_EncoderID "com.apple.videotoolbox.videoencoder.h264.rtvc"
        fails on some platforms. In such a case, use VCP SPI if available as a fallback.
        Covered by exisiting webrtc tests on these specific platforms.

        * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
        (-[RTCSingleVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):

2019-07-15  Youenn Fablet  <youenn@apple.com>

        Enable a debug WebRTC mode without any encryption
        https://bugs.webkit.org/show_bug.cgi?id=199177
        <rdar://problem/52074986>

        Reviewed by Eric Carlson.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:

2019-06-28  Dean Jackson  <dino@apple.com>

        unable to build WebRTC for iOS Simulator
        https://bugs.webkit.org/show_bug.cgi?id=199337
        <rdar://problem/52020841>

        Reviewed by Tim Horton.

        Run the compiled yasm with DYLD_ROOT_PATH=/
        in order to convince dyld that it can load
        the simulator binary on macOS.

        * libwebrtc.xcodeproj/project.pbxproj:

2019-06-27  Beth Dakin  <bdakin@apple.com>

        Upstream use of MACCATALYST
        https://bugs.webkit.org/show_bug.cgi?id=199245
        rdar://problem/51687723

        Reviewed by Tim Horton.

        * Configurations/SDKVariant.xcconfig:

2019-06-25  Youenn Fablet  <youenn@apple.com>

        Close sockets with too high file descriptor
        https://bugs.webkit.org/show_bug.cgi?id=199116

        Reviewed by Eric Carlson.

        * Source/webrtc/rtc_base/physicalsocketserver.cc:
        * WebKit/0001-Close-sockets-with-file-descriptors-above-FD_SETSIZE.patch: Added.

2019-06-21  Youenn Fablet  <youenn@apple.com>

        Make sure to check for file descriptor value before using FD_CLR
        https://bugs.webkit.org/show_bug.cgi?id=199097
        <rdar://problem/51479074>

        Reviewed by Eric Carlson.

        * Source/webrtc/rtc_base/physicalsocketserver.cc:
        * WebKit/0001-fix-fd-clr.patch: Added.

2019-06-12  Youenn Fablet  <youenn@apple.com>

        Make sure libwebrtc ObjC codec interfaces do not conflict
        https://bugs.webkit.org/show_bug.cgi?id=198782
        <rdar://problem/51503247>

        Reviewed by Eric Carlson.

        Rename some ObjC interfaces that we are now using in libwebrtc.

        * Source/webrtc/sdk/objc/api/video_codec/RTCVideoDecoderVP8.h:
        * Source/webrtc/sdk/objc/api/video_codec/RTCWrappedNativeVideoDecoder.h:
        * Source/webrtc/sdk/objc/api/video_codec/RTCWrappedNativeVideoEncoder.h:
        * libwebrtc.xcodeproj/project.pbxproj:

2019-06-10  Youenn Fablet  <youenn@apple.com>

        Call was negotiated with H264 Base Profile 42e01f but encoded in High Profile
        https://bugs.webkit.org/show_bug.cgi?id=195124
        <rdar://problem/48453085>

        Reviewed by Eric Carlson.

        Use VTB directly instead of VCP when baseline is requested.
        For platforms supporting the VCP-in-VTB API, use VCP for high profile, VTB for baseline.
        For platforms not supporting the VCP-in-VTB API, use regular VTB for both baseline and high profile.
        On MacOS, if VTB session creation fails, use VCP as a fallback.
        Keep VTB-only code path for non internal builds.

        * Source/webrtc/sdk/WebKit/EncoderUtilities.h: Removed.
        * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
        * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
        (-[RTCSingleVideoEncoderH264 initWithCodecInfo:simulcastIndex:]):
        (-[RTCSingleVideoEncoderH264 hasCompressionSession]):
        (-[RTCSingleVideoEncoderH264 encode:codecSpecificInfo:frameTypes:]):
        (-[RTCSingleVideoEncoderH264 resetCompressionSessionIfNeededWithFrame:]):
        (-[RTCSingleVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
        (-[RTCSingleVideoEncoderH264 configureCompressionSession]):
        (-[RTCSingleVideoEncoderH264 destroyCompressionSession]):
        (-[RTCSingleVideoEncoderH264 setEncoderBitrateBps:]):
        * Source/webrtc/sdk/objc/components/video_codec/helpers.cc:
        * Source/webrtc/sdk/objc/components/video_codec/helpers.h:

2019-05-28  Youenn Fablet  <youenn@apple.com>

        createAnswer() SDP Rejected by setLocalDescription()
        https://bugs.webkit.org/show_bug.cgi?id=195930
        <rdar://problem/49030489>

        Reviewed by Eric Carlson.

        Make sure to check packetization mode parameter when matching H264 video codec.

        * Source/webrtc/media/base/codec.cc:
        * WebKit/0001-fix-195930.patch: Added.

2019-05-09  Andy Estes  <aestes@apple.com>

        Fix 32-bit watchOS engineering builds after r244726.

        Unreviewed.

        * Configurations/DebugRelease.xcconfig:

2019-05-03  Youenn Fablet  <youenn@apple.com>

        Do not require log_to_stderr for WebRTC logging through WebKit
        https://bugs.webkit.org/show_bug.cgi?id=197560

        Reviewed by Eric Carlson.

        * Source/webrtc/rtc_base/logging.cc:

2019-04-29  Alex Christensen  <achristensen@webkit.org>

        <rdar://problem/50299396> Fix internal High Sierra build
        https://bugs.webkit.org/show_bug.cgi?id=197388

        * Configurations/Base.xcconfig:

2019-04-28  Andy Estes  <aestes@apple.com>

        Fix the watchOS engineering build.

        * Makefile: Set OTHER_OPTIONS to build libwebrtc's boringssl target on watchOS, which is a
        dependency for TestWebKitAPI's TCPServer.

2019-04-26  Jessie Berlin  <jberlin@webkit.org>

        Add new mac target numbers
        https://bugs.webkit.org/show_bug.cgi?id=197313

        Reviewed by Alex Christensen.

        * Configurations/Version.xcconfig:
        * Configurations/WebKitTargetConditionals.xcconfig:

2019-04-25  Youenn Fablet  <youenn@apple.com>

        Make sure sockets file descriptors are in the correct range
        https://bugs.webkit.org/show_bug.cgi?id=197301
        <rdar://problem/48389381>

        Reviewed by Chris Dumez.

        * Source/webrtc/rtc_base/physicalsocketserver.cc:
        * WebKit/0001-fix-197301.patch: Added.

2019-04-25  Alex Christensen  <achristensen@webkit.org>

        Start using C++17
        https://bugs.webkit.org/show_bug.cgi?id=197131

        Reviewed by Darin Adler.

        * Configurations/Base.xcconfig:

2019-04-23  Alex Christensen  <achristensen@webkit.org>

        Add unit tests for WKWebView.serverTrust
        https://bugs.webkit.org/show_bug.cgi?id=197202

        Reviewed by Youenn Fablet.

        * libwebrtc.xcodeproj/project.pbxproj:
        Move boringssl files from libwebrtc target to boringssl target.
        Also, add pkcs7 files to boringssl static library.

2019-04-08  Justin Fan  <justin_fan@apple.com>

        [Web GPU] Fix Web GPU experimental feature on iOS
        https://bugs.webkit.org/show_bug.cgi?id=196632

        Reviewed by Myles C. Maxfield.

        Add conditionals for iOS 11.

        * Configurations/WebKitTargetConditionals.xcconfig:

2019-04-04  Youenn Fablet  <youenn@apple.com>

        Log the error if VideoProcessing library cannot be dlopen
        https://bugs.webkit.org/show_bug.cgi?id=196609

        Reviewed by Eric Carlson.

        * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.cpp:
        (webrtc::initVideoProcessingVPModuleInitialize):

2019-04-03  Youenn Fablet  <youenn@apple.com>

        Add logging and ASSERTs to investigate issue with VPModuleInitialize
        https://bugs.webkit.org/show_bug.cgi?id=196573

        Reviewed by Eric Carlson.

        Expand macros directly to add some logging.
        Removed the dispatch_once since VPModuleInitialize is already called in one.

        * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.cpp:
        (webrtc::initVideoProcessingVPModuleInitialize):

2019-04-03  Youenn Fablet  <youenn@apple.com>

        Remove unneeded libwebrtc files
        https://bugs.webkit.org/show_bug.cgi?id=196553

        Reviewed by Eric Carlson.

        * Source/third_party/boringssl/src/fuzz: Removed.
        * Source/third_party/protobuf/csharp/keys: Removed.

2019-04-03  Youenn Fablet  <youenn@apple.com>

        Adopt new VCP SPI
        https://bugs.webkit.org/show_bug.cgi?id=193357
        <rdar://problem/43656651>

        Reviewed by Eric Carlson.

       Enable VCP through VTB API with specific encoder id.

        * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.cpp:
        * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
        * Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
        (webrtc::setApplicationStatus):
        * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
        (-[RTCSingleVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):

2019-04-02  Thibault Saunier  <tsaunier@igalia.com>

        [GSteamer][WebRTC] Fix building libwebrtc on ARM
        https://bugs.webkit.org/show_bug.cgi?id=196157

        Reviewed by Philippe Normand.

        Making sure neon files are built as required

        * CMakeLists.txt:

2019-03-22  Keith Rollin  <krollin@apple.com>

        Enable ThinLTO support in Production builds
        https://bugs.webkit.org/show_bug.cgi?id=190758
        <rdar://problem/45413233>

        Reviewed by Daniel Bates.

        Enable building with Thin LTO in Production when using Xcode 10.2 or
        later. This change results in a 1.45% progression in PLT5. Full
        Production build times increase about 2-3%. Incremental build times
        are more severely affected, and so LTO is not enabled for local
        engineering builds.

        LTO is enabled only on macOS for now, until rdar://problem/49013399,
        which affects ARM builds, is fixed.

        To change the LTO setting when building locally:

        - If building with `make`, specify WK_LTO_MODE={none,thin,full} on the
          command line.
        - If building with `build-webkit`, specify --lto-mode={none,thin,full}
          on the command line.
        - If building with `build-root`, specify --lto={none,thin,full} on the
          command line.
        - If building with Xcode, create a LocalOverrides.xcconfig file at the
          top level of your repository directory (if needed) and define
          WK_LTO_MODE to full, thin, or none.

        * Configurations/Base.xcconfig:

2019-03-13  Keith Rollin  <krollin@apple.com>

        Add support for new StagedFrameworks layout
        https://bugs.webkit.org/show_bug.cgi?id=195543

        Reviewed by Alexey Proskuryakov.

        When creating the WebKit layout for out-of-band Safari/WebKit updates,
        use an optional path prefix when called for.

        * Configurations/Base.xcconfig:

2019-03-13  Youenn Fablet  <youenn@apple.com>

        Enable libwebrtc logging control through WebCore
        https://bugs.webkit.org/show_bug.cgi?id=195658

        Reviewed by Eric Carlson.

        Add a callback to get access to libwebrtc log messages.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:
        * Source/webrtc/rtc_base/logging.cc:
        * Source/webrtc/rtc_base/logging.h:

2019-03-07  Youenn Fablet  <youenn@apple.com>

        Skip compilation of unused audio device files for Mac and iOS
        https://bugs.webkit.org/show_bug.cgi?id=195412

        Reviewed by Eric Carlson.

        Stop compiling audio_device_mac.cc, audio_mixer_manager_mac.cc and voice_processing_audio_unit.mm
        as unused in WebKit.
        * libwebrtc.xcodeproj/project.pbxproj:

2019-02-23  Keith Miller  <keith_miller@apple.com>

        Add new mac target numbers
        https://bugs.webkit.org/show_bug.cgi?id=194955

        Reviewed by Tim Horton.

        * Configurations/Base.xcconfig:
        * Configurations/DebugRelease.xcconfig:

2019-02-20  Andy Estes  <aestes@apple.com>

        [Xcode] Add SDKVariant.xcconfig to various Xcode projects
        https://bugs.webkit.org/show_bug.cgi?id=194869

        Rubber-stamped by Jer Noble.

        * libwebrtc.xcodeproj/project.pbxproj:

2019-02-04  David Kilzer  <ddkilzer@apple.com>

        vp8e_mr_alloc_mem() leaks LOWER_RES_FRAME_INFO if second memory allocation fails
        <https://webkit.org/b/194265>

        Reviewed by Youenn Fablet.

        * Source/third_party/libvpx/source/libvpx/vp8/vp8_cx_iface.c:
        (vp8e_mr_alloc_mem):
        - Initialize `res` to VPX_CODEC_OK instead of 0.
        - Return early if first calloc() fails instead of trying the
          second calloc().  The function would crash dereferencing
          nullptr in `shared_mem_loc->mb_info` otherwise.
        - Call free(shared_mem_loc) if the second call to calloc()
          fails.  This fixes the leak.
        * WebKit/0003-libwebrtc-fix-vp8e_mr_alloc_mem-leak.diff: Add.

2019-01-30  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r240665.
        https://bugs.webkit.org/show_bug.cgi?id=194039

        "Better to postpone SPI adoption" (Requested by youenn on
        #webkit).

        Reverted changeset:

        "Adopt new VCP SPI"
        https://bugs.webkit.org/show_bug.cgi?id=193357
        https://trac.webkit.org/changeset/240665

2019-01-29  Youenn Fablet  <youenn@apple.com>

        Adopt new VCP SPI
        https://bugs.webkit.org/show_bug.cgi?id=193357
        <rdar://problem/43656651>

        Reviewed by Eric Carlson.

        Enable VCP through VTB API with specific encoder id.
        If encoder id is not supported, fallback to VCP.
        A specific routine is added to check for encoder id presence.

        * Source/webrtc/sdk/WebKit/EncoderUtilities.h:
        * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.cpp:
        * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
        * Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
        (webrtc::setApplicationStatus):
        * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
        (-[RTCSingleVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):

2019-01-25  Keith Rollin  <krollin@apple.com>

        Update WebKitAdditions.xcconfig with correct order of variable definitions
        https://bugs.webkit.org/show_bug.cgi?id=193793
        <rdar://problem/47532439>

        Reviewed by Alex Christensen.

        XCBuild changes the way xcconfig variables are evaluated. In short,
        all config file assignments are now considered in part of the
        evaluation. When using the new build system and an .xcconfig file
        contains multiple assignments of the same build setting:

        - Later assignments using $(inherited) will inherit from earlier
          assignments in the xcconfig file.
        - Later assignments not using $(inherited) will take precedence over
          earlier assignments. An assignment to a more general setting will
          mask an earlier assignment to a less general setting. For example,
          an assignment without a condition ('FOO = bar') will completely mask
          an earlier assignment with a condition ('FOO[sdk=macos*] = quux').

        This affects some of our .xcconfig files, in that sometimes platform-
        or sdk-specific definitions appear before the general definitions.
        Under the new evaluations rules, the general definitions alway take
        effect because they always overwrite the more-specific definitions. The
        solution is to swap the order, so that the general definitions are
        established first, and then conditionally overwritten by the
        more-specific definitions.

        * Configurations/Version.xcconfig:

2019-01-22  Youenn Fablet  <youenn@apple.com>

        Resync libwebrtc with latest M72 branch
        https://bugs.webkit.org/show_bug.cgi?id=193693

        Reviewed by Eric Carlson.

        Update libwebrtc up to latest M72 branch to fix some identified issues:
        - Bad bandwidth estimation in case of multiple transceivers
        - mid handling for legacy endpoints
        - msid handling for updating mediastreams accordingly.

        * Source/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe.cc:
        * Source/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe.h:
        * Source/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc:
        * Source/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control_unittest.cc:
        * Source/webrtc/modules/congestion_controller/send_side_congestion_controller_unittest.cc:
        * Source/webrtc/pc/jsepsessiondescription_unittest.cc:
        * Source/webrtc/pc/mediasession.cc:
        * Source/webrtc/pc/mediasession_unittest.cc:
        * Source/webrtc/pc/peerconnection.cc:
        * Source/webrtc/pc/peerconnection.h:
        * Source/webrtc/pc/peerconnection_jsep_unittest.cc:
        * Source/webrtc/pc/peerconnection_media_unittest.cc:
        * Source/webrtc/pc/peerconnection_rtp_unittest.cc:
        * Source/webrtc/pc/sessiondescription.cc:
        * Source/webrtc/pc/sessiondescription.h:
        * Source/webrtc/pc/webrtcsdp.cc:
        * Source/webrtc/pc/webrtcsdp_unittest.cc:
        * Source/webrtc/system_wrappers/include/metrics.h:
        * Source/webrtc/video/BUILD.gn:

2019-01-18  Jer Noble  <jer.noble@apple.com>

        SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds
        https://bugs.webkit.org/show_bug.cgi?id=189553

        Reviewed by Tim Horton.

        * Configurations/Base.xcconfig:
        * Configurations/SDKVariant.xcconfig: Added.

2019-01-17  Truitt Savell  <tsavell@apple.com>

        Unreviewed, rolling out r240124.

        This commit broke an internal build.

        Reverted changeset:

        "SDK_VARIANT build destinations should be separate from non-
        SDK_VARIANT builds"
        https://bugs.webkit.org/show_bug.cgi?id=189553
        https://trac.webkit.org/changeset/240124

2019-01-17  Jer Noble  <jer.noble@apple.com>

        SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds
        https://bugs.webkit.org/show_bug.cgi?id=189553

        Reviewed by Tim Horton.

        * Configurations/Base.xcconfig:
        * Configurations/SDKVariant.xcconfig: Added.

2019-01-16  David Kilzer  <ddkilzer@apple.com>

        clang-tidy: Fix unnecessary copy/ref churn of for loop variables in libwebrtc
        <https://webkit.org/b/193498>

        Reviewed by Youenn Fablet.

        Fix unwanted copying/ref churn of loop variables by making them
        const references.

        * Source/webrtc/modules/bitrate_controller/loss_based_bandwidth_estimation.cc:
        * Source/webrtc/modules/rtp_rtcp/source/rtcp_receiver.cc:
        * Source/webrtc/p2p/base/mdns_message.cc:
        * Source/webrtc/p2p/base/port.cc:
        * Source/webrtc/p2p/base/stunrequest.cc:
        * Source/webrtc/pc/jseptransportcontroller.cc:
        * Source/webrtc/pc/peerconnection.cc:
        * Source/webrtc/pc/rtcstatscollector.cc:
        * Source/webrtc/pc/rtpreceiver.cc:
        * Source/webrtc/pc/rtptransceiver.cc:
        * Source/webrtc/pc/statscollector.cc:
        * Source/webrtc/pc/trackmediainfomap.cc:
        * Source/webrtc/rtc_base/filerotatingstream.cc:
        * Source/webrtc/rtc_base/opensslsessioncache.cc:
        * Source/webrtc/video/receive_statistics_proxy.cc:
        * WebKit/0002-libwebrtc-fix-unnecessary-copy-of-for-loop-variables.diff: Added.

2019-01-15  David Kilzer  <ddkilzer@apple.com>

        REGRESSION (r239510): Remove duplicate copy of srtpsession.cc from 'webrtcpcrtc' target in Xcode project

        Fixes the following Xcode warning:

            warning: Skipping duplicate build file in Compile Sources build phase: Source/ThirdParty/libwebrtc/Source/webrtc/pc/srtpsession.cc (in target 'webrtcpcrtc')

        * libwebrtc.xcodeproj/project.pbxproj: Remove duplicate copy of
        srtpsession.cc from 'webrtcpcrtc' target.

2019-01-10  Youenn Fablet  <youenn@apple.com>

        VPModuleInitialize should be called when VCP is enabled
        https://bugs.webkit.org/show_bug.cgi?id=193299

        Reviewed by Eric Carlson.

        Add the necessary include to make sure ENABLE_VCP_ENCODER is defined appropriately.

        * Source/webrtc/sdk/WebKit/WebKitUtilities.mm:

2018-12-22  Dan Bernstein  <mitz@apple.com>

        Fixed Apple production builds.

        * Configurations/Base.xcconfig: Exclude the Source/third_party/boringssl/src/util
          subdirectory, which contains binaries, from installsrc. Its contents are not used for
          building any of the targets in the project.

2018-12-21  Youenn Fablet  <youenn@apple.com> and Alejandro G. Castro  <alex@igalia.com>

        Resync BoringSSL to M72
        https://bugs.webkit.org/show_bug.cgi?id=192860

        Reviewed by Eric Carlson.

        * Source/third_party/boringssl: Resynced to Chrome M72 branch.

2018-12-21  Youenn Fablet  <youenn@apple.com>

        Resync opus to M72
        https://bugs.webkit.org/show_bug.cgi?id=192867

        Reviewed by Alex Christensen.

        * Configurations/opus.xcconfig: Updated compilation flag.
        * Source/third_party/opus: Resynced to Chrome M72 branch.

2018-12-21  Youenn Fablet  <youenn@apple.com>

        Resync libsrtp to M72
        https://bugs.webkit.org/show_bug.cgi?id=192861

        Reviewed by Eric Carlson.

        * Source/third_party/libsrtp/: Resynced to Chrome M72 branch.

2018-12-21  Youenn Fablet  <youenn@apple.com>

        Use kVTCompressionPropertyKey_Usage instead of kVTVideoEncoderSpecification_Usage
        https://bugs.webkit.org/show_bug.cgi?id=192885

        Reviewed by Eric Carlson.

        When VCP is enabled, use kVTCompressionPropertyKey_Usage as this is
        kVTVideoEncoderSpecification_Usage no longer works to activate VCP on iOS.
        Tested manually.

        * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
        (-[RTCSingleVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
        (-[RTCSingleVideoEncoderH264 configureCompressionSession]):

2018-12-19  Youenn Fablet  <youenn@apple.com>

        Refresh usrsctplib to M72
        https://bugs.webkit.org/show_bug.cgi?id=192863

        Reviewed by Alex Christensen.

        * Source/third_party/usrsctp/: Resynced to Chrome M72 branch.

2018-12-19  Youenn Fablet  <youenn@apple.com>

        Refresh libyuv to M72
        https://bugs.webkit.org/show_bug.cgi?id=192864

        Reviewed by Alex Christensen.

        * Source/third_party/libyuv: Resynced.

2018-12-19  Youenn Fablet  <youenn@apple.com>

        Resync libwebrtc with M72 branch
        https://bugs.webkit.org/show_bug.cgi?id=192858

        Reviewed by Eric Carlson.

        Merge changes made upstream.
        Some of these changes improve support of unified plan and backward compatiblity.

        * Source/webrtc/api/candidate.cc:
        * Source/webrtc/api/candidate.h:
        * Source/webrtc/api/rtpreceiverinterface.h:
        * Source/webrtc/api/umametrics.h:
        * Source/webrtc/media/engine/webrtcvideoengine.cc:
        * Source/webrtc/media/engine/webrtcvideoengine_unittest.cc:
        * Source/webrtc/modules/audio_processing/agc2/agc2_common.h:
        * Source/webrtc/modules/desktop_capture/desktop_and_cursor_composer.cc:
        * Source/webrtc/modules/video_coding/BUILD.gn:
        * Source/webrtc/modules/video_coding/codecs/vp9/svc_config.cc:
        * Source/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator.cc:
        * Source/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator.h:
        * Source/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator_unittest.cc:
        * Source/webrtc/modules/video_coding/codecs/vp9/test/vp9_impl_unittest.cc:
        * Source/webrtc/modules/video_coding/codecs/vp9/vp9.cc:
        * Source/webrtc/modules/video_coding/video_codec_initializer.cc:
        * Source/webrtc/modules/video_coding/video_codec_initializer_unittest.cc:
        * Source/webrtc/p2p/base/p2ptransportchannel_unittest.cc:
        * Source/webrtc/p2p/base/port.cc:
        * Source/webrtc/p2p/base/port.h:
        * Source/webrtc/p2p/base/portallocator.cc:
        * Source/webrtc/p2p/client/basicportallocator.cc:
        * Source/webrtc/p2p/client/basicportallocator_unittest.cc:
        * Source/webrtc/pc/peerconnection.cc:
        * Source/webrtc/pc/peerconnection.h:
        * Source/webrtc/pc/peerconnection_integrationtest.cc:
        * Source/webrtc/pc/peerconnectioninternal.h:
        * Source/webrtc/pc/statscollector.cc:
        * Source/webrtc/pc/statscollector.h:
        * Source/webrtc/pc/test/fakepeerconnectionbase.h:
        * Source/webrtc/pc/test/fakepeerconnectionforstats.h:
        * Source/webrtc/pc/test/mockpeerconnectionobservers.h:
        (webrtc::MockStatsObserver::OnComplete):
        (webrtc::MockStatsObserver::TrackIds const):
        * Source/webrtc/pc/webrtcsdp_unittest.cc:
        * Source/webrtc/rtc_base/fake_mdns_responder.h:
        (webrtc::FakeMdnsResponder::GetMappedAddressForName const):
        * Source/webrtc/rtc_base/fakenetwork.h:
        (rtc::FakeNetworkManager::CreateMdnsResponder):
        (rtc::FakeNetworkManager::GetMdnsResponderForTesting const):
        * Source/webrtc/video/video_send_stream_impl.cc:
        * Source/webrtc/video/video_stream_encoder.cc:

2018-12-15  Youenn Fablet  <youenn@apple.com>

        Make RTCRtpSender.setParameters to activate specific encodings
        https://bugs.webkit.org/show_bug.cgi?id=192732

        Reviewed by Eric Carlson.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:

2018-12-14  Youenn Fablet  <youenn@apple.com>

        kVTVideoEncoderSpecification_Usage should not be set if VCP is not enabled
        https://bugs.webkit.org/show_bug.cgi?id=192716

        Reviewed by Eric Carlson.

        https://trac.webkit.org/changeset/239220 sets the usage value for all platforms, but we should only enable it for VCP.
        * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
        (-[RTCSingleVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):

2018-12-14  Youenn Fablet  <youenn@apple.com>

        Set kVTVideoEncoderSpecification_Usage both when creating the compression session and once created
        https://bugs.webkit.org/show_bug.cgi?id=192700

        Reviewed by Eric Carlson.

        Previously we were setting the usage value once the compression session is created.
        We now also set it at creation time.

        * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
        (-[RTCSingleVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):

2018-12-12  Youenn Fablet  <youenn@apple.com>

        Recycling the m section should work if it was rejected remotely
        https://bugs.webkit.org/show_bug.cgi?id=192636

        Reviewed by Eric Carlson.

        Changes merged from https://webrtc.googlesource.com/src.git/+/5c72e71e14cfa76a2d1b0979d6b918abe187c208

        * Source/webrtc/pc/mediasession.cc:
        * Source/webrtc/pc/mediasession.h:
        * Source/webrtc/pc/mediasession_unittest.cc:
        * Source/webrtc/pc/peerconnection.cc:
        * Source/webrtc/pc/peerconnection_jsep_unittest.cc:

2018-12-07  Youenn Fablet  <youenn@apple.com>

        Update libwebrtc up to 2fb890f08c
        https://bugs.webkit.org/show_bug.cgi?id=192517

        Reviewed by Eric Carlson.

        Merge changes to track libwebrtc M72.

        * Source/webrtc/DEPS:
        * Source/webrtc/api/audio/echo_canceller3_config.h:
        * Source/webrtc/api/rtp_headers.h:
        * Source/webrtc/api/video/encoded_frame.h:
        * Source/webrtc/api/video/encoded_image.h:
        * Source/webrtc/call/rtp_transport_controller_send_interface.h:
        * Source/webrtc/call/video_receive_stream.h:
        * Source/webrtc/call/video_send_stream.h:
        * Source/webrtc/common_types.h:
        (webrtc::RtcpStatistics::RtcpStatistics):
        (webrtc::RtcpStatisticsCallback::~RtcpStatisticsCallback):
        * Source/webrtc/logging/rtc_event_log/rtc_event_log_impl.cc:
        * Source/webrtc/media/engine/webrtcvideoengine.cc:
        * Source/webrtc/modules/audio_coding/BUILD.gn:
        * Source/webrtc/modules/audio_coding/neteq/neteq_unittest.cc:
        * Source/webrtc/modules/audio_processing/aec3/BUILD.gn:
        * Source/webrtc/modules/audio_processing/aec3/aec_state.cc:
        * Source/webrtc/modules/audio_processing/aec3/api_call_jitter_metrics.cc: Removed.
        * Source/webrtc/modules/audio_processing/aec3/api_call_jitter_metrics.h: Removed.
        * Source/webrtc/modules/audio_processing/aec3/api_call_jitter_metrics_unittest.cc: Removed.
        * Source/webrtc/modules/audio_processing/aec3/echo_canceller3.cc:
        * Source/webrtc/modules/audio_processing/aec3/echo_canceller3.h:
        * Source/webrtc/modules/audio_processing/aec3/filter_analyzer.cc:
        * Source/webrtc/modules/audio_processing/aec3/filter_analyzer.h:
        * Source/webrtc/modules/audio_processing/aec3/suppression_gain.cc:
        * Source/webrtc/modules/rtp_rtcp/BUILD.gn:
        * Source/webrtc/modules/rtp_rtcp/include/receive_statistics.h:
        * Source/webrtc/modules/rtp_rtcp/include/rtcp_statistics.h: Removed.
        * Source/webrtc/modules/rtp_rtcp/include/rtp_rtcp.h:
        * Source/webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h:
        * Source/webrtc/modules/rtp_rtcp/source/rtcp_receiver.h:
        * Source/webrtc/modules/rtp_rtcp/source/rtp_header_extension_map.cc:
        * Source/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.cc:
        * Source/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h:
        (webrtc::HdrMetadataExtension::ValueSize):
        * Source/webrtc/modules/rtp_rtcp/source/rtp_packet_received.cc:
        * Source/webrtc/modules/rtp_rtcp/source/rtp_packet_unittest.cc:
        * Source/webrtc/modules/rtp_rtcp/source/rtp_utility.cc:
        * Source/webrtc/modules/video_coding/codecs/test/videocodec_test_libvpx.cc:
        * Source/webrtc/modules/video_coding/codecs/vp9/test/vp9_impl_unittest.cc:
        * Source/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc:
        * Source/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h:
        * Source/webrtc/modules/video_coding/encoded_frame.h:
        (webrtc::VCMEncodedFrame::video_timing_mutable):
        (webrtc::VCMEncodedFrame::SetCodecSpecific):
        * Source/webrtc/modules/video_coding/frame_buffer2.cc:
        * Source/webrtc/modules/video_coding/frame_buffer2.h:
        * Source/webrtc/modules/video_coding/frame_buffer2_unittest.cc:
        * Source/webrtc/modules/video_coding/frame_object.cc:
        * Source/webrtc/modules/video_coding/rtp_frame_reference_finder.cc:
        * Source/webrtc/p2p/base/p2ptransportchannel.cc:
        * Source/webrtc/p2p/base/p2ptransportchannel_unittest.cc:
        * Source/webrtc/p2p/base/port.cc:
        * Source/webrtc/p2p/base/port.h:
        * Source/webrtc/p2p/client/basicportallocator.cc:
        * Source/webrtc/p2p/client/basicportallocator.h:
        * Source/webrtc/p2p/client/basicportallocator_unittest.cc:
        * Source/webrtc/pc/peerconnection.cc:
        * Source/webrtc/pc/rtcstats_integrationtest.cc:
        * Source/webrtc/pc/test/peerconnectiontestwrapper.cc:
        * Source/webrtc/pc/test/peerconnectiontestwrapper.h:
        * Source/webrtc/rtc_base/stringize_macros.h:
        * Source/webrtc/sdk/objc/components/video_codec/nalu_rewriter_unittest.cc: Removed.
        * Source/webrtc/test/fuzzers/rtp_packet_fuzzer.cc:
        * Source/webrtc/tools_webrtc/ios/internal.client.webrtc/iOS64_Perf.json:
        * Source/webrtc/tools_webrtc/ios/internal.tryserver.webrtc/ios_arm64_perf.json:
        * Source/webrtc/tools_webrtc/whitespace.txt:
        * Source/webrtc/video/report_block_stats.h:
        * Source/webrtc/video/rtp_video_stream_receiver.cc:
        * Source/webrtc/video/video_receive_stream.cc:

2018-12-07  Youenn Fablet  <youenn@apple.com>

        Update libwebrtc up to 0d007d7c4f
        https://bugs.webkit.org/show_bug.cgi?id=192316
        <rdar://problem/46563726>

        Unreviewed.

        * Source/webrtc/data/voice_engine/stereo_rtp_files/rtpplay.exe: Removed.
        Unneeded file.

2018-12-07  Youenn Fablet  <youenn@apple.com>

        Update libwebrtc up to 0d007d7c4f
        https://bugs.webkit.org/show_bug.cgi?id=192316

        Reviewed by Eric Carlson.

        Updating to latest libwebrtc will allows cherry-picking important bug fixes.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:
        * Source/third_party/abseil-cpp: refreshed.
        * Source/webrtc: refreshed.
        * WebKit/0001-libwebrtc-changes.patch: Removed.
        * libwebrtc.xcodeproj/project.pbxproj:

2018-12-01  Thibault Saunier  <tsaunier@igalia.com>

        [GStreamer][WebRTC] Build opus decoder support in libwebrtc
        https://bugs.webkit.org/show_bug.cgi?id=192226

        Reviewed by Philippe Normand.

        Somehow that was overlooked at some point (it used to work).

        * CMakeLists.txt:

2018-11-27  Thibault Saunier  <tsaunier@igalia.com>

        [GStreamer][WebRTC] Use LibWebRTC provided vp8 decoders and encoders
        https://bugs.webkit.org/show_bug.cgi?id=191861

        Reviewed by Philippe Normand.

        * CMakeLists.txt: Build LibVPX vp8 encoder and decoders.

2018-11-14  Youenn Fablet  <youenn@apple.com>

        Convert libwebrtc error types to DOM exceptions
        https://bugs.webkit.org/show_bug.cgi?id=191590

        Reviewed by Alex Christensen.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:

2018-11-14  Youenn Fablet  <youenn@apple.com>

        Add support for transport and peerConnection stats
        https://bugs.webkit.org/show_bug.cgi?id=191592

        Reviewed by Alex Christensen.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:

2018-11-07  Youenn Fablet  <youenn@apple.com>

        webrtc/datachannel/basic-tcp.html will crash with an invalid crash
        https://bugs.webkit.org/show_bug.cgi?id=178285
        <rdar://problem/34985374>

        Reviewed by Eric Carlson.

        Reintroduce change made to libwebrtc and erroneously removed when refreshing libwebrtc.

        * Source/webrtc/rtc_base/physicalsocketserver.cc:

2018-10-30  Alexey Proskuryakov  <ap@apple.com>

        Clean up some obsolete MAX_ALLOWED macros
        https://bugs.webkit.org/show_bug.cgi?id=190916

        Reviewed by Tim Horton.

        * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:

2018-10-29  Youenn Fablet  <youenn@apple.com>

        Handle MDNS resolution of candidates through libwebrtc directly
        https://bugs.webkit.org/show_bug.cgi?id=190681

        Reviewed by Eric Carlson.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:

2018-10-23  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r237261.

        The layout test for this change crashes under GuardMalloc.

        Reverted changeset:

        "Handle MDNS resolution of candidates through libwebrtc
        directly"
        https://bugs.webkit.org/show_bug.cgi?id=190681
        https://trac.webkit.org/changeset/237261

2018-10-18  Youenn Fablet  <youenn@apple.com>

        Handle MDNS resolution of candidates through libwebrtc directly
        https://bugs.webkit.org/show_bug.cgi?id=190681

        Reviewed by Eric Carlson.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:

2018-10-17  Youenn Fablet  <youenn@apple.com>

        Remove unneeded .rej files from libwebrtc
        https://bugs.webkit.org/show_bug.cgi?id=190670

        Reviewed by Mark Lam.

        * Source/third_party/boringssl/src/.github/PULL_REQUEST_TEMPLATE.rej: Removed.
        * Source/third_party/boringssl/src/third_party/googletest/.gitignore.rej: Removed.

2018-10-17  Youenn Fablet  <youenn@apple.com>

        REGRESSION (r237075): webrtc/video-replace-muted-track.html is Crashing
        https://bugs.webkit.org/show_bug.cgi?id=190646

        Reviewed by Eric Carlson.

        Do not use VCP pixel buffer pool at all.
        RealtimeOutgoingVideoSource makes sure to send the frame in the right format.
        Tested by ensuring test no longer crashes.

        * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
        (-[RTCSingleVideoEncoderH264 resetCompressionSessionIfNeededWithFrame:]):
        (-[RTCSingleVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):

2018-10-16  Youenn Fablet  <youenn@apple.com>

        Support RTCConfiguration.certificates
        https://bugs.webkit.org/show_bug.cgi?id=190603

        Reviewed by Eric Carlson.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:

2018-10-16  Alejandro G. Castro  <alex@igalia.com>

        [GTK][WPE] Make libwebrtc compile using the system opus library
        https://bugs.webkit.org/show_bug.cgi?id=190573

        Reviewed by Philippe Normand.

        We found some situations where gstreamer gets confused when it
        tries to use opus because it finds opus symbols compiled for
        liwebrtc. We are going to try the option to use the system opus
        library also for libwebrtc.

        * CMakeLists.txt: Added opus dependency.
        * cmake/FindOpus.cmake: Added the hints to find the opus library
        in the compilation.

2018-10-15  Youenn Fablet  <youenn@apple.com>

        RTCPeerConnection.generateCertificate is not a function
        https://bugs.webkit.org/show_bug.cgi?id=173541
        <rdar://problem/32638029>

        Reviewed by Eric Carlson.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:

2018-10-12  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed build fix, remove executable file imported with r237075.

        * Source/webrtc/data/voice_engine/stereo_rtp_files/rtpplay.exe: Removed.

2018-10-12  Youenn Fablet  <youenn@apple.com> and Alejandro G. Castro  <alex@igalia.com>

        Refresh libwebrtc up to 343f4144be
        https://bugs.webkit.org/show_bug.cgi?id=190361

        Reviewed by Chris Dumez.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:
        * Configurations/libwebrtc.xcconfig:
        * Source/webrtc: Resynced.
        * WebKit/0001-Updating-webrtc.patch: Removed.
        * libwebrtc.xcodeproj/project.pbxproj:

2018-10-09  Youenn Fablet  <youenn@apple.com>

        Add support for IceCandidate stats
        https://bugs.webkit.org/show_bug.cgi?id=190329

        Reviewed by Eric Carlson.

        Export new stats kType values.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:

2018-10-06  Dan Bernstein  <mitz@apple.com>

        [Xcode] Never build yasm with ASAN
        https://bugs.webkit.org/show_bug.cgi?id=190327

        Reviewed by Youenn Fablet.

        * Configurations/yasm.xcconfig: Set WK_ASAN_DISALLOWED to YES.

2018-10-06  Dan Bernstein  <mitz@apple.com>

        Fixed iOS device production builds after r236896.

        * Configurations/yasm.xcconfig: Excluding all sources when building for an iOS device meant
          that nothing got built, which caused the install action to fail when it tried to copy
          the built product. Just put things back the way they were for now.

2018-10-06  Dan Bernstein  <mitz@apple.com>

        [Xcode] Don’t install yasm and don’t compile it in iOS device builds
        https://bugs.webkit.org/show_bug.cgi?id=190326

        Reviewed by Youenn Fablet.

        * Configurations/yasm.xcconfig: Set SKIP_INSTALL to YES, and excluded all source files when
          targeting iOS devices.

2018-10-04  Dan Bernstein  <mitz@apple.com>

        Fixed engineering builds using the Apple internal SDK as well as building with older
        versions of Xcode.

        * Configurations/yasm.xcconfig: Migrated some build settings that were defined at the target
          level in the project file. Some didn’t make sense to migrate, because they could be
          inherited, or because they were warnings that were then being negated by OTHER_CFLAGS.
        * libwebrtc.xcodeproj/project.pbxproj:

2018-10-03  Dan Bernstein  <mitz@apple.com>

        Addressed the warning “no rule to process file 'Source/ThirdParty/libwebrtc/Source/third_party/yasm-1.3.0/modules/objfmts/macho/Makefile.inc' of type sourcecode.pascal for architecture x86_64”

        * libwebrtc.xcodeproj/project.pbxproj: Removed Makefile.inc from the yasm target’s Compile
          Sources build phase.

2018-10-03  Youenn Fablet  <youenn@apple.com>

        Add VP8 support to WebRTC
        https://bugs.webkit.org/show_bug.cgi?id=189976

        Reviewed by Eric Carlson.

        Add support for conditional VP8 support for both encoding and decoding.
        This boolean is used by WebCore based on the new VP8 runtime flag.

        Enable yasm compilation as a dependency of libvpx.

        Compilation is done without using SSE4/AVX2 optimizations.

        * Configurations/libvpx.xcconfig: Added.
        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:
        * Configurations/libwebrtc.xcconfig:
        * Configurations/libwebrtcpcrtc.xcconfig:
        * Source/third_party/libvpx/run_yasm_webkit.py: Added.
        * Source/third_party/libvpx/source/config/mac/x64/vpx_config.asm:
        * Source/third_party/libvpx/source/config/mac/x64/vpx_config.h:
        * Source/third_party/libvpx/source/config/mac/x64/vpx_dsp_rtcd.h:
        * Source/webrtc/sdk/WebKit/WebKitUtilities.h:
        * Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
        (webrtc::createWebKitEncoderFactory):
        (webrtc::createWebKitDecoderFactory):
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodecFactory.h:
        * libwebrtc.xcodeproj/project.pbxproj:

2018-10-03  Dan Bernstein  <mitz@apple.com>

        libwebrtc part of [Xcode] Update some build settings as recommended by Xcode 10
        https://bugs.webkit.org/show_bug.cgi?id=190250

        Reviewed by Andy Estes.

        * Configurations/Base.xcconfig: Removed a duplicate reference to x_all.c and let Xcode
          update LastUpgradeCheck.

        * libwebrtc.xcodeproj/project.pbxproj: Enabled CLANG_WARN_INFINITE_RECURSION,
          CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF, CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED, and
          CLANG_WARN_SUSPICIOUS_MOVE. Other warnings that Xcode 10 recommended were incompatible
          with one or more source files in the project.

2018-10-03  Youenn Fablet  <youenn@apple.com>

        Enable H264 simulcast
        https://bugs.webkit.org/show_bug.cgi?id=190167

        Reviewed by Eric Carlson.

        Rename .m files to .mm to enable C++ compilation of included header files.
        Rename RTCH264VideoEncoder to RTCSingleH264Encoder.
        Implement a new RTCH264VideoEncoder that spawns as many RTCSingleH264Encoder as needed for simulcast.
        Update ObjC API to allow passing simulcast parameters to/from RTCH264VideoEncoder.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:
        * Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCDefaultVideoDecoderFactory.mm: Renamed from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCDefaultVideoDecoderFactory.m.
        * Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCDefaultVideoEncoderFactory.mm: Renamed from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCDefaultVideoEncoderFactory.m.
        * Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodec+Private.h:
        * Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodecH264.mm:
        (-[RTCCodecSpecificInfoH264 nativeCodecSpecificInfo]):
        * Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoEncoderSettings.mm:
        (-[RTCVideoEncoderSettings initWithNativeVideoCodec:]):
        * Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCWrappedNativeVideoEncoder.mm:
        (-[RTCWrappedNativeVideoEncoder setBitrate:framerate:]):
        (-[RTCWrappedNativeVideoEncoder setRateAllocation:framerate:]):
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
        (-[RTCSingleVideoEncoderH264 initWithCodecInfo:simulcastIndex:]):
        (-[RTCSingleVideoEncoderH264 startEncodeWithSettings:numberOfCores:]):
        (-[RTCSingleVideoEncoderH264 encode:codecSpecificInfo:frameTypes:]):
        (-[RTCSingleVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
        (-[RTCSingleVideoEncoderH264 scalingSettings]):
        (-[RTCSingleVideoEncoderH264 setRateAllocation:framerate:]):
        (-[RTCVideoEncoderH264 initWithCodecInfo:]):
        (-[RTCVideoEncoderH264 setCallback:]):
        (-[RTCVideoEncoderH264 startEncodeWithSettings:numberOfCores:]):
        (-[RTCVideoEncoderH264 releaseEncoder]):
        (-[RTCVideoEncoderH264 encode:codecSpecificInfo:frameTypes:]):
        (-[RTCVideoEncoderH264 setRateAllocation:framerate:]):
        (-[RTCVideoEncoderH264 implementationName]):
        (-[RTCVideoEncoderH264 scalingSettings]):
        (-[RTCVideoEncoderH264 setBitrate:framerate:]):
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodec.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodecH264.h:
        * Source/webrtc/sdk/objc/Framework/Native/src/objc_video_encoder_factory.mm:
        * libwebrtc.xcodeproj/project.pbxproj:

2018-09-29  Youenn Fablet  <youenn@apple.com>

        Add yasm as third party tool for libwebrtc compilation
        https://bugs.webkit.org/show_bug.cgi?id=190025

        Reviewed by Eric Carlson.

        Add yasm source code and build the yasm executable as it is needed for libvpx compilation.

        * Source/third_party/yasm-1.3.0: Added.
        * libwebrtc.xcodeproj/project.pbxproj:

2018-09-28  David Fenton  <david_fenton@apple.com>

        Unreviewed, rolling out r236620.

        broke internal Mac and iOS builds

        Reverted changeset:

        "Add yasm as third party tool for libwebrtc compilation"
        https://bugs.webkit.org/show_bug.cgi?id=190025
        https://trac.webkit.org/changeset/236620

2018-09-28  Youenn Fablet  <youenn@apple.com>

        Add yasm as third party tool for libwebrtc compilation
        https://bugs.webkit.org/show_bug.cgi?id=190025

        Reviewed by Eric Carlson.

        Add yasm source code and build the yasm executable as it is needed for libvpx compilation.

        * Source/third_party/yasm-1.3.0: Added.
        * libwebrtc.xcodeproj/project.pbxproj:

2018-09-27  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r236557.

        Really roll out r236557 this time because it breaks internal
        builds.

        Reverted changeset:

        "Add VP8 support to WebRTC"
        https://bugs.webkit.org/show_bug.cgi?id=189976
        https://trac.webkit.org/changeset/236557

2018-09-27  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r236558.
        https://bugs.webkit.org/show_bug.cgi?id=190044

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

        Reverted changeset:

        "Unreviewed build fix, remove *.o files that were committed in
        r236557."
        https://trac.webkit.org/changeset/236558

2018-09-27  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed build fix, remove *.o files that were committed in r236557.

        * Source/third_party/libvpx/source/libvpx/vp8/common/x86/copy_sse2.asm.o: Removed.
        * Source/third_party/libvpx/source/libvpx/vp8/common/x86/copy_sse3.asm.o: Removed.
        * Source/third_party/libvpx/source/libvpx/vp8/common/x86/dequantize_mmx.asm.o: Removed.
        * Source/third_party/libvpx/source/libvpx/vp8/common/x86/idctllm_mmx.asm.o: Removed.
        * Source/third_party/libvpx/source/libvpx/vp8/common/x86/idctllm_sse2.asm.o: Removed.
        * Source/third_party/libvpx/source/libvpx/vp8/common/x86/iwalsh_sse2.asm.o: Removed.
        * Source/third_party/libvpx/source/libvpx/vp8/common/x86/loopfilter_block_sse2_x86_64.asm.o: Removed.
        * Source/third_party/libvpx/source/libvpx/vp8/common/x86/loopfilter_sse2.asm.o: Removed.
        * Source/third_party/libvpx/source/libvpx/vp8/common/x86/mfqe_sse2.asm.o: Removed.
        * Source/third_party/libvpx/source/libvpx/vp8/common/x86/recon_mmx.asm.o: Removed.
        * Source/third_party/libvpx/source/libvpx/vp8/common/x86/recon_sse2.asm.o: Removed.
        * Source/third_party/libvpx/source/libvpx/vp8/common/x86/subpixel_mmx.asm.o: Removed.
        * Source/third_party/libvpx/source/libvpx/vp8/common/x86/subpixel_sse2.asm.o: Removed.
        * Source/third_party/libvpx/source/libvpx/vp8/common/x86/subpixel_ssse3.asm.o: Removed.

2018-09-27  Youenn Fablet  <youenn@apple.com>

        Add VP8 support to WebRTC
        https://bugs.webkit.org/show_bug.cgi?id=189976

        Reviewed by Eric Carlson.

        Add support for conditional VP8 support for both encoding and decoding.
        This boolean is used by WebCore based on the new VP8 runtime flag.

        Compilation is done without using SSE4/AVX2 optimizations.

        * Configurations/libvpx.xcconfig: Added.
        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:
        * Configurations/libwebrtc.xcconfig:
        * Configurations/libwebrtcpcrtc.xcconfig:
        * Source/third_party/libvpx/run_yasm_webkit.py: Added.
        * Source/third_party/libvpx/source/config/mac/x64/vpx_config.asm:
        * Source/third_party/libvpx/source/config/mac/x64/vpx_config.h:
        * Source/third_party/libvpx/source/config/mac/x64/vpx_dsp_rtcd.h:
        * Source/webrtc/sdk/WebKit/WebKitUtilities.h:
        * Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
        (webrtc::createWebKitEncoderFactory):
        (webrtc::createWebKitDecoderFactory):
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodecFactory.h:
        * libwebrtc.xcodeproj/project.pbxproj:

2018-09-26  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r236498.

        This wasn't intentionally committed

        Reverted changeset:

        "Import libvpx source code"
        https://bugs.webkit.org/show_bug.cgi?id=189954
        https://trac.webkit.org/changeset/236498

2018-09-25  Youenn Fablet  <youenn@apple.com>

        Import libvpx source code
        https://bugs.webkit.org/show_bug.cgi?id=189954

        Reviewed by Eric Carlson.

        * Source/third_party/libvpx: Added.
        * .gitignore: Added.

2018-09-25  Ryan Haddad  <ryanhaddad@apple.com>

        Import libvpx source code
        https://bugs.webkit.org/show_bug.cgi?id=189954

        Another unreviewed build fix attempt.

        * Source/third_party/libvpx/source/libvpx/VPX.framework: Remove unneeded folder.

2018-09-25  Youenn Fablet  <youenn@apple.com>

        Import libvpx source code
        https://bugs.webkit.org/show_bug.cgi?id=189954

        Unreviewed, internal build fix.

        * Source/third_party/libvpx/source/libvpx/_iosbuild: Removed.
        Folder is unneeded.

2018-09-25  Youenn Fablet  <youenn@apple.com>

        Import libvpx source code
        https://bugs.webkit.org/show_bug.cgi?id=189954

        Reviewed by Eric Carlson.

        * Source/third_party/libvpx: Added.
        * .gitignore: Added.

2018-09-24  Youenn Fablet  <youenn@apple.com>

        Enable conversion of libwebrtc internal frames as CVPixelBuffer
        https://bugs.webkit.org/show_bug.cgi?id=189892

        Reviewed by Eric Carlson.

        Renamed encoder/decoder factory creation routine.
        Make pixelBufferFromFrame take a function to create a CVPixelBuffer
        if the frame does not wrap one.
        Initialize the CVPixelBuffer with libwebrtc internal frame.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:
        * Source/webrtc/sdk/WebKit/WebKitUtilities.h:
        * Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
        (webrtc::createWebKitEncoderFactory):
        (webrtc::createWebKitDecoderFactory):
        (webrtc::CopyVideoFrameToPixelBuffer):
        (webrtc::pixelBufferFromFrame):
        (webrtc::createVideoToolboxEncoderFactory): Deleted.
        (webrtc::createVideoToolboxDecoderFactory): Deleted.

2018-09-21  Thibault Saunier  <tsaunier@igalia.com>

        [libwebrtc] Allow IP mismatch for local connections on localhost
        https://bugs.webkit.org/show_bug.cgi?id=189828

        Reviewed by Alejandro G. Castro.

        The rest of the code allows it, but there was an unecessary assert

        See Bug 187302

        * Source/webrtc/p2p/base/tcpport.cc:

2018-09-18  Youenn Fablet  <youenn@apple.com>

        Implement RTCRtpReceiver getContributingSources/getSynchronizationSources
        https://bugs.webkit.org/show_bug.cgi?id=189671

        Reviewed by Eric Carlson.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:

2018-09-17  Youenn Fablet  <youenn@apple.com>

        Build fix after https://trac.webkit.org/changeset/236070
        https://bugs.webkit.org/show_bug.cgi?id=189635
        <rdar://problem/44361849>

        Unreviewed.
        Fix for iOS internal builds.

        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
        (-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):

2018-09-17  Youenn Fablet  <youenn@apple.com>

        Enable VCP for iOS and reenable it for MacOS
        https://bugs.webkit.org/show_bug.cgi?id=189635
        <rdar://problem/43621029>

        Unreviewed, build fix for iOS simulator.

        * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:

2018-09-17  Youenn Fablet  <youenn@apple.com>

        Enable VCP for iOS and reenable it for MacOS
        https://bugs.webkit.org/show_bug.cgi?id=189635
        <rdar://problem/43621029>

        Reviewed by Eric Carlson.

        Make sure VCP API is used to set encoding session parameters.

        * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
        (-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/helpers.cc:
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/helpers.h:

2018-09-07  Youenn Fablet  <youenn@apple.com>

        Add support for unified plan transceivers
        https://bugs.webkit.org/show_bug.cgi?id=189390

        Reviewed by Eric Carlson.

        Expose more symbols.
        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:

2018-09-05  Youenn Fablet  <youenn@apple.com>

        Expose RTCRtpSender.setParameters
        https://bugs.webkit.org/show_bug.cgi?id=189307

        Reviewed by Eric Carlson.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:

2018-08-29  David Kilzer  <ddkilzer@apple.com>

        Remove empty directories from from svn.webkit.org repository
        <https://webkit.org/b/189081>

        * Source/webrtc/base: Removed.
        * Source/webrtc/media/devices: Removed.
        * Source/webrtc/modules/audio_conference_mixer: Removed.
        * Source/webrtc/modules/remote_bitrate_estimator/include/mock: Removed.
        * Source/webrtc/system_wrappers/test: Removed.
        * Source/webrtc/test/testsupport/mac: Removed.
        * Source/webrtc/voice_engine: Removed.

2018-08-28  David Kilzer  <ddkilzer@apple.com>

        [libwebrtc] Remove references to Source/webrtc/modules/audio_coding/codecs/isac/main/source/fft.h

        Found by tidy-Xcode-project-file script (see Bug 188754).

        * libwebrtc.xcodeproj/project.pbxproj:
        (Source/webrtc/modules/audio_coding/codecs/isac/main/source/fft.h):
        Remove references to this file since it doesn't exist.

2018-08-28  Youenn Fablet  <youenn@apple.com>

        Reenable -Wexit-time-destructors -and Wglobal-constructors in libwebrtc
        https://bugs.webkit.org/show_bug.cgi?id=189036

        Reviewed by Geoffrey Garen.

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

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

2018-08-27  Keith Rollin  <krollin@apple.com>

        Unreviewed build fix -- disable LTO for production builds

        * Configurations/Base.xcconfig:

2018-08-27  Keith Rollin  <krollin@apple.com>

        Build system support for LTO
        https://bugs.webkit.org/show_bug.cgi?id=187785
        <rdar://problem/42353132>

        Reviewed by Dan Bernstein.

        Update Base.xcconfig and DebugRelease.xcconfig to optionally enable
        LTO.

        * Configurations/Base.xcconfig:
        * Configurations/DebugRelease.xcconfig:

2018-08-23  youenn fablet  <youennf@gmail.com>

        Remove libwebrtc unneeded .exe file.
        Unreviewed.

        * Source/webrtc/data/voice_engine/stereo_rtp_files/rtpplay.exe: Removed.

2018-08-23  Youenn Fablet  <youenn@apple.com> and Alejandro G. Castro  <alex@igalia.com>

        Update libwebrtc up to 984f1a80c0
        https://bugs.webkit.org/show_bug.cgi?id=188745
        <rdar://problem/43539177>

        Reviewed by Eric Carlson.

        Update libwebrtc main code.
        Update exported symbols and related applied modifications.

        * CMakeLists.txt:
        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:
        * Configurations/libwebrtc.xcconfig:
        * Source/webrtc: refreshed
        * WebKit/0001-Updating-webrtc.patch: Added.
        * WebKit/0001-Adapting-libwebrtc-H264-codec.patch: Removed.
        * WebKit/0001-Disable-SIGPIPE-for-WebRTC-sockets.patch: Removed.
        * WebKit/0001-Update-RTCVideoEncoderH264.mm-for-WebKit.patch: Removed.
        * WebKit/0001-Using-VCP.patch: Removed.
        * WebKit/0003-Fixing-VP8-files.patch: Removed.
        * WebKit/0004-Removing-parameter-names-from-files-included-from-We.patch: Removed.
        * WebKit/0005-Fix-RTC_FATAL.patch: Removed.
        * WebKit/0006-Disabling-VP8.patch: Removed.
        * WebKit/0007-Fix-RTC_STRINGIZE.patch: Removed.
        * WebKit/0008-Fix-sanitizer.patch: Removed.
        * WebKit/0009-Remove-dispatch_set_target_queue.patch: Removed.
        * WebKit/0010-Fix-RTCVideoEncoderH264-CVPixelBuffer-leak.patch: Removed.
        * WebKit/0011-Fix-AudioDeviceID-array-leak.patch: Removed.
        * WebKit/0012-Add-WK-prefix-to-Objective-C-classes-and-protocols.patch: Removed.
        * WebKit/0013-Fix-SafeSetError-use-after-move.patch: Removed.
        * libwebrtc.xcodeproj/project.pbxproj:

2018-08-21  Youenn Fablet  <youenn@apple.com>

        Update some libwebrtc third party libraries as per libwebrtc 984f1a80c0c
        https://bugs.webkit.org/show_bug.cgi?id=188751

        Reviewed by Eric Carlson.

        Added rnnoise and abseil which will be used by latest libwebrtc.
        Updated libyuv as it is also required by latest libwebrtc.

        * Source/third_party/abseil-cpp: Added.
        * Source/third_party/libyuv: Refreshed.
        * Source/third_party/rnnoise: Added.

2018-08-06  David Kilzer  <ddkilzer@apple.com>

        [libwebrtc] SafeSetError() in peerconnection.cc contains use-after-move of webrtc::RTCError variable
        <https://webkit.org/b/188337>
        <rdar://problem/42882908>

        Reviewed by Eric Carlson.

        * Source/webrtc/pc/peerconnection.cc:
        (webrtc::SafeSetError): Make static since it's not used outside
        this translation unit.
        (webrtc::SafeSetError): Ditto.  Change first argument to
        webrtc::RTCError&& to prevent unnecessary copying of std::move()
        argument.  Fix bug by saving value of `error.ok()` before moving
        to `*error_out`.
        * WebKit/0013-Fix-SafeSetError-use-after-move.patch: Add patch.

2018-08-03  Alex Christensen  <achristensen@webkit.org>

        Fix spelling of "overridden"
        https://bugs.webkit.org/show_bug.cgi?id=188315

        Reviewed by Darin Adler.

        * Source/webrtc/p2p/client/basicportallocator.h:

2018-07-24  Thibault Saunier  <tsaunier@igalia.com>

        [WPE][GTK] Implement PeerConnection API on top of libwebrtc
        https://bugs.webkit.org/show_bug.cgi?id=186932

        Reviewed by Philippe Normand.

        * CMakeLists.txt: Properly set our build as `WEBRTC_WEBKIT_BUILD`

2018-07-19  Youenn Fablet  <youenn@apple.com>

        PlatformThread::Run does not need to log the fact that it is running
        https://bugs.webkit.org/show_bug.cgi?id=187801i
        <rdar://problem/40331421>

        Reviewed by Chris Dumez.

        * Source/webrtc/rtc_base/platform_thread.cc:

2018-07-14  Kocsen Chung  <kocsen_chung@apple.com>

        Ensure WebKit stack is ad-hoc signed
        https://bugs.webkit.org/show_bug.cgi?id=187667

        Reviewed by Alexey Proskuryakov.

        * Configurations/Base.xcconfig:

2018-07-13  David Kilzer  <ddkilzer@apple.com>

        libwebrtc.dylib Objective-C classes conflict with third-party frameworks
        <https://webkit.org/b/187653>

        Reviewed by Alex Christensen.

        * Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
        - Manually add an attribute to change the class name.

        * Source/webrtc/sdk/objc/Framework/Classes/Common/RTCUIApplicationStatusObserver.h:
        * Source/webrtc/sdk/objc/Framework/Classes/Metal/RTCMTLI420Renderer.h:
        * Source/webrtc/sdk/objc/Framework/Classes/Metal/RTCMTLNV12Renderer.h:
        * Source/webrtc/sdk/objc/Framework/Classes/Metal/RTCMTLRenderer.h:
        * Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCDtmfSender+Private.h:
        * Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoRendererAdapter.h:
        * Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCWrappedNativeVideoDecoder.h:
        * Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCWrappedNativeVideoEncoder.h:
        * Source/webrtc/sdk/objc/Framework/Classes/UI/RTCEAGLVideoView.m:
        * Source/webrtc/sdk/objc/Framework/Classes/Video/RTCAVFoundationVideoCapturerInternal.h:
        * Source/webrtc/sdk/objc/Framework/Classes/Video/RTCDefaultShader.h:
        * Source/webrtc/sdk/objc/Framework/Classes/Video/RTCI420TextureCache.h:
        * Source/webrtc/sdk/objc/Framework/Classes/Video/RTCNV12TextureCache.h:
        * Source/webrtc/sdk/objc/Framework/Classes/Video/objc_frame_buffer.h:
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/objc_video_decoder_factory.h:
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/objc_video_encoder_factory.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAVFoundationVideoSource.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAudioSession.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAudioSessionConfiguration.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAudioSource.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAudioTrack.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCCameraPreviewView.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCCameraVideoCapturer.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCConfiguration.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCDataChannel.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCDataChannelConfiguration.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCDispatcher.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCDtmfSender.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCEAGLVideoView.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFileLogger.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFileVideoCapturer.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCIceCandidate.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCIceServer.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCIntervalRange.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCLegacyStatsReport.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMTLNSVideoView.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMTLVideoView.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaConstraints.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaSource.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaStream.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaStreamTrack.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMetricsSampleInfo.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCNSGLVideoView.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnection.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnectionFactory.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnectionFactoryOptions.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpCodecParameters.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpEncodingParameters.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpParameters.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpReceiver.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpSender.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCSessionDescription.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCapturer.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodec.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodecFactory.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodecH264.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoDecoderVP8.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoDecoderVP9.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoEncoderVP8.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoEncoderVP9.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoFrame.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoFrameBuffer.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoRenderer.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoSource.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoTrack.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoViewShading.h:
        - Apply two shell scripts (see bug) to add an attribute to
          change the name of all classes and protocols.

        * WebKit/0012-Add-WK-prefix-to-Objective-C-classes-and-protocols.patch: Add.

2018-07-13  David Kilzer  <ddkilzer@apple.com>

        REGRESSION (r233155): Remove last references to click_annotate.cc and rtpcat.cc

        * libwebrtc.xcodeproj/project.pbxproj: Let Xcode have its way
        with the project file by removing orphaned entries.

2018-07-13  David Kilzer  <ddkilzer@apple.com>

        REGRESSION (r222476): Add missing semi-colons to EXPORTED_SYMBOLS_FILE variables

        * Configurations/libwebrtc.xcconfig:
        (EXPORTED_SYMBOLS_FILE): Add missing semi-colons.

2018-07-06  Youenn Fablet  <youenn@apple.com>

        libWebRTC GetThreadCpuTimeNanos() leaks mach_ports
        https://bugs.webkit.org/show_bug.cgi?id=187403
        <rdar://problem/41741599>

        Reviewed by Simon Fraser.

        * Source/webrtc/rtc_base/cpu_time.cc: Call mach_port_deallocate to
        to ensure mach_port is deleted.
        * libwebrtc.xcodeproj/project.pbxproj: Stop compiling this file since
        this is not used except by libwebrtc tests.

2018-07-04  Thibault Saunier  <tsaunier@igalia.com>

        [libwebrtc] Allow IP mismatch for local connections on localhost
        https://bugs.webkit.org/show_bug.cgi?id=187302

        Reviewed by Youenn Fablet.

        The rest of the code allows it, but there was an unecessary assert

        * Source/webrtc/p2p/base/tcpport.cc:

2018-06-26  Yusuke Suzuki  <utatane.tea@gmail.com>

        [GTK][WPE] Remove gflags from libwebrtc build
        https://bugs.webkit.org/show_bug.cgi?id=187078

        Reviewed by Alejandro G. Castro.

        gflags is used only in libyuv unit tests. So the Apple ports do not build & link it.
        GTK and WPE can do the same thing: not building gflags. By doing so, we can achieve
        the following results.

        1. Remove static initializers defined for gflags.
        2. Reduce binary size.

        * CMakeLists.txt:

2018-06-25  Keith Rollin  <krollin@apple.com>

        Adjust webrtc library for LTO
        https://bugs.webkit.org/show_bug.cgi?id=186952
        <rdar://problem/41387815>

        Reviewed by Youenn Fablet.

        There are a number of files in webrtc that have main() functions (in
        particular, rtpcat.cc and click_annotate.cc). When compiling with LTO,
        these symbols are exposed to each other, leading to the following
        build failure:

            Ld libwebrtc.dylib
            duplicate symbol _main in:
            ld: 1 duplicate symbol for architecture x86_64
            clang: error: linker command failed with exit code 1 (use -v to see invocation)
            ** BUILD FAILED **

        Address this by removing the indicated files from the build.

        * libwebrtc.xcodeproj/project.pbxproj:

2018-06-14  Youenn Fablet  <youenn@apple.com>

        Activate -Wexit-time-destructors -and Wglobal-constructors in libwebrtc
        https://bugs.webkit.org/show_bug.cgi?id=186615

        Reviewed by Darin Adler.

        Update xcconfig files to activate these compile flags.
        Also enable -Wthread-safety since libwebrtc code is using some related attributes.
        Update libwebrtc code base to accomodate these flags.

        * Configurations/libwebrtc.xcconfig:
        * Configurations/opus.xcconfig:
        * Configurations/usrsctp.xcconfig:
        * Source/webrtc/modules/audio_processing/beamformer/array_util.h:
        (webrtc::DegreesToRadians): Make function constexpr.
        * Source/webrtc/modules/rtp_rtcp/source/rtp_utility.cc:
        Make sure the destructor is never called.
        * Source/webrtc/rtc_base/logging.cc:
        Update code to move streams_ from a static class member to a regular static function variable.
        * Source/webrtc/rtc_base/logging.h:
        * Source/webrtc/system_wrappers/source/clock.cc:
        Make sure the destructor is never called.

2018-06-14  Youenn Fablet  <youenn@apple.com>

        Eliminate static initializers in libwebrtc.dylib
        https://bugs.webkit.org/show_bug.cgi?id=186570
        <rdar://problem/41054874>

        Reviewed by Darin Adler.

        * Source/webrtc/rtc_base/flags.h:
        Fix memory corruption error by having the actual flag value be static.

2018-06-13  Youenn Fablet  <youenn@apple.com>

        Eliminate static initializers in libwebrtc.dylib
        https://bugs.webkit.org/show_bug.cgi?id=186570

        Reviewed by Darin Adler.

        * Source/webrtc/rtc_base/flags.h: Changed macro to create the static into a function.
        * Source/webrtc/rtc_base/logging.cc: Ditto.
        Made sure that the scope is created on instantiation of the first Log instance that might use it.
        * Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodec.mm:
        * Source/webrtc/system_wrappers/source/runtime_enabled_features_default.cc:

2018-06-09  Dan Bernstein  <mitz@apple.com>

        [Xcode] Clean up and modernize some build setting definitions
        https://bugs.webkit.org/show_bug.cgi?id=186463

        Reviewed by Sam Weinig.

        * Configurations/Base.xcconfig: Removed definition for macOS 10.11.
        * Configurations/DebugRelease.xcconfig: Ditto.
        * Configurations/Version.xcconfig: Removed definitions for macOS 10.10 and 10.11, and added
          definitions for later versions.
        * Configurations/WebKitTargetConditionals.xcconfig: Removed definitions for macOS 10.11.
        * Configurations/opus.xcconfig: Simplified the definition of SSE4_FLAG now that macOS 10.12
          is the earliest supported version.

2018-06-09  Dan Bernstein  <mitz@apple.com>

        Added missing file references to the Configuration group.

        * libwebrtc.xcodeproj/project.pbxproj:

2018-06-07  Darin Adler  <darin@apple.com>

        [Cocoa] Minor ARC tidying of libwebrtc
        https://bugs.webkit.org/show_bug.cgi?id=186396

        Reviewed by Dan Bernstein.

        * Configurations/Base.xcconfig: Set CLANG_ENABLE_OBJC_ARC here as we will eventually be
        doing in all the various Base.xcconfig files as we make progress on conversion.

        * Configurations/libwebrtc.xcconfig: Removed override of CLANG_ENABLE_OBJC_ARC here and
        also removed five other redundant settings that match Base.xcconfig.

        * libwebrtc.xcodeproj/project.pbxproj: Removed explicit -fobjc-arc that was set on
        one particular source file, since that's already the default for the project.

2018-06-04  Youenn Fablet  <youenn@apple.com>

        [WK1] Add an option to restrict communication to localhost sockets
        https://bugs.webkit.org/show_bug.cgi?id=186249

        Reviewed by Eric Carlson.

        Export new symbols used for WK1.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:

2018-05-31  David Kilzer  <ddkilzer@apple.com>

        Fix leak of AudioDeviceID array due to an early return in AudioDeviceMac::GetNumberDevices()
        <https://webkit.org/b/186152>
        <rdar://problem/40692824>

        Reviewed by Alex Christensen.

        * Source/webrtc/modules/audio_device/mac/audio_device_mac.cc:
        Use std::make_unique<> so that memory is allocated and
        deallocated automatically.  Remove manual calls to free().
        * WebKit/0011-Fix-AudioDeviceID-array-leak.patch: Add.

2018-05-30  David Kilzer  <ddkilzer@apple.com>

        Fix leak of a CVPixelBufferRef due to early rerturn in -[RTCVideoEncoderH264 encode:codecSpecificInfo:frameTypes:]
        <https://webkit.org/b/186114>
        <rdar://problem/40668097>

        Reviewed by Eric Carlson.

        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
        (-[RTCVideoEncoderH264 encode:codecSpecificInfo:frameTypes:]):
        Call CVBufferRelease(pixelBuffer) before early return to free
        it.
        * WebKit/0010-Fix-RTCVideoEncoderH264-CVPixelBuffer-leak.patch: Add.

2018-05-27  David Kilzer  <ddkilzer@apple.com>

        [iOS] Fix warnings about leaks found by clang static analyzer
        <https://webkit.org/b/186009>
        <rdar://problem/40574267>

        Reviewed by Daniel Bates.

        * Source/third_party/opus/src/src/opus_compare.c:
        * Source/third_party/opus/src/src/opus_demo.c:
        (main):
        - Free allocated memory on early returns.
        * Source/third_party/usrsctp/usrsctplib/user_mbuf.c:
        (clust_constructor_dup):
        (mb_ctor_clust):
        - Free allocated memory if `m` is NULL.
        * Source/third_party/usrsctp/usrsctplib/user_socket.c:
        (usrsctp_connect): Free `sa` memory if getsockaddr() returns an
        error, but still allocates memory for `sa`.
        * WebKit/patch-opus.diff: Add patch for opus changes.
        * WebKit/patch-usrsctp: Rename empty file to patch-usrsctp.diff.
        * WebKit/patch-usrsctp.diff: Add patch for usrsctp changes.
        * libwebrtc.xcodeproj/project.pbxproj: Remove opus_compare.c,
        opus_demo.c, and repacketizer_demo.c from opus target.  This
        code is for stand-alone tools, and although it may be removed
        during dead code linking, we don't need to spend time compiling
        it.

2018-05-07  Youenn Fablet  <youenn@apple.com>

        Activate ARC for libwebrtc Objective C files
        https://bugs.webkit.org/show_bug.cgi?id=185324

        Reviewed by David Kilzer.

        Revert changes made to libwebrtc to accomodate from not using ARC.
        Use ARC for all libwebrtc objective C files.

        Remove no longer needed export symbols and stop compiling the related files.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:
        * Configurations/libwebrtc.xcconfig:
        * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
        * Source/webrtc/sdk/objc/Framework/Classes/Video/RTCCVPixelBuffer.mm:
        (-[RTCCVPixelBuffer dealloc]):
        * Source/webrtc/sdk/objc/Framework/Classes/Video/objc_frame_buffer.mm:
        (webrtc::ObjCFrameBuffer::~ObjCFrameBuffer):
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoDecoderH264.mm:
        (-[RTCVideoDecoderH264 dealloc]):
        (-[RTCVideoDecoderH264 setCallback:]):
        (-[RTCVideoDecoderH264 releaseDecoder]):
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
        (-[RTCVideoEncoderH264 dealloc]):
        (-[RTCVideoEncoderH264 setCallback:]):
        (-[RTCVideoEncoderH264 releaseEncoder]):
        * libwebrtc.xcodeproj/project.pbxproj:

2018-05-02  Youenn Fablet  <youenn@apple.com>

        Disable VCP for iOS until it is fully working
        https://bugs.webkit.org/show_bug.cgi?id=185201
        <rdar://problem/39773857>

        Reviewed by Eric Carlson.

        Disable VCP for iOS unconditionally.
        Add check to getkVTVideoEncoderSpecification_Usage to not set this property if not defined as it is optional soft linked.
        Replace use of VTSessionSetProperty by CompressionSessionSetProperty as the latter is a macro
        that works for both VT and VCP.

        * Source/webrtc/sdk/WebKit/EncoderUtilities.h:
        * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
        (-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
        (-[RTCVideoEncoderH264 configureCompressionSession]):
        (-[RTCVideoEncoderH264 setEncoderBitrateBps:]):
        (-[RTCVideoEncoderH264 frameWasEncoded:flags:sampleBuffer:codecSpecificInfo:width:height:renderTimeMs:timestamp:rotation:]):
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/helpers.cc:
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/helpers.h:

2018-04-30  Youenn Fablet  <youenn@apple.com>

        Mandate H264 hardware encoder for Mac in libwebrtc
        https://bugs.webkit.org/show_bug.cgi?id=184835

        Reviewed by Eric Carlson.

        Tested manually through console traces that hardware VCP encoder code path is actually used instead of software VCP encoder code path.

        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
        (-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
        * WebKit/0001-Update-RTCVideoEncoderH264.mm-for-WebKit.patch: Added to cover this change and changes made in bug 184668 and 183961.

2018-04-20  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r230862.
        https://bugs.webkit.org/show_bug.cgi?id=184855

        it is making some tests to time out on bots (Requested by
        youenn on #webkit).

        Reverted changeset:

        "Mandate H264 hardware encoder for Mac in libwebrtc"
        https://bugs.webkit.org/show_bug.cgi?id=184835
        https://trac.webkit.org/changeset/230862

2018-04-20  Youenn Fablet  <youenn@apple.com>

        Mandate H264 hardware encoder for Mac in libwebrtc
        https://bugs.webkit.org/show_bug.cgi?id=184835

        Reviewed by Eric Carlson.

        Tested manually through console traces that hardware VCP encoder code path is actually used instead of software VCP encoder code path.

        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
        (-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
        * WebKit/0001-Update-RTCVideoEncoderH264.mm-for-WebKit.patch: Added to cover this change and changes made in bug 184668 and 183961.

2018-04-19  David Kilzer  <ddkilzer@apple.com>

        Enable Objective-C weak references
        <https://webkit.org/b/184789>
        <rdar://problem/39571716>

        Reviewed by Dan Bernstein.

        * Configurations/Base.xcconfig:
        (CLANG_ENABLE_OBJC_WEAK): Enable.

2018-04-16  Youenn Fablet  <youenn@apple.com>

        Set H264 VT encoder usage to 1
        https://bugs.webkit.org/show_bug.cgi?id=184668

        Reviewed by Eric Carlson.

        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
        (-[RTCVideoEncoderH264 configureCompressionSession]):

2018-04-10  Youenn Fablet  <youenn@apple.com>

        webrtc/datachannel/basic-tcp.html will crash with an invalid crash
        https://bugs.webkit.org/show_bug.cgi?id=178285
        <rdar://problem/34985374>

        Reviewed by Eric Carlson.

        Disable SIGPIPE for WebRTC sockets on Mac as well.

        * Source/webrtc/rtc_base/physicalsocketserver.cc:
        * WebKit/0001-Disable-SIGPIPE-for-WebRTC-sockets.patch: Added.

2018-04-09  Youenn Fablet  <youenn@apple.com>

        Use special software encoder mode in case there is no VCP not hardware encoder
        https://bugs.webkit.org/show_bug.cgi?id=183961

        Reviewed by Eric Carlson.

        In case a compression session is not using a hardware encoder and VCP is not active
        use a specific mode if the resolution is standard.

        * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.cpp:
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:

2018-04-05  Alejandro G. Castro  <alex@igalia.com>

        [GTK] Add CMake package search for vpx and libevent libraries
        https://bugs.webkit.org/show_bug.cgi?id=184257

        Reviewed by Michael Catanzaro.

        Add new cmake search files for libevent, vpx and alsa-lib, this
        makes a cleaner detection of the libraries.

        * CMakeLists.txt: Use the new cmake find files to detect the
        package and add a better error message when the library is not
        there.
        * Source/cmake/FindAlsaLib.cmake: Added.
        * Source/cmake/FindLibEvent.cmake: Added.
        * Source/cmake/FindVpx.cmake: Added.

2018-04-03  Youenn Fablet  <youenn@apple.com>

        RealtimeOutgoingVideoSourceMac should pass a ObjCFrameBuffer buffer
        https://bugs.webkit.org/show_bug.cgi?id=184281
        rdar://problem/39153262

        Reviewed by Jer Noble.

        Introduce a routine to create the wrapper around native pixel buffers as expected by the new libwebrtc H264 encoder.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:
        * Source/webrtc/sdk/WebKit/WebKitUtilities.h:
        * Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
        (webrtc::pixelBufferToFrame):

2018-04-02  Alejandro G. Castro  <alex@igalia.com>

        Unreviewed fixing GTK port X86 32bits compilation after r230152.

        * CMakeLists.txt:

2018-04-02  Alejandro G. Castro  <alex@igalia.com>

        Unreviewed fixing GTK port ARM compilation after r230152.

        * CMakeLists.txt: Properly avoid SSE implementations for ARM.

2018-04-02  Alejandro G. Castro  <alex@igalia.com>

        [GTK] Make libwebrtc backend buildable for GTK  port
        https://bugs.webkit.org/show_bug.cgi?id=178860

        Reviewed by Youenn Fablet.

        Modified the cmake file and added some assembly code to the
        boringssl compilation required for the linux compilation generated
        by libwebrtc.

        * CMakeLists.txt: This cmake file was unused so we have modified
        it completely to make it work for our port. It was originally
        generated from the libwebrtc json file but not anymore. We could
        change its structure at some point but current one seems a good
        option for the moment.
        * Source/webrtc/base/task_queue_libevent.cc: We use system
        libevent for the moment so we needed to adapt the includes in this file.
        * Source/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc:
        Readded lines removed by mistake in a previous commit.

2018-03-26  Youenn Fablet  <youennf@gmail.com>

        Make VCP encoder usage conditional on using internal SDK
        https://bugs.webkit.org/show_bug.cgi?id=184009

        Reviewed by Eric Carlson.

        * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:

2018-03-23  Youenn Fablet  <youenn@apple.com>

        Add support for VCP encoder on MacOS and iOS
        Build fix.

        Unreviewed.

        * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.cpp:

2018-03-23  Youenn Fablet  <youenn@apple.com>

        Add support for VCP encoder on MacOS and iOS
        https://bugs.webkit.org/show_bug.cgi?id=183924

        Reviewed by Eric Carlson.

        Soft-Link VideoProcessing functions and use them in H264 encoder.
        This is conditional on recent MacOS and iOS platforms.

        * Source/webrtc/sdk/WebKit/EncoderUtilities.h: Added.
        * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.cpp: Added.
        * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h: Added.
        * Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
        (webrtc::createVideoToolboxEncoderFactory):
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
        (-[RTCVideoEncoderH264 encode:codecSpecificInfo:frameTypes:]):
        (-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
        (-[RTCVideoEncoderH264 destroyCompressionSession]):
        * WebKit/0001-Using-VCP.patch: Added.
        * libwebrtc.xcodeproj/project.pbxproj:

2018-03-23  David Kilzer  <ddkilzer@apple.com>

        Stop using dispatch_set_target_queue()
        <https://webkit.org/b/183908>
        <rdar://problem/33553533>

        Reviewed by Daniel Bates.

        * Source/webrtc/rtc_base/task_queue_gcd.cc: Remove use of
        dispatch_set_target_queue() by changing dispatch_queue_create()
        to dispatch_queue_create_with_target().
        * WebKit/0009-Remove-dispatch_set_target_queue.patch: Add patch.
        Filed this to track upstreaming the change:
        <https://bugs.chromium.org/p/webrtc/issues/detail?id=9055>
        * WebKit/patch-libwebrtc: Delete empty patch file.

2018-03-23  Youenn Fablet  <youenn@apple.com>

        Use libwebrtc ObjectiveC H264 encoder and decoder
        https://bugs.webkit.org/show_bug.cgi?id=183912

        Reviewed by Eric Carlson.

        Add utilities inside libwebrtc to be used by WebKit:
        - Create ObjectiveC encoder/decoder factories
        - Notify of application status to invalidate encoders/decoders when in background
        Implement RTCUIApplicationStatusObserver as a simple boolean that is set by WebCore.
        This allows limiting the changes made to libwebrtc codec implementations.

        Minor modifications done to libwebrtc to fix compilation.
        Add Block_copy/Block_release to codec callbacks.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:
        * Source/webrtc/sdk/WebKit/WebKitUtilities.h: Added.
        * Source/webrtc/sdk/WebKit/WebKitUtilities.mm: Added.
        (+[RTCUIApplicationStatusObserver sharedInstance]):
        (+[RTCUIApplicationStatusObserver prepareForUse]):
        (-[RTCUIApplicationStatusObserver setActive]):
        (-[RTCUIApplicationStatusObserver setInactive]):
        (-[RTCUIApplicationStatusObserver isApplicationActive]):
        (webrtc::setApplicationStatus):
        (webrtc::createVideoToolboxEncoderFactory):
        (webrtc::createVideoToolboxDecoderFactory):
        (webrtc::setH264HardwareEncoderAllowed):
        (webrtc::isH264HardwareEncoderAllowed):
        (webrtc::pixelBufferFromFrame):
        * Source/webrtc/sdk/objc/Framework/Classes/Video/RTCCVPixelBuffer.mm:
        (-[RTCCVPixelBuffer dealloc]):
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoDecoderH264.mm:
        (-[RTCVideoDecoderH264 dealloc]):
        (-[RTCVideoDecoderH264 setCallback:]):
        (-[RTCVideoDecoderH264 releaseDecoder]):
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
        (-[RTCVideoEncoderH264 dealloc]):
        (-[RTCVideoEncoderH264 setCallback:]):
        (-[RTCVideoEncoderH264 releaseEncoder]):
        (-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
        * WebKit/0001-Adapting-libwebrtc-H264-codec.patch: Added.
        * libwebrtc.xcodeproj/project.pbxproj:

2018-03-22  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r229876.
        https://bugs.webkit.org/show_bug.cgi?id=183929

        Some webrtc tests are timing out on iOS simulator (Requested
        by youenn on #webkit).

        Reverted changeset:

        "Use libwebrtc ObjectiveC H264 encoder and decoder"
        https://bugs.webkit.org/show_bug.cgi?id=183912
        https://trac.webkit.org/changeset/229876

2018-03-22  Youenn Fablet  <youenn@apple.com>

        Use libwebrtc ObjectiveC H264 encoder and decoder
        https://bugs.webkit.org/show_bug.cgi?id=183912

        Reviewed by Eric Carlson.

        Add utilities inside libwebrtc to be used by WebKit:
        - Create ObjectiveC encoder/decoder factories
        - Notify of application status to invalidate encoders/decoders when in background
        Implement RTCUIApplicationStatusObserver as a simple boolean that is set by WebCore.
        This allows limiting the changes made to libwebrtc codec implementations.

        Minor modifications done to libwebrtc to fix compilation.
        Add Block_copy/Block_release to codec callbacks.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:
        * Source/webrtc/sdk/WebKit/WebKitUtilities.h: Added.
        * Source/webrtc/sdk/WebKit/WebKitUtilities.mm: Added.
        (+[RTCUIApplicationStatusObserver sharedInstance]):
        (+[RTCUIApplicationStatusObserver prepareForUse]):
        (-[RTCUIApplicationStatusObserver setActive]):
        (-[RTCUIApplicationStatusObserver setInactive]):
        (-[RTCUIApplicationStatusObserver isApplicationActive]):
        (webrtc::setApplicationStatus):
        (webrtc::createVideoToolboxEncoderFactory):
        (webrtc::createVideoToolboxDecoderFactory):
        (webrtc::setH264HardwareEncoderAllowed):
        (webrtc::isH264HardwareEncoderAllowed):
        (webrtc::pixelBufferFromFrame):
        * Source/webrtc/sdk/objc/Framework/Classes/Video/RTCCVPixelBuffer.mm:
        (-[RTCCVPixelBuffer dealloc]):
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoDecoderH264.mm:
        (-[RTCVideoDecoderH264 dealloc]):
        (-[RTCVideoDecoderH264 setCallback:]):
        (-[RTCVideoDecoderH264 releaseDecoder]):
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
        (-[RTCVideoEncoderH264 dealloc]):
        (-[RTCVideoEncoderH264 setCallback:]):
        (-[RTCVideoEncoderH264 releaseEncoder]):
        (-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
        * WebKit/0001-Adapting-libwebrtc-H264-codec.patch: Added.
        * libwebrtc.xcodeproj/project.pbxproj:

2018-03-14  Youenn Fablet  <youenn@apple.com>

        Update libwebrtc up to 36af4e9614f707f733eb2340fae66d6325aaac5b
        https://bugs.webkit.org/show_bug.cgi?id=183481

        Reviewed by Eric Carlson.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:
        * Source/webrtc/: refreshed
        * libwebrtc.xcodeproj/project.pbxproj:

2018-03-12  Tim Horton  <timothy_horton@apple.com>

        Stop using SDK conditionals to control feature definitions
        https://bugs.webkit.org/show_bug.cgi?id=183430
        <rdar://problem/38251619>

        Reviewed by Dan Bernstein.

        * Configurations/WebKitTargetConditionals.xcconfig: Renamed.
        * Configurations/opus.xcconfig:

2018-03-12  Youenn Fablet  <youenn@apple.com>

        Remove empty cpp files in Source/ThirdParty/libwebrtc
        https://bugs.webkit.org/show_bug.cgi?id=183529

        Unreviewed.
        Removing further empty files.

        * Source/webrtc/modules/audio_conference_mixer/BUILD.gn: Removed.
        * Source/webrtc/modules/audio_conference_mixer/DEPS: Removed.
        * Source/webrtc/modules/audio_conference_mixer/OWNERS: Removed.
        * Source/webrtc/modules/video_coding/codecs/OWNERS: Removed.
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/decoder.mm: Removed.
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.mm: Removed.
        * Source/webrtc/sdk/objc/Framework/UnitTests/RTCMTLVideoViewTests.mm: Removed.

2018-03-12  youenn fablet  <youenn@apple.com>

        Remove empty cpp files in Source/ThirdParty/libwebrtc
        https://bugs.webkit.org/show_bug.cgi?id=183529

        Unreviewed.

        * libwebrtc.xcodeproj/project.pbxproj: fix the build.

2018-03-09  Youenn Fablet  <youenn@apple.com>

        Remove empty cpp files in Source/ThirdParty/libwebrtc
        https://bugs.webkit.org/show_bug.cgi?id=183529

        Reviewed by Eric Carlson.

        * Source/third_party/boringssl/boringssl_unittest.cc: Removed.
        * Source/third_party/boringssl/src/ssl/ssl_privkey_cc.cc: Removed.
        * Source/webrtc/common_audio/fir_filter.cc: Removed.
        * Source/webrtc/config.cc: Removed.
        * Source/webrtc/logging/rtc_event_log/rtc_event_log_helper_thread.cc: Removed.
        * Source/webrtc/modules/audio_coding/audio_network_adaptor/audio_network_adaptor.cc: Removed.
        * Source/webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory_internal.cc: Removed.
        * Source/webrtc/modules/audio_coding/codecs/builtin_audio_encoder_factory_internal.cc: Removed.
        * Source/webrtc/modules/audio_coding/codecs/ilbc/test/empty.cc: Removed.
        * Source/webrtc/modules/audio_coding/codecs/isac/empty.cc: Removed.
        * Source/webrtc/modules/audio_coding/neteq/audio_decoder_impl.cc: Removed.
        * Source/webrtc/modules/audio_coding/neteq/test/NETEQTEST_DummyRTPpacket.cc: Removed.
        * Source/webrtc/modules/audio_coding/neteq/test/NETEQTEST_RTPpacket.cc: Removed.
        * Source/webrtc/modules/audio_coding/neteq/test/RTPchange.cc: Removed.
        * Source/webrtc/modules/audio_coding/neteq/test/RTPencode.cc: Removed.
        * Source/webrtc/modules/audio_coding/neteq/test/RTPjitter.cc: Removed.
        * Source/webrtc/modules/audio_coding/neteq/test/RTPtimeshift.cc: Removed.
        * Source/webrtc/modules/audio_conference_mixer/source/audio_conference_mixer_impl.cc: Removed.
        * Source/webrtc/modules/audio_conference_mixer/source/audio_frame_manipulator.cc: Removed.
        * Source/webrtc/modules/audio_conference_mixer/source/time_scheduler.cc: Removed.
        * Source/webrtc/modules/audio_conference_mixer/test/audio_conference_mixer_unittest.cc: Removed.
        * Source/webrtc/modules/audio_device/test/audio_device_test_api.cc: Removed.
        * Source/webrtc/modules/audio_processing/aec3/decimator_by_4.cc: Removed.
        * Source/webrtc/modules/audio_processing/aec3/decimator_by_4_unittest.cc: Removed.
        * Source/webrtc/modules/audio_processing/agc2/digital_gain_applier.cc: Removed.
        * Source/webrtc/modules/audio_processing/residual_echo_detector_complexity_unittest.cc: Removed.
        * Source/webrtc/modules/congestion_controller/acknowledge_bitrate_estimator.cc: Removed.
        * Source/webrtc/modules/congestion_controller/congestion_controller.cc: Removed.
        * Source/webrtc/modules/congestion_controller/congestion_controller_unittest.cc: Removed.
        * Source/webrtc/modules/desktop_capture/resolution_change_detector.cc: Removed.
        * Source/webrtc/modules/video_coding/codecs/test/plot_videoprocessor_integrationtest.cc: Removed.
        * Source/webrtc/modules/video_coding/codecs/test/predictive_packet_manipulator.cc: Removed.
        * Source/webrtc/modules/video_coding/codecs/tools/video_quality_measurement.cc: Removed.
        * Source/webrtc/modules/video_coding/sequence_number_util_unittest.cc: Removed.
        * Source/webrtc/p2p/base/dtlstransportchannel.cc: Removed.
        * Source/webrtc/p2p/base/dtlstransportchannel_unittest.cc: Removed.
        * Source/webrtc/p2p/base/transportcontroller.cc: Removed.
        * Source/webrtc/p2p/base/transportcontroller_unittest.cc: Removed.
        * Source/webrtc/p2p/quic/quicconnectionhelper.cc: Removed.
        * Source/webrtc/p2p/quic/quicconnectionhelper_unittest.cc: Removed.
        * Source/webrtc/p2p/quic/quicsession.cc: Removed.
        * Source/webrtc/p2p/quic/quicsession_unittest.cc: Removed.
        * Source/webrtc/p2p/quic/quictransport.cc: Removed.
        * Source/webrtc/p2p/quic/quictransport_unittest.cc: Removed.
        * Source/webrtc/p2p/quic/quictransportchannel.cc: Removed.
        * Source/webrtc/p2p/quic/quictransportchannel_unittest.cc: Removed.
        * Source/webrtc/p2p/quic/reliablequicstream.cc: Removed.
        * Source/webrtc/p2p/quic/reliablequicstream_unittest.cc: Removed.
        * Source/webrtc/pc/quicdatachannel.cc: Removed.
        * Source/webrtc/pc/quicdatachannel_unittest.cc: Removed.
        * Source/webrtc/pc/quicdatatransport.cc: Removed.
        * Source/webrtc/pc/quicdatatransport_unittest.cc: Removed.
        * Source/webrtc/pc/webrtcsession.cc: Removed.
        * Source/webrtc/pc/webrtcsession_unittest.cc: Removed.
        * Source/webrtc/sdk/android/src/jni/androidnetworkmonitor_jni.cc: Removed.
        * Source/webrtc/sdk/android/src/jni/audio_jni.cc: Removed.
        * Source/webrtc/sdk/android/src/jni/filevideocapturer_jni.cc: Removed.
        * Source/webrtc/sdk/android/src/jni/media_jni.cc: Removed.
        * Source/webrtc/sdk/android/src/jni/native_handle_impl.cc: Removed.
        * Source/webrtc/sdk/android/src/jni/null_audio_jni.cc: Removed.
        * Source/webrtc/sdk/android/src/jni/null_media_jni.cc: Removed.
        * Source/webrtc/sdk/android/src/jni/null_video_jni.cc: Removed.
        * Source/webrtc/sdk/android/src/jni/ownedfactoryandthreads.cc: Removed.
        * Source/webrtc/sdk/android/src/jni/peerconnection_jni.cc: Removed.
        * Source/webrtc/sdk/android/src/jni/rtcstatscollectorcallbackwrapper.cc: Removed.
        * Source/webrtc/sdk/android/src/jni/video_jni.cc: Removed.
        * Source/webrtc/system_wrappers/source/atomic32_darwin.cc: Removed.
        * Source/webrtc/system_wrappers/source/atomic32_non_darwin_unix.cc: Removed.
        * Source/webrtc/system_wrappers/source/atomic32_win.cc: Removed.
        * Source/webrtc/system_wrappers/source/logcat_trace_context.cc: Removed.
        * Source/webrtc/system_wrappers/source/trace_impl.cc: Removed.
        * Source/webrtc/system_wrappers/source/trace_posix.cc: Removed.
        * Source/webrtc/system_wrappers/source/trace_win.cc: Removed.
        * Source/webrtc/test/testsupport/isolated_output.cc: Removed.
        * Source/webrtc/test/testsupport/isolated_output_unittest.cc: Removed.
        * Source/webrtc/test/testsupport/trace_to_stderr.cc: Removed.
        * Source/webrtc/tools/agc/activity_metric.cc: Removed.
        * Source/webrtc/tools/converter/converter.cc: Removed.
        * Source/webrtc/tools/converter/rgba_to_i420_converter.cc: Removed.
        * Source/webrtc/tools/event_log_visualizer/analyzer.cc: Removed.
        * Source/webrtc/tools/event_log_visualizer/main.cc: Removed.
        * Source/webrtc/tools/event_log_visualizer/plot_base.cc: Removed.
        * Source/webrtc/tools/event_log_visualizer/plot_protobuf.cc: Removed.
        * Source/webrtc/tools/event_log_visualizer/plot_python.cc: Removed.
        * Source/webrtc/tools/force_mic_volume_max/force_mic_volume_max.cc: Removed.
        * Source/webrtc/tools/frame_analyzer/frame_analyzer.cc: Removed.
        * Source/webrtc/tools/frame_analyzer/reference_less_video_analysis.cc: Removed.
        * Source/webrtc/tools/frame_analyzer/reference_less_video_analysis_lib.cc: Removed.
        * Source/webrtc/tools/frame_analyzer/reference_less_video_analysis_unittest.cc: Removed.
        * Source/webrtc/tools/frame_analyzer/video_quality_analysis.cc: Removed.
        * Source/webrtc/tools/frame_analyzer/video_quality_analysis_unittest.cc: Removed.
        * Source/webrtc/tools/frame_editing/frame_editing.cc: Removed.
        * Source/webrtc/tools/frame_editing/frame_editing_lib.cc: Removed.
        * Source/webrtc/tools/frame_editing/frame_editing_unittest.cc: Removed.
        * Source/webrtc/tools/network_tester/config_reader.cc: Removed.
        * Source/webrtc/tools/network_tester/network_tester_unittest.cc: Removed.
        * Source/webrtc/tools/network_tester/packet_logger.cc: Removed.
        * Source/webrtc/tools/network_tester/packet_sender.cc: Removed.
        * Source/webrtc/tools/network_tester/server.cc: Removed.
        * Source/webrtc/tools/network_tester/test_controller.cc: Removed.
        * Source/webrtc/tools/psnr_ssim_analyzer/psnr_ssim_analyzer.cc: Removed.
        * Source/webrtc/tools/simple_command_line_parser.cc: Removed.
        * Source/webrtc/tools/simple_command_line_parser_unittest.cc: Removed.
        * Source/webrtc/video/vie_encoder.cc: Removed.
        * Source/webrtc/video/vie_encoder_unittest.cc: Removed.
        * Source/webrtc/voice_engine/coder.cc: Removed.
        * Source/webrtc/voice_engine/file_player.cc: Removed.
        * Source/webrtc/voice_engine/file_player_unittests.cc: Removed.
        * Source/webrtc/voice_engine/file_recorder.cc: Removed.
        * Source/webrtc/voice_engine/output_mixer.cc: Removed.
        * Source/webrtc/voice_engine/statistics.cc: Removed.
        * Source/webrtc/voice_engine/test/auto_test/automated_mode.cc: Removed.
        * Source/webrtc/voice_engine/test/auto_test/fakes/conference_transport.cc: Removed.
        * Source/webrtc/voice_engine/test/auto_test/fakes/loudest_filter.cc: Removed.
        * Source/webrtc/voice_engine/test/auto_test/fixtures/after_initialization_fixture.cc: Removed.
        * Source/webrtc/voice_engine/test/auto_test/fixtures/after_streaming_fixture.cc: Removed.
        * Source/webrtc/voice_engine/test/auto_test/fixtures/before_initialization_fixture.cc: Removed.
        * Source/webrtc/voice_engine/test/auto_test/fixtures/before_streaming_fixture.cc: Removed.
        * Source/webrtc/voice_engine/test/auto_test/standard/codec_before_streaming_test.cc: Removed.
        * Source/webrtc/voice_engine/test/auto_test/standard/codec_test.cc: Removed.
        * Source/webrtc/voice_engine/test/auto_test/standard/dtmf_test.cc: Removed.
        * Source/webrtc/voice_engine/test/auto_test/standard/rtp_rtcp_before_streaming_test.cc: Removed.
        * Source/webrtc/voice_engine/test/auto_test/standard/rtp_rtcp_extensions.cc: Removed.
        * Source/webrtc/voice_engine/test/auto_test/standard/rtp_rtcp_test.cc: Removed.
        * Source/webrtc/voice_engine/test/auto_test/voe_conference_test.cc: Removed.
        * Source/webrtc/voice_engine/test/auto_test/voe_standard_test.cc: Removed.
        * Source/webrtc/voice_engine/voe_codec_impl.cc: Removed.
        * Source/webrtc/voice_engine/voe_codec_unittest.cc: Removed.
        * Source/webrtc/voice_engine/voe_file_impl.cc: Removed.
        * Source/webrtc/voice_engine/voe_network_impl.cc: Removed.
        * Source/webrtc/voice_engine/voe_network_unittest.cc: Removed.
        * Source/webrtc/voice_engine/voe_rtp_rtcp_impl.cc: Removed.
        * Source/webrtc/voice_engine/voice_engine_fixture.cc: Removed.

2018-03-07  Youenn Fablet  <youenn@apple.com>

        Update to libwebrtc revision 4e70a72571dd26b85c2385e9c618e343428df5d3
        https://bugs.webkit.org/show_bug.cgi?id=180843

        Unreviewed.
        Removed empty unused files.

        * Source/webrtc/audio/test/low_bandwidth_audio_test.h: Removed.
        * Source/webrtc/config.h: Removed.
        * Source/webrtc/logging/rtc_event_log/rtc_event_log_helper_thread.h: Removed.
        * Source/webrtc/media/engine/webrtccommon.h: Removed.
        * Source/webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory_internal.h: Removed.
        * Source/webrtc/modules/audio_coding/codecs/builtin_audio_encoder_factory_internal.h: Removed.
        * Source/webrtc/modules/audio_coding/neteq/audio_decoder_impl.h: Removed.
        * Source/webrtc/modules/audio_coding/neteq/test/NETEQTEST_DummyRTPpacket.h: Removed.
        * Source/webrtc/modules/audio_coding/neteq/test/NETEQTEST_RTPpacket.h: Removed.
        * Source/webrtc/modules/audio_coding/neteq/test/PayloadTypes.h: Removed.
        * Source/webrtc/modules/audio_conference_mixer/include/audio_conference_mixer.h: Removed.
        * Source/webrtc/modules/audio_conference_mixer/include/audio_conference_mixer_defines.h: Removed.
        * Source/webrtc/modules/audio_conference_mixer/source/audio_conference_mixer_impl.h: Removed.
        * Source/webrtc/modules/audio_conference_mixer/source/audio_frame_manipulator.h: Removed.
        * Source/webrtc/modules/audio_conference_mixer/source/memory_pool.h: Removed.
        * Source/webrtc/modules/audio_conference_mixer/source/memory_pool_posix.h: Removed.
        * Source/webrtc/modules/audio_conference_mixer/source/memory_pool_win.h: Removed.
        * Source/webrtc/modules/audio_conference_mixer/source/time_scheduler.h: Removed.
        * Source/webrtc/modules/audio_device/test/audio_device_test_defines.h: Removed.
        * Source/webrtc/modules/audio_processing/aec3/decimator_by_4.h: Removed.
        * Source/webrtc/modules/audio_processing/agc2/digital_gain_applier.h: Removed.
        * Source/webrtc/modules/congestion_controller/acknowledge_bitrate_estimator.h: Removed.
        * Source/webrtc/modules/congestion_controller/include/congestion_controller.h: Removed.
        * Source/webrtc/modules/desktop_capture/resolution_change_detector.h: Removed.
        * Source/webrtc/modules/remote_bitrate_estimator/include/mock/mock_remote_bitrate_observer.h: Removed.
        * Source/webrtc/modules/video_coding/codecs/test/predictive_packet_manipulator.h: Removed.
        * Source/webrtc/modules/video_coding/sequence_number_util.h: Removed.
        * Source/webrtc/p2p/base/candidate.h: Removed.
        * Source/webrtc/p2p/base/dtlstransportchannel.h: Removed.
        * Source/webrtc/p2p/base/faketransportcontroller.h: Removed.
        * Source/webrtc/p2p/base/transportcontroller.h: Removed.
        * Source/webrtc/p2p/quic/quicconnectionhelper.h: Removed.
        * Source/webrtc/p2p/quic/quicsession.h: Removed.
        * Source/webrtc/p2p/quic/quictransport.h: Removed.
        * Source/webrtc/p2p/quic/quictransportchannel.h: Removed.
        * Source/webrtc/p2p/quic/reliablequicstream.h: Removed.
        * Source/webrtc/pc/quicdatachannel.h: Removed.
        * Source/webrtc/pc/quicdatatransport.h: Removed.
        * Source/webrtc/pc/test/mock_webrtcsession.h: Removed.
        * Source/webrtc/pc/webrtcsession.h: Removed.
        * Source/webrtc/sdk/android/src/jni/audio_jni.h: Removed.
        * Source/webrtc/sdk/android/src/jni/media_jni.h: Removed.
        * Source/webrtc/sdk/android/src/jni/native_handle_impl.h: Removed.
        * Source/webrtc/sdk/android/src/jni/ownedfactoryandthreads.h: Removed.
        * Source/webrtc/sdk/android/src/jni/rtcstatscollectorcallbackwrapper.h: Removed.
        * Source/webrtc/sdk/android/src/jni/video_jni.h: Removed.
        * Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCFileVideoCapturer.h: Removed.
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/decoder.h: Removed.
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.h: Removed.
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/videocodecfactory.h: Removed.
        * Source/webrtc/system_wrappers/include/fix_interlocked_exchange_pointer_win.h: Removed.
        * Source/webrtc/system_wrappers/include/logcat_trace_context.h: Removed.
        * Source/webrtc/system_wrappers/include/static_instance.h: Removed.
        * Source/webrtc/system_wrappers/include/trace.h: Removed.
        * Source/webrtc/system_wrappers/source/trace_impl.h: Removed.
        * Source/webrtc/system_wrappers/source/trace_posix.h: Removed.
        * Source/webrtc/system_wrappers/source/trace_win.h: Removed.
        * Source/webrtc/test/testsupport/isolated_output.h: Removed.
        * Source/webrtc/test/testsupport/mock/mock_frame_writer.h: Removed.
        * Source/webrtc/test/testsupport/trace_to_stderr.h: Removed.
        * Source/webrtc/tools/converter/converter.h: Removed.
        * Source/webrtc/tools/event_log_visualizer/analyzer.h: Removed.
        * Source/webrtc/tools/event_log_visualizer/plot_base.h: Removed.
        * Source/webrtc/tools/event_log_visualizer/plot_protobuf.h: Removed.
        * Source/webrtc/tools/event_log_visualizer/plot_python.h: Removed.
        * Source/webrtc/tools/frame_analyzer/reference_less_video_analysis_lib.h: Removed.
        * Source/webrtc/tools/frame_analyzer/video_quality_analysis.h: Removed.
        * Source/webrtc/tools/frame_editing/frame_editing_lib.h: Removed.
        * Source/webrtc/tools/network_tester/config_reader.h: Removed.
        * Source/webrtc/tools/network_tester/packet_logger.h: Removed.
        * Source/webrtc/tools/network_tester/packet_sender.h: Removed.
        * Source/webrtc/tools/network_tester/test_controller.h: Removed.
        * Source/webrtc/tools/simple_command_line_parser.h: Removed.
        * Source/webrtc/video/vie_encoder.h: Removed.
        * Source/webrtc/video_receive_stream.h: Removed.
        * Source/webrtc/video_send_stream.h: Removed.
        * Source/webrtc/voice_engine/coder.h: Removed.
        * Source/webrtc/voice_engine/file_player.h: Removed.
        * Source/webrtc/voice_engine/file_recorder.h: Removed.
        * Source/webrtc/voice_engine/include/voe_codec.h: Removed.
        * Source/webrtc/voice_engine/include/voe_file.h: Removed.
        * Source/webrtc/voice_engine/include/voe_network.h: Removed.
        * Source/webrtc/voice_engine/include/voe_rtp_rtcp.h: Removed.
        * Source/webrtc/voice_engine/mock/mock_voe_observer.h: Removed.
        * Source/webrtc/voice_engine/monitor_module.h: Removed.
        * Source/webrtc/voice_engine/output_mixer.h: Removed.
        * Source/webrtc/voice_engine/statistics.h: Removed.
        * Source/webrtc/voice_engine/test/auto_test/automated_mode.h: Removed.
        * Source/webrtc/voice_engine/test/auto_test/fakes/conference_transport.h: Removed.
        * Source/webrtc/voice_engine/test/auto_test/fakes/loudest_filter.h: Removed.
        * Source/webrtc/voice_engine/test/auto_test/fixtures/after_initialization_fixture.h: Removed.
        * Source/webrtc/voice_engine/test/auto_test/fixtures/after_streaming_fixture.h: Removed.
        * Source/webrtc/voice_engine/test/auto_test/fixtures/before_initialization_fixture.h: Removed.
        * Source/webrtc/voice_engine/test/auto_test/fixtures/before_streaming_fixture.h: Removed.
        * Source/webrtc/voice_engine/test/auto_test/voe_standard_test.h: Removed.
        * Source/webrtc/voice_engine/test/auto_test/voe_test_common.h: Removed.
        * Source/webrtc/voice_engine/test/auto_test/voe_test_defines.h: Removed.
        * Source/webrtc/voice_engine/voe_codec_impl.h: Removed.
        * Source/webrtc/voice_engine/voe_file_impl.h: Removed.
        * Source/webrtc/voice_engine/voe_network_impl.h: Removed.
        * Source/webrtc/voice_engine/voe_rtp_rtcp_impl.h: Removed.
        * Source/webrtc/voice_engine/voice_engine_fixture.h: Removed.

2018-03-07  Youenn Fablet  <youenn@apple.com>

        Update to libwebrtc revision 4e70a72571dd26b85c2385e9c618e343428df5d3
        https://bugs.webkit.org/show_bug.cgi?id=180843

        Unreviewed.
        Removed folder as it is now unused.

        * Source/webrtc/base: Removed.

2017-12-18  Youenn Fablet  <youenn@apple.com>

        Update to libwebrtc revision 4e70a72571dd26b85c2385e9c618e343428df5d3
        https://bugs.webkit.org/show_bug.cgi?id=180843

        Reviewed by Eric Carlson.

        Updated libwebrtc as follows:
        - Boringssl
            - https://boringssl.googlesource.com/boringssl/
            - fc9c67599d9bdeb2e0467085133b81a8e28f77a4
        - Libwebrtc
            - https://webrtc.googlesource.com/src
            - 4e70a72571dd26b85c2385e9c618e343428df5d3
            - Libsrtp
                - 1d45b8e599dc2db6ea3ae22dbc94a8c504652423
                - https://chromium.googlesource.com/chromium/deps/libsrtp.git
            - Libyuv
                - 12c904a97c81c3ef4cab0fc8fb1f0485b4ec4e8c
                - https://chromium.googlesource.com/libyuv/libyuv.git
            - Usrsctp
                - f4819e1b177f7bfdd761c147f5a649b9f1a78c06
                - https://github.com/sctplab/usrsctp.git

        Below files have been modified to adapt for WebKit.
        Patches for various parts are kept in WebKit folder.
        In addition to these changes, VTB codecs and factories used by WebKit
        are now added inside libwebrtc in webrtc/sdk/WebKit.
        Future refactoring should consolidate these files.

        Not updated the following folders that are not used right now:
        - Source/third_party/boringssl/linux-x86_64
        - Source/third_party/boringssl/mac-x86
        - Source/webrtc/data
        - Source/third_party/boringssl/src/fuzz

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:
        * Configurations/libwebrtc.xcconfig:
        * Configurations/libwebrtcpcrtc.xcconfig:
        * Source/third_party/boringssl/src/crypto/fipsmodule/aes/aes.c:
        * Source/third_party/usrsctp/usrsctplib/netinet/sctp_input.c:
        (sctp_process_cookie_existing):
        * Source/third_party/usrsctp/usrsctplib/netinet/sctp_output.c:
        * Source/third_party/usrsctp/usrsctplib/netinet/sctp_pcb.c:
        * Source/third_party/usrsctp/usrsctplib/user_atomic.h:
        * Source/webrtc/api/array_view.h:
        (rtc::impl::ArrayViewBase::ArrayViewBase):
        * Source/webrtc/api/audio_codecs/ilbc/audio_encoder_ilbc.cc:
        * Source/webrtc/api/datachannelinterface.h:
        (webrtc::DataChannelObserver::OnBufferedAmountChange):
        * Source/webrtc/api/jsep.h:
        (webrtc::SessionDescriptionInterface::RemoveCandidates):
        * Source/webrtc/api/mediastreaminterface.h:
        (webrtc::VideoTrackInterface::set_content_hint):
        (webrtc::AudioSourceInterface::SetVolume):
        (webrtc::AudioSourceInterface::RegisterAudioObserver):
        (webrtc::AudioSourceInterface::UnregisterAudioObserver):
        (webrtc::AudioSourceInterface::AddSink):
        (webrtc::AudioSourceInterface::RemoveSink):
        (webrtc::AudioTrackInterface::GetSignalLevel):
        * Source/webrtc/api/mediatypes.cc:
        * Source/webrtc/api/peerconnectioninterface.h:
        (webrtc::PeerConnectionInterface::AddTransceiver):
        (webrtc::PeerConnectionInterface::CreateSender):
        (webrtc::PeerConnectionInterface::GetStats):
        (webrtc::PeerConnectionInterface::CreateOffer):
        (webrtc::PeerConnectionInterface::CreateAnswer):
        (webrtc::PeerConnectionInterface::SetRemoteDescription):
        (webrtc::PeerConnectionInterface::UpdateIce):
        (webrtc::PeerConnectionInterface::SetConfiguration):
        (webrtc::PeerConnectionInterface::RemoveIceCandidates):
        (webrtc::PeerConnectionInterface::SetBitrateAllocationStrategy):
        (webrtc::PeerConnectionInterface::SetAudioPlayout):
        (webrtc::PeerConnectionInterface::SetAudioRecording):
        (webrtc::PeerConnectionInterface::StartRtcEventLog):
        (webrtc::PeerConnectionObserver::OnIceCandidatesRemoved):
        (webrtc::PeerConnectionObserver::OnIceConnectionReceivingChange):
        (webrtc::PeerConnectionObserver::OnAddTrack):
        (webrtc::PeerConnectionObserver::OnRemoveTrack):
        (webrtc::PeerConnectionFactoryInterface::CreateVideoSource):
        * Source/webrtc/api/umametrics.h:
        (webrtc::MetricsObserverInterface::IncrementEnumCounter):
        * Source/webrtc/api/video_codecs/video_decoder.h:
        (webrtc::DecodedImageCallback::Decoded):
        (webrtc::DecodedImageCallback::ReceivedDecodedReferenceFrame):
        (webrtc::DecodedImageCallback::ReceivedDecodedFrame):
        * Source/webrtc/api/video_codecs/video_encoder.h:
        (webrtc::EncodedImageCallback::OnDroppedFrame):
        * Source/webrtc/common_video/include/frame_callback.h:
        (webrtc::EncodedFrameObserver::OnEncodeTiming):
        * Source/webrtc/common_video/video_frame_buffer.cc:
        * Source/webrtc/logging/rtc_event_log/rtc_event_log.h:
        (webrtc::RtcEventLog::Create):
        * Source/webrtc/media/base/mediachannel.h:
        (cricket::DataMediaChannel::GetStats):
        (cricket::DataMediaChannel::OnNetworkRouteChanged):
        * Source/webrtc/media/engine/internaldecoderfactory.cc:
        * Source/webrtc/media/engine/internalencoderfactory.cc:
        * Source/webrtc/modules/audio_coding/acm2/audio_coding_module.cc:
        * Source/webrtc/modules/audio_coding/acm2/rent_a_codec.cc:
        * Source/webrtc/modules/audio_coding/codecs/cng/audio_encoder_cng.cc:
        * Source/webrtc/modules/audio_coding/codecs/ilbc/audio_encoder_ilbc.cc:
        * Source/webrtc/modules/audio_coding/neteq/tools/neteq_rtpplay.cc:
        * Source/webrtc/modules/audio_coding/neteq/tools/neteq_test.cc:
        * Source/webrtc/modules/audio_coding/neteq/tools/rtp_file_source.cc:
        * Source/webrtc/modules/audio_device/android/audio_device_template.h:
        * Source/webrtc/modules/audio_device/android/audio_record_jni.cc:
        * Source/webrtc/modules/audio_device/include/audio_device.h:
        (webrtc::AudioDeviceModule::SetRecordingChannel):
        (webrtc::AudioDeviceModule::RecordingChannel const):
        (webrtc::AudioDeviceModule::SetRecordingSampleRate):
        (webrtc::AudioDeviceModule::RecordingSampleRate const):
        (webrtc::AudioDeviceModule::SetPlayoutSampleRate):
        (webrtc::AudioDeviceModule::PlayoutSampleRate const):
        (webrtc::AudioDeviceModule::SetLoudspeakerStatus):
        (webrtc::AudioDeviceModule::GetLoudspeakerStatus const):
        * Source/webrtc/modules/audio_processing/test/py_quality_assessment/quality_assessment/fake_polqa.cc:
        * Source/webrtc/modules/audio_processing/test/wav_based_simulator.cc:
        * Source/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers.cc:
        * Source/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers.h:
        (webrtc::DefaultTemporalLayersChecker::BufferState::BufferState):
        * Source/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers_unittest.cc:
        * Source/webrtc/modules/video_coding/codecs/vp8/include/vp8.h:
        * Source/webrtc/modules/video_coding/codecs/vp8/include/vp8_common_types.h:
        * Source/webrtc/modules/video_coding/codecs/vp8/include/vp8_globals.h:
        * Source/webrtc/modules/video_coding/codecs/vp8/screenshare_layers.cc:
        * Source/webrtc/modules/video_coding/codecs/vp8/screenshare_layers.h:
        * Source/webrtc/modules/video_coding/codecs/vp8/screenshare_layers_unittest.cc:
        * Source/webrtc/modules/video_coding/codecs/vp8/simulcast_rate_allocator.cc:
        * Source/webrtc/modules/video_coding/codecs/vp8/simulcast_rate_allocator.h:
        * Source/webrtc/modules/video_coding/codecs/vp8/simulcast_unittest.cc:
        * Source/webrtc/modules/video_coding/codecs/vp8/temporal_layers.h:
        (webrtc::TemporalLayers::FrameConfig::operator== const):
        (webrtc::TemporalLayers::FrameConfig::operator!= const):
        (webrtc::TemporalLayersChecker::~TemporalLayersChecker):
        (webrtc::TemporalLayersChecker::BufferState::BufferState):
        * Source/webrtc/modules/video_coding/codecs/vp8/test/vp8_impl_unittest.cc:
        * Source/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc:
        * Source/webrtc/modules/video_coding/codecs/vp8/vp8_impl.h:
        * Source/webrtc/modules/video_coding/codecs/vp8/vp8_noop.cc:
        * Source/webrtc/modules/video_coding/qp_parser.cc:
        * Source/webrtc/modules/video_coding/video_codec_initializer.cc:
        * Source/webrtc/ortc/ortcfactory.cc:
        * Source/webrtc/ortc/rtpparametersconversion.cc:
        * Source/webrtc/p2p/base/icetransportinternal.h:
        (cricket::IceTransportInternal::SetIceProtocolType):
        * Source/webrtc/p2p/base/port.h:
        (cricket::Port::HandleConnectionDestroyed):
        * Source/webrtc/p2p/base/stun.h:
        (cricket::StunAttribute::SetOwner):
        * Source/webrtc/p2p/base/stunrequest.h:
        (cricket::StunRequest::Prepare):
        (cricket::StunRequest::OnResponse):
        (cricket::StunRequest::OnErrorResponse):
        * Source/webrtc/rtc_base/checks.h:
        * Source/webrtc/rtc_base/flags.cc:
        * Source/webrtc/rtc_base/location.h:
        * Source/webrtc/rtc_base/messagehandler.h:
        (rtc::FunctorMessageHandler::OnMessage):
        * Source/webrtc/rtc_base/network.h:
        (rtc::NetworkManager::GetAnyAddressNetworks):
        * Source/webrtc/rtc_base/numerics/safe_conversions.h:
        (rtc::saturated_cast):
        * Source/webrtc/rtc_base/numerics/safe_conversions_impl.h:
        * Source/webrtc/rtc_base/opensslidentity.cc:
        * Source/webrtc/rtc_base/sanitizer.h:
        (rtc_AsanPoison):
        (rtc_AsanUnpoison):
        (rtc_MsanMarkUninitialized):
        (rtc_MsanCheckInitialized):
        * Source/webrtc/rtc_base/socketserver.h:
        (rtc::SocketServer::SetMessageQueue):
        * Source/webrtc/rtc_base/stream.h:
        (rtc::StreamInterface::ConsumeReadData):
        (rtc::StreamInterface::ConsumeWriteBuffer):
        * Source/webrtc/rtc_base/stringize_macros.h:
        * Source/webrtc/sdk/WebKit/VideoToolBoxDecoderFactory.cpp: Added.
        (webrtc::VideoToolboxVideoDecoderFactory::~VideoToolboxVideoDecoderFactory):
        (webrtc::VideoToolboxVideoDecoderFactory::Add):
        (webrtc::VideoToolboxVideoDecoderFactory::Remove):
        (webrtc::VideoToolboxVideoDecoderFactory::SetActive):
        (webrtc::VideoToolboxVideoDecoderFactory::CreateVideoDecoder):
        (webrtc::CreateH264Format):
        (webrtc::VideoToolboxVideoDecoderFactory::GetSupportedFormats const):
        * Source/webrtc/sdk/WebKit/VideoToolBoxDecoderFactory.h: Renamed from Source/WebCore/platform/mediastream/libwebrtc/VideoToolBoxDecoderFactory.h.
        * Source/webrtc/sdk/WebKit/VideoToolBoxEncoderFactory.cpp: Added.
        (webrtc::VideoToolboxVideoEncoderFactory::~VideoToolboxVideoEncoderFactory):
        (webrtc::VideoToolboxVideoEncoderFactory::Add):
        (webrtc::VideoToolboxVideoEncoderFactory::Remove):
        (webrtc::VideoToolboxVideoEncoderFactory::SetActive):
        (webrtc::CreateH264Format):
        (webrtc::VideoToolboxVideoEncoderFactory::GetSupportedFormats const):
        (webrtc::VideoToolboxVideoEncoderFactory::QueryVideoEncoder const):
        (webrtc::VideoToolboxVideoEncoderFactory::CreateVideoEncoder):
        * Source/webrtc/sdk/WebKit/VideoToolBoxEncoderFactory.h: Renamed from Source/WebCore/platform/mediastream/libwebrtc/VideoToolBoxEncoderFactory.h.
        * Source/webrtc/sdk/WebKit/decoder.h: Added.
        (webrtc::H264VideoToolboxDecoder::SetActive):
        * Source/webrtc/sdk/WebKit/decoder.mm: Added.
        (webrtc::H264VideoToolboxDecoder::H264VideoToolboxDecoder):
        (webrtc::H264VideoToolboxDecoder::~H264VideoToolboxDecoder):
        (webrtc::H264VideoToolboxDecoder::ClearFactory):
        (webrtc::H264VideoToolboxDecoder::InitDecode):
        (webrtc::H264VideoToolboxDecoder::Decode):
        * Source/webrtc/sdk/WebKit/encoder.h: Copied from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.h.
        (webrtc::H264VideoToolboxEncoder::ClearFactory):
        (webrtc::H264VideoToolboxEncoder::SetActive):
        * Source/webrtc/sdk/WebKit/encoder.mm: Copied from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm.
        (internal::CreateCFDictionary):
        (internal::CFStringToString):
        (internal::SetVTSessionProperty):
        (internal::FrameEncodeParams::FrameEncodeParams):
        (internal::CopyVideoFrameToPixelBuffer):
        (internal::CreatePixelBuffer):
        (internal::VTCompressionOutputCallback):
        (internal::ExtractProfile):
        (webrtc::H264VideoToolboxEncoder::H264VideoToolboxEncoder):
        (webrtc::H264VideoToolboxEncoder::~H264VideoToolboxEncoder):
        (webrtc::H264VideoToolboxEncoder::InitEncode):
        (webrtc::H264VideoToolboxEncoder::Encode):
        * Source/webrtc/sdk/WebKit/encoder_vcp.h: Renamed from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.h.
        (webrtc::H264VideoToolboxEncoderVCP::ClearFactory):
        * Source/webrtc/sdk/WebKit/encoder_vcp.mm: Renamed from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm.
        (internal::SetVTSessionProperty):
        (internal::CopyVideoFrameToPixelBuffer):
        (internal::CreatePixelBuffer):
        (internal::ExtractProfile):
        (webrtc::H264VideoToolboxEncoderVCP::H264VideoToolboxEncoderVCP):
        (webrtc::H264VideoToolboxEncoderVCP::Encode):
        * Source/webrtc/test/rtp_file_reader.cc:
        * Source/webrtc/voice_engine/utility.cc:
        * WebKit/0001-Tweaking-boringssl-include-of-internal.h.patch: Renamed from Source/ThirdParty/libwebrtc/WebKit/patch-boringssl.
        * WebKit/0002-Fixing-usrctp-library-compilation-errors.patch: Added.
        * WebKit/0003-Fixing-VP8-files.patch: Added.
        * WebKit/0004-Removing-parameter-names-from-files-included-from-We.patch: Added.
        * WebKit/0005-Fix-RTC_FATAL.patch: Added.
        * WebKit/0006-Disabling-VP8.patch: Added.
        * WebKit/0007-Fix-RTC_STRINGIZE.patch: Added.
        * WebKit/0008-Fix-sanitizer.patch: Added.
        * WebKit/patch-libwebrtc: Removed.
        * WebKit/patch-usrsctp: Removed.
        * libwebrtc.xcodeproj/project.pbxproj:

2018-01-27  Dan Bernstein  <mitz@apple.com>

        HaveInternalSDK includes should be "#include?"
        https://bugs.webkit.org/show_bug.cgi?id=179670

        * Configurations/Base.xcconfig:

2018-01-26  Youenn Fablet  <youenn@apple.com>

        Disable VCP for MacOS
        https://bugs.webkit.org/show_bug.cgi?id=182183
        <rdar://problem/36919791>

        Reviewed by Eric Carlson.

        * Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/VideoProcessingSoftLink.h:

2018-01-19  Joseph Pecoraro  <pecoraro@apple.com>

        Follow-up build fix for r227206.

        Unreviewed.

        * Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/VideoProcessingSoftLink.h:
        Avoid duplicate and different definitions of ALWAYS_INLINE.

2018-01-19  Youenn Fablet  <youenn@apple.com>

        Softlink VideoProcessing in WebKit
        https://bugs.webkit.org/show_bug.cgi?id=181853
        <rdar://problem/36590005>

        Reviewed by Eric Carlson.

        * Configurations/libwebrtc.xcconfig:
        * Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/VideoProcessingSoftLink.cpp: Added.
        * Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/VideoProcessingSoftLink.h: Added.
        * Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.h:
        * Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm:
        (internal::SetVTSessionProperty):
        (webrtc::H264VideoToolboxEncoderVCP::Encode):
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/videocodecfactory.mm:
        (webrtc::VideoToolboxVideoEncoderFactory::VideoToolboxVideoEncoderFactory):
        * libwebrtc.xcodeproj/project.pbxproj:

2018-01-18  Dan Bernstein  <mitz@apple.com>

        [Xcode] Streamline and future-proof target-macOS-version-dependent build setting definitions
        https://bugs.webkit.org/show_bug.cgi?id=181803

        Reviewed by Tim Horton.

        * Configurations/Base.xcconfig: Updated.
        * Configurations/DebugRelease.xcconfig: Ditto.
        * Configurations/macOSTargetConditionals.xcconfig: Added. Defines helper build settings
          useful for defining settings that depend on the target macOS version.
        * Configurations/opus.xcconfig: Adopted macOSTargetConditionals helper.

2018-01-08  David Kilzer  <ddkilzer@apple.com>

        libwebrtc: Fix 'ld: warning: cannot export hidden symbol' messages
        <https://webkit.org/b/181378>

        Reviewed by Youenn Fablet.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:
        - Remove 117 symbols that are not currently exported.  These
          warnings only appear in Release and Production builds.

2018-01-05  Youenn Fablet  <youenn@apple.com>

        Close WebRTC sockets when marked as defunct
        https://bugs.webkit.org/show_bug.cgi?id=177324
        rdar://problem/35244931

        Reviewed by Eric Carlson.

        In case selected sockets return an error when trying to accept an incoming socket,
        check whether the socket is defunct or not.
        If so, close it properly.

        * Source/webrtc/base/asynctcpsocket.cc:
        * Source/webrtc/base/physicalsocketserver.cc:
        * Source/webrtc/base/socket.h:

2017-12-15  Dan Bernstein  <mitz@apple.com>

        libwebrtc installs an extra copy of encoder_vcp.h under /usr/local/include
        https://bugs.webkit.org/show_bug.cgi?id=180858

        Reviewed by Anders Carlsson.

        * libwebrtc.xcodeproj/project.pbxproj: Demoted the header from Private to Project. A script build phase
          copies it to the correct location under /usr/local/include/webrtc.

2017-12-14  David Kilzer  <ddkilzer@apple.com>

        Enable -Wstrict-prototypes for WebKit
        <https://webkit.org/b/180757>
        <rdar://problem/36024132>

        Rubber-stamped by Joseph Pecoraro.

        * Configurations/Base.xcconfig:
        (CLANG_WARN_STRICT_PROTOTYPES): Add. Set to YES.
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/user_socket.c:
        (wakeup_one): Modernize function argument declarations.
        (getsockaddr): Ditto.
        * Source/webrtc/common_audio/signal_processing/include/signal_processing_library.h:
        (WebRtcSpl_Init): Add 'void' to C function declaration.
        * Source/webrtc/common_audio/vad/include/webrtc_vad.h:
        (WebRtcVad_Create): Ditto.
        * Source/webrtc/modules/audio_coding/codecs/isac/fix/source/codec.h:
        (WebRtcIsacfix_InitTransform): Ditto.
        * Source/webrtc/modules/audio_processing/agc/legacy/gain_control.h:
        (WebRtcAgc_Create): Ditto.
        * Source/webrtc/modules/audio_processing/ns/noise_suppression.h:
        (WebRtcNs_Create): Ditto.
        (WebRtcNs_num_freq): Ditto.
        * Source/webrtc/modules/audio_processing/ns/noise_suppression_x.h:
        (WebRtcNsx_Create): Ditto.
        (WebRtcNsx_num_freq): Ditto.

2017-12-11  Youenn Fablet  <youenn@apple.com>

        Use VCP H264 encoder for platforms supporting it
        https://bugs.webkit.org/show_bug.cgi?id=179076
        rdar://problem/35180773

        Reviewed by Eric Carlson.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:
        * Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.h: Added.
        (webrtc::H264VideoToolboxEncoderVCP::SetActive):
        * Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm: Copied from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.mm.
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.mm:
        (internal::CFStringToString):
        (internal::SetVTSessionProperty):
        (internal::CopyVideoFrameToPixelBuffer):
        (internal::CreatePixelBuffer):
        (internal::VTCompressionOutputCallback):
        (internal::ExtractProfile):
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/videocodecfactory.h:
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/videocodecfactory.mm:
        (webrtc::VideoToolboxVideoEncoderFactory::VideoToolboxVideoEncoderFactory):
        (webrtc::VideoToolboxVideoEncoderFactory::CreateSupportedVideoEncoder):
        * libwebrtc.xcodeproj/project.pbxproj:

2017-12-11  Tim Horton  <timothy_horton@apple.com>

        Stop using deprecated target conditional for simulator builds
        https://bugs.webkit.org/show_bug.cgi?id=180662
        <rdar://problem/35136156>

        Reviewed by Simon Fraser.

        * Source/third_party/libyuv/source/mjpeg_decoder.cc:
        * Source/webrtc/examples/objc/AppRTCMobile/ARDAppClient.m:
        (-[ARDAppClient createLocalVideoTrack]):
        * Source/webrtc/examples/objc/AppRTCMobile/tests/ARDAppClient_xctest.mm:
        * Source/webrtc/modules/audio_device/ios/audio_device_ios.mm:
        (webrtc::LogDeviceInfo):

2017-11-06  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r224497.
        https://bugs.webkit.org/show_bug.cgi?id=179335

        It is breaking internal builds (Requested by youenn on
        #webkit).

        Reverted changeset:

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

2017-11-06  Youenn Fablet  <youenn@apple.com>

        Use VCP H264 encoder for platforms supporting it
        https://bugs.webkit.org/show_bug.cgi?id=179076
        rdar://problem/35180773

        Reviewed by Eric Carlson.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:
        * Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.h: Added.
        (webrtc::H264VideoToolboxEncoderVCP::SetActive):
        * Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm: Copied from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.mm.
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.mm:
        (internal::CFStringToString):
        (internal::SetVTSessionProperty):
        (internal::CopyVideoFrameToPixelBuffer):
        (internal::CreatePixelBuffer):
        (internal::VTCompressionOutputCallback):
        (internal::ExtractProfile):
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/videocodecfactory.h:
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/videocodecfactory.mm:
        (webrtc::VideoToolboxVideoEncoderFactory::VideoToolboxVideoEncoderFactory):
        (webrtc::VideoToolboxVideoEncoderFactory::CreateSupportedVideoEncoder):
        * libwebrtc.xcodeproj/project.pbxproj:

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
        https://bugs.webkit.org/show_bug.cgi?id=179076
        rdar://problem/35180773

        Unreviewed.

        * Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.h: build fix for iOS.

2017-11-03  Youenn Fablet  <youenn@apple.com>

        Use VCP H264 encoder for platforms supporting it
        https://bugs.webkit.org/show_bug.cgi?id=179076
        rdar://problem/35180773

        Unreviewed.

        * Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.h: build fix.

2017-11-03  Youenn Fablet  <youenn@apple.com>

        Use VCP H264 encoder for platforms supporting it
        https://bugs.webkit.org/show_bug.cgi?id=179076
        rdar://problem/35180773

        Reviewed by Eric Carlson.

        * Configurations/libwebrtc.iOS.exp:
        * Configurations/libwebrtc.iOSsim.exp:
        * Configurations/libwebrtc.mac.exp:
        * Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.h: Added.
        (webrtc::H264VideoToolboxEncoderVCP::SetActive):
        * Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm: Copied from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.mm.
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.mm:
        (internal::CFStringToString):
        (internal::SetVTSessionProperty):
        (internal::CopyVideoFrameToPixelBuffer):
        (internal::CreatePixelBuffer):
        (internal::VTCompressionOutputCallback):
        (internal::ExtractProfile):
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/videocodecfactory.h:
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/videocodecfactory.mm:
        (webrtc::VideoToolboxVideoEncoderFactory::VideoToolboxVideoEncoderFactory):
        (webrtc::VideoToolboxVideoEncoderFactory::CreateSupportedVideoEncoder):
        * libwebrtc.xcodeproj/project.pbxproj:

2017-10-04  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r222775.
        https://bugs.webkit.org/show_bug.cgi?id=177890

        Significantly increased the WebKit build time (Requested by
        rniwa on #webkit).

        Reverted changeset:

        "Build libwebrtc unit tests executables"
        https://bugs.webkit.org/show_bug.cgi?id=177211
        http://trac.webkit.org/changeset/222775

2017-10-03  Youenn Fablet  <youenn@apple.com>

        Remove no longer needed WebRTC build infrastructure
        https://bugs.webkit.org/show_bug.cgi?id=177756

        Reviewed by Alejandro G. Castro.

        * WebKit/project.json: Removed.
        * WebKit/rtc_sdk_framework_objc_info_plist.plist: Removed.

2017-10-03  Youenn Fablet  <youenn@apple.com>

        Build libwebrtc unit tests executables
        https://bugs.webkit.org/show_bug.cgi?id=177211

        Reviewed by Alex Christensen.

        Adding support for a new target called unittests that will be several executables.
        Each executable run unit tests dedicated to a part of libwebrtc.

        Adding one target/executable per unit test suite.
        Adding one composite target to build all unit test targets.
        Adding a target to build a static libwebrtctest library.
        The static libwebrtctest library is then linked to each unit test executable which is also linked to libwebrtc dylib.

        Some unit tests require a default codec (VP8) that is disabled in libwebrtc.
        This ends up making some tests crashing.
        An additional work should follow to execute only the meaningful subset of tests.

        * Configurations/libwebrtc-base.xcconfig: Added.
        * Configurations/libwebrtc-test-static.xcconfig: Added.
        * Configurations/rtc_pc_unittests.xcconfig: Added.
        * Source/third_party/gflags/gen/posix/include/private/config.h:
        * Source/webrtc/modules/audio_coding/neteq/tools/neteq_test.cc: Replacing FATAL by RTC_FATAL.
        * Source/webrtc/sdk/objc/Framework/Classes/Common/helpers.mm: Removing UIKit dependency.
        * Source/webrtc/test/gmock.h: Using googletest version instead of checking in testing folder.
        * Source/webrtc/test/gtest.h: Ditto.
        * Source/webrtc/test/rtp_file_reader.cc: Replacing FATAL by RTC_FATAL.
        * libwebrtc.xcodeproj/project.pbxproj:

2017-09-29  Matt Lewis  <jlewis3@apple.com>

        Unreviewed, rolling out r222652.

        This broke an internal build.

        Reverted changeset:

        "Build libwebrtc unit tests executables"
        https://bugs.webkit.org/show_bug.cgi?id=177211
        http://trac.webkit.org/changeset/222652

2017-09-29  Youenn Fablet  <youenn@apple.com>

        Build libwebrtc unit tests executables
        https://bugs.webkit.org/show_bug.cgi?id=177211

        Reviewed by Alex Christensen.

        Adding support for a new target called unittests that will be several executables.
        Each executable run unit tests dedicated to a part of libwebrtc.

        Adding one target/executable per unit test suite.
        Adding one composite target to build all unit test targets.
        Adding a target to build a static libwebrtctest library.
        The static libwebrtctest library is then linked to each unit test executable which is also linked to libwebrtc dylib.

        Some unit tests require a default codec (VP8) that is disabled in libwebrtc.
        This ends up making some tests crashing.
        An additional work should follow to execute only the meaningful subset of tests.

        * Configurations/libwebrtc-base.xcconfig: Added.
        * Configurations/libwebrtc-test-static.xcconfig: Added.
        * Configurations/rtc_pc_unittests.xcconfig: Added.
        * Source/third_party/gflags/gen/posix/include/private/config.h:
        * Source/webrtc/modules/audio_coding/neteq/tools/neteq_test.cc: Replacing FATAL by RTC_FATAL.
        * Source/webrtc/sdk/objc/Framework/Classes/Common/helpers.mm: Removing UIKit dependency.
        * Source/webrtc/test/gmock.h: Using googletest version instead of checking in testing folder.
        * Source/webrtc/test/gtest.h: Ditto.
        * Source/webrtc/test/rtp_file_reader.cc: Replacing FATAL by RTC_FATAL.
        * libwebrtc.xcodeproj/project.pbxproj:

2017-09-27  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r222537.

        This change broke internal builds.

        Reverted changeset:

        "Build libwebrtc unit tests executables"
        https://bugs.webkit.org/show_bug.cgi?id=177211
        http://trac.webkit.org/changeset/222537

2017-09-26  Youenn Fablet  <youenn@apple.com>

        Build libwebrtc unit tests executables
        https://bugs.webkit.org/show_bug.cgi?id=177211

        Reviewed by Alex Christensen.

        Adding support for a new target called unittests that will be several executables.
        Each executable run unit tests dedicated to a part of libwebrtc.

        Adding one target/executable per unit test suite.
        Adding one composite target to build all unit test targets.
        Adding a target to build a static libwebrtctest library.
        The static libwebrtctest library is then linked to each unit test executable which is also linked to libwebrtc dylib.

        Some unit tests require a default codec (VP8) that is disabled in libwebrtc.
        This ends up making some tests crashing.
        An additional work should follow to execute only the meaningful subset of tests.

        * Configurations/libwebrtc-base.xcconfig: Added.
        * Configurations/libwebrtc-test-static.xcconfig: Added.
        * Configurations/rtc_pc_unittests.xcconfig: Added.
        * Source/third_party/gflags/gen/posix/include/private/config.h:
        * Source/webrtc/modules/audio_coding/neteq/tools/neteq_test.cc: Replacing FATAL by RTC_FATAL.
        * Source/webrtc/sdk/objc/Framework/Classes/Common/helpers.mm: Removing UIKit dependency.
        * Source/webrtc/test/gmock.h: Using googletest version instead of checking in testing folder.
        * Source/webrtc/test/gtest.h: Ditto.
        * Source/webrtc/test/rtp_file_reader.cc: Replacing FATAL by RTC_FATAL.
        * libwebrtc.xcodeproj/project.pbxproj:

2017-09-26  Youenn Fablet  <youenn@apple.com>

        Remove unnecessary libwebrtc dependencies
        https://bugs.webkit.org/show_bug.cgi?id=177494

        Reviewed by Alex Christensen.

        * libwebrtc.xcodeproj/project.pbxproj:

2017-09-25  Youenn Fablet  <youenn@apple.com>

        WebRTC video does not resume receiving when switching back to Safari 11 on iOS
        https://bugs.webkit.org/show_bug.cgi?id=175472
        <rdar://problem/33860863>

        Reviewed by Darin Adler.

        Adding a method to disable any decoding/encoding task.
        When reenabling the decoder, the decoder will request an I frame after failing the first initial decoding task.

        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/decoder.h:
        (webrtc::H264VideoToolboxDecoder::SetActive):
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/decoder.mm:
        (webrtc::H264VideoToolboxDecoder::Decode):
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.h:
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.mm:
        (webrtc::H264VideoToolboxEncoder::Encode):

2017-09-25  Youenn Fablet  <youenn@apple.com>

        Adding per-platform libwebrtc export files
        https://bugs.webkit.org/show_bug.cgi?id=177465

        Reviewed by Alex Christensen.

        Using per platform export symbol files for libwebrtc.dylib.
        This allows exporting platform-specific symbols that are used by libwebrtc unit tests.

        * Configurations/libwebrtc.iOS.exp: Added.
        * Configurations/libwebrtc.iOSsim.exp: Added.
        * Configurations/libwebrtc.mac.exp: Added.
        * Configurations/libwebrtc.exp: Removed.
        * Configurations/libwebrtc.xcconfig:
        * libwebrtc.xcodeproj/project.pbxproj: Adding ISAC/fix codec files used for
        by audio codec unit tests to libwebrtc.dylib. This files will allow us to add support to the ISAC/fix codec.

2017-09-23  Youenn Fablet  <youenn@apple.com>

        Export libwebrtc symbols through an export file
        https://bugs.webkit.org/show_bug.cgi?id=177344

        Reviewed by Darin Adler.

        Removing export changes made to libwebrtc.
        Exporting based on libwebrtc.exp file.

        * Configurations/Base.xcconfig:
        * Configurations/libwebrtc.exp: Added.
        * Configurations/libwebrtc.xcconfig:
        * Source/webrtc/api/jsep.h:
        (): Deleted.
        * Source/webrtc/api/mediatypes.h:
        * Source/webrtc/api/peerconnectioninterface.h:
        * Source/webrtc/api/rtcerror.h:
        * Source/webrtc/api/stats/rtcstats.h:
        * Source/webrtc/api/stats/rtcstatsreport.h:
        (): Deleted.
        * Source/webrtc/api/video/i420_buffer.h:
        * Source/webrtc/api/video/video_frame.h:
        (): Deleted.
        * Source/webrtc/api/video/video_frame_buffer.h:
        * Source/webrtc/base/asyncpacketsocket.h:
        * Source/webrtc/base/asyncresolverinterface.h:
        (): Deleted.
        * Source/webrtc/base/checks.h:
        (): Deleted.
        * Source/webrtc/base/copyonwritebuffer.h:
        (): Deleted.
        * Source/webrtc/base/event.h:
        (): Deleted.
        * Source/webrtc/base/export.h: Removed.
        * Source/webrtc/base/helpers.h:
        * Source/webrtc/base/ipaddress.h:
        * Source/webrtc/base/location.h:
        (): Deleted.
        * Source/webrtc/base/logging.h:
        * Source/webrtc/base/messagehandler.h:
        * Source/webrtc/base/network.h:
        * Source/webrtc/base/proxyinfo.h:
        * Source/webrtc/base/socketaddress.h:
        (): Deleted.
        * Source/webrtc/base/thread.h:
        * Source/webrtc/common_video/include/i420_buffer_pool.h:
        (): Deleted.
        * Source/webrtc/common_video/include/video_frame_buffer.h:
        (): Deleted.
        * Source/webrtc/common_video/libyuv/include/webrtc_libyuv.h:
        * Source/webrtc/media/engine/webrtcvideoencoderfactory.h:
        (): Deleted.
        * Source/webrtc/p2p/base/basicpacketsocketfactory.h:
        (): Deleted.
        * Source/webrtc/p2p/client/basicportallocator.h:
        * Source/webrtc/pc/mediastream.h:
        * Source/webrtc/sdk/objc/Framework/Classes/Video/corevideo_frame_buffer.h:
        (): Deleted.
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.h:
        (): Deleted.
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/videocodecfactory.h:
        (): Deleted.
        * libwebrtc.xcodeproj/project.pbxproj:

2017-09-20  Youenn Fablet  <youenn@apple.com>

        Upstream googletest framework
        https://bugs.webkit.org/show_bug.cgi?id=177252

        Reviewed by Alex Christensen.

        This is used by libwebrtc.

        * Source/third_party/googletest: Added.
 
2017-09-15  Alicia Boya García  <aboya@igalia.com>

        Normalize line terminators in jsoncpp Visual Studio files
        https://bugs.webkit.org/show_bug.cgi?id=176991

        Reviewed by Konstantin Tokarev.

        * Source/third_party/jsoncpp/source/makefiles/vs71/jsoncpp.sln:
        * Source/third_party/jsoncpp/source/makefiles/vs71/jsontest.vcproj:
        * Source/third_party/jsoncpp/source/makefiles/vs71/lib_json.vcproj:
        * Source/third_party/jsoncpp/source/makefiles/vs71/test_lib_json.vcproj:

2017-07-18  Andy Estes  <aestes@apple.com>

        [Xcode] Enable CLANG_WARN_OBJC_LITERAL_CONVERSION
        https://bugs.webkit.org/show_bug.cgi?id=174631

        Reviewed by Sam Weinig.

        * Configurations/Base.xcconfig:

2017-07-18  Andy Estes  <aestes@apple.com>

        [Xcode] Enable CLANG_WARN_NON_LITERAL_NULL_CONVERSION
        https://bugs.webkit.org/show_bug.cgi?id=174631

        Reviewed by Dan Bernstein.

        * Configurations/Base.xcconfig:

2017-07-18  Andy Estes  <aestes@apple.com>

        [Xcode] Enable CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING
        https://bugs.webkit.org/show_bug.cgi?id=174631

        Reviewed by Darin Adler.

        * Configurations/Base.xcconfig:

2017-07-03  Andy Estes  <aestes@apple.com>

        [Xcode] Add an experimental setting to build with ccache
        https://bugs.webkit.org/show_bug.cgi?id=173875

        Reviewed by Tim Horton.

        * Configurations/DebugRelease.xcconfig: Included ccache.xcconfig.

2017-07-01  Dan Bernstein  <mitz@apple.com>

        [macOS] Remove code only needed when building for OS X Yosemite
        https://bugs.webkit.org/show_bug.cgi?id=174067

        Reviewed by Tim Horton.

        * Configurations/Base.xcconfig:
        * Configurations/DebugRelease.xcconfig:

2017-06-27  Youenn Fablet  <youenn@apple.com>

        Update boringssl to c8ff30cbe716c72279a6f6a9d7d7d0d4091220fa
        https://bugs.webkit.org/show_bug.cgi?id=173676

        Reviewed by Alex Christensen.

        * Configurations/boringssl.xcconfig: Enabling ASM.
        * Source/third_party/boringssl/BUILD.generated.gni:
        * Source/third_party/boringssl: Updated folder according new revision.
        * WebKit/patch-boringssl: Added, needed to fix some files to disable warnings.
        * libwebrtc.xcodeproj/project.pbxproj:

2017-06-27  Youenn Fablet  <youenn@apple.com>

        Refresh usrsctp to Source/ThirdParty/libwebrtc/WebKit/patch-usrsctp and libsrtp to ccf84786f8ef803cb9c75e919e5a3976b9f5a67
        https://bugs.webkit.org/show_bug.cgi?id=173673

        Reviewed by Sam Weinig.

        * Source/third_party/libsrtp/README.chromium:
        * Source/third_party/libsrtp/srtp/srtp.c:
        (srtp_stream_init_keys):
        (srtp_calc_aead_iv_srtcp):
        (srtp_protect_rtcp_aead):
        (srtp_unprotect_rtcp_aead):
        * Source/third_party/libsrtp/test/srtp_driver.c:
        (srtp_validate_encrypted_extensions_headers_gcm):
        * Source/third_party/usrsctp/usrsctplib/.gitignore: Added.
        * Source/third_party/usrsctp/usrsctplib/CMakeLists.txt:
        * Source/third_party/usrsctp/usrsctplib/Makefile.am:
        * Source/third_party/usrsctp/usrsctplib/README.md:
        * Source/third_party/usrsctp/usrsctplib/configure.ac:
        * Source/third_party/usrsctp/usrsctplib/programs/CMakeLists.txt:
        * Source/third_party/usrsctp/usrsctplib/programs/Makefile.am:
        * Source/third_party/usrsctp/usrsctplib/programs/client.c:
        (main):
        * Source/third_party/usrsctp/usrsctplib/programs/datachan_serv.c:
        (main):
        * Source/third_party/usrsctp/usrsctplib/programs/ekr_loop_offload.c: Added.
        (handle_packets):
        * Source/third_party/usrsctp/usrsctplib/programs/test_timer.c: Added.
        (main):
        * Source/third_party/usrsctp/usrsctplib/usrsctp.pc.in: Added.
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/CMakeLists.txt:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_asconf.c:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_asconf.h:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_auth.c:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_auth.h:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_bsd_addr.c:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_bsd_addr.h:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_cc_functions.c:
        (sctp_cwnd_update_after_fr):
        (sctp_hs_cwnd_update_after_fr):
        (sctp_htcp_cwnd_update_after_fr):
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_constants.h:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_crc32.c:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_crc32.h:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_header.h:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_indata.c:
        (sctp_build_readq_entry):
        (sctp_place_control_in_stream):
        (sctp_abort_in_reasm):
        (sctp_queue_data_to_stream):
        (sctp_build_readq_entry_from_ctl):
        (sctp_handle_old_unordered_data):
        (sctp_inject_old_unordered_data):
        (sctp_deliver_reasm_check):
        (sctp_add_chk_to_control):
        (sctp_queue_data_for_reasm):
        (sctp_find_reasm_entry):
        (sctp_process_a_data_chunk):
        (sctp_sack_check):
        (sctp_process_segment_range):
        (sctp_check_for_revoked):
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_indata.h:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c:
        (sctp_process_init):
        (sctp_process_cookie_existing):
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.h:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_output.c:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_output.h:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_pcb.c:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_pcb.h:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_peeloff.h:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_ss_functions.c:
        (sctp_ss_rr_add):
        (sctp_ss_fcfs_select):
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_structs.h:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_sysctl.c:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_timer.c:
        (sctp_recover_sent_list):
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_uio.h:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_usrreq.c:
        (sctp_init):
        (sctp_pathmtu_adjustment):
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_var.h:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctputil.c:
        (sctp_log_strm_del):
        (sctp_init_asoc):
        (sctp_notify_send_failed):
        (sctp_notify_send_failed2):
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctputil.h:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet6/sctp6_usrreq.c:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet6/sctp6_var.h:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/user_mbuf.c:
        (m_get):
        (mbuf_initialize):
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/user_mbuf.h:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/user_socket.c:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/usrsctp.h:
        * WebKit/patch-usrsctp: Added.

2017-06-22  Youenn Fablet  <youenn@apple.com>

        [WebRTC] Prevent capturing at unconventional resolutions when using the SW encoder on Mac
        https://bugs.webkit.org/show_bug.cgi?id=172602
        <rdar://problem/32407693>

        Reviewed by Eric Carlson.

        Adding a parameter to disable hardware encoder.

        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.h:
        * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.mm:
        (webrtc::H264VideoToolboxEncoder::CreateCompressionSession):

2017-06-21  Youenn Fablet  <youenn@apple.com>

        Update libyuv to 8cab2e31d76246263206318f3568d452e7f3ff3e
        https://bugs.webkit.org/show_bug.cgi?id=173675

        Reviewed by Sam Weinig.

        * Source/third_party/libyuv/.clang-format: Added.
        * Source/third_party/libyuv/.gitignore: Added.
        * Source/third_party/libyuv/Android.mk:
        * Source/third_party/libyuv/BUILD.gn:
        * Source/third_party/libyuv/CM_linux_packages.cmake: Added.
        * Source/third_party/libyuv/CMakeLists.txt:
        * Source/third_party/libyuv/DEPS:
        * Source/third_party/libyuv/PRESUBMIT.py:
        (_RunPythonTests):
        (_RunPythonTests.join):
        (_CommonChecks):
        (CheckChangeOnUpload):
        (CheckChangeOnCommit):
        * Source/third_party/libyuv/README.chromium:
        * Source/third_party/libyuv/build_overrides/build.gni:
        * Source/third_party/libyuv/chromium/.gclient: Removed.
        * Source/third_party/libyuv/chromium/README: Removed.
        * Source/third_party/libyuv/cleanup_links.py: Added.
        (WebRTCLinkSetup):
        (WebRTCLinkSetup.__init__):
        (WebRTCLinkSetup.CleanupLinks):
        (_initialize_database):
        (main):
        * Source/third_party/libyuv/codereview.settings:
        * Source/third_party/libyuv/docs/deprecated_builds.md:
        * Source/third_party/libyuv/docs/getting_started.md:
        * Source/third_party/libyuv/gyp_libyuv.py:
        * Source/third_party/libyuv/include/libyuv/basic_types.h:
        * Source/third_party/libyuv/include/libyuv/compare.h:
        * Source/third_party/libyuv/include/libyuv/compare_row.h:
        * Source/third_party/libyuv/include/libyuv/convert.h:
        * Source/third_party/libyuv/include/libyuv/convert_argb.h:
        * Source/third_party/libyuv/include/libyuv/convert_from.h:
        * Source/third_party/libyuv/include/libyuv/convert_from_argb.h:
        * Source/third_party/libyuv/include/libyuv/cpu_id.h:
        * Source/third_party/libyuv/include/libyuv/macros_msa.h:
        * Source/third_party/libyuv/include/libyuv/mjpeg_decoder.h:
        * Source/third_party/libyuv/include/libyuv/planar_functions.h:
        * Source/third_party/libyuv/include/libyuv/rotate.h:
        * Source/third_party/libyuv/include/libyuv/rotate_argb.h:
        * Source/third_party/libyuv/include/libyuv/rotate_row.h:
        * Source/third_party/libyuv/include/libyuv/row.h:
        * Source/third_party/libyuv/include/libyuv/scale.h:
        * Source/third_party/libyuv/include/libyuv/scale_argb.h:
        * Source/third_party/libyuv/include/libyuv/scale_row.h:
        * Source/third_party/libyuv/include/libyuv/version.h:
        * Source/third_party/libyuv/include/libyuv/video_common.h:
        * Source/third_party/libyuv/infra/config/OWNERS: Added.
        * Source/third_party/libyuv/infra/config/README.md: Added.
        * Source/third_party/libyuv/infra/config/cq.cfg: Added.
        * Source/third_party/libyuv/libyuv.gyp:
        * Source/third_party/libyuv/libyuv.gypi:
        * Source/third_party/libyuv/libyuv_test.gyp:
        * Source/third_party/libyuv/linux.mk:
        * Source/third_party/libyuv/pylintrc: Added.
        * Source/third_party/libyuv/setup_links.py: Removed.
        * Source/third_party/libyuv/source/compare.cc:
        * Source/third_party/libyuv/source/compare_common.cc:
        * Source/third_party/libyuv/source/compare_gcc.cc:
        * Source/third_party/libyuv/source/compare_neon.cc:
        * Source/third_party/libyuv/source/compare_neon64.cc:
        * Source/third_party/libyuv/source/compare_win.cc:
        * Source/third_party/libyuv/source/convert.cc:
        * Source/third_party/libyuv/source/convert_argb.cc:
        * Source/third_party/libyuv/source/convert_from.cc:
        * Source/third_party/libyuv/source/convert_from_argb.cc:
        * Source/third_party/libyuv/source/convert_jpeg.cc:
        * Source/third_party/libyuv/source/convert_to_argb.cc:
        * Source/third_party/libyuv/source/convert_to_i420.cc:
        * Source/third_party/libyuv/source/cpu_id.cc:
        * Source/third_party/libyuv/source/mjpeg_decoder.cc:
        * Source/third_party/libyuv/source/mjpeg_validate.cc:
        * Source/third_party/libyuv/source/planar_functions.cc:
        * Source/third_party/libyuv/source/rotate.cc:
        * Source/third_party/libyuv/source/rotate_any.cc:
        * Source/third_party/libyuv/source/rotate_argb.cc:
        * Source/third_party/libyuv/source/rotate_common.cc:
        * Source/third_party/libyuv/source/rotate_dspr2.cc: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/source/rotate_mips.cc.
        * Source/third_party/libyuv/source/rotate_gcc.cc:
        * Source/third_party/libyuv/source/rotate_msa.cc: Added.
        * Source/third_party/libyuv/source/rotate_neon.cc:
        * Source/third_party/libyuv/source/rotate_neon64.cc:
        * Source/third_party/libyuv/source/rotate_win.cc:
        * Source/third_party/libyuv/source/row_any.cc:
        * Source/third_party/libyuv/source/row_common.cc:
        * Source/third_party/libyuv/source/row_dspr2.cc: Added.
        * Source/third_party/libyuv/source/row_gcc.cc:
        * Source/third_party/libyuv/source/row_mips.cc: Removed.
        * Source/third_party/libyuv/source/row_msa.cc:
        * Source/third_party/libyuv/source/row_neon.cc:
        * Source/third_party/libyuv/source/row_neon64.cc:
        * Source/third_party/libyuv/source/row_win.cc:
        * Source/third_party/libyuv/source/scale.cc:
        * Source/third_party/libyuv/source/scale_any.cc:
        * Source/third_party/libyuv/source/scale_argb.cc:
        * Source/third_party/libyuv/source/scale_common.cc:
        * Source/third_party/libyuv/source/scale_dspr2.cc: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/source/scale_mips.cc.
        * Source/third_party/libyuv/source/scale_gcc.cc:
        * Source/third_party/libyuv/source/scale_msa.cc: Added.
        * Source/third_party/libyuv/source/scale_neon.cc:
        * Source/third_party/libyuv/source/scale_neon64.cc:
        * Source/third_party/libyuv/source/scale_win.cc:
        * Source/third_party/libyuv/source/video_common.cc:
        * Source/third_party/libyuv/sync_chromium.py: Removed.
        * Source/third_party/libyuv/third_party/gflags/BUILD.gn: Removed.
        * Source/third_party/libyuv/third_party/gflags/LICENSE: Removed.
        * Source/third_party/libyuv/third_party/gflags/README.libyuv: Removed.
        * Source/third_party/libyuv/third_party/gflags/gen/posix/include/gflags/gflags.h: Removed.
        * Source/third_party/libyuv/third_party/gflags/gen/posix/include/gflags/gflags_completions.h: Removed.
        * Source/third_party/libyuv/third_party/gflags/gen/posix/include/gflags/gflags_declare.h: Removed.
        * Source/third_party/libyuv/third_party/gflags/gen/posix/include/gflags/gflags_gflags.h: Removed.
        * Source/third_party/libyuv/third_party/gflags/gen/posix/include/private/config.h: Removed.
        * Source/third_party/libyuv/third_party/gflags/gen/win/include/gflags/gflags.h: Removed.
        * Source/third_party/libyuv/third_party/gflags/gen/win/include/gflags/gflags_completions.h: Removed.
        * Source/third_party/libyuv/third_party/gflags/gen/win/include/gflags/gflags_declare.h: Removed.
        * Source/third_party/libyuv/third_party/gflags/gen/win/include/gflags/gflags_gflags.h: Removed.
        * Source/third_party/libyuv/third_party/gflags/gen/win/include/private/config.h: Removed.
        * Source/third_party/libyuv/third_party/gflags/gflags.gyp: Removed.
        * Source/third_party/libyuv/tools/gritsettings/README: Removed.
        * Source/third_party/libyuv/tools/gritsettings/resource_ids: Removed.
        * Source/third_party/libyuv/tools/valgrind-libyuv/tsan/OWNERS: Removed.
        * Source/third_party/libyuv/tools/valgrind-libyuv/tsan/PRESUBMIT.py: Removed.
        * Source/third_party/libyuv/tools/valgrind-libyuv/tsan/suppressions.txt: Removed.
        * Source/third_party/libyuv/tools/valgrind-libyuv/tsan/suppressions_mac.txt: Removed.
        * Source/third_party/libyuv/tools/valgrind-libyuv/tsan/suppressions_win32.txt: Removed.
        * Source/third_party/libyuv/tools_libyuv/OWNERS: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/OWNERS.
        * Source/third_party/libyuv/tools_libyuv/autoroller/roll_deps.py: Added.
        (RollError):
        (ParseDepsDict):
        (ParseLocalDepsFile):
        (ParseRemoteCrDepsFile):
        (ParseCommitPosition):
        (_RunCommand):
        (_GetBranches):
        (_ReadGitilesContent):
        (ReadRemoteCrFile):
        (ReadRemoteCrCommit):
        (ReadUrlContent):
        (GetMatchingDepsEntries):
        (BuildDepsentryDict):
        (BuildDepsentryDict.AddDepsEntries):
        (CalculateChangedDeps):
        (CalculateChangedClang):
        (CalculateChangedClang.GetClangRev):
        (GenerateCommitMessage):
        (UpdateDepsFile):
        (_IsTreeClean):
        (_EnsureUpdatedMasterBranch):
        (_CreateRollBranch):
        (_RemovePreviousRollBranch):
        (_LocalCommit):
        (_UploadCL):
        (_SendToCQ):
        (main):
        * Source/third_party/libyuv/tools_libyuv/autoroller/unittests/roll_deps_test.py: Added.
        (TestError):
        (FakeCmd):
        (FakeCmd.__init__):
        (FakeCmd.add_expectation):
        (FakeCmd.__call__):
        (TestRollChromiumRevision):
        (TestRollChromiumRevision.setUp):
        (TestRollChromiumRevision.tearDown):
        (TestRollChromiumRevision.testUpdateDepsFile):
        (TestRollChromiumRevision.testParseDepsDict):
        (TestRollChromiumRevision.testParseDepsDict.assertVar):
        (TestRollChromiumRevision.testGetMatchingDepsEntriesReturnsPathInSimpleCase):
        (TestRollChromiumRevision.testGetMatchingDepsEntriesHandlesSimilarStartingPaths):
        (TestRollChromiumRevision.testGetMatchingDepsEntriesHandlesTwoPathsWithIdenticalFirstParts):
        (TestRollChromiumRevision.testCalculateChangedDeps):
        (_SetupGitLsRemoteCall):
        * Source/third_party/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS: Added.
        * Source/third_party/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium.new: Added.
        * Source/third_party/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium.old: Added.
        * Source/third_party/libyuv/tools_libyuv/get_landmines.py: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/get_landmines.py.
        * Source/third_party/libyuv/tools_libyuv/msan/OWNERS: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/msan/OWNERS.
        * Source/third_party/libyuv/tools_libyuv/msan/blacklist.txt: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/msan/blacklist.txt.
        * Source/third_party/libyuv/tools_libyuv/ubsan/OWNERS: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/ubsan/OWNERS.
        * Source/third_party/libyuv/tools_libyuv/ubsan/blacklist.txt: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/ubsan/blacklist.txt.
        * Source/third_party/libyuv/tools_libyuv/ubsan/vptr_blacklist.txt: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/ubsan/vptr_blacklist.txt.
        * Source/third_party/libyuv/tools_libyuv/valgrind/libyuv_tests.bat: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/valgrind-libyuv/libyuv_tests.bat.
        * Source/third_party/libyuv/tools_libyuv/valgrind/libyuv_tests.py: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/valgrind-libyuv/libyuv_tests.py.
        (LibyuvTest._DefaultCommand):
        * Source/third_party/libyuv/tools_libyuv/valgrind/libyuv_tests.sh: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/valgrind-libyuv/libyuv_tests.sh.
        * Source/third_party/libyuv/tools_libyuv/valgrind/memcheck/OWNERS: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/valgrind-libyuv/memcheck/OWNERS.
        * Source/third_party/libyuv/tools_libyuv/valgrind/memcheck/PRESUBMIT.py: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/valgrind-libyuv/memcheck/PRESUBMIT.py.
        (CheckChange):
        * Source/third_party/libyuv/tools_libyuv/valgrind/memcheck/suppressions.txt: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/valgrind-libyuv/memcheck/suppressions.txt.
        * Source/third_party/libyuv/tools_libyuv/valgrind/memcheck/suppressions_mac.txt: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/valgrind-libyuv/memcheck/suppressions_mac.txt.
        * Source/third_party/libyuv/tools_libyuv/valgrind/memcheck/suppressions_win32.txt: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/valgrind-libyuv/memcheck/suppressions_win32.txt.
        * Source/third_party/libyuv/unit_test/color_test.cc:
        * Source/third_party/libyuv/unit_test/compare_test.cc:
        * Source/third_party/libyuv/unit_test/convert_test.cc:
        * Source/third_party/libyuv/unit_test/cpu_test.cc:
        * Source/third_party/libyuv/unit_test/cpu_thread_test.cc: Added.
        * Source/third_party/libyuv/unit_test/math_test.cc:
        * Source/third_party/libyuv/unit_test/planar_test.cc:
        * Source/third_party/libyuv/unit_test/rotate_argb_test.cc:
        * Source/third_party/libyuv/unit_test/rotate_test.cc:
        * Source/third_party/libyuv/unit_test/scale_argb_test.cc:
        * Source/third_party/libyuv/unit_test/scale_test.cc:
        * Source/third_party/libyuv/unit_test/unit_test.cc:
        * Source/third_party/libyuv/unit_test/unit_test.h:
        (SizeValid):
        * Source/third_party/libyuv/unit_test/video_common_test.cc:
        * Source/third_party/libyuv/util/compare.cc:
        * Source/third_party/libyuv/util/cpuid.c:
        (main):
        * Source/third_party/libyuv/util/psnr.cc:
        * Source/third_party/libyuv/util/psnr_main.cc:
        * Source/third_party/libyuv/util/ssim.cc:
        * Source/third_party/libyuv/util/ssim.h:
        * Source/third_party/libyuv/util/yuvconvert.cc: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/util/convert.cc.

2017-06-21  Youenn Fablet  <youenn@apple.com>

        Fix build after r218645
        https://bugs.webkit.org/show_bug.cgi?id=173668

        Unreviewed.

        * Source/webrtc/base/sigslottester.h: Removing executable right.
        * Source/webrtc/modules/video_coding/codecs/vp8/temporal_layers.h:
        (webrtc::TemporalLayersFactory::Create): Inline a default implementation.
        * Source/webrtc/modules/video_processing/util/skin_detection.h: Removing executable right.

2017-06-21  Youenn Fablet  <youenn@apple.com>

        Remove expat source code from Source/ThirdParty/libwebrtc
        https://bugs.webkit.org/show_bug.cgi?id=173656

        Reviewed by Brent Fulgham.

        * Source/third_party/expat/BUILD.gn: Removed.
        * Source/third_party/expat/OWNERS: Removed.
        * Source/third_party/expat/README.chromium: Removed.
        * Source/third_party/expat/files/COPYING: Removed.
        * Source/third_party/expat/files/Changes: Removed.
        * Source/third_party/expat/files/MANIFEST: Removed.
        * Source/third_party/expat/files/README: Removed.
        * Source/third_party/expat/files/lib/amigaconfig.h: Removed.
        * Source/third_party/expat/files/lib/ascii.h: Removed.
        * Source/third_party/expat/files/lib/asciitab.h: Removed.
        * Source/third_party/expat/files/lib/expat.h: Removed.
        * Source/third_party/expat/files/lib/expat_config.h: Removed.
        * Source/third_party/expat/files/lib/expat_external.h: Removed.
        * Source/third_party/expat/files/lib/iasciitab.h: Removed.
        * Source/third_party/expat/files/lib/internal.h: Removed.
        * Source/third_party/expat/files/lib/latin1tab.h: Removed.
        * Source/third_party/expat/files/lib/libexpat.def: Removed.
        * Source/third_party/expat/files/lib/libexpatw.def: Removed.
        * Source/third_party/expat/files/lib/macconfig.h: Removed.
        * Source/third_party/expat/files/lib/nametab.h: Removed.
        * Source/third_party/expat/files/lib/utf8tab.h: Removed.
        * Source/third_party/expat/files/lib/winconfig.h: Removed.
        * Source/third_party/expat/files/lib/winconfig.h.original: Removed.
        * Source/third_party/expat/files/lib/xmlparse.c: Removed.
        * Source/third_party/expat/files/lib/xmlparse.c.original: Removed.
        * Source/third_party/expat/files/lib/xmlrole.c: Removed.
        * Source/third_party/expat/files/lib/xmlrole.h: Removed.
        * Source/third_party/expat/files/lib/xmltok.c: Removed.
        * Source/third_party/expat/files/lib/xmltok.h: Removed.
        * Source/third_party/expat/files/lib/xmltok_impl.c: Removed.
        * Source/third_party/expat/files/lib/xmltok_impl.c.original: Removed.
        * Source/third_party/expat/files/lib/xmltok_impl.h: Removed.
        * Source/third_party/expat/files/lib/xmltok_ns.c: Removed.
        * Source/third_party/expat/fuzz/OWNERS: Removed.
        * Source/third_party/expat/fuzz/expat_xml_parse_fuzzer.cc: Removed.

2017-06-21  Youenn Fablet  <youenn@apple.com>

        Refresh libwebrtc code up to a87675d4a160e2c49c3e754cd9ca291d6c8f36ae
        https://bugs.webkit.org/show_bug.cgi?id=173602

        Reviewed by Eric Carlson.

        * Configurations/libwebrtc.xcconfig:
        * Source: Updated to a87675d4a160e2c49c3e754cd9ca291d6c8f36ae and reapplied WebKit specific changes.
        * WebKit/patch-libwebrtc:
        * libwebrtc.xcodeproj/project.pbxproj:

2017-06-19  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r218505.
        https://bugs.webkit.org/show_bug.cgi?id=173563

        "It would break internal builds" (Requested by youenn on
        #webkit).

        Reverted changeset:

        "[WebRTC] Prevent capturing at unconventional resolutions when
        using the SW encoder on Mac"
        https://bugs.webkit.org/show_bug.cgi?id=172602
        http://trac.webkit.org/changeset/218505

2017-06-19  Youenn Fablet  <youenn@apple.com>

        [WebRTC] Prevent capturing at unconventional resolutions when using the SW encoder on Mac
        https://bugs.webkit.org/show_bug.cgi?id=172602
        <rdar://problem/32407693>

        Reviewed by Eric Carlson.

        Adding a parameter to disable hardware encoder.

        * Source/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_encoder.h:
        * Source/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_encoder.mm:
        (webrtc::H264VideoToolboxEncoder::CreateCompressionSession):

2017-06-10  Dan Bernstein  <mitz@apple.com>

        Reverted r218056 because it made the IDE reindex constantly.

        * Configurations/DebugRelease.xcconfig:

2017-06-10  Dan Bernstein  <mitz@apple.com>

        [Xcode] With Xcode 9 developer beta, everything rebuilds when switching between command-line and IDE
        https://bugs.webkit.org/show_bug.cgi?id=173223

        Reviewed by Sam Weinig.

        The rebuilds were happening due to a difference in the compiler options that the IDE and
        xcodebuild were specifying. Only the IDE was passing the -index-store-path option. To make
        xcodebuild pass that option, too, set CLANG_INDEX_STORE_ENABLE to YES if it is unset, and
        specify an appropriate path in CLANG_INDEX_STORE_PATH.

        * Configurations/DebugRelease.xcconfig:

2017-06-07  Youenn Fablet  <youenn@apple.com>

        Add WebRTC stats logging
        https://bugs.webkit.org/show_bug.cgi?id=173045

        Reviewed by Eric Carlson.

        * Source/webrtc/api/stats/rtcstats.h: Exporting RTCStats ToString.

2017-05-28  Dan Bernstein  <mitz@apple.com>

        [Xcode] ALWAYS_SEARCH_USER_PATHS is set to YES
        https://bugs.webkit.org/show_bug.cgi?id=172691

        Reviewed by Tim Horton.

        * Configurations/Base.xcconfig: Set ALWAYS_SEARCH_USER_PATHS to NO.

2017-05-16  Youenn Fablet  <youenn@apple.com>

        RealtimeOutgoingVideoSource should support sinkWants for rotation
        https://bugs.webkit.org/show_bug.cgi?id=172123
        <rdar://problem/32200017>

        Reviewed by Eric Carlson.

        * Source/webrtc/api/video/i420_buffer.h: Exporting rotate routine.

2017-05-08  Youenn Fablet  <youenn@apple.com>

        TURNS gathering is not working properly
        https://bugs.webkit.org/show_bug.cgi?id=171747

        Reviewed by Eric Carlson.

        * Source/webrtc/base/openssladapter.cc: Adding support for SNI in case of TLS ice candidate gathering.

2017-04-29  Dan Bernstein  <mitz@apple.com>

        [Xcode] libwebrtc SRCROOT includes examples
        https://bugs.webkit.org/show_bug.cgi?id=171478

        Reviewed by Tim Horton.

        * Configurations/Base.xcconfig: Exclude the Source/webrtc/examples subdirectory from
          installsrc. Its contents are not used for building any of the targets in the project.

2017-04-19  Youenn Fablet  <youenn@apple.com>

        [Mac] Allow customizing H264 encoder
        https://bugs.webkit.org/show_bug.cgi?id=170829

        Reviewed by Alex Christensen.

        * Configurations/libwebrtc.xcconfig:
        * Source/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_encoder.h:
        * Source/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_encoder.mm:
        (webrtc::H264VideoToolboxEncoder::ResetCompressionSession):
        (webrtc::H264VideoToolboxEncoder::CreateCompressionSession): Default implementation, fixing memory leak for dictionary.
        * Source/webrtc/sdk/objc/Framework/Classes/videotoolboxvideocodecfactory.cc:

2017-04-18  Youenn Fablet  <youenn@apple.com>

        Add NDEBUG and CodeStripping to libwebrtc build system
        https://bugs.webkit.org/show_bug.cgi?id=170954

        Reviewed by Alex Christensen.

        This optimizes libwebrtc library size and efficiency.
        This allows allocating libwebrtc objects in WebCore without issues.

        * Configurations/Base.xcconfig:
        * Configurations/boringssl.xcconfig:
        * Configurations/libsrtp.xcconfig:
        * Configurations/libwebrtc.xcconfig:
        * Configurations/libwebrtcpcrtc.xcconfig:
        * Configurations/opus.xcconfig:
        * Configurations/usrsctp.xcconfig:

2017-04-17  Youenn Fablet  <youenn@apple.com>

        Add an external libwebrtc encoder factory in WebCore
        https://bugs.webkit.org/show_bug.cgi?id=170883

        Reviewed by Alex Christensen.

        Exporting some symbols.
        Allowing to customize the creation of the H264 encoder.

        * Source/webrtc/media/base/codec.h:
        * Source/webrtc/media/engine/webrtcvideoencoderfactory.h
        * Source/webrtc/sdk/objc/Framework/Classes/videotoolboxvideocodecfactory.cc:
        * Source/webrtc/sdk/objc/Framework/Classes/videotoolboxvideocodecfactory.h:
        * Source/webrtc/video_decoder.h
        * Source/webrtc/video_encoder.h

2017-04-14  Mark Lam  <mark.lam@apple.com>

        Update architectures in xcconfig files.
        https://bugs.webkit.org/show_bug.cgi?id=170867
        <rdar://problem/31628104>

        Reviewed by Joseph Pecoraro.

        * Configurations/opus.xcconfig:

2017-04-12  Dan Bernstein  <mitz@apple.com>

        [Mac] Future-proof .xcconfig files
        https://bugs.webkit.org/show_bug.cgi?id=170802

        Reviewed by Tim Horton.

        * Configurations/Base.xcconfig:
        * Configurations/DebugRelease.xcconfig:
        * Configurations/opus.xcconfig:

2017-04-07  Alex Christensen  <achristensen@webkit.org>

        Enable SSE4 and NEON optimizations of libopus where available
        https://bugs.webkit.org/show_bug.cgi?id=170592

        Reviewed by Youenn Fablet.

        * Configurations/opus.xcconfig:
        * libwebrtc.xcodeproj/project.pbxproj:

2017-04-06  Youenn Fablet  <youenn@apple.com>

        WebRTC aborts when trying to sleep on a wrong thread
        https://bugs.webkit.org/show_bug.cgi?id=170492
        <rdar://problem/31446377>

        Reviewed by Eric Carlson.

        Libwebrtc network thread is set up so that it does not accept blocking calls to other threads.
        as per ChannelManager::Init() in channelmanager.cc.
        But rtc::Thread::SleepMs expects to block it.
        Marking thread as blockable before calling SleepMs and resetting the value if needed afterwards.
        * Source/webrtc/media/sctp/sctptransport.cc:

2017-03-27  Alejandro G. Castro  <alex@igalia.com>

        Fixes for libwebrtc logging after r214288
        https://bugs.webkit.org/show_bug.cgi?id=170116

        Reviewed by Youenn Fablet.

        * Source/webrtc/base/logging.cc: Added the critical section
        requirement and the call to the new getter for g_log_crit.

2017-03-27  Alex Christensen  <achristensen@webkit.org>

        Build libwebrtc with even more warnings
        https://bugs.webkit.org/show_bug.cgi?id=169997

        Reviewed by Tim Horton.

        There are still OSAtomic* functions I don't want to worry about right now,
        so I'm keeping a few -Wno-deprecated-declarations, but everything else can go.

        * Configurations/libsrtp.xcconfig:
        * Configurations/libwebrtc.xcconfig:
        * Configurations/libwebrtcpcrtc.xcconfig:

2017-03-27  Youenn Fablet  <youenn@apple.com>

        Add support for RTCRtpReceiver/RTCRtpSender getParameters
        https://bugs.webkit.org/show_bug.cgi?id=170057

        Reviewed by Alex Christensen.

        * Source/webrtc/api/mediatypes.h:

2017-03-22  Alex Christensen  <achristensen@webkit.org>

        Fix warnings in libwebrtc
        https://bugs.webkit.org/show_bug.cgi?id=169973

        Reviewed by Geoffrey Garen.

        * Configurations/boringssl.xcconfig:
        * Configurations/libsrtp.xcconfig:
        * Configurations/libwebrtc.xcconfig:
        * Configurations/libwebrtcpcrtc.xcconfig:
        * Configurations/libyuv.xcconfig:
        * Configurations/opus.xcconfig:
        * Configurations/usrsctp.xcconfig:
        Build with more warnings.
        opus still needs some incompatible pointer warnings disabled because it converts 
        const opus_int16 * to const opus_val16 * and opus_int32 * to opus_val32 *
        and that's ok because its a codec and that's what codecs do.
        * Source/webrtc/base/logging.cc:
        * Source/webrtc/base/logging.h:
        * Source/webrtc/base/neverdestroyed.h: Added.
        (webrtc::NeverDestroyed::NeverDestroyed):
        (webrtc::NeverDestroyed::operator T&):
        (webrtc::NeverDestroyed::get):
        (webrtc::NeverDestroyed::operator&):
        (webrtc::NeverDestroyed::asPtr):
        Added webrtc::NeverDestroyed which may or may not be based on WTF::NeverDestroyed.
        This allows us to avoid exit time destructors, which would slow down program termination for no reason.
        * Source/webrtc/base/virtualsocketserver.cc:
        * Source/webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory_internal.cc:
        Adopt NeverDestroyed in function scope so we don't have global constructors or destructors.
        * Source/webrtc/modules/audio_processing/beamformer/array_util.h:
        (webrtc::DegreesToRadians):
        (webrtc::RadiansToDegrees):
        Add constexpr so we can calculate values at compile time instead of launch time.
        * Source/webrtc/modules/rtp_rtcp/source/rtp_utility.cc:
        * Source/webrtc/system_wrappers/source/clock.cc:
        * libwebrtc.xcodeproj/project.pbxproj:
        Don't compile ssl_test.cc.  We don't need it.

2017-03-10  Youenn Fablet  <youenn@apple.com>

        Move libwebrtc backend to using tracks
        https://bugs.webkit.org/show_bug.cgi?id=169472

        Reviewed by Alex Christensen.

        * Source/webrtc/pc/rtcstatscollector.cc: Moving from using media stream to tracks.

2017-03-08  Youenn Fablet  <youenn@apple.com>

        Use H264 hardware encoder for Mac libwebrtc
        https://bugs.webkit.org/show_bug.cgi?id=169383

        Reviewed by Alex Christensen.

        Switching to H264 hardware encoder if available for Mac.
        Adding logs in case hardware encoder cannot be used.

        * Configurations/libwebrtc.xcconfig:
        * Source/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_encoder.mm:
        (webrtc::H264VideoToolboxEncoder::ResetCompressionSession):
        (webrtc::H264VideoToolboxEncoder::ConfigureCompressionSession):

2017-03-07  Youenn Fablet  <youenn@apple.com>

        TurnPort::OnSocketConnect is crashing
        https://bugs.webkit.org/show_bug.cgi?id=169284

        Reviewed by Eric Carlson.

        * Source/webrtc/p2p/base/turnport.cc: Fixing the assertion.

2017-03-06  Youenn Fablet  <youenn@apple.com>

        Bring back WebKit specific changes to disable temporarily libwebrtc video adaptation
        https://bugs.webkit.org/show_bug.cgi?id=169229

        Reviewed by Alex Christensen.

        * Source/webrtc/modules/video_coding/video_sender.cc: disabling frame dropping.
        * Source/webrtc/video/vie_encoder.cc: disabling resolution decrease based on CPU overuse.

2017-03-06  Alex Christensen  <achristensen@webkit.org>

        Fix Production libwebrtc build after r213418
        https://bugs.webkit.org/show_bug.cgi?id=169217
        <rdar://problem/30876775>

        Reviewed by Tim Horton.

        * Source/webrtc/base/checks.h:
        * libwebrtc.xcodeproj/project.pbxproj:
        MakeCheckOpString was a weak export, and it wasn't needed.
        There is an internal build that checks for weak exports and fails if there is one.
        Run the check-for-weak-vtables-and-externals script for libwebrtc.dylib like we do for the other frameworks.

2017-03-04  Dan Bernstein  <mitz@apple.com>

        [Cocoa] libwebrtc.dylib’s current version is fixed at 1.0.0
        https://bugs.webkit.org/show_bug.cgi?id=169170

        Reviewed by Alex Christensen.

        * Configurations/Version.xcconfig: Copied from Source/JavaScriptCore/Configurations/Version.xcconfig.
          This defines DYLIB_CURRENT_VERSION.
        * Configurations/libwebrtc.xcconfig: Include Version.xcconfig.

2017-03-04  Alex Christensen  <achristensen@webkit.org>

        Cleanup after r213418
        https://bugs.webkit.org/show_bug.cgi?id=169165

        Reviewed by Youenn Fablet.

        * WebKit/patch-libwebrtc:
        I made another change after the last patch I uploaded to stop crashing.
        This should be reflected in our patch.

2017-03-03  Youenn Fablet  <youenn@apple.com>

        [WebRTC] Update libwebrtc source code
        https://bugs.webkit.org/show_bug.cgi?id=168599

        Reviewed by Alex Christensen.

        Very long list of file changes omitted.

        We updated to git commit 716e726ef0b322e8317b749613691da043bfc61c
        of https://chromium.googlesource.com/external/webrtc and applied
        the changes that are now in WebKit/patch-libwebrtc

2017-03-03  Alex Christensen  <achristensen@webkit.org>

        Remove empty build directories.

        * build: Removed.
        * build/Debug: Removed.

2017-03-01  Joseph Pecoraro  <pecoraro@apple.com>

        [WebRTC] Install libwebrtc.dylib inside of WebCore.framework
        https://bugs.webkit.org/show_bug.cgi?id=168859

        Reviewed by Dan Bernstein.

        * Configurations/Base.xcconfig:
        Define some general configuration variables.

        * Configurations/DebugRelease.xcconfig:
        Define WK_RELOCATABLE_FRAMEWORKS for Debug/Release builds.

        * Configurations/libwebrtc.xcconfig:
        Set INSTALL_PATH to be inside WebCore.framework's sub-Frameworks directory
        unless WK_USE_OVERRIDE_FRAMEWORKS_DIR. Set the install name of the dylib to
        be relative to WebCore / WebKit when frameworks are relocatable, such as
        WK_USE_OVERRIDE_FRAMEWORKS_DIR or WK_RELOCATABLE_FRAMEWORKS.

2017-02-28  Youenn Fablet  <youenn@apple.com>

        [WebRTC] CPU Overuse libwebrtc detector is decreasing the quality of the video
        https://bugs.webkit.org/show_bug.cgi?id=168990

        Reviewed by Eric Carlson.

        * Source/webrtc/video/vie_encoder.cc: Disabling temporarily overuse detector.

2017-02-28  Alex Christensen  <achristensen@webkit.org>

        [WebRTC] Fix an internal production build
        https://bugs.webkit.org/show_bug.cgi?id=168992

        Reviewed by Youenn Fablet.

        * libwebrtc.xcodeproj/project.pbxproj:
        Link with Foundation and CoreFoundation frameworks.

2017-02-28  Youenn Fablet  <youenn@apple.com>

        [WebRTC] LibWebRTC frame dropper is not working consistently
        https://bugs.webkit.org/show_bug.cgi?id=168973

        Reviewed by Eric Carlson.

        * Source/webrtc/modules/video_coding/video_sender.cc: Disable temporarily the frame dropper as it is sometimes
        dropping too many frames.

2017-02-27  Youenn Fablet  <youenn@apple.com>

        [WebRTC] RealtimOutgoingVideoSource should not need to do image conversion
        https://bugs.webkit.org/show_bug.cgi?id=168802

        Reviewed by Jon Lee.

        Exporting new symbols.
        Including headers in the project file.

        * Source/webrtc/common_video/include/corevideo_frame_buffer.h:
        * Source/webrtc/common_video/include/i420_buffer_pool.h:
        * Source/webrtc/common_video/include/video_frame_buffer.h:
        * libwebrtc.xcodeproj/project.pbxproj:

2017-02-24  Alex Christensen  <achristensen@webkit.org>

        Remove unneeded protobuf tests directory.
        
        Rubber-stamped by Joe Pecoraro.
        
        This directory contained a swift file that was causing problems in an internal verification step.

        * Source/third_party/protobuf/objectivec/Tests: Removed.
        (And everything in this subdirectory)

2017-02-22  Youenn Fablet  <youenn@apple.com>

        [WebRTC] Disable libwebrtc stderr logging in release mode
        https://bugs.webkit.org/show_bug.cgi?id=168734

        Reviewed by Tim Horton.

        * Source/webrtc/base/logging.h:

2017-02-21  Youenn Fablet  <youenn@apple.com>

        [WebRTC][Mac] Activate libwebrtc
        https://bugs.webkit.org/show_bug.cgi?id=167293
        <rdar://problem/30401864>

        Reviewed by Alex Christensen.

        Doing some clean-up.

        * Configurations/libwebrtc.xcconfig:
        * Source/webrtc/base/checks.h:
        * libwebrtc.xcodeproj/project.pbxproj:

2017-02-21  Alex Christensen  <achristensen@webkit.org>

        Don't build libwebrtc on 32-bit architectures
        https://bugs.webkit.org/show_bug.cgi?id=168692

        Reviewed by Dan Bernstein.

        * Configurations/Base.xcconfig:

2017-02-21  Youenn Fablet  <youenn@apple.com>

        [Xcode] libwebrtc installhdrs doesn’t install any of the headers
        https://bugs.webkit.org/show_bug.cgi?id=168634

        Reviewed by Alex Christensen.

        * Configurations/libwebrtc.xcconfig:
        * libwebrtc.xcodeproj/project.pbxproj:

2017-02-21  Alex Christensen  <achristensen@webkit.org>

        Unreviewed, rolling out r212699.

        Internal build not ready

        Reverted changeset:

        "[WebRTC][Mac] Activate libwebrtc"
        https://bugs.webkit.org/show_bug.cgi?id=167293
        http://trac.webkit.org/changeset/212699

2017-02-20  Youenn Fablet  <youenn@apple.com>

        [WebRTC][Mac] Activate libwebrtc
        https://bugs.webkit.org/show_bug.cgi?id=167293
        <rdar://problem/30401864>

        Reviewed by Alex Christensen.

        Doing some clean-up.

        * Configurations/libwebrtc.xcconfig:
        * Source/webrtc/base/checks.h:
        * libwebrtc.xcodeproj/project.pbxproj:

2017-02-17  Alex Christensen  <achristensen@webkit.org>

        Fix iOS ASAN build after r212401
        https://bugs.webkit.org/show_bug.cgi?id=168398

        * libwebrtc.xcodeproj/project.pbxproj:
        libwebrtc.dylib needs some symbols from CFNetwork,
        like CFNetworkCopySystemProxySettings

2017-02-16  Youenn Fablet  <youenn@apple.com>

        [WebRTC] Fix some missing exports after r212401
        https://bugs.webkit.org/show_bug.cgi?id=168449

        Reviewed by Alex Christensen.

        * Source/webrtc/api/jsep.h:
        * Source/webrtc/base/checks.h:

2017-02-15  Alex Christensen  <achristensen@webkit.org>

        Fix ASAN build after r212401
        https://bugs.webkit.org/show_bug.cgi?id=168398

        * Source/webrtc/media/engine/webrtcvideocapturer.cc:
        * libwebrtc.xcodeproj/project.pbxproj:

2017-02-15  Alex Christensen  <achristensen@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-15  Youenn Fablet  <youenn@apple.com>

        [WebRTC] Remove libwebrtc ObjectiveC files that use UIKit
        https://bugs.webkit.org/show_bug.cgi?id=168392

        Reviewed by Alex Christensen.

        Removing default AudioDeviceModule as WebKit is providing its own.
        Removing checks for active application in H264 codec as WebKit should be made responsible for that.
        Removing no longer needed ObjectiveC files.

        * Configurations/libwebrtc.xcconfig:
        * Configurations/libwebrtcpcrtc.xcconfig:
        * Source/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_decoder.cc:
        * Source/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_encoder.mm:
        (webrtc::H264VideoToolboxEncoder::Encode):
        * libwebrtc.xcodeproj/project.pbxproj:

2017-02-14  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r212326.

        This change broke certain build configurations.

        Reverted changeset:

        "Make libwebrtc.dylib"
        https://bugs.webkit.org/show_bug.cgi?id=168335
        http://trac.webkit.org/changeset/212326

2017-02-14  Alex Christensen  <achristensen@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  <achristensen@webkit.org>

        Remove android-specific files from ThirdParty/libwebrtc
        https://bugs.webkit.org/show_bug.cgi?id=168272

        Reviewed by Brady Eidson.

        * Source/third_party/boringssl/src/third_party/android-cmake: Removed.
        * Source/third_party/boringssl/src/third_party/android-cmake/AndroidNdkGdb.cmake: Removed.
        * Source/third_party/boringssl/src/third_party/android-cmake/AndroidNdkModules.cmake: Removed.
        * Source/third_party/boringssl/src/third_party/android-cmake/LICENSE: Removed.
        * Source/third_party/boringssl/src/third_party/android-cmake/METADATA: Removed.
        * Source/third_party/boringssl/src/third_party/android-cmake/README.md: Removed.
        * Source/third_party/boringssl/src/third_party/android-cmake/android.toolchain.cmake: Removed.
        * Source/third_party/boringssl/src/third_party/android-cmake/ndk_links.md: Removed.
        * Source/third_party/boringssl/src/util/run_android_tests.go: Removed.
        * Source/third_party/libyuv/util/android: Removed.
        * Source/third_party/libyuv/util/android/test_runner.py: Removed.
        * Source/webrtc/androidjunit: Removed.
        * Source/webrtc/androidjunit/OWNERS: Removed.
        * Source/webrtc/androidjunit/src: Removed.
        * Source/webrtc/androidjunit/src/org: Removed.
        * Source/webrtc/androidjunit/src/org/webrtc: Removed.
        * Source/webrtc/androidjunit/src/org/webrtc/CameraEnumerationTest.java: Removed.
        * Source/webrtc/api/android: Removed.
        * Source/webrtc/api/android/PRESUBMIT.py: Removed.
        * Source/webrtc/api/android/README: Removed.
        * Source/webrtc/api/android/java: Removed.
        * Source/webrtc/api/android/java/src: Removed.
        * Source/webrtc/api/android/java/src/org: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/AudioSource.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/AudioTrack.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/CallSessionFileRotatingLogSink.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/Camera1Capturer.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/Camera1Enumerator.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/Camera1Session.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/Camera2Capturer.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/Camera2Enumerator.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/Camera2Session.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/CameraCapturer.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/CameraEnumerationAndroid.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/CameraEnumerator.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/CameraSession.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/CameraVideoCapturer.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/DataChannel.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/EglBase.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/EglBase10.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/EglBase14.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/EglRenderer.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/FileVideoCapturer.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/GlRectDrawer.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/GlShader.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/GlTextureFrameBuffer.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/GlUtil.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/IceCandidate.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/MediaCodecVideoDecoder.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/MediaCodecVideoEncoder.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/MediaConstraints.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/MediaSource.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/MediaStream.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/MediaStreamTrack.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/Metrics.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/NetworkMonitor.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/NetworkMonitorAutoDetect.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/OWNERS: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/PeerConnection.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/PeerConnectionFactory.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/RendererCommon.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/RtpParameters.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/RtpReceiver.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/RtpSender.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/ScreenCapturerAndroid.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/SdpObserver.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/SessionDescription.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/StatsObserver.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/StatsReport.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/SurfaceTextureHelper.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/SurfaceViewRenderer.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/VideoCapturer.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/VideoCapturerAndroid.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/VideoFileRenderer.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/VideoRenderer.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/VideoRendererGui.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/VideoSource.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/VideoTrack.java: Removed.
        * Source/webrtc/api/android/java/src/org/webrtc/YuvConverter.java: Removed.
        * Source/webrtc/api/android/jni: Removed.
        * Source/webrtc/api/android/jni/OWNERS: Removed.
        * Source/webrtc/api/android/jni/androidmediacodeccommon.h: Removed.
        * Source/webrtc/api/android/jni/androidmediadecoder_jni.cc: Removed.
        * Source/webrtc/api/android/jni/androidmediadecoder_jni.h: Removed.
        * Source/webrtc/api/android/jni/androidmediaencoder_jni.cc: Removed.
        * Source/webrtc/api/android/jni/androidmediaencoder_jni.h: Removed.
        * Source/webrtc/api/android/jni/androidmetrics_jni.cc: Removed.
        * Source/webrtc/api/android/jni/androidnetworkmonitor_jni.cc: Removed.
        * Source/webrtc/api/android/jni/androidnetworkmonitor_jni.h: Removed.
        * Source/webrtc/api/android/jni/androidvideotracksource_jni.cc: Removed.
        * Source/webrtc/api/android/jni/classreferenceholder.cc: Removed.
        * Source/webrtc/api/android/jni/classreferenceholder.h: Removed.
        * Source/webrtc/api/android/jni/jni_helpers.cc: Removed.
        * Source/webrtc/api/android/jni/jni_helpers.h: Removed.
        * Source/webrtc/api/android/jni/jni_onload.cc: Removed.
        * Source/webrtc/api/android/jni/native_handle_impl.cc: Removed.
        * Source/webrtc/api/android/jni/native_handle_impl.h: Removed.
        * Source/webrtc/api/android/jni/peerconnection_jni.cc: Removed.
        * Source/webrtc/api/android/jni/surfacetexturehelper_jni.cc: Removed.
        * Source/webrtc/api/android/jni/surfacetexturehelper_jni.h: Removed.
        * Source/webrtc/api/androidtests: Removed.
        * Source/webrtc/api/androidtests/AndroidManifest.xml: Removed.
        * Source/webrtc/api/androidtests/OWNERS: Removed.
        * Source/webrtc/api/androidtests/ant.properties: Removed.
        * Source/webrtc/api/androidtests/build.xml: Removed.
        * Source/webrtc/api/androidtests/project.properties: Removed.
        * Source/webrtc/api/androidtests/res: Removed.
        * Source/webrtc/api/androidtests/res/drawable-hdpi: Removed.
        * Source/webrtc/api/androidtests/res/drawable-hdpi/ic_launcher.png: Removed.
        * Source/webrtc/api/androidtests/res/drawable-ldpi: Removed.
        * Source/webrtc/api/androidtests/res/drawable-ldpi/ic_launcher.png: Removed.
        * Source/webrtc/api/androidtests/res/drawable-mdpi: Removed.
        * Source/webrtc/api/androidtests/res/drawable-mdpi/ic_launcher.png: Removed.
        * Source/webrtc/api/androidtests/res/drawable-xhdpi: Removed.
        * Source/webrtc/api/androidtests/res/drawable-xhdpi/ic_launcher.png: Removed.
        * Source/webrtc/api/androidtests/res/values: Removed.
        * Source/webrtc/api/androidtests/res/values/strings.xml: Removed.
        * Source/webrtc/api/androidtests/src: Removed.
        * Source/webrtc/api/androidtests/src/org: Removed.
        * Source/webrtc/api/androidtests/src/org/webrtc: Removed.
        * Source/webrtc/api/androidtests/src/org/webrtc/Camera1CapturerUsingByteBufferTest.java: Removed.
        * Source/webrtc/api/androidtests/src/org/webrtc/Camera1CapturerUsingTextureTest.java: Removed.
        * Source/webrtc/api/androidtests/src/org/webrtc/Camera2CapturerTest.java: Removed.
        * Source/webrtc/api/androidtests/src/org/webrtc/CameraVideoCapturerTestFixtures.java: Removed.
        * Source/webrtc/api/androidtests/src/org/webrtc/EglRendererTest.java: Removed.
        * Source/webrtc/api/androidtests/src/org/webrtc/GlRectDrawerTest.java: Removed.
        * Source/webrtc/api/androidtests/src/org/webrtc/MediaCodecVideoEncoderTest.java: Removed.
        * Source/webrtc/api/androidtests/src/org/webrtc/NetworkMonitorTest.java: Removed.
        * Source/webrtc/api/androidtests/src/org/webrtc/PeerConnectionTest.java: Removed.
        * Source/webrtc/api/androidtests/src/org/webrtc/RendererCommonTest.java: Removed.
        * Source/webrtc/api/androidtests/src/org/webrtc/SurfaceTextureHelperTest.java: Removed.
        * Source/webrtc/api/androidtests/src/org/webrtc/SurfaceViewRendererOnMeasureTest.java: Removed.
        * Source/webrtc/api/androidtests/src/org/webrtc/WebRtcJniBootTest.java: Removed.
        * Source/webrtc/api/androidvideotracksource.cc: Removed.
        * Source/webrtc/api/androidvideotracksource.h: Removed.
        * Source/webrtc/api/test/androidtestinitializer.cc: Removed.
        * Source/webrtc/api/test/androidtestinitializer.h: Removed.
        * Source/webrtc/base/ifaddrs-android.cc: Removed.
        * Source/webrtc/base/ifaddrs-android.h: Removed.
        * Source/webrtc/build/android: Removed.
        * Source/webrtc/build/android/AndroidManifest.xml: Removed.
        * Source/webrtc/build/android/suppressions.xml: Removed.
        * Source/webrtc/build/android/test_runner.py: Removed.
        * Source/webrtc/examples/androidapp: Removed.
        * Source/webrtc/examples/androidapp/AndroidManifest.xml: Removed.
        * Source/webrtc/examples/androidapp/OWNERS: Removed.
        * Source/webrtc/examples/androidapp/README: Removed.
        * Source/webrtc/examples/androidapp/ant.properties: Removed.
        * Source/webrtc/examples/androidapp/build.xml: Removed.
        * Source/webrtc/examples/androidapp/project.properties: Removed.
        * Source/webrtc/examples/androidapp/res: Removed.
        * Source/webrtc/examples/androidapp/res/drawable-hdpi: Removed.
        * Source/webrtc/examples/androidapp/res/drawable-hdpi/disconnect.png: Removed.
        * Source/webrtc/examples/androidapp/res/drawable-hdpi/ic_action_full_screen.png: Removed.
        * Source/webrtc/examples/androidapp/res/drawable-hdpi/ic_action_return_from_full_screen.png: Removed.
        * Source/webrtc/examples/androidapp/res/drawable-hdpi/ic_launcher.png: Removed.
        * Source/webrtc/examples/androidapp/res/drawable-hdpi/ic_loopback_call.png: Removed.
        * Source/webrtc/examples/androidapp/res/drawable-ldpi: Removed.
        * Source/webrtc/examples/androidapp/res/drawable-ldpi/disconnect.png: Removed.
        * Source/webrtc/examples/androidapp/res/drawable-ldpi/ic_action_full_screen.png: Removed.
        * Source/webrtc/examples/androidapp/res/drawable-ldpi/ic_action_return_from_full_screen.png: Removed.
        * Source/webrtc/examples/androidapp/res/drawable-ldpi/ic_launcher.png: Removed.
        * Source/webrtc/examples/androidapp/res/drawable-ldpi/ic_loopback_call.png: Removed.
        * Source/webrtc/examples/androidapp/res/drawable-mdpi: Removed.
        * Source/webrtc/examples/androidapp/res/drawable-mdpi/disconnect.png: Removed.
        * Source/webrtc/examples/androidapp/res/drawable-mdpi/ic_action_full_screen.png: Removed.
        * Source/webrtc/examples/androidapp/res/drawable-mdpi/ic_action_return_from_full_screen.png: Removed.
        * Source/webrtc/examples/androidapp/res/drawable-mdpi/ic_launcher.png: Removed.
        * Source/webrtc/examples/androidapp/res/drawable-mdpi/ic_loopback_call.png: Removed.
        * Source/webrtc/examples/androidapp/res/drawable-xhdpi: Removed.
        * Source/webrtc/examples/androidapp/res/drawable-xhdpi/disconnect.png: Removed.
        * Source/webrtc/examples/androidapp/res/drawable-xhdpi/ic_action_full_screen.png: Removed.
        * Source/webrtc/examples/androidapp/res/drawable-xhdpi/ic_action_return_from_full_screen.png: Removed.
        * Source/webrtc/examples/androidapp/res/drawable-xhdpi/ic_launcher.png: Removed.
        * Source/webrtc/examples/androidapp/res/drawable-xhdpi/ic_loopback_call.png: Removed.
        * Source/webrtc/examples/androidapp/res/layout: Removed.
        * Source/webrtc/examples/androidapp/res/layout/activity_call.xml: Removed.
        * Source/webrtc/examples/androidapp/res/layout/activity_connect.xml: Removed.
        * Source/webrtc/examples/androidapp/res/layout/fragment_call.xml: Removed.
        * Source/webrtc/examples/androidapp/res/layout/fragment_hud.xml: Removed.
        * Source/webrtc/examples/androidapp/res/menu: Removed.
        * Source/webrtc/examples/androidapp/res/menu/connect_menu.xml: Removed.
        * Source/webrtc/examples/androidapp/res/values: Removed.
        * Source/webrtc/examples/androidapp/res/values-v17: Removed.
        * Source/webrtc/examples/androidapp/res/values-v17/styles.xml: Removed.
        * Source/webrtc/examples/androidapp/res/values-v21: Removed.
        * Source/webrtc/examples/androidapp/res/values-v21/styles.xml: Removed.
        * Source/webrtc/examples/androidapp/res/values/arrays.xml: Removed.
        * Source/webrtc/examples/androidapp/res/values/strings.xml: Removed.
        * Source/webrtc/examples/androidapp/res/xml: Removed.
        * Source/webrtc/examples/androidapp/res/xml/preferences.xml: Removed.
        * Source/webrtc/examples/androidapp/src: Removed.
        * Source/webrtc/examples/androidapp/src/org: Removed.
        * Source/webrtc/examples/androidapp/src/org/appspot: Removed.
        * Source/webrtc/examples/androidapp/src/org/appspot/apprtc: Removed.
        * Source/webrtc/examples/androidapp/src/org/appspot/apprtc/AppRTCAudioManager.java: Removed.
        * Source/webrtc/examples/androidapp/src/org/appspot/apprtc/AppRTCClient.java: Removed.
        * Source/webrtc/examples/androidapp/src/org/appspot/apprtc/AppRTCProximitySensor.java: Removed.
        * Source/webrtc/examples/androidapp/src/org/appspot/apprtc/CallActivity.java: Removed.
        * Source/webrtc/examples/androidapp/src/org/appspot/apprtc/CallFragment.java: Removed.
        * Source/webrtc/examples/androidapp/src/org/appspot/apprtc/CaptureQualityController.java: Removed.
        * Source/webrtc/examples/androidapp/src/org/appspot/apprtc/ConnectActivity.java: Removed.
        * Source/webrtc/examples/androidapp/src/org/appspot/apprtc/CpuMonitor.java: Removed.
        * Source/webrtc/examples/androidapp/src/org/appspot/apprtc/DirectRTCClient.java: Removed.
        * Source/webrtc/examples/androidapp/src/org/appspot/apprtc/HudFragment.java: Removed.
        * Source/webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java: Removed.
        * Source/webrtc/examples/androidapp/src/org/appspot/apprtc/PercentFrameLayout.java: Removed.
        * Source/webrtc/examples/androidapp/src/org/appspot/apprtc/RoomParametersFetcher.java: Removed.
        * Source/webrtc/examples/androidapp/src/org/appspot/apprtc/SettingsActivity.java: Removed.
        * Source/webrtc/examples/androidapp/src/org/appspot/apprtc/SettingsFragment.java: Removed.
        * Source/webrtc/examples/androidapp/src/org/appspot/apprtc/TCPChannelClient.java: Removed.
        * Source/webrtc/examples/androidapp/src/org/appspot/apprtc/UnhandledExceptionHandler.java: Removed.
        * Source/webrtc/examples/androidapp/src/org/appspot/apprtc/WebSocketChannelClient.java: Removed.
        * Source/webrtc/examples/androidapp/src/org/appspot/apprtc/WebSocketRTCClient.java: Removed.
        * Source/webrtc/examples/androidapp/src/org/appspot/apprtc/util: Removed.
        * Source/webrtc/examples/androidapp/src/org/appspot/apprtc/util/AppRTCUtils.java: Removed.
        * Source/webrtc/examples/androidapp/src/org/appspot/apprtc/util/AsyncHttpURLConnection.java: Removed.
        * Source/webrtc/examples/androidapp/start_loopback_stubbed_camera_saved_video_out.py: Removed.
        * Source/webrtc/examples/androidapp/third_party: Removed.
        * Source/webrtc/examples/androidapp/third_party/autobanh: Removed.
        * Source/webrtc/examples/androidapp/third_party/autobanh/BUILD.gn: Removed.
        * Source/webrtc/examples/androidapp/third_party/autobanh/LICENSE: Removed.
        * Source/webrtc/examples/androidapp/third_party/autobanh/LICENSE.md: Removed.
        * Source/webrtc/examples/androidapp/third_party/autobanh/NOTICE: Removed.
        * Source/webrtc/examples/androidapp/third_party/autobanh/lib: Removed.
        * Source/webrtc/examples/androidapp/third_party/autobanh/lib/autobanh.jar: Removed.
        * Source/webrtc/examples/androidjunit: Removed.
        * Source/webrtc/examples/androidjunit/README: Removed.
        * Source/webrtc/examples/androidjunit/src: Removed.
        * Source/webrtc/examples/androidjunit/src/org: Removed.
        * Source/webrtc/examples/androidjunit/src/org/appspot: Removed.
        * Source/webrtc/examples/androidjunit/src/org/appspot/apprtc: Removed.
        * Source/webrtc/examples/androidjunit/src/org/appspot/apprtc/DirectRTCClientTest.java: Removed.
        * Source/webrtc/examples/androidjunit/src/org/appspot/apprtc/TCPChannelClientTest.java: Removed.
        * Source/webrtc/examples/androidtests: Removed.
        * Source/webrtc/examples/androidtests/AndroidManifest.xml: Removed.
        * Source/webrtc/examples/androidtests/README: Removed.
        * Source/webrtc/examples/androidtests/ant.properties: Removed.
        * Source/webrtc/examples/androidtests/build.xml: Removed.
        * Source/webrtc/examples/androidtests/project.properties: Removed.
        * Source/webrtc/examples/androidtests/src: Removed.
        * Source/webrtc/examples/androidtests/src/org: Removed.
        * Source/webrtc/examples/androidtests/src/org/appspot: Removed.
        * Source/webrtc/examples/androidtests/src/org/appspot/apprtc: Removed.
        * Source/webrtc/examples/androidtests/src/org/appspot/apprtc/test: Removed.
        * Source/webrtc/examples/androidtests/src/org/appspot/apprtc/test/FileVideoCapturerTest.java: Removed.
        * Source/webrtc/examples/androidtests/src/org/appspot/apprtc/test/PeerConnectionClientTest.java: Removed.
        * Source/webrtc/examples/androidtests/src/org/appspot/apprtc/test/VideoFileRendererTest.java: Removed.
        * Source/webrtc/examples/androidtests/src/org/appspot/apprtc/test/capturetestvideo.y4m: Removed.
        * Source/webrtc/modules/audio_device/android: Removed.
        * Source/webrtc/modules/audio_device/android/audio_common.h: Removed.
        * Source/webrtc/modules/audio_device/android/audio_device_template.h: Removed.
        * Source/webrtc/modules/audio_device/android/audio_device_unittest.cc: Removed.
        * Source/webrtc/modules/audio_device/android/audio_manager.cc: Removed.
        * Source/webrtc/modules/audio_device/android/audio_manager.h: Removed.
        * Source/webrtc/modules/audio_device/android/audio_manager_unittest.cc: Removed.
        * Source/webrtc/modules/audio_device/android/audio_record_jni.cc: Removed.
        * Source/webrtc/modules/audio_device/android/audio_record_jni.h: Removed.
        * Source/webrtc/modules/audio_device/android/audio_track_jni.cc: Removed.
        * Source/webrtc/modules/audio_device/android/audio_track_jni.h: Removed.
        * Source/webrtc/modules/audio_device/android/build_info.cc: Removed.
        * Source/webrtc/modules/audio_device/android/build_info.h: Removed.
        * Source/webrtc/modules/audio_device/android/ensure_initialized.cc: Removed.
        * Source/webrtc/modules/audio_device/android/ensure_initialized.h: Removed.
        * Source/webrtc/modules/audio_device/android/java: Removed.
        * Source/webrtc/modules/audio_device/android/java/src: Removed.
        * Source/webrtc/modules/audio_device/android/java/src/org: Removed.
        * Source/webrtc/modules/audio_device/android/java/src/org/webrtc: Removed.
        * Source/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine: Removed.
        * Source/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/BuildInfo.java: Removed.
        * Source/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioEffects.java: Removed.
        * Source/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioManager.java: Removed.
        * Source/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioRecord.java: Removed.
        * Source/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioTrack.java: Removed.
        * Source/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioUtils.java: Removed.
        * Source/webrtc/modules/audio_device/android/opensles_common.cc: Removed.
        * Source/webrtc/modules/audio_device/android/opensles_common.h: Removed.
        * Source/webrtc/modules/audio_device/android/opensles_player.cc: Removed.
        * Source/webrtc/modules/audio_device/android/opensles_player.h: Removed.
        * Source/webrtc/modules/audio_device/android/opensles_recorder.cc: Removed.
        * Source/webrtc/modules/audio_device/android/opensles_recorder.h: Removed.
        * Source/webrtc/modules/audio_processing/test/android: Removed.
        * Source/webrtc/modules/audio_processing/test/android/apmtest: Removed.
        * Source/webrtc/modules/audio_processing/test/android/apmtest/AndroidManifest.xml: Removed.
        * Source/webrtc/modules/audio_processing/test/android/apmtest/default.properties: Removed.
        * Source/webrtc/modules/audio_processing/test/android/apmtest/jni: Removed.
        * Source/webrtc/modules/audio_processing/test/android/apmtest/jni/main.c: Removed.
        * Source/webrtc/modules/audio_processing/test/android/apmtest/res: Removed.
        * Source/webrtc/modules/audio_processing/test/android/apmtest/res/values: Removed.
        * Source/webrtc/modules/audio_processing/test/android/apmtest/res/values/strings.xml: Removed.
        * Source/webrtc/modules/utility/include/helpers_android.h: Removed.
        * Source/webrtc/modules/utility/include/jvm_android.h: Removed.
        * Source/webrtc/modules/utility/source/helpers_android.cc: Removed.
        * Source/webrtc/modules/utility/source/jvm_android.cc: Removed.
        * Source/webrtc/system_wrappers/source/cpu_features_android.c: Removed.
        * libwebrtc.xcodeproj/project.pbxproj:

2017-02-10  Alex Christensen  <achristensen@webkit.org>

        Fix iOS libwebrtc build after r212127
        https://bugs.webkit.org/show_bug.cgi?id=168134

        * Configurations/libwebrtc.xcconfig:
        * libwebrtc.xcodeproj/project.pbxproj:
        I got a little carried away removing ObjC sources.
        We still need RTCLogging.mm and RTCUIApplication.mm on iOS.
        Also sorted the project file.

2017-02-10  Alex Christensen  <achristensen@webkit.org>

        Fix iOS libwebrtc build after r212127
        https://bugs.webkit.org/show_bug.cgi?id=168134

        * libwebrtc.xcodeproj/project.pbxproj:
        I got a little carried away removing -fobjc-arc.  These files need it.
        It was originally added in r211902 and these files are in the 
        EXCLUDED_SOURCE_FILE_NAMES[sdk=macosx*] list in libwebrtc.xcconfig
        so adding this flag won't break the 32-bit El Capitan build.

2017-02-10  Alex Christensen  <achristensen@webkit.org>

        Remove unnecessary automatic reference counting in libwebrtc
        https://bugs.webkit.org/show_bug.cgi?id=168134

        Reviewed by Youenn Fablet.

        * libwebrtc.xcodeproj/project.pbxproj:

2017-02-10  Youenn Fablet  <youennf@gmail.com>

        [WebRTC] Activate libwebrtc G711/G722 audio codecs
        https://bugs.webkit.org/show_bug.cgi?id=168123

        Reviewed by Alex Christensen.

        Adding G711/G722 missing codec files.
        Activating use of these in the build system.

        * Configurations/libwebrtc.xcconfig:
        * Source/webrtc/modules/audio_coding/codecs/g711/g711.c: Added.
        (ulaw_to_alaw):
        * Source/webrtc/modules/audio_coding/codecs/g711/g711.h: Added.
        * Source/webrtc/modules/audio_coding/codecs/g722/audio_decoder_g722.cc: Added.
        * Source/webrtc/modules/audio_coding/codecs/g722/audio_decoder_g722.h: Added.
        * Source/webrtc/modules/audio_coding/codecs/g722/audio_encoder_g722.cc: Added.
        * Source/webrtc/modules/audio_coding/codecs/g722/audio_encoder_g722.h: Added.
        * Source/webrtc/modules/audio_coding/codecs/g722/g722_decode.c: Added.
        * Source/webrtc/modules/audio_coding/codecs/g722/g722_enc_dec.h: Added.
        * Source/webrtc/modules/audio_coding/codecs/g722/g722_encode.c: Added.
        * Source/webrtc/modules/audio_coding/codecs/g722/g722_interface.c: Added.
        * Source/webrtc/modules/audio_coding/codecs/g722/g722_interface.h: Added.
        * Source/webrtc/modules/audio_coding/codecs/g722/test/testG722.cc: Added.
        * libwebrtc.xcodeproj/project.pbxproj:

2017-02-10  Alex Christensen  <achristensen@webkit.org>

        Fix ASAN build.

        * Source/webrtc/base/sanitizer.h:
        SANITIZER_UNUSED3 wasn't defined if we are using address_sanitizer but not memory_sanitizer.

2017-02-09  Alex Christensen  <achristensen@webkit.org>

        Fix El Capitan build.

        * libwebrtc.xcodeproj/project.pbxproj:
        Remove more SSE4 code.

2017-02-09  Alex Christensen  <achristensen@webkit.org>

        Fix El Capitan build.

        * libwebrtc.xcodeproj/project.pbxproj:
        Remove more SSE4 code.

2017-02-09  Alex Christensen  <achristensen@webkit.org>

        Fix iOS and El Capitan builds of libwebrtc.

        * Configurations/libwebrtc.xcconfig:
        Skip building audio_mixer_manager_mac.cc on iOS.
        * libwebrtc.xcodeproj/project.pbxproj:
        El Capitan doesn't like the SSE4 optimizations in opus.
        Just don't include them for now.

2017-02-09  Alex Christensen  <achristensen@webkit.org>

        Fix warnings in libwebrtc build
        https://bugs.webkit.org/show_bug.cgi?id=168088

        Reviewed by Youenn Fablet.

        * Source/third_party/opus/src/src/opus_decoder.c:
        Silence a warning.  Debug builds of opus can be slow.  No big deal.
        * libwebrtc.xcodeproj/project.pbxproj:
        More sdk files need ARC.

2017-02-09  Alex Christensen  <achristensen@webkit.org>

        Fix iOS libwebrtc build after r211960
        https://bugs.webkit.org/show_bug.cgi?id=168038

        * Source/webrtc/sdk/objc/Framework/Classes/RTCOpenGLVideoRenderer.h:
        GlContextType declaration needs to be platform specific here like it is in RTCOpenGLDefines.h

2017-02-09  Alex Christensen  <achristensen@webkit.org>

        Fix i386 libwebrtc build
        https://bugs.webkit.org/show_bug.cgi?id=168038

        Reviewed by Geoffrey Garen.

        Unfortunately, 32-bit ObjC can't use all the coolest new features of ObjC.
        Fortunately, we can move things around a bit to become valid old ObjC.

        * Source/webrtc/sdk/objc/Framework/Classes/RTCAVFoundationVideoSource.mm:
        * Source/webrtc/sdk/objc/Framework/Classes/RTCAudioSource.mm:
        * Source/webrtc/sdk/objc/Framework/Classes/RTCFileLogger.mm:
        * Source/webrtc/sdk/objc/Framework/Classes/RTCI420Shader.mm:
        * Source/webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints.mm:
        * Source/webrtc/sdk/objc/Framework/Classes/RTCMediaSource+Private.h:
        * Source/webrtc/sdk/objc/Framework/Classes/RTCMediaSource.mm:
        * Source/webrtc/sdk/objc/Framework/Classes/RTCMediaStream.mm:
        * Source/webrtc/sdk/objc/Framework/Classes/RTCMediaStreamTrack+Private.h:
        * Source/webrtc/sdk/objc/Framework/Classes/RTCMediaStreamTrack.mm:
        * Source/webrtc/sdk/objc/Framework/Classes/RTCOpenGLVideoRenderer.h:
        * Source/webrtc/sdk/objc/Framework/Classes/RTCOpenGLVideoRenderer.mm:
        * Source/webrtc/sdk/objc/Framework/Classes/RTCPeerConnectionFactory.mm:
        * Source/webrtc/sdk/objc/Framework/Classes/RTCRtpReceiver.mm:
        * Source/webrtc/sdk/objc/Framework/Classes/RTCRtpSender.mm:
        * Source/webrtc/sdk/objc/Framework/Classes/RTCShader.h:
        * Source/webrtc/sdk/objc/Framework/Classes/RTCVideoFrame.mm:
        * Source/webrtc/sdk/objc/Framework/Classes/RTCVideoRendererAdapter.h:
        * Source/webrtc/sdk/objc/Framework/Classes/RTCVideoRendererAdapter.mm:
        * Source/webrtc/sdk/objc/Framework/Classes/RTCVideoSource.mm:
        * Source/webrtc/sdk/objc/Framework/Classes/RTCVideoTrack.mm:
        * Source/webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.mm:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAVFoundationVideoSource.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAudioSource.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAudioTrack.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCConfiguration.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCDataChannelConfiguration.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFileLogger.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCIceCandidate.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCIceServer.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCLegacyStatsReport.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaConstraints.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaSource.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaStream.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaStreamTrack.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMetricsSampleInfo.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnectionFactory.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpCodecParameters.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpEncodingParameters.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpParameters.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpReceiver.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpSender.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCSessionDescription.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoFrame.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoSource.h:
        * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoTrack.h:
        Make code compile for i386.
        * libwebrtc.xcodeproj/project.pbxproj:
        Added missing headers so Xcode can search them.

2017-02-09  Alex Christensen  <achristensen@webkit.org>

        Remove svn:executable property from headers.

        * Source/webrtc/base/sigslottester.h: Removed property svn:executable.
        * Source/webrtc/modules/video_processing/util/skin_detection.h: Removed property svn:executable.

2017-02-08  Alex Christensen  <achristensen@webkit.org>

        Fix libwebrtc build.
        https://bugs.webkit.org/show_bug.cgi?id=168017

        * Configurations/libwebrtc.xcconfig:
        Trying to compile audio_device_not_implemented_ios.mm on Mac doesn't work.
        * libwebrtc.xcodeproj/project.pbxproj:
        Add some neon files.  They are nicely protected by macros at the top, so their contents are only compiled if necessary.

2017-02-08  Alex Christensen  <achristensen@webkit.org>

        Fix libwebrtc build on iOS simulator
        https://bugs.webkit.org/show_bug.cgi?id=168017

        Reviewed by Tim Horton.

        * Configurations/libwebrtc.xcconfig:
        * Configurations/libwebrtcpcrtc.xcconfig:
        Use $(inherited)
        * Source/webrtc/modules/audio_device/ios/audio_device_ios.h:
        * Source/webrtc/modules/audio_device/ios/audio_device_ios.mm:
        * Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession+Configuration.mm:
        * Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession+Private.h:
        * Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession.h:
        * Source/webrtc/modules/audio_device/ios/objc/RTCAudioSession.mm:
        * Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.h:
        * Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.m:
        * Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionDelegateAdapter.h:
        * Source/webrtc/modules/audio_device/ios/objc/RTCAudioSessionDelegateAdapter.mm:
        Renamed RTCAudioSession* to WebRTCAudioSession* so that all ObjC classes in WebCore start with Web prefix.
        * libwebrtc.xcodeproj/project.pbxproj:
        Add necessary files.  Some iOS-specific files need ARC, 
        and this matches the Build.gn in Source/webrtc/modules/audio_device

2017-02-08  Alex Christensen  <achristensen@webkit.org>

        Fix iOS libwebrtc build
        https://bugs.webkit.org/show_bug.cgi?id=168004

        Reviewed by Youenn Fablet.

        We might still need to add some neon files.

        * Configurations/libwebrtc.xcconfig:
        * Configurations/libwebrtcpcrtc.xcconfig:
        * Configurations/opus.xcconfig:
        Don't build sse-specific files for iOS.
        * libwebrtc.xcodeproj/project.pbxproj:
        Don't include the sse4 optimization for now.
        We can add the optimization for CPUs that support it later.

2017-02-08  Youenn Fablet  <youennf@gmail.com>

        [WebRTC] Fix libwebrtc build system
        https://bugs.webkit.org/show_bug.cgi?id=167978

        Reviewed by Alex Christensen.

        * Configurations/libwebrtc.xcconfig:
        * Configurations/libwebrtcpcrtc.xcconfig:
        * Configurations/usrsctp.xcconfig:
        * libwebrtc.xcodeproj/project.pbxproj:

2017-02-07  Youenn Fablet  <youenn@apple.com>

        Fix libwebrtcpcrtc target include path
        https://bugs.webkit.org/show_bug.cgi?id=167971

        Reviewed by Alex Christensen.

        * Configurations/libwebrtcpcrtc.xcconfig:

2017-02-07  Youenn Fablet  <youenn@apple.com>

        [WebRTC] usrsctp (libwebrtc third party library) is not compiling
        https://bugs.webkit.org/show_bug.cgi?id=167969

        Reviewed by Alex Christensen.

        Also removing .gitignore files in libwebrtc directory.

        * Source/.gitignore: Removed.
        * Source/third_party/boringssl/src/.gitignore: Removed.
        * Source/third_party/gflags/src/.gitignore: Removed.
        * Source/third_party/jsoncpp/source/.gitignore: Removed.
        * Source/third_party/libyuv/.gitignore: Removed.
        * Source/third_party/protobuf/.gitignore: Removed.
        * Source/third_party/protobuf/csharp/.gitignore: Removed.
        * Source/third_party/protobuf/ruby/.gitignore: Removed.
        * Source/third_party/usrsctp/usrsctplib/.gitignore: Removed.
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c:
        (sctp_process_cookie_existing):
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_output.c:
        * Source/tools/.gitignore: Removed.
        * Source/webrtc/.gitignore: Removed.

2017-02-07  Alex Christensen  <achristensen@webkit.org>

        Move webrtc/pc to own Xcode target
        https://bugs.webkit.org/show_bug.cgi?id=167970

        Reviewed by Youenn Fablet.

        It needs to include different directories than the rest of libwebrtc.
        Also moved some target names so liblibsrtp.a is changed to libsrtp.a, etc.

        * Configurations/libwebrtcpcrtc.xcconfig: Added.
        * libwebrtc.xcodeproj/project.pbxproj:

2017-02-07  Alex Christensen  <achristensen@webkit.org>

        [libwebrtc] Move libsrtp and libyuv to own Xcode targets
        https://bugs.webkit.org/show_bug.cgi?id=167966

        Reviewed by Youenn Fablet.

        * Configurations/libsrtp.xcconfig: Added.
        * Configurations/libyuv.xcconfig: Added.
        * Configurations/usrsctp.xcconfig:
        * libwebrtc.xcodeproj/project.pbxproj:

2017-02-07  Alex Christensen  <achristensen@webkit.org>

        Fix libwebrtc build after r211817
        https://bugs.webkit.org/show_bug.cgi?id=167944

        * Configurations/usrsctp.xcconfig:
        Disable more warnings.

2017-02-07  Alex Christensen  <achristensen@webkit.org>

        build usrsctp with Xcode
        https://bugs.webkit.org/show_bug.cgi?id=167944

        Reviewed by Youenn Fablet.

        * Configurations/usrsctp.xcconfig:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_pcb.c:
        * Source/third_party/usrsctp/usrsctplib/usrsctplib/user_atomic.h:
        * libwebrtc.xcodeproj/project.pbxproj:

2017-02-06  Alex Christensen  <achristensen@webkit.org>

        [WebRTC] Remove unneeded build directory accidentally checked in with libwebrtc source.

        Reviewed by Youenn Fablet.

        * third_party/usrsctp/build: Removed.

2017-02-03  Alex Christensen  <achristensen@webkit.org>

        [WebRTC] Add more files to libwebrtc build
        https://bugs.webkit.org/show_bug.cgi?id=167824

        Reviewed by Youenn Fablet.

        * Configurations/libwebrtc.xcconfig:
        * Configurations/usrsctp.xcconfig: Added.
        * libwebrtc.xcodeproj/project.pbxproj:

2017-02-02  Alex Christensen  <achristensen@webkit.org>

        Build libwebrtc and dependencies with Xcode
        https://bugs.webkit.org/show_bug.cgi?id=167758

        Reviewed by Dean Jackson.

        * Configurations: Added.
        * Configurations/Base.xcconfig: Added.
        * Configurations/DebugRelease.xcconfig: Added.
        * Configurations/boringssl.xcconfig: Added.
        * Configurations/libwebrtc.xcconfig: Added.
        * Configurations/opus.xcconfig: Added.
        * libwebrtc.xcodeproj/project.pbxproj:

2017-01-30  Youenn Fablet  <youennf@gmail.com>

        [WebRTC] Upload a diff of WebKit libwebrtc code and original libwebrtc code
        https://bugs.webkit.org/show_bug.cgi?id=167573

        Reviewed by Alex Christensen.

        * WebKit/patch-libwebrtc: Added.

2017-01-27  Dan Bernstein  <mitz@apple.com>

        Ignore Xcode’s project.xcworkspace and userdata directories in this new project like we do
        in other projects.

        * libwebrtc.xcodeproj: Added property svn:ignore.

2017-01-24  Youenn Fablet  <youenn@apple.com>

        [WebRTC] Use HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE for libwebrtc
        https://bugs.webkit.org/show_bug.cgi?id=167353

        Reviewed by Alex Christensen.

        * CMakeLists.txt:

2017-01-23  Youenn Fablet  <youenn@apple.com>

        [WebRTC] Filter libwebrtc link flags
        https://bugs.webkit.org/show_bug.cgi?id=167287

        Reviewed by Alex Christensen.

        * CMakeLists.txt:

2017-01-23  Youenn Fablet  <youennf@gmail.com>

        [WebRTC] Make VP8 optional in libwebrtc
        https://bugs.webkit.org/show_bug.cgi?id=167257

        Reviewed by Darin Adler.

        Reusing strategy used to have VP9 optional for VP8 codec.

        * CMakeLists.txt: Updated tocompile and link vp8_noop.cc
        * Source/webrtc/media/engine/webrtcvideoengine2.cc:
        * Source/webrtc/modules/video_coding/codecs/vp8/include/vp8.h:
        * Source/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc:
        * Source/webrtc/modules/video_coding/codecs/vp8/vp8_noop.cc: Added.
        * Source/webrtc/video/video_encoder.cc:

2017-01-20  Youenn Fablet  <youennf@gmail.com>

        [WebRTC] Update build system to make G711 optional in libwebrtc
        https://bugs.webkit.org/show_bug.cgi?id=167256

        Reviewed by Alex Christensen.

        * CMakeLists.txt: Updating to add compilation of generic pcm encoder functions.

2017-01-20  Youenn Fablet  <youennf@gmail.com>

        [WebRTC] Update libwertc AudioRtpSender::SetAudioSend
        https://bugs.webkit.org/show_bug.cgi?id=167243

        Reviewed by Alex Christensen.

        Introducing  WEBRTC_WEBKIT_BUILD macro to match existing WEBRTC_CHROMIUM_BUILD.
        WEBRTC_WEBKIT_BUILD is defined by current WebKit libwebrtc build system.

        * Source/webrtc/api/rtpsender.cc:

2017-01-20  Youenn Fablet  <youennf@gmail.com>

        [WebRTC] libwebrtc NO_RETURN is conflicting with WebKit one
        https://bugs.webkit.org/show_bug.cgi?id=167244

        Reviewed by Alex Christensen.

        * Source/webrtc/typedefs.h: Defining NO_RETURN only if not already defined.

2017-01-20  Youenn Fablet  <youenn@apple.com>

        [WebRTC] libwebrtc headers are incompatible with WebKit compilation flags
        https://bugs.webkit.org/show_bug.cgi?id=167242

        Reviewed by Alex Christensen.

        WebKit is enforcing -Wunused-parameter and -Wunused-variable which conflict with some included libwertc headers.
        Removed unused parameter names for inlined functions.

        * Source/webrtc/api/jsep.h:
        (webrtc::SessionDescriptionInterface::RemoveCandidates):
        * Source/webrtc/api/mediastreaminterface.h:
        (webrtc::AudioSourceInterface::SetVolume):
        (webrtc::AudioSourceInterface::RegisterAudioObserver):
        (webrtc::AudioSourceInterface::UnregisterAudioObserver):
        (webrtc::AudioSourceInterface::AddSink):
        (webrtc::AudioSourceInterface::RemoveSink):
        (webrtc::AudioTrackInterface::GetSignalLevel):
        * Source/webrtc/api/peerconnectionfactory.h:
        * Source/webrtc/api/peerconnectioninterface.h:
        (webrtc::MetricsObserverInterface::IncrementEnumCounter):
        (webrtc::PeerConnectionInterface::AddTrack):
        (webrtc::PeerConnectionInterface::RemoveTrack):
        (webrtc::PeerConnectionInterface::CreateSender):
        (webrtc::PeerConnectionInterface::GetStats):
        (webrtc::PeerConnectionInterface::CreateOffer):
        (webrtc::PeerConnectionInterface::CreateAnswer):
        (webrtc::PeerConnectionInterface::UpdateIce):
        (webrtc::PeerConnectionInterface::SetConfiguration):
        (webrtc::PeerConnectionInterface::RemoveIceCandidates):
        (webrtc::PeerConnectionInterface::StartRtcEventLog):
        (webrtc::PeerConnectionObserver::OnAddStream):
        (webrtc::PeerConnectionObserver::OnRemoveStream):
        (webrtc::PeerConnectionObserver::OnDataChannel):
        (webrtc::PeerConnectionObserver::OnIceCandidatesRemoved):
        (webrtc::PeerConnectionObserver::OnIceConnectionReceivingChange):
        * Source/webrtc/api/rtpsender.cc:
        * Source/webrtc/base/messagehandler.h:
        (rtc::FunctorMessageHandler::OnMessage):
        * Source/webrtc/base/sanitizer.h:
        (rtc_AsanPoison):
        (rtc_AsanUnpoison):
        (rtc_MsanMarkUninitialized):
        (rtc_MsanCheckInitialized):
        * Source/webrtc/base/stream.h:
        (rtc::StreamInterface::ConsumeReadData):
        (rtc::StreamInterface::ConsumeWriteBuffer):
        * Source/webrtc/media/base/mediachannel.h:
        (cricket::DataMediaChannel::GetStats):
        (cricket::DataMediaChannel::OnNetworkRouteChanged):
        * Source/webrtc/media/engine/webrtcvideodecoderfactory.h:
        (cricket::WebRtcVideoDecoderFactory::CreateVideoDecoderWithParams):
        * Source/webrtc/media/engine/webrtcvideoencoderfactory.h:
        (cricket::WebRtcVideoEncoderFactory::VideoCodec::VideoCodec):
        (cricket::WebRtcVideoEncoderFactory::EncoderTypeHasInternalSource):
        * Source/webrtc/media/engine/webrtcvideoengine2.cc:
        * Source/webrtc/modules/include/module.h:
        (webrtc::Module::ProcessThreadAttached):
        * Source/webrtc/modules/video_coding/codecs/vp9/vp9_noop.cc:
        * Source/webrtc/p2p/base/port.h:
        (cricket::Port::HandleIncomingPacket):
        (cricket::Port::HandleConnectionDestroyed):
        (cricket::Connection::set_receiving_timeout):
        * Source/webrtc/p2p/base/stun.h:
        (cricket::StunAttribute::SetOwner):
        * Source/webrtc/p2p/base/stunrequest.h:
        (cricket::StunRequest::Prepare):
        (cricket::StunRequest::OnResponse):
        (cricket::StunRequest::OnErrorResponse):
        * Source/webrtc/p2p/base/transport.h:
        (cricket::Transport::SetLocalCertificate):
        (cricket::Transport::GetLocalCertificate):
        (cricket::Transport::GetSslRole):
        (cricket::Transport::SetSslMaxProtocolVersion):
        * Source/webrtc/sdk/objc/Framework/Classes/videotoolboxvideocodecfactory.cc:
        * Source/webrtc/typedefs.h:

2017-01-20  Youenn Fablet  <youennf@gmail.com>

        [WebRTC] Update libwertc AudioRtpSender::SetAudioSend
        https://bugs.webkit.org/show_bug.cgi?id=167243

        Reviewed by Alex Christensen.

        Introducing  WEBRTC_WEBKIT_BUILD macro to match existing WEBRTC_CHROMIUM_BUILD.
        WEBRTC_WEBKIT_BUILD is defined by current WebKit libwebrtc build system.

        * Source/webrtc/api/rtpsender.cc:

2017-01-20  Youenn Fablet  <youennf@gmail.com>

        [WebRTC] libwebrtc H.264 codec is using VTB only for IOS
        https://bugs.webkit.org/show_bug.cgi?id=167245

        Reviewed by Alex Christensen.

        * Source/webrtc/sdk/objc/Framework/Classes/videotoolboxvideocodecfactory.cc: Removing WEBRTC_IOS flag.

2017-01-19  Youenn Fablet  <youenn@apple.com>

        [WebRTC] Upload libwebrtc code base
        https://bugs.webkit.org/show_bug.cgi?id=167205

        Reviewed by Alex Christensen and Jon Lee.

        Add initial libwebrtc source from branch 56. Here's how to get what we committed:
        git clone https://chromium.googlesource.com/external/webrtc.git && cd webrtc && git checkout 7bf536976366443ea59153ff3d22da0ec32badc1
