blob: 627bce19ce260634403d9c1c938cd2c0b5f2e6f5 [file] [log] [blame]
2022-01-24 Youenn Fablet <youenn@apple.com>
Cherry-pick WebRTC 235826 change
https://bugs.webkit.org/show_bug.cgi?id=235510
<rdar://87884184>
Reviewed by Eric Carlson.
Cherry-picking above fixing for compliance.
* Source/webrtc/media/engine/webrtc_media_engine.cc:
* Source/webrtc/media/engine/webrtc_media_engine.h:
* Source/webrtc/media/engine/webrtc_media_engine_unittest.cc:
* Source/webrtc/media/engine/webrtc_video_engine.cc:
* Source/webrtc/media/engine/webrtc_video_engine.h:
* Source/webrtc/media/engine/webrtc_voice_engine.cc:
* Source/webrtc/modules/rtp_rtcp/source/rtp_header_extension_map.cc:
* Source/webrtc/modules/rtp_rtcp/source/rtp_header_extension_map_unittest.cc:
2022-01-24 Youenn Fablet <youenn@apple.com>
Reject large number of WebRTC audio channels
https://bugs.webkit.org/show_bug.cgi?id=235511
Reviewed by Eric Carlson.
Cherry-picking WebRTC upstream fix for compliance.
* Source/webrtc/pc/webrtc_sdp.cc:
* Source/webrtc/pc/webrtc_sdp_unittest.cc:
2022-01-21 Michael Saboff <msaboff@apple.com>
WebKit fails to build - error: 'webrtc/rtc_base/network.h' file not found
https://bugs.webkit.org/show_bug.cgi?id=235459
Reviewed by Mark Lam.
We needed to create symlinks from the standard location to the SYSTEM_CONTENT_PATH location.
This is needed for both the include files and archive libraries.
* Configurations/boringssl.xcconfig:
* Configurations/libsrtp.xcconfig:
* Configurations/libvpx.xcconfig:
* Configurations/libwebm.xcconfig:
* Configurations/libwebrtc.xcconfig:
* Configurations/libyuv.xcconfig:
* Configurations/opus.xcconfig:
* Configurations/usrsctp.xcconfig:
* Scripts: Added.
* Scripts/create-symlink-to-altroot.sh: Added.
* libwebrtc.xcodeproj/project.pbxproj:
2022-01-19 Youenn Fablet <youenn@apple.com>
libvpx firstpass.c is not needed
https://bugs.webkit.org/show_bug.cgi?id=235354
Reviewed by Alexey Proskuryakov.
* libwebrtc.xcodeproj/project.pbxproj:
2022-01-18 Alex Christensen <achristensen@webkit.org>
Use c++2a instead of gnu++2a for Cocoa builds
https://bugs.webkit.org/show_bug.cgi?id=234936
Reviewed by Sam Weinig.
* Configurations/Base.xcconfig:
2022-01-12 Youenn Fablet <youenn@apple.com>
VP9-SVS no video stream from remote peer on some devices
https://bugs.webkit.org/show_bug.cgi?id=231074
<rdar://problem/84024646>
Reviewed by Eric Carlson.
* Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.m:
(-[RTCDefaultVideoDecoderFactory initWithH265:vp9Profile0:vp9Profile2:vp9VTB:]):
Do not use VTIsHardwareDecodeSupported('vp09') to know whether WebProcess can use VTB since sandboxing can control this.
2022-01-10 Alex Christensen <achristensen@webkit.org>
Start using C++20
https://bugs.webkit.org/show_bug.cgi?id=233963
Reviewed by Yusuke Suzuki.
* Configurations/Base.xcconfig:
* Source/webrtc/rtc_base/system/no_unique_address.h:
2022-01-07 Alex Christensen <achristensen@webkit.org>
Unreviewed, reverting r287698.
Broke an internal build
Reverted changeset:
"Start using C++20"
https://bugs.webkit.org/show_bug.cgi?id=233963
https://commits.webkit.org/r287698
2022-01-06 Alex Christensen <achristensen@webkit.org>
Start using C++20
https://bugs.webkit.org/show_bug.cgi?id=233963
Reviewed by Yusuke Suzuki.
* Configurations/Base.xcconfig:
* Source/webrtc/rtc_base/system/no_unique_address.h:
2022-01-05 Michael Saboff <msaboff@apple.com>
REGRESSION (r287382): libANGLE is built into a wrong location on iOS
https://bugs.webkit.org/show_bug.cgi?id=234857
Reviewed by Saam Barati.
Reverted to the prior logic to compute INSTALL_PATH. Then added an optional prefix
for the alternate root framework location.
* Configurations/libwebrtc.xcconfig:
2021-12-22 Michael Saboff <msaboff@apple.com>
Fix WebKit Build issues when using system content path
https://bugs.webkit.org/show_bug.cgi?id=234624
Reviewed by Filip Pizlo.
Changed INSTALL_PATH on macOS builds to use fully qualified .../WebCore.framework/Versions/A/Frameworks.
* Configurations/libwebrtc.xcconfig:
2021-12-16 Michael Saboff <msaboff@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=234173
Update Install Paths for build system changes
Reviewed by Filip Pizlo.
Added build variables and build step to create symlinks pointing to the alternate
build locations from the current framework install location.
* Configurations/libwebrtc.xcconfig:
2021-12-10 Michael Saboff <msaboff@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=234173
Update Install Paths for build system changes
Reviewed by Yusuke Suzuki.
Updated install paths for changes in the build system that use a system path prefix.
* Configurations/libwebrtc.xcconfig:
2021-12-09 Alex Christensen <achristensen@webkit.org>
Prepare for transition to C++20
https://bugs.webkit.org/show_bug.cgi?id=234022
Reviewed by Yusuke Suzuki.
* Source/webrtc/common_audio/wav_header.cc:
* Source/webrtc/modules/audio_processing/include/aec_dump.cc:
* Source/webrtc/modules/audio_processing/include/aec_dump.h:
* Source/webrtc/modules/audio_processing/utility/delay_estimator_wrapper.cc:
* Source/webrtc/modules/audio_processing/vad/vad_audio_proc.h:
* Source/webrtc/modules/video_coding/media_opt_util.h:
* Source/webrtc/rtc_base/race_checker.h:
* Source/webrtc/rtc_base/units/unit_base.h:
(webrtc::rtc_units_impl::UnitBase::operator== const):
(webrtc::rtc_units_impl::UnitBase::operator!= const):
(webrtc::rtc_units_impl::UnitBase::operator<= const):
(webrtc::rtc_units_impl::UnitBase::operator>= const):
(webrtc::rtc_units_impl::UnitBase::operator> const):
(webrtc::rtc_units_impl::UnitBase::operator< const):
2021-12-06 Youenn Fablet <youenn@apple.com>
Close WebRTC allocation sequence shared socket in case of sequence network failure
https://bugs.webkit.org/show_bug.cgi?id=233808
Reviewed by Geoffrey Garen.
* Source/webrtc/p2p/client/basic_port_allocator.cc:
* Source/webrtc/p2p/client/basic_port_allocator.h:
2021-11-22 Youenn Fablet <youenn@apple.com>
Remove h264_bitstream_parser spurious logging
https://bugs.webkit.org/show_bug.cgi?id=233361
Reviewed by Eric Carlson.
* Source/webrtc/common_video/h264/h264_bitstream_parser.cc:
2021-11-17 Youenn Fablet <youenn@apple.com>
Safari 15.1 H264 FullHD video encode/decode fails
https://bugs.webkit.org/show_bug.cgi?id=233036
<rdar://80345048>
Reviewed by Eric Carlson.
H264 encoder now checks the profile and fails if frame is too big.
To get back to the past behavior, we are now using auto level for both ARM64 devices as well as devices with Monterey OS.
* Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
2021-11-10 Youenn Fablet <youenn@apple.com> and Victor M. Jaquez L. <vjaquez@igalia.com>
Update libwebrtc to M96
https://bugs.webkit.org/show_bug.cgi?id=232873
Reviewed by Alex Christensen.
Updated libwebrtc code according M96 upstream branch.
* CMakeLists.txt:
* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
* Source/webrtc: resynced.
* libwebrtc.xcodeproj/project.pbxproj:
2021-10-27 David Kilzer <ddkilzer@apple.com>
[WebRTC] Enable -Wformat=2 warnings
<https://webkit.org/b/232335>
<rdar://problem/84571752>
Reviewed by Eric Carlson.
* Configurations/Base.xcconfig:
(WARNING_CFLAGS):
- Add -Wformat=2 switch, which includes -Wformat-nonliteral.
* Source/third_party/libsrtp/crypto/include/err.h:
(LIBSRTP_FORMAT_PRINTF): Add.
- Define a macro for the printf format attribute.
(srtp_err_report):
- Apply LIBSRTP_FORMAT_PRINTF() macro to this function to fix
-Wformat-nonliteral warnings.
* Source/third_party/libvpx/source/libvpx/vpx/internal/vpx_codec_internal.h:
(LIBVPX_FORMAT_PRINTF): Add.
- Define a macro for the printf format attribute.
(vpx_internal_error):
- Apply LIBVPX_FORMAT_PRINTF() macro to this function to fix
-Wformat-nonliteral warnings.
* WebKit/0001-WebKitLegacy-Enable-Wformat-2-warnings.patch: Add.
2021-10-21 David Kilzer <ddkilzer@apple.com>
[WebRTC] Simplify libwebtc Xcode project
<https://webkit.org/b/232044>
<rdar://problem/82743710>
Reviewed by Youenn Fablet.
* Configurations/libwebm.xcconfig:
(INSTALL_HEADERS_PATH):
(LIBWEBM_HEADERS_FOLDER_PATH):
(LIBWEBM_HEADERS_FOLDER_PATH_NO):
(LIBWEBM_HEADERS_FOLDER_PATH_YES):
- Remove variables used by now-removed build phase scripts.
(PUBLIC_HEADERS_FOLDER_PATH): Add.
- This determines where webm public headers are installed.
* libwebrtc.xcodeproj/project.pbxproj:
(Recovered References): Remove.
- The two source files were added back at the correct path
elsewhere, so these references can be removed.
(webm target):
- Remove "Copy webm headers" and "Copy common headers" build
phase scripts since headers are installed by Xcode's built-in
"Headers" phase.
- Remove duplicate C++ source files (noticed after reviewing
"Recovered References" files).
- Install webm headers as public headers since their is no
subdirectory structure, and this fixes the bug in the radar
where webm headers were not installed consistently.
2021-10-20 Youenn Fablet <youenn@apple.com>
WebRTC p2p call, VP9-SVC only low layer decoded on receiver side
https://bugs.webkit.org/show_bug.cgi?id=231071
<rdar://problem/83763291>
Reviewed by Eric Carlson.
In case VP9 SVC is used, fallback to software decoder for now.
* Source/webrtc/sdk/WebKit/WebKitDecoder.mm:
2021-10-18 Cameron McCormack <heycam@apple.com>
Always set color space for incoming H.264/265 streams
https://bugs.webkit.org/show_bug.cgi?id=231881
<rdar://problem/84350707>
Reviewed by Youenn Fablet.
Followup from https://bugs.webkit.org/show_bug.cgi?id=231353. In some
configurations, the "ColorInfoGuessedBy" attachment is not set on the
CVPixelBuffers coming out of the VTDecompressionSession, but the
guessed, incorrect color space attachments are still there. Since we
currently always have an sRGB stream, don't bother looking for
"ColorInfoGuessedBy".
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH264.mm:
(overrideColorSpaceAttachments):
(decompressionOutputCallback):
(overrideColorSpaceAttachmentsIfNeeded): Deleted.
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH265.mm:
(overrideColorSpaceAttachments):
(h265DecompressionOutputCallback):
(overrideColorSpaceAttachmentsIfNeeded): Deleted.
2021-10-14 Chris Dumez <cdumez@apple.com>
Unreviewed, fix up r284190 build fix.
* Source/third_party/libwebm/webm_parser/src/master_parser.h:
2021-10-14 Chris Dumez <cdumez@apple.com>
Unreviewed build fix with latest SDKs.
* Source/third_party/libwebm/webm_parser/src/master_parser.h:
2021-10-13 Cameron McCormack <heycam@apple.com>
Override guessed color space for incoming H.264/265 streams
https://bugs.webkit.org/show_bug.cgi?id=231353
<rdar://problem/83969311>
Reviewed by Youenn Fablet.
When the VTDecompressionSession decodes incoming H.264/H.265 samples,
it puts guessed color space attachments on the CVPixelBuffer, and the
guesses are based on video resolution. WebRTC streams however default
to being sRGB. So this patch overrides a guess with what we know the
stream will be. (Once we support different color spaces in WebRTC
video streams we'll need to adjust this.)
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH264.mm:
(overrideColorSpaceAttachmentsIfNeeded):
(decompressionOutputCallback):
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH265.mm:
(overrideColorSpaceAttachmentsIfNeeded):
(h265DecompressionOutputCallback):
2021-10-12 Alexey Proskuryakov <ap@apple.com>
Invoke ThirdParty build scripts with python3 explicitly
https://bugs.webkit.org/show_bug.cgi?id=231605
Reviewed by Dean Jackson.
* Source/third_party/googletest/googletest/xcode/gtest.xcodeproj/project.pbxproj:
2021-10-06 Youenn Fablet <youenn@apple.com>
ObjectiveC WebRTC frame buffers are autoreleased late, especially on Debug builds
https://bugs.webkit.org/show_bug.cgi?id=231162
Reviewed by David Kilzer.
Instead of waiting for the autorelease pool to release these objects, we explicitly release them by calling close.
This ensures that pixel buffers get released very quickly.
* Source/webrtc/sdk/WebKit/WebKitEncoder.mm:
* Source/webrtc/sdk/objc/api/video_frame_buffer/RTCNativeI420Buffer+Private.h:
* Source/webrtc/sdk/objc/api/video_frame_buffer/RTCNativeI420Buffer.mm:
* Source/webrtc/sdk/objc/base/RTCI420Buffer.h:
* Source/webrtc/sdk/objc/base/RTCVideoFrameBuffer.h:
* Source/webrtc/sdk/objc/components/video_frame_buffer/RTCCVPixelBuffer.h:
* Source/webrtc/sdk/objc/components/video_frame_buffer/RTCCVPixelBuffer.mm:
* Source/webrtc/sdk/objc/native/src/objc_frame_buffer.mm:
2021-10-01 Chris Dumez <cdumez@apple.com>
Drop support for macOS < 10.15
https://bugs.webkit.org/show_bug.cgi?id=231085
Reviewed by Darin Adler.
* Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
2021-09-30 Youenn Fablet <youenn@apple.com>
Support AES GCM ciphers in WebRTC
https://bugs.webkit.org/show_bug.cgi?id=214402
<rdar://problem/65700381>
Reviewed by Eric Carlson.
* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
2021-09-28 Alex Christensen <achristensen@webkit.org>
Mostly fix Mac CMake build
https://bugs.webkit.org/show_bug.cgi?id=230868
Reviewed by Don Olmstead.
* CMakeLists.txt:
2021-09-21 Youenn Fablet <youenn@apple.com>
NetworkRTCUDPSocketCocoaConnections should handle NAT64 IP addresses correctly
https://bugs.webkit.org/show_bug.cgi?id=230552
<rdar://83297256>
Reviewed by Alex Christensen.
* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
2021-09-15 Youenn Fablet <youenn@apple.com>
Migrate to libwebrtc non-racy setRemoteDescription/setLocalDescription variants
https://bugs.webkit.org/show_bug.cgi?id=230262
Reviewed by Darin Adler.
* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
2021-09-09 Youenn Fablet <youenn@apple.com>
Add support for RTCSctpTransport
https://bugs.webkit.org/show_bug.cgi?id=229292
<rdar://problem/82394152>
Reviewed by Eric Carlson.
* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
2021-09-06 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r282057.
https://bugs.webkit.org/show_bug.cgi?id=229977
made a layout test extremely flaky
Reverted changeset:
"Add support for RTCSctpTransport"
https://bugs.webkit.org/show_bug.cgi?id=229292
https://commits.webkit.org/r282057
2021-09-06 Youenn Fablet <youenn@apple.com>
Add support for RTCSctpTransport
https://bugs.webkit.org/show_bug.cgi?id=229292
<rdar://problem/82394152>
Reviewed by Eric Carlson.
* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
2021-09-01 David Kilzer <ddkilzer@apple.com>
[WebRTC] Leak or over-release of CFPixelBufferRef returned from webrtc::createPixelBufferFromFrame()
<https://webkit.org/b/229661>
<rdar://problem/82507827>
Reviewed by Eric Carlson.
* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
- Update export symbol for rename from pixelBufferFromFrame() to
createPixelBufferFromFrame().
* Source/webrtc/sdk/WebKit/WebKitDecoderReceiver.cpp:
(webrtc::WebKitDecoderReceiver::Decoded):
- Update to call renamed createPixelBufferFromFrame() function.
This method already released the returned CFPixelBufferRef, so
it did not require any more changes. Also, its functor
returned a +1 retained CFPixelBufferRef, so it did not need to
change, either.
* Source/webrtc/sdk/WebKit/WebKitUtilities.h:
- Include <CoreFoundation/CFBase.h> for CF_RETURNS_RETAINED.
(webrtc::createPixelBufferFromFrame):
- Name const std::function<>& as `createPixelBuffer` to describe
its behavior.
- Add CF_RETURNS_RETAINED to describe memory management of the
returned object.
* Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
(webrtc::pixelBufferFromFrame):
- Rename to createPixelBufferFromFrame().
(webrtc::createPixelBufferFromFrame):
- Rename from pixelBufferFromFrame().
- Rename const std::function<>& argument to `createPixelBuffer`
to describe its behavior of returning a +1 retained
CVPixelBufferRef.
- Fix last return statement to return a +1 retained
CFPixelBufferRef if it is not nullptr.
* WebKit/libwebrtc.diff:
- Update diff for WebKitUtilities.{h|mm}.
2021-08-19 Youenn Fablet <youenn@apple.com>
Add support for RTCDtlsTransport
https://bugs.webkit.org/show_bug.cgi?id=229133
Reviewed by Eric Carlson.
* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
2021-08-13 Youenn Fablet <youenn@apple.com>
Use profile auto level for WebRTC H264 encoder on Apple Silicon
https://bugs.webkit.org/show_bug.cgi?id=229071
<rdar://80345048>
Reviewed by Eric Carlson.
AS H264 encoder will fail if its profile is too low compared to the size of the video.
Use autolevel to prevent this.
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
2021-07-01 Youenn Fablet <youenn@apple.com>
Disable ABSL_HAVE_THREAD_LOCAL in libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=227577
<rdar://79915864>
Reviewed by Eric Carlson.
We do no want to resort on thread local yet so disable ABSL_HAVE_THREAD_LOCAL until we can use it properly.
* Source/third_party/abseil-cpp/absl/base/config.h:
2021-07-01 Youenn Fablet <youenn@apple.com>
[Cocoa] Migrate WebRTC UDP socket handling to NW API
https://bugs.webkit.org/show_bug.cgi?id=227210
Reviewed by Eric Carlson.
* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
2021-06-30 Truitt Savell <tsavell@apple.com>
Unreviewed, reverting r279405.
Casued 50+ webrtc crashes on Big Sur Debug
Reverted changeset:
"[Cocoa] Migrate WebRTC UDP socket handling to NW API"
https://bugs.webkit.org/show_bug.cgi?id=227210
https://commits.webkit.org/r279405
2021-06-30 Youenn Fablet <youenn@apple.com>
[Cocoa] Migrate WebRTC UDP socket handling to NW API
https://bugs.webkit.org/show_bug.cgi?id=227210
Reviewed by Eric Carlson.
* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
2021-06-23 Eric Carlson <eric.carlson@apple.com>
WebKitDecoder.h should include TargetConditionals.h
https://bugs.webkit.org/show_bug.cgi?id=227314
<rdar://problem/79689776>
Reviewed by Geoff Garen.
* Source/webrtc/sdk/WebKit/WebKitDecoder.h: Include TargetConditionals.h so the
TARGET_ defines are initialized correctly.
2021-06-21 Eric Carlson <eric.carlson@apple.com>
[Mac] libwebrtc CMBaseClass objects need alignment fixup
https://bugs.webkit.org/show_bug.cgi?id=227137
<rdar://problem/79464124>
Reviewed by Youenn Fablet.
* Source/webrtc/sdk/WebKit/WebKitDecoder.h: Define CMBASE_OBJECT_NEEDS_ALIGNMENT.
* Source/webrtc/sdk/WebKit/WebKitVP8Decoder.cpp:
(webrtc::createWebKitVP8Decoder): Add padding to the CMBaseClass object on Mac and
Mac Catalyst when building for x86_64 so function pointers are naturally aligned.
Add static_asserts to ensure alignment and sizes are correct.
* Source/webrtc/sdk/WebKit/WebKitVP9Decoder.cpp:
(webrtc::createWebKitVP9Decoder): Ditto.
2021-06-21 Philippe Normand <pnormand@igalia.com>
[GLIB] REGRESSION(r278701): numerous WebRTC tests failing after libwebrtc update to M92
https://bugs.webkit.org/show_bug.cgi?id=227172
Reviewed by Adrian Perez de Castro.
Non-apple ports do not use the bundled libvpx library, they rely on the host libvpx instead.
LibWebRTC expects to depend on the bundled version, thus using its API. So we need to be
very careful with which libvpx version is used from the host, in order to avoid API/ABI
issues. Hence the version check should specify a version that is API/ABI compatible with
what libwebrtc expects.
This patch also re-enables data channel support, which was disabled during the update to M92
in CMake ports.
* CMakeLists.txt:
2021-06-17 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r279011.
https://bugs.webkit.org/show_bug.cgi?id=227153
broke ios build
Reverted changeset:
"[Mac] libwebrtc CMBaseClass objects need alignment fixup"
https://bugs.webkit.org/show_bug.cgi?id=227137
https://trac.webkit.org/changeset/279011
2021-06-17 Eric Carlson <eric.carlson@apple.com>
[Mac] libwebrtc CMBaseClass objects need alignment fixup
https://bugs.webkit.org/show_bug.cgi?id=227137
Reviewed by Youenn Fablet.
* Source/webrtc/sdk/WebKit/WebKitVP8Decoder.cpp:
(webrtc::createWebKitVP8Decoder): Add padding to the CMBaseClass object on x86_64
so function pointers are naturally aligned. Add static_asserts to ensure alignment
and sizes are correct.
* Source/webrtc/sdk/WebKit/WebKitVP9Decoder.cpp:
(webrtc::createWebKitVP9Decoder): Ditto.
2021-06-15 Youenn Fablet <youenn@apple.com>
Enable kVTVideoEncoderSpecification_RequiredLowLatency in case of MacOS software encoder
https://bugs.webkit.org/show_bug.cgi?id=226873
Reviewed by Eric Carlson.
In case software encoder is being created for baseline, we can use kVTVideoEncoderSpecification_RequiredLowLatency
which provides better bitrate management than the regular SW encoder while still generating baseline content.
We check whether SW encoder is created based on kVTCompressionPropertyKey_UsingHardwareAcceleratedVideoEncoder.
If property is unsupported or if its value is false, it means the encoder is software.
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
(-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
2021-06-15 Youenn Fablet <youenn@apple.com>
REGRESSION: [ BigSur iOS wk1 Debug ] imported/w3c/web-platform-tests/html/dom/usvstring-reflection.https.html is flaky crashing
https://bugs.webkit.org/show_bug.cgi?id=226928
<rdar://problem/79205526>
Reviewed by Eric Carlson.
* Source/webrtc/rtc_base/task_queue_stdlib.cc:
thread_ is created in TaskQueueStdlib constructor before other members pending_queue_ or delayed_queue_.
It might happen that thread_ will start executing its callback which will read delayed_queue_ before it is initialized by TaskQueueStdlib constructor.
Update to create thread_ before all other members.
2021-06-10 Youenn Fablet <youenn@apple.com> and Victor M. Jaquez L. <vjaquez@igalia.com>
Update libwebrtc to M92
https://bugs.webkit.org/show_bug.cgi?id=226494
Reviewed by Eric Carlson.
* CMakeLists.txt:
* Source/webrtc: Resynced.
* libwebrtc.xcodeproj/project.pbxproj:
2021-06-08 Truitt Savell <tsavell@apple.com>
Unreviewed, reverting r278609.
Broke builds with a linker error.
Reverted changeset:
"Update libwebrtc to M92"
https://bugs.webkit.org/show_bug.cgi?id=226494
https://commits.webkit.org/r278609
2021-06-08 Youenn Fablet <youenn@apple.com> and Victor M. Jaquez L. <vjaquez@igalia.com>
Update libwebrtc to M92
https://bugs.webkit.org/show_bug.cgi?id=226494
Reviewed by Eric Carlson.
* CMakeLists.txt:
* Source/webrtc: Resynced.
* libwebrtc.xcodeproj/project.pbxproj:
2021-06-08 Youenn Fablet <youenn@apple.com>
Update usrsctp to M92
https://bugs.webkit.org/show_bug.cgi?id=226493
Reviewed by Alex Christensen.
* Source/third_party/usrsctp: Resynced.
* Source/third_party/usrsctp/usrsctplib/.gitattributes: Added.
2021-06-07 Youenn Fablet <youenn@apple.com>
Update libvpx to M92
https://bugs.webkit.org/show_bug.cgi?id=226488
Reviewed by Eric Carlson.
* CMakeLists.txt:
* Source/third_party/libvpx: Resynced.
* libwebrtc.xcodeproj/project.pbxproj:
2021-06-07 Youenn Fablet <youenn@apple.com> and Victor M. Jaquez L. <vjaquez@igalia.com>
Update libyuv to M92
https://bugs.webkit.org/show_bug.cgi?id=226489
Reviewed by Eric Carlson.
* CMakeLists.txt:
* Source/third_party/libyuv: Resynced.
* Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
Updated 10 bits frame conversion routine to use new libyuv routines (covered by webrtc/vp9-profile2.html)
* libwebrtc.xcodeproj/project.pbxproj:
2021-06-06 Youenn Fablet <youenn@apple.com>
Update libsrtp to M92
https://bugs.webkit.org/show_bug.cgi?id=226487
Reviewed by Eric Carlson.
* Configurations/libsrtp.xcconfig:
* Source/third_party/libsrtp: Resynced.
* libwebrtc.xcodeproj/project.pbxproj:
2021-06-03 Youenn Fablet <youenn@apple.com>
Cherry-pick webrtc fix to correctly handle audio track state in case of renegotiation
https://bugs.webkit.org/show_bug.cgi?id=226577
Reviewed by Eric Carlson.
Cherry-pick https://webrtc.googlesource.com/src/+/c335b0e63bff56ca0fbfa617dee6a644c85df164%5E%21/.
We need to do small changes to peer_connection.cc given the upstream fix is based on a newer version
which has some code moved from peer_connection.cc to rtp_transmission_manager.cc.
* Source/webrtc/pc/audio_rtp_receiver.cc:
* Source/webrtc/pc/audio_rtp_receiver.h:
* Source/webrtc/pc/peer_connection.cc:
* Source/webrtc/pc/peer_connection_rtp_unittest.cc:
* Source/webrtc/pc/remote_audio_source.cc:
* Source/webrtc/pc/remote_audio_source.h:
* Source/webrtc/pc/rtp_sender_receiver_unittest.cc:
2021-06-02 Youenn Fablet <youenn@apple.com>
Update boringssl to M92
https://bugs.webkit.org/show_bug.cgi?id=226486
Reviewed by Alex Christensen.
* CMakeLists.txt:
* Source/third_party/boringssl/BUILD.generated.gni: Resynced.
* libwebrtc.xcodeproj/project.pbxproj:
2021-06-02 Youenn Fablet <youenn@apple.com>
Update pffft to M92
https://bugs.webkit.org/show_bug.cgi?id=226491
Reviewed by Alex Christensen.
* Source/third_party/pffft/BUILD.gn:
* Source/third_party/pffft/DIR_METADATA: Added.
2021-06-02 Youenn Fablet <youenn@apple.com>
Update opus to M92
https://bugs.webkit.org/show_bug.cgi?id=226490
Reviewed by Alex Christensen.
* Source/third_party: Resynced.
2021-06-02 Youenn Fablet <youenn@apple.com>
Update to rnnoise to M92
https://bugs.webkit.org/show_bug.cgi?id=226492
Reviewed by Alex Christensen.
* Source/third_party/rnnoise/DIR_METADATA: Added.
* Source/third_party/rnnoise/OWNERS:
2021-06-02 Youenn Fablet <youenn@apple.com>
Update abseil-cpp to M92
https://bugs.webkit.org/show_bug.cgi?id=226485
Reviewed by Alex Christensen.
* Source/third_party/abseil-cpp: Resynced.
2021-05-31 Youenn Fablet <youenn@apple.com>
Use tighter bitrate allocation rules for WebRTC H264 software encoder
https://bugs.webkit.org/show_bug.cgi?id=226319
<rdar://73150695>
Reviewed by Eric Carlson.
Software H264 encoder is sometimes overshooting target bitrate in which case WebRTC backend will start dropping frames.
The encoder might then think it is on target and will not try to increase compression.
This makes it possible to be locked in a very low frame rate but high quality image situation.
It is often better to preserve frame rate and lower quality, the application could always lower frame rate if desired.
To do so, we detect whether the encoder is using software code path or not.
If so, we compute the actual frame rate and compare it with the expected frame rate.
If the actual frame rate is twice smaller or even below, we enter in a low frame rate mode.
Otherwise, we are in a regular frame rate mode where we apply the normal bitrate rules.
In the low frame rate mode, we divide the target bitrate by 3 so as to quickly recover frame rate.
This works well in situations where motion increases from time to time.
It is still not perfect for instance in case the video is muted and gets unmuted or when the scene is completely still and suddenly large motion happens.
In those cases, frame rate is recovered after a minute or so according my testing.
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
(-[RTCVideoEncoderH264 initWithCodecInfo:]):
(-[RTCVideoEncoderH264 encode:codecSpecificInfo:frameTypes:]):
(-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
(-[RTCVideoEncoderH264 setEncoderBitrateBps:frameRate:]):
(-[RTCVideoEncoderH264 updateBitRateAccordingActualFrameRate]):
2021-05-20 Youenn Fablet <youenn@apple.com>
Enable VCP for H264 baseline
https://bugs.webkit.org/show_bug.cgi?id=224043
Reviewed by Eric Carlson.
Enable VCP for baseline past BigSur/iOS14.
Add macros and introduce _useBaseline in addition to _useVCP for that purpose.
* Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
(-[RTCVideoEncoderH264 initWithCodecInfo:]):
(-[RTCVideoEncoderH264 configureCompressionSession]):
2021-05-11 Youenn Fablet <youenn@apple.com>
Improve usrsctp restart handling
https://bugs.webkit.org/show_bug.cgi?id=225638
<rdar://77582953>
Reviewed by Alex Christensen.
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c:
(sctp_process_cookie_existing):
2021-05-07 Alex Christensen <achristensen@webkit.org>
Allow libwebrtc to build for Mac Catalyst
https://bugs.webkit.org/show_bug.cgi?id=225505
Reviewed by Youenn Fablet.
This is progress towards rdar://77568774
Changes necessary to get it to build and link were:
1. kCVPixelBufferOpenGLESCompatibilityKey is unavailable on Catalyst, so use kCVPixelBufferOpenGLCompatibilityKey like we do on macOS.
2. SSE4 and AVX seem to be unavailable in the Catalyst SDK like they are in the iOS simulator SDK, so disable them similarly.
3. Link to UIKit and CoreGraphics in debug builds like we do with iOS family builds.
4. Don't use @loader_path/../../../ for DYLIB_INSTALL_NAME_BASE like we do with relocatable Safari builds, similar to an ANGLE change I made in r276318
5. Export the same symbols as iOS for now. This may need some tweaking when I get it to link with WebCore, but that's why this is only progress.
* Configurations/DebugRelease.xcconfig:
* Configurations/SDKVariant.xcconfig:
* Configurations/libvpx.xcconfig:
* Configurations/libwebrtc.xcconfig:
* Configurations/opus.xcconfig:
* Source/third_party/libvpx/source/config/mac/x64/vp8_rtcd.h:
* Source/third_party/libvpx/source/config/mac/x64/vp9_rtcd.h:
* Source/third_party/libvpx/source/config/mac/x64/vpx_dsp_rtcd.h:
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH264.mm:
(-[RTCVideoDecoderH264 resetDecompressionSession]):
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH265.mm:
(-[RTCVideoDecoderH265 resetDecompressionSession]):
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderVTBVP9.mm:
(-[RTCVideoDecoderVTBVP9 resetDecompressionSession]):
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
(-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH265.mm:
(-[RTCVideoEncoderH265 resetCompressionSession]):
2021-05-05 Yury Semikhatsky <yurys@chromium.org>
[LibWebRTC][WPE][GTK] do not use system installed vpx headers when building webrtc
https://bugs.webkit.org/show_bug.cgi?id=225401
Reviewed by Philippe Normand.
Use vpx headers from Source/ThirdParty/libwebrtc instead of those from the host system.
* CMakeLists.txt: expose libvpx headers to webrtc
2021-04-27 Youenn Fablet <youenn@apple.com>
Disable WebRTC trace event macros
https://bugs.webkit.org/show_bug.cgi?id=225104
<rdar://76146558>
Reviewed by Eric Carlson.
We are not using trace events so we can disable them as a small optimization.
* Configurations/libwebrtc.xcconfig:
* Configurations/libwebrtcpcrtc.xcconfig:
2021-04-23 Philippe Normand <pnormand@igalia.com>
[LibWebRTC][WPE][GTK] Enable vp9 and NO_MAIN_THREAD_WRAPPING
https://bugs.webkit.org/show_bug.cgi?id=222795
Reviewed by Xabier Rodriguez-Calvar.
* CMakeLists.txt: Enable NO_MAIN_THREAD_WRAPPING as in the XCode build and harmonize options
between Apple and non-Apple ports.
* Source/webrtc/common_video/h265/h265_pps_parser.h:
2021-04-21 Kimmo Kinnunen <kkinnunen@apple.com>
WebRTC should be compiled with thread-safe statics
https://bugs.webkit.org/show_bug.cgi?id=224863
Reviewed by Youenn Fablet.
Compile libwebrtc with normal thread-safe c++ local statics.
No known threading failures. Based on ad-hoc risk vs benefit
evaluation of today and after future merges, it appears
better to err in the side of caution.
* Configurations/Base.xcconfig:
2021-04-21 Youenn Fablet <youenn@apple.com>
[ BigSur wk2 ARM64 ] http/wpt/webrtc/change-encoded-transform.html is a flakey crash
https://bugs.webkit.org/show_bug.cgi?id=224696
<rdar://problem/76780020>
Reviewed by Eric Carlson.
On stream recreation, the new delegate may have to process a transformed frame before receiving one from the encoder.
Check for encoder_queue to not be null in that case.
* Source/webrtc/modules/rtp_rtcp/source/rtp_sender_video_frame_transformer_delegate.cc:
2021-04-15 Philippe Normand <pnormand@igalia.com>
[WebRTC][GStreamer] Build and use the openh264 based encoder if present on the system
https://bugs.webkit.org/show_bug.cgi?id=202538
<rdar://problem/76047172>
Reviewed by Xabier Rodriguez-Calvar.
In WPE/GTK we would like to have the libwebrtc openh264 encoder enabled if libopenh264 is
present on the host (eg not vendored).
* CMakeLists.txt:
* LibWebRTCWebKitMacros.h.in: Added.
* Source/webrtc/modules/video_coding/codecs/h264/h264.cc:
* Source/webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc:
* Source/webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.h:
* cmake/FindOpenh264.cmake: Added.
2021-04-06 Philippe Normand <pnormand@igalia.com>
REGRESSION(r275275): Broke some build configs lacking openh264
https://bugs.webkit.org/show_bug.cgi?id=224244
Unreviewed, manual revert of r275275 and r275409.
* CMakeLists.txt:
* LibWebRTCWebKitMacros.h.in: Removed.
* Source/webrtc/modules/video_coding/codecs/h264/h264.cc:
* Source/webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc:
* Source/webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.h:
* cmake/FindOpenh264.cmake: Removed.
2021-04-05 Alex Christensen <achristensen@webkit.org>
Resurrect Mac CMake build
https://bugs.webkit.org/show_bug.cgi?id=224084
Reviewed by Tim Horton.
* CMakeLists.txt:
2021-04-02 Carlos Alberto Lopez Perez <clopez@igalia.com>
[CMake][GStremer] Fails to build if OpenH264 is not present
https://bugs.webkit.org/show_bug.cgi?id=224089
Reviewed by Philippe Normand.
* CMakeLists.txt: Only try to link with OpenH264 when it is found.
2021-03-31 Youenn Fablet <youenn@apple.com>
In case WebRTC VTB decoder returns a null frame, mark the decoder as failing
https://bugs.webkit.org/show_bug.cgi?id=223993
<rdar://problem/76049206>
Reviewed by Eric Carlson.
In case VTB does not return any pixel buffer, consider decoding is failing.
Set the error so that we we will send the error on the next frame we try to decode.
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH264.mm:
(decompressionOutputCallback):
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH265.mm:
(h265DecompressionOutputCallback):
(-[RTCVideoDecoderH265 setError:]):
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderVTBVP9.mm:
(vp9DecompressionOutputCallback):
2021-03-31 Thibault Saunier <tsaunier@igalia.com> and Philippe Normand <pnormand@igalia.com>
[WebRTC][GStreamer] Build and use the openh264 based encoder if present on the system
https://bugs.webkit.org/show_bug.cgi?id=202538
Reviewed by Xabier Rodriguez-Calvar and Adrian Perez de Castro.
In WPE/GTK we would like to have the libwebrtc openh264 encoder enabled if libopenh264 is
present on the host (eg not vendored).
* CMakeLists.txt:
* Source/webrtc/modules/video_coding/codecs/h264/h264.cc:
* Source/webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc:
* Source/webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.h:
2021-03-26 Jessie Berlin <jberlin@webkit.org>
Update the BEFORE/SINCE, SYSTEM_VERSION_PREFIX, and MACOSX_DEPLOYMENT_TARGET flags
https://bugs.webkit.org/show_bug.cgi?id=223779
Reviewed by Tim Horton.
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
* Configurations/WebKitTargetConditionals.xcconfig:
2021-03-25 Jessie Berlin <jberlin@webkit.org>
Remove 10.13 DEPLOYMENT_TARGETs and SYSTEM_VERSION_PREFIXs
https://bugs.webkit.org/show_bug.cgi?id=223765
Reviewed by Tim Horton.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
2021-03-25 Youenn Fablet <youenn@apple.com>
Switch from PORTALLOCATOR_DISABLE_ADAPTER_ENUMERATION to filtering interfaces in Network process
https://bugs.webkit.org/show_bug.cgi?id=223679
Reviewed by Eric Carlson.
* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
2021-03-25 Youenn Fablet <youenn@apple.com>
Align RemoteVideoDecoder destruction strategy with RemoteVideoEncoder
https://bugs.webkit.org/show_bug.cgi?id=223745
Reviewed by Eric Carlson.
When decoder is released, we make sure to nullify the decoder callback.
We wait to release WebKit decoder at RemoteVideoDecoder destruction time.
* Source/webrtc/sdk/WebKit/WebKitDecoder.mm:
(webrtc::RemoteVideoDecoder::~RemoteVideoDecoder):
(webrtc::RemoteVideoDecoder::Release):
2021-03-10 Jer Noble <jer.noble@apple.com>
CRASH in MergeUVRow_AVX2
https://bugs.webkit.org/show_bug.cgi?id=222996
<rdar://75183835>
Reviewed by Geoff Garen.
Crash logging shows occasional crashes in MergeUVRow_AVX2. These crashes all occur when
calling -[AVAssetImageGenerator copyCGImageAtTime:actualTime:error:]. This path is only used
when there was no prior image generated, and a new image is not available from
AVPlayerItemVideoOutput, which is a scenario which only occurs when doing a software-paint
immedately after a <video> element begins loading. While we should probably stop using
AVAssetImageGenerator, that would be a much riskier change, and wouldn't address the
underlying cause of the crash. Instead, bailing out early when in this state would cause
decoding to fail, but since this scenario only appears to occur for the
AVAssetImageGenerator path, painting would quickly recover as soon as
AVPlayerItemVideoOutput begins emitting frames.
The explanation for these crashes seems to be a mismatch between the size of the libvpx
output frame and the size of the CVPixelBuffer where the converted frame data is being
stored. Add a pre-flight check that will bail out early in this scenario.
* Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
(webrtc::CopyVideoFrameToPixelBuffer):
2021-03-09 Youenn Fablet <youenn@apple.com>
Duplicate headers in WebRTC
https://bugs.webkit.org/show_bug.cgi?id=222519
<rdar://problem/75137024>
Reviewed by Eric Carlson.
* libwebrtc.xcodeproj/project.pbxproj:
2021-03-04 Youenn Fablet <youenn@apple.com>
Use NO_MAIN_THREAD_WRAPPING to compile libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=222717
<rdar://problem/74988599>
Reviewed by Eric Carlson.
* Configurations/libwebrtc.xcconfig:
This prevents creating socket server in Web Process.
2021-02-24 Youenn Fablet <youenn@apple.com>
Update fipsmodule cipher.c to handle EVP_CipherUpdate
https://bugs.webkit.org/show_bug.cgi?id=222354
<rdar://problem/74436356>
Reviewed by Eric Carlson.
Cherry-picking of https://boringssl.googlesource.com/boringssl/+/e7c0c9734f5491e62665ea156603209a80fbb235%5E%21/.
* Source/third_party/boringssl/src/crypto/fipsmodule/cipher/cipher.c:
(EVP_EncryptUpdate):
(EVP_DecryptUpdate):
* Source/third_party/boringssl/src/include/openssl/cipher.h:
2021-02-24 Youenn Fablet <youenn@apple.com>
Fix null pointer deref in X509_issuer_and_serial_hash
https://bugs.webkit.org/show_bug.cgi?id=222353
<rdar://problem/74446806>
Reviewed by Eric Carlson.
Cherry-picking of https://github.com/openssl/openssl/commit/8130d654d1de922ea224fa18ee3bc7262edc39c0.
* Source/third_party/boringssl/src/crypto/x509/x509_cmp.c:
(X509_issuer_and_serial_hash):
2021-02-18 Youenn Fablet <youenn@apple.com>
libwebrtc installs some files into incorrect locations in /usr/local/include
https://bugs.webkit.org/show_bug.cgi?id=221534
<rdar://problem/74333613>
Reviewed by Eric Carlson.
* libwebrtc.xcodeproj/project.pbxproj:
Mark optional.h as project instead of private.
Move vp9 header copying from common to webm.
2021-02-16 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r272914.
https://bugs.webkit.org/show_bug.cgi?id=222001
broke macOS build
Reverted changeset:
"libwebrtc installs some files into incorrect locations in
/usr/local/include"
https://bugs.webkit.org/show_bug.cgi?id=221534
https://trac.webkit.org/changeset/272914
2021-02-16 Youenn Fablet <youenn@apple.com>
libwebrtc installs some files into incorrect locations in /usr/local/include
https://bugs.webkit.org/show_bug.cgi?id=221534
<rdar://problem/74333613>
Reviewed by Eric Carlson.
* libwebrtc.xcodeproj/project.pbxproj:
Remove no longer needed private header copying.
Move vp9 header copying from common to webm.
2021-02-15 Youenn Fablet <youenn@apple.com>
Move WebRTCPlatformCodecsInGPUProcessEnabled to Page Settings
https://bugs.webkit.org/show_bug.cgi?id=221893
Reviewed by Eric Carlson.
Always use the remote factory to simplify things. This ensures that factories remain in sync whether callbacks are set or not.
We check anyway whether callbacks are set and use them if needed.
Otherwise, we default to the in-process code path.
* Source/webrtc/sdk/WebKit/WebKitDecoder.mm:
(webrtc::createWebKitDecoderFactory):
* Source/webrtc/sdk/WebKit/WebKitEncoder.mm:
(webrtc::createWebKitEncoderFactory):
2021-02-11 Jer Noble <jer.noble@apple.com>
[Mac] Add Experimental Opus Codec support
https://bugs.webkit.org/show_bug.cgi?id=221745
Reviewed by Eric Carlson.
Copy libopus headers into the libwebrtc header directory.
* libwebrtc.xcodeproj/project.pbxproj:
2021-02-05 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
[CMake] Hide libwebrtc symbols
https://bugs.webkit.org/show_bug.cgi?id=221333
This is a naive approach to hide libwebrtc symbols, particularly beacuse of boringssl, which
migth collide with system's libssl. It compiles libwebrtc with visibility set to hidden.
Reviewed by Michael Catanzaro.
* CMakeLists.txt:
2021-02-02 Youenn Fablet <youenn@apple.com>
Update WebRTC usrsctp to M88
https://bugs.webkit.org/show_bug.cgi?id=221205
Reviewed by Eric Carlson.
* Source/third_party/usrsctp/usrsctplib/.github/workflows/build-with-cmake.yml: Removed.
* Source/third_party/usrsctp/usrsctplib/CMakeLists.txt:
* Source/third_party/usrsctp/usrsctplib/usrsctplib/CMakeLists.txt:
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp.h:
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_asconf.c:
(sctp_process_asconf_set_primary):
(sctp_handle_asconf):
(sctp_handle_asconf_ack):
(sctp_asconf_iterator_ep_end):
(sctp_asconf_iterator_stcb):
* 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_enforce_cwnd_limit):
(sctp_cwnd_update_after_fr):
(cc_bw_same):
(cc_bw_decrease):
(sctp_cwnd_update_after_sack_common):
(sctp_cwnd_update_after_ecn_echo_common):
(sctp_cwnd_update_after_output):
(sctp_cwnd_update_after_sack):
(sctp_cwnd_update_after_ecn_echo):
(sctp_cwnd_update_rtcc_after_ecn_echo):
(sctp_cwnd_update_rtcc_tsn_acknowledged):
(sctp_cwnd_prepare_rtcc_net_for_sack):
(sctp_cwnd_new_rtcc_transmission_begins):
(sctp_set_rtcc_initial_cc_param):
(sctp_cwnd_rtcc_socket_option):
(sctp_cwnd_update_rtcc_after_sack):
(sctp_hs_cwnd_update_after_sack):
(htcp_alpha_update):
(htcp_cong_avoid):
(sctp_htcp_cwnd_update_after_sack):
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_constants.h:
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_header.h:
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_indata.c:
(sctp_mark_non_revokable):
(sctp_place_control_in_stream):
(sctp_queue_data_to_stream):
(sctp_inject_old_unordered_data):
(sctp_deliver_reasm_check):
(sctp_process_a_data_chunk):
(sctp_sack_check):
(sctp_process_segment_range):
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_indata.h:
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c:
(sctp_process_init):
(sctp_handle_heartbeat_ack):
(sctp_handle_error):
(sctp_process_cookie_existing):
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.h:
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_os.h:
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_os_userspace.h:
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_output.c:
(sctp_choose_boundspecific_stcb):
(sctp_select_nth_preferred_addr_from_ifn_boundall):
* 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_ss_functions.c:
(sctp_ss_prio_clear):
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_structs.h:
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_sysctl.c:
(sctp_init_sysctls):
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_sysctl.h:
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_timer.c:
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_timer.h:
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_uio.h:
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_userspace.c:
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_usrreq.c:
(sctp_finish):
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_var.h:
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctputil.c:
(sctp_auditing):
(sctp_timeout_handler):
(sctp_timer_start):
(sctp_notify_remote_error):
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctputil.h:
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet6/sctp6_usrreq.c:
(in6_sin_2_v4mapsin6):
* Source/third_party/usrsctp/usrsctplib/usrsctplib/user_environment.c:
(init_random):
(read_random):
(finish_random):
* Source/third_party/usrsctp/usrsctplib/usrsctplib/user_environment.h:
* Source/third_party/usrsctp/usrsctplib/usrsctplib/user_inpcb.h:
* Source/third_party/usrsctp/usrsctplib/usrsctplib/user_ip6_var.h:
* Source/third_party/usrsctp/usrsctplib/usrsctplib/user_ip_icmp.h:
* Source/third_party/usrsctp/usrsctplib/usrsctplib/user_malloc.h:
* Source/third_party/usrsctp/usrsctplib/usrsctplib/user_mbuf.c:
(mbuf_initialize):
* Source/third_party/usrsctp/usrsctplib/usrsctplib/user_queue.h:
* Source/third_party/usrsctp/usrsctplib/usrsctplib/user_recv_thread.c:
(recv_function_raw):
(recv_function_raw6):
(recv_function_udp):
(recv_function_udp6):
* Source/third_party/usrsctp/usrsctplib/usrsctplib/user_route.h:
* Source/third_party/usrsctp/usrsctplib/usrsctplib/user_socket.c:
(usrsctp_init_nothreads):
(usrsctp_socket):
* Source/third_party/usrsctp/usrsctplib/usrsctplib/user_socketvar.h:
2021-01-25 Youenn Fablet <youenn@apple.com>
Resync libwebrtc with M87 latest branch
https://bugs.webkit.org/show_bug.cgi?id=220913
Reviewed by Eric Carlson.
Cherry-picking two changes that have been cherry-picked in upstream M87 after our latest resync.
This includes: https://webrtc-review.googlesource.com/c/src/+/187349 and https://webrtc-review.googlesource.com/c/src/+/191485.
* Source/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.cc:
* Source/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.h:
* Source/webrtc/modules/audio_coding/codecs/opus/opus_interface.cc:
* Source/webrtc/modules/audio_coding/codecs/opus/opus_unittest.cc:
* Source/webrtc/modules/audio_coding/test/TestVADDTX.cc:
* Source/webrtc/pc/peer_connection_rtp_unittest.cc:
* Source/webrtc/pc/sdp_offer_answer.cc:
2021-01-08 Ryan Hostetler <rhost@apple.com>
Add support for source caching between platforms
https://bugs.webkit.org/show_bug.cgi?id=220439
rdar://72905725
Reviewed by Andy Estes.
Include libwebrtc Source during any installsrc phase.
* Makefile:
2021-01-07 Ryan Hostetler <rhost@apple.com>
make clean/installsrc fail: You cannot specify -alltargets and also specify individual targets.
https://bugs.webkit.org/show_bug.cgi?id=220370
rdar://72834872
Reviewed by Andy Estes.
Use new XCODE_TARGET variable to set boringssl target on watchOS builds.
* Makefile:
2021-01-07 Youenn Fablet <youenn@apple.com>
Remove non-inclusive language from libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=220101
<rdar://problem/72727968>
Reviewed by Beth Dakin.
Remove logging erroneously added in https://trac.webkit.org/changeset/271150.
Remove non-inclusive language from Source/webrtc/rtc_base/message_digest.h as done in
https://webrtc-review.googlesource.com/c/src/+/200701.
* Source/webrtc/rtc_base/message_digest.h:
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH264.mm:
(-[RTCVideoDecoderH264 init]):
(-[RTCVideoDecoderH264 decodeData:size:timeStamp:]):
* 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:]):
2021-01-05 Youenn Fablet <youenn@apple.com>
Remove non-inclusive language from libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=220101
<rdar://problem/72727968>
Reviewed by Beth Dakin.
* Source/webrtc/build_overrides: Removed.
* Source/webrtc/modules/audio_device/android: Removed.
* Source/webrtc/rtc_base/win: Removed.
* Source/webrtc/sdk/android: Removed.
* Source/webrtc/tools_webrtc/msan: Removed.
* Source/webrtc/tools_webrtc/ubsan: Removed.
* Source/webrtc/tools_webrtc/vim: Removed.
2020-12-21 Ryan Hostetler <rhost@apple.com>
$(findstring iphone,$(SDKROOT)) fails when SDKROOT is not lowercase
https://bugs.webkit.org/show_bug.cgi?id=219993
rdar://72436093
Reviewed by Darin Adler.
Update SDKROOT evaluation to be lowercase and SDK filename only.
* Makefile:
2020-12-16 Youenn Fablet <youenn@apple.com>
Cherry-pick usrsctp 355fb576b1a9dfef70fc0e158d66692662baaddc
https://bugs.webkit.org/show_bug.cgi?id=219937
Reviewed by Alex Christensen.
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c:
(sctp_process_cookie_existing):
2020-12-16 Youenn Fablet <youenn@apple.com>
Cherry-pick usrsctp 7dab23aa0d8db86fedd222a308067439b03fad0f
https://bugs.webkit.org/show_bug.cgi?id=219936
<rdar://problem/72304588>
Reviewed by Alex Christensen.
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_input.c:
(sctp_process_cookie_existing):
2020-12-16 Youenn Fablet <youenn@apple.com>
Remove ILBC audio codec as WebRTC audio codec
https://bugs.webkit.org/show_bug.cgi?id=219912
<rdar://problem/72302868>
Reviewed by Eric Carlson.
* Configurations/libwebrtc.xcconfig:
* Configurations/libwebrtcpcrtc.xcconfig:
Compile out ILBC audio codec.
2020-12-16 Youenn Fablet <youenn@apple.com>
Make sure to correctly initialize the vpcC configuration in RTCVideoDecoderVTBVP9
https://bugs.webkit.org/show_bug.cgi?id=219782
Reviewed by Eric Carlson.
We need to initialize the configuration record based on the frame header.
We do so for every key frame.
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderVTBVP9.mm:
(convertSubsamplingXYToChromaSubsampling):
(-[RTCVideoDecoderVTBVP9 startDecodeWithNumberOfCores:]):
(-[RTCVideoDecoderVTBVP9 decode:missingFrames:codecSpecificInfo:renderTimeMs:]):
(-[RTCVideoDecoderVTBVP9 decodeData:size:timeStamp:]):
2020-12-13 Andy Estes <aestes@apple.com>
[Mac] Create a MediaToolbox format reader plug-in for WebM
https://bugs.webkit.org/show_bug.cgi?id=218908
<rdar://problem/71373264>
Reviewed by Eric Carlson.
* Source/webrtc/sdk/WebKit/CMBaseObjectSPI.h:
2020-12-11 Jer Noble <jer.noble@apple.com>
[Cocoa] Add Experimental VP8 support
https://bugs.webkit.org/show_bug.cgi?id=219732
Reviewed by Eric Carlson.
Add a new decoder for VP8 video using the decoder exposed by libwebrtc. Refactor
WebKitDecoderReceiver into its own file, to be used by both the VP8 and VP9 decoders.
* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
* Source/webrtc/sdk/WebKit/WebKitDecoderReceiver.cpp: Added.
(webrtc::WebKitDecoderReceiver::WebKitDecoderReceiver):
(webrtc::WebKitDecoderReceiver::~WebKitDecoderReceiver):
(webrtc::WebKitDecoderReceiver::initializeFromFormatDescription):
(webrtc::WebKitDecoderReceiver::pixelBufferPool):
(webrtc::WebKitDecoderReceiver::decoderFailed):
(webrtc::WebKitDecoderReceiver::Decoded):
* Source/webrtc/sdk/WebKit/WebKitDecoderReceiver.h: Added
* Source/webrtc/sdk/WebKit/WebKitVP8Decoder.cpp: Added.
(webrtc::registerWebKitVP8Decoder):
(webrtc::createWebKitVP8Decoder):
(webrtc::invalidateVP8Decoder):
(webrtc::finalizeVP8Decoder):
(webrtc::copyVP8DecoderDebugDescription):
(webrtc::webKitVP8DecoderFromVTDecoder):
(webrtc::startVP8DecoderSession):
(webrtc::decodeVP8DecoderFrameFromContiguousBlock):
(webrtc::decodeVP8DecoderFrame):
* Source/webrtc/sdk/WebKit/WebKitVP8Decoder.h: Copied from Source/WebCore/platform/graphics/cocoa/VP9UtilitiesCocoa.h.
* Source/webrtc/sdk/WebKit/WebKitVP9Decoder.cpp:
(webrtc::createWebKitVP9Decoder):
(webrtc::startVP9DecoderSession):
(webrtc::WebKitVP9DecoderReceiver::WebKitVP9DecoderReceiver): Deleted.
(webrtc::WebKitVP9DecoderReceiver::~WebKitVP9DecoderReceiver): Deleted.
(webrtc::WebKitVP9DecoderReceiver::initializeFromFormatDescription): Deleted.
(webrtc::WebKitVP9DecoderReceiver::pixelBufferPool): Deleted.
(webrtc::WebKitVP9DecoderReceiver::decoderFailed): Deleted.
(webrtc::WebKitVP9DecoderReceiver::Decoded): Deleted.
* libwebrtc.xcodeproj/project.pbxproj:
2020-12-10 Youenn Fablet <youenn@apple.com>
ICE does not resolve for `turns` relay candidates rooted in LetsEncrypt CA
https://bugs.webkit.org/show_bug.cgi?id=219274
Reviewed by Eric Carlson.
* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
2020-12-04 Adam Roben <aroben@apple.com>
More FALLBACK_PLATFORM adoption
https://bugs.webkit.org/show_bug.cgi?id=219545
Reviewed by Tim Horton.
* Configurations/SDKVariant.xcconfig:
WK_EMPTY_$(THIS_IS_NOT_EMPTY) evaluates to the empty string, not to
NO.
2020-12-03 Adam Roben <aroben@apple.com>
Adopt FALLBACK_PLATFORM
https://bugs.webkit.org/show_bug.cgi?id=219504
Reviewed by Tim Horton.
* Configurations/SDKVariant.xcconfig: Use FALLBACK_PLATFORM it if it's
defined, otherwise use PLATFORM_NAME as before.
2020-12-01 Youenn Fablet <youenn@apple.com>
libwebrtc.dylib relies on dead code stripping (fails to link if dead code is not stripped in Debug builds)
https://bugs.webkit.org/show_bug.cgi?id=218453
Reviewed by Eric Carlson.
Update build config and code to allow building without code stripping.
* Configurations/Base.xcconfig:
* Source/third_party/libvpx/source/libvpx/vp9/encoder/vp9_temporal_filter.c:
Compile out some functions that are not-realtime only.
* libwebrtc.xcodeproj/project.pbxproj:
2020-12-01 Youenn Fablet <youenn@apple.com>
Allow RTCRtpScriptTransformer to request key frames
https://bugs.webkit.org/show_bug.cgi?id=219199
Reviewed by Eric Carlson.
Add GenerateKeyFrame to sender and receiver interface.
Pipe the request to the necessary underlying objects implementing this as follows:
- Ask encoder to generate a key frame for sender transforms
- Send a FIR network request from receiver to sender for receiver transforms
* Source/webrtc/api/rtp_receiver_interface.h:
* Source/webrtc/api/rtp_sender_interface.h:
* Source/webrtc/call/video_send_stream.h:
* Source/webrtc/media/base/media_channel.h:
(cricket::MediaChannel::GenerateKeyFrame):
* Source/webrtc/media/engine/webrtc_video_engine.cc:
* Source/webrtc/media/engine/webrtc_video_engine.h:
* Source/webrtc/pc/rtp_sender.cc:
* Source/webrtc/pc/rtp_sender.h:
* Source/webrtc/pc/video_rtp_receiver.cc:
* Source/webrtc/pc/video_rtp_receiver.h:
* Source/webrtc/video/video_send_stream.cc:
* Source/webrtc/video/video_send_stream.h:
2020-11-30 Youenn Fablet <youenn@apple.com>
Introduce an experimental flag specific to VP9 profile 2
https://bugs.webkit.org/show_bug.cgi?id=219350
Reviewed by Eric Carlson.
Allow to enable profile 0 but not profile 2 for VP9 encoder and decoder.
* Source/webrtc/sdk/WebKit/WebKitDecoder.mm:
(webrtc::createWebKitDecoderFactory):
* Source/webrtc/sdk/WebKit/WebKitEncoder.mm:
(webrtc::createWebKitEncoderFactory):
* Source/webrtc/sdk/WebKit/WebKitUtilities.h:
* Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.h:
* Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.m:
(-[RTCDefaultVideoDecoderFactory initWithH265:vp9Profile0:vp9Profile2:vp9VTB:]):
(-[RTCDefaultVideoDecoderFactory supportedCodecs]):
(-[RTCDefaultVideoDecoderFactory initWithH265:vp9:vp9VTB:]): Deleted.
* Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoEncoderFactory.h:
* Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoEncoderFactory.m:
(-[RTCDefaultVideoEncoderFactory initWithH265:vp9Profile0:vp9Profile2:lowLatencyH264:]):
(+[RTCDefaultVideoEncoderFactory supportedCodecs]):
(+[RTCDefaultVideoEncoderFactory supportedCodecsWithH265:vp9Profile0:vp9Profile2:]):
(-[RTCDefaultVideoEncoderFactory supportedCodecs]):
(-[RTCDefaultVideoEncoderFactory initWithH265:vp9:lowLatencyH264:]): Deleted.
(+[RTCDefaultVideoEncoderFactory supportedCodecsWithH265:vp9:]): Deleted.
2020-11-27 Youenn Fablet <youenn@apple.com>
RTCVideoEncoderH264 does not need to support case without ENABLE_VCP_ENCODER and without HAVE_VTB_REQUIREDLOWLATENCY
https://bugs.webkit.org/show_bug.cgi?id=219224
Reviewed by Eric Carlson.
* Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
Make sure to compile the same with public SDK
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
(-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
Remove code path that is no longer useful.
2020-11-13 Youenn Fablet <youenn@apple.com>
Remote encoder should set its encoder frame callback to nullptr when being released
https://bugs.webkit.org/show_bug.cgi?id=218906
Reviewed by Eric Carlson.
* Source/webrtc/sdk/WebKit/WebKitEncoder.mm:
(webrtc::RemoteVideoEncoder::Release):
We need to reset the callback at Release call time so that WebKit will take a lock to set it back to null.
That way, we ensure to not call this callback while libwebrtc expects not to be called.
2020-11-12 Youenn Fablet <youenn@apple.com>
Add infrastructure for WebRTC transforms
https://bugs.webkit.org/show_bug.cgi?id=218750
Reviewed by Eric Carlson.
Make sure buffer is owned by the encoded image object.
* Configurations/libwebrtc.mac.exp:
* Source/webrtc/sdk/WebKit/WebKitEncoder.h:
* Source/webrtc/sdk/WebKit/WebKitEncoder.mm:
(webrtc::encoderVideoTaskComplete):
2020-11-10 Youenn Fablet <youenn@apple.com> and Victor M Jaquez <vjaquez@igalia.com>
Update WebRTC liwebrtc to M87
https://bugs.webkit.org/show_bug.cgi?id=218436
Reviewed by Eric Carlson.
* CMakeLists.txt:
* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
* Source/webrtc: Resynced.
* WebKit/libwebrtc-m87-diff: Added.
* libwebrtc.xcodeproj/project.pbxproj:
2020-11-04 David Kilzer <ddkilzer@apple.com>
WebKit should remove unused debug variant support
<https://webkit.org/b/218315>
<rdar://problem/70785369>
Reviewed by Darin Adler.
Remove support for building the debug variant since it is
currently unused. We now set default values for the
DEAD_CODE_STRIPPING, DEBUG_DEFINES, GCC_OPTIMIZATION_LEVEL and
STRIP_INSTALLED_PRODUCT variables.
Also move these values out of the Xcode project into
Base.xcconfig files using the [config=Debug] specifier so that
these overrides are next to the definitions.
Additional changes in behavior are noted below.
* Configurations/Base.xcconfig:
- Add missing copyright block.
- Set up DEBUG_DEFINES and GCC_OPTIMIZATION_LEVEL the same as
other WebKit projects.
* Configurations/DebugRelease.xcconfig:
- Add missing copyright block.
- Move DEBUG_DEFINES and GCC_OPTIMIZATION_LEVEL to Base.xcconfig
for [config=Debug].
* Configurations/libwebrtc.xcconfig:
- Add missing copyright block.
- Set up STRIP_INSTALLED_PRODUCT the same as for other WebKit
projects. Previously symbols were never stripped in Release
or Production builds.
* Configurations/yasm.xcconfig:
- Add missing copyright block.
(GCC_PREPROCESSOR_DEFINITIONS):
- Add $(DEBUG_DEFINES) so yasm builds with -DNDEBUG in Release
and Production configurations.
* libwebrtc.xcodeproj/project.pbxproj:
- Remove unneeded PRODUCT_NAME variables.
2020-11-04 Youenn Fablet <youenn@apple.com>
Make functional WebRTC encoders in GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=218498
Reviewed by Eric Carlson.
Add support for a remote encoder and remote factory that will first try to create a remote encoder and use an in process encoder otherwise.
This is similar to what was done for remote video decoders.
* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
* Source/webrtc/sdk/WebKit/WebKitEncoder.h:
(webrtc::WebKitEncodedFrameInfo::decode):
(webrtc::WebKitRTPFragmentationHeader::encode const):
(webrtc::WebKitRTPFragmentationHeader::decode):
Fix issues in routines to encode/decode frame/fragmentation headers.
* Source/webrtc/sdk/WebKit/WebKitEncoder.mm:
(-[WK_RTCLocalVideoH264H265Encoder initWithCodecInfo:]):
(-[WK_RTCLocalVideoH264H265Encoder codecType]):
(webrtc::RemoteVideoEncoderFactory::RemoteVideoEncoderFactory):
(webrtc::RemoteVideoEncoderFactory::CreateVideoEncoder):
(webrtc::createWebKitEncoderFactory):
(webrtc::RemoteVideoEncoder::~RemoteVideoEncoder):
(webrtc::RemoteVideoEncoder::Release):
(webrtc::encoderVideoTaskComplete):
(webrtc::initializeLocalEncoder):
(webrtc::encodeLocalEncoderFrame):
2020-11-03 Youenn Fablet <youenn@apple.com>
Add support for WebRTC VP9 decoder in GPU process
https://bugs.webkit.org/show_bug.cgi?id=218445
Reviewed by Eric Carlson.
Allow creating a VTB VP9 decoder from WebCore.
VTB VP9 decoder currently needs key frame width and height information so we provide it as part of the decode callback.
* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
* Source/webrtc/sdk/WebKit/WebKitDecoder.h:
* Source/webrtc/sdk/WebKit/WebKitDecoder.mm:
(-[WK_RTCLocalVideoH264H265VP9Decoder initVP9DecoderWithCallback:]):
(-[WK_RTCLocalVideoH264H265VP9Decoder decodeData:size:timeStamp:]):
(-[WK_RTCLocalVideoH264H265VP9Decoder setWidth:height:]):
(-[WK_RTCLocalVideoH264H265VP9Decoder releaseDecoder]):
(webrtc::RemoteVideoDecoder::Decode):
(webrtc::RemoteVideoDecoderFactory::GetSupportedFormats const):
(webrtc::createLocalH264Decoder):
(webrtc::createLocalH265Decoder):
(webrtc::createLocalVP9Decoder):
(webrtc::releaseLocalDecoder):
(webrtc::decodeFrame):
(webrtc::setDecoderFrameSize):
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderVTBVP9.h:
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderVTBVP9.mm:
(-[RTCVideoDecoderVTBVP9 decode:missingFrames:codecSpecificInfo:renderTimeMs:]):
(-[RTCVideoDecoderVTBVP9 setWidth:height:]):
2020-11-03 Youenn Fablet <youenn@apple.com>
Update WebRTC boringssl to M87
https://bugs.webkit.org/show_bug.cgi?id=218431
Reviewed by Eric Carlson.
* CMakeLists.txt:
* Source/third_party/boringssl: Resynced.
* libwebrtc.xcodeproj/project.pbxproj:
2020-11-03 Youenn Fablet <youenn@apple.com>
Update WebRTC usrsctp to M87
https://bugs.webkit.org/show_bug.cgi?id=218433
Reviewed by Eric Carlson.
* Source/third_party/usrsctp: Resynced.
2020-11-03 Youenn Fablet <youenn@apple.com>
Allow low latency H264 encoder in GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=218442
Reviewed by Eric Carlson.
Add a useLowLatency boolean in RTCVideoEncoderH264 and in encoder factory.
Encoder is set by the factory at creation time.
useLowLatency factory value is set at creation of the factory.
Clean up WebKitXX.h headers to do less include and move declarations in specific headers.
* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
* Source/webrtc/sdk/WebKit/WebKitDecoder.h:
* Source/webrtc/sdk/WebKit/WebKitDecoder.mm:
(webrtc::videoDecoderTaskComplete):
* Source/webrtc/sdk/WebKit/WebKitEncoder.h:
* Source/webrtc/sdk/WebKit/WebKitEncoder.mm:
(-[WK_RTCLocalVideoH264H265Encoder setLowLatency:]):
(webrtc::createWebKitEncoderFactory):
(webrtc::setLocalEncoderLowLatency):
* Source/webrtc/sdk/WebKit/WebKitUtilities.h:
* Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
* Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoEncoderFactory.h:
* Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoEncoderFactory.m:
(-[RTCDefaultVideoEncoderFactory initWithH265:vp9:lowLatencyH264:]):
(-[RTCDefaultVideoEncoderFactory createEncoder:]):
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.h:
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
(-[RTCVideoEncoderH264 initWithCodecInfo:]):
(-[RTCVideoEncoderH264 setH264LowLatencyEncoderEnabled:]):
(-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
2020-11-03 Youenn Fablet <youenn@apple.com>
Update WebRTC libyuv to M87
https://bugs.webkit.org/show_bug.cgi?id=218434
Reviewed by Eric Carlson.
* Source/third_party/usrsctp: Resynced.
2020-11-03 Youenn Fablet <youenn@apple.com>
Update WebRTC abseil to M87
https://bugs.webkit.org/show_bug.cgi?id=218432
Reviewed by Eric Carlson.
* CMakeLists.txt:
* Source/third_party/abseil-cpp: Resynced.
2020-11-03 Youenn Fablet <youenn@apple.com>
Update WebRTC opus to M87
https://bugs.webkit.org/show_bug.cgi?id=218435
Reviewed by Eric Carlson.
* Source/third_party/opus: Resynced.
2020-11-02 Youenn Fablet <youenn@apple.com>
Set vpcC box for hardware WebRTC VP9 decoder
https://bugs.webkit.org/show_bug.cgi?id=218337
Reviewed by Eric Carlson.
Hardware VP9 decoder code path requires vpcC box information.
Provide it as part of the video format.
Initialize the vpcC box with a zeroed buffer.
Make sure WebKitVP9Decoder is able to handle dynamically 10 bits or 8 bits frames.
* Source/webrtc/sdk/WebKit/WebKitVP9Decoder.cpp:
(webrtc::createWebKitVP9Decoder):
(webrtc::startVP9DecoderSession):
(webrtc::WebKitVP9DecoderReceiver::initializeFromFormatDescription):
(webrtc::WebKitVP9DecoderReceiver::pixelBufferPool):
(webrtc::WebKitVP9DecoderReceiver::Decoded):
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderVTBVP9.mm:
(-[RTCVideoDecoderVTBVP9 decodeData:size:timeStamp:]):
(-[RTCVideoDecoderVTBVP9 resetDecompressionSession]):
2020-10-29 Youenn Fablet <youenn@apple.com>
Add some logging to SequenceCheckerImpl::IsCurrent
https://bugs.webkit.org/show_bug.cgi?id=218328
Reviewed by Eric Carlson.
* Source/webrtc/rtc_base/synchronization/sequence_checker.cc:
This might help debugging https://bugs.webkit.org/show_bug.cgi?id=218063.
2020-10-29 Youenn Fablet <youenn@apple.com>
Disable VP9 VTB hardware decoding
https://bugs.webkit.org/show_bug.cgi?id=218326
Reviewed by Alex Christensen.
VP9 hardware decoder does not work properly yet as used in WebRTC pipeline.
Disable hardware support for now and use software based VP9 through VTB.
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderVTBVP9.mm:
(-[RTCVideoDecoderVTBVP9 resetDecompressionSession]):
2020-10-26 Youenn Fablet <youenn@apple.com>
Add support for VP9 Profile 2 (10-bit color) in WebRTC
https://bugs.webkit.org/show_bug.cgi?id=217673
<rdar://problem/70283885>
Reviewed by Eric Carlson.
Add support for VP9 profile 0 and 2.
This requires correctly handling 10-bit decoded buffers as is done by the MSE code path.
* 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::pixelBufferFromFrame):
* Source/webrtc/sdk/WebKit/WebKitVP9Decoder.cpp:
(webrtc::WebKitVP9DecoderReceiver::Decoded):
* Source/webrtc/sdk/objc/api/video_codec/RTCVideoEncoderVP9.h:
* Source/webrtc/sdk/objc/api/video_codec/RTCVideoEncoderVP9.mm:
(+[RTCVideoEncoderVP9 vp9Encoder:]):
* Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.m:
(-[RTCDefaultVideoDecoderFactory supportedCodecs]):
* Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoEncoderFactory.m:
(+[RTCDefaultVideoEncoderFactory supportedCodecsWithH265:vp9:]):
(-[RTCDefaultVideoEncoderFactory createEncoder:]):
2020-10-24 Jer Noble <jer.noble@apple.com>
[BigSur] Appending a new WebM init segment between Cluster elements throws an error
https://bugs.webkit.org/show_bug.cgi?id=218149
<rdar://problem/70416537>
Reviewed by Eric Carlson.
Add an "OnElementEnd()" callback to libwebm.
* Source/third_party/libwebm/webm_parser/include/webm/callback.h:
* Source/third_party/libwebm/webm_parser/src/callback.cc:
* Source/third_party/libwebm/webm_parser/src/master_parser.cc:
* Source/third_party/libwebm/webm_parser/src/webm_parser.cc:
2020-10-21 Youenn Fablet <youenn@apple.com>
WebRTC VP9 Decoder should be able to use VTB
https://bugs.webkit.org/show_bug.cgi?id=217811
Reviewed by Eric Carlson.
Add RTCVideoDecoderVTBVP9 as a VP9 decoder using the VTB API.
Enable this code path by default if VP9 is enabled and hardware VP9 decoding is supported.
Allow to override this setting for testing purposes.
Add SPI header files in case they are not available.
* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
* Source/webrtc/sdk/WebKit/CMBaseObjectSPI.h: Added.
* Source/webrtc/sdk/WebKit/VTVideoDecoderSPI.h: Added.
* Source/webrtc/sdk/WebKit/WebKitDecoder.mm:
(webrtc::createWebKitDecoderFactory):
* Source/webrtc/sdk/WebKit/WebKitUtilities.h:
* Source/webrtc/sdk/WebKit/WebKitVP9Decoder.cpp:
(webrtc::createWebKitVP9Decoder):
* Source/webrtc/sdk/objc/api/video_codec/RTCWrappedNativeVideoDecoder.mm:
(-[RTCWrappedNativeVideoDecoder implementationName]):
* Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.h:
* Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.m:
(-[RTCDefaultVideoDecoderFactory initWithH265:vp9:vp9VTB:]):
(-[RTCDefaultVideoDecoderFactory createDecoder:]):
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderVTBVP9.h: Added.
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderVTBVP9.mm: Added.
(RTCFrameDecodeParams::RTCFrameDecodeParams):
(VP9BufferToCMSampleBuffer):
(vp9DecompressionOutputCallback):
(-[RTCVideoDecoderVTBVP9 dealloc]):
(-[RTCVideoDecoderVTBVP9 startDecodeWithNumberOfCores:]):
(-[RTCVideoDecoderVTBVP9 decode:missingFrames:codecSpecificInfo:renderTimeMs:]):
(-[RTCVideoDecoderVTBVP9 decodeData:size:timeStamp:]):
(-[RTCVideoDecoderVTBVP9 setCallback:]):
(-[RTCVideoDecoderVTBVP9 setError:]):
(-[RTCVideoDecoderVTBVP9 releaseDecoder]):
(-[RTCVideoDecoderVTBVP9 resetDecompressionSession]):
(-[RTCVideoDecoderVTBVP9 configureDecompressionSession]):
(-[RTCVideoDecoderVTBVP9 destroyDecompressionSession]):
(-[RTCVideoDecoderVTBVP9 setVideoFormat:]):
(-[RTCVideoDecoderVTBVP9 implementationName]):
* Source/webrtc/sdk/objc/native/src/objc_video_decoder_factory.mm:
(webrtc::ObjCVideoDecoderFactory::CreateVideoDecoder):
* libwebrtc.xcodeproj/project.pbxproj:
2020-10-13 Keith Rollin <krollin@apple.com>
Remove leftover MACOSX_DEPLOYMENT_TARGET_macosx support
https://bugs.webkit.org/show_bug.cgi?id=217649
<rdar://problem/70236877>
Reviewed by Darin Adler.
Bug 42796 introduced MACOSX_DEPLOYMENT_TARGET_<PLATFORM> as "support
for compiling WebKit against iOS SDKs". Support for the iOS part of
this feature was later removed in several changes, including Bug
139212, Bug 139463 and Bug 144762. However, vestiges have remained for
five or six years in the form of MACOSX_DEPLOYMENT_TARGET_macosx. The
inclusion of the platform in MACOSX_DEPLOYMENT_TARGET is no longer
needed and can be removed.
This changes brings most projects in conformance with other projects
that don't support including the platform in MACOSX_DEPLOYMENT_TARGET,
including WebEditingTester, gtest, WebKitTestRunner, MiniBrowser, and
TestWebKitAPI.
Along the way, remove a couple of left-over references to macOS 10.16,
and a couple of places where [sdk=macosx*] was still being used.
With this change, initialization of MACOSX_DEPLOYMENT_TARGET should be
consistent across all projects, with two exceptions: WebKitLauncher
(which hardcodes it to 10.12) and libwebrtc's copy of googletest
(which hardcodes it to 10.4). The reasons for these hard-coded values
is not apparent, so leave them be.
* Configurations/DebugRelease.xcconfig:
2020-10-12 Luming Yin <luming_yin@apple.com>
[macOS] Workaround for MAC_OS_X_VERSION_MAJOR incorrectly including minor version when building
with Xcode 12 on macOS Big Sur SUs
https://bugs.webkit.org/show_bug.cgi?id=217602
rdar://70194453
Reviewed by Darin Adler.
The previous workaround turns out to be ineffective because we can't set the value of
TARGET_MAC_OS_X_VERSION_MAJOR based on a previous value of itself. Introduce a new
variable TARGET_MAC_OS_X_VERSION_MAJOR to determine whether we need to explicitly
adjust MAC_OS_X_VERSION_MAJOR to 110000.
* Configurations/DebugRelease.xcconfig:
2020-10-12 Luming Yin <luming_yin@apple.com>
[macOS] Workaround for MAC_OS_X_VERSION_MAJOR incorrectly including minor version when building
with Xcode 12 on macOS Big Sur SUs
https://bugs.webkit.org/show_bug.cgi?id=217602
rdar://70194453
Reviewed by Darin Adler.
Due to a bug in Xcode (rdar://70185899), Xcode 12.0 and Xcode 12.1 Beta incorrectly includes the
minor release number in MAC_OS_X_VERSION_MAJOR, which causes Debug and Release builds of WebKit
to be misconfigured when building on macOS Big Sur SUs, leading to webpages failing to load.
To work around the Xcode bug, when the MAC_OS_X_VERSION_MAJOR includes the minor version number,
drop the minor version number by explicitly setting TARGET_MAC_OS_X_VERSION_MAJOR to 110000.
Note: This change should be reverted after <rdar://70185899> is resolved.
* Configurations/DebugRelease.xcconfig:
2020-10-11 Luming Yin <luming_yin@apple.com>
Strip patch version from TARGET_MAC_OS_X_VERSION_MAJOR when building for macOS Big Sur
or later
https://bugs.webkit.org/show_bug.cgi?id=217594
rdar://70188497
Reviewed by Darin Adler.
To ensure successful Mac Catalyst WebKit builds, strip the patch version from
TARGET_MAC_OS_X_VERSION_MAJOR by using two `base:`s on MACOSX_DEPLOYMENT_TARGET.
* Configurations/Base.xcconfig:
2020-10-11 Luming Yin <luming_yin@apple.com>
Ignore deployment suffix and identifier when computing major OS version for macOS
Big Sur and newer
https://bugs.webkit.org/show_bug.cgi?id=217584
rdar://70168426
Reviewed by Darin Adler.
Stop using MACOSX_DEPLOYMENT_TARGET:suffix:identifier to compute major OS versions.
Only use the deployment target base for macOS Big Sur and newer. Keep the manual
definitions for legacy versions of macOS.
* Configurations/Base.xcconfig:
2020-10-09 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, reverting r267539.
Causes WebContent process crash in certain configurations
Reverted changeset:
"Add libwebrtc.dylib version check"
https://bugs.webkit.org/show_bug.cgi?id=216884
https://trac.webkit.org/changeset/267539
2020-10-07 Keith Rollin <krollin@apple.com>
Update post-processing rules for headers to not unnecessarily change timestamps
https://bugs.webkit.org/show_bug.cgi?id=217371
<rdar://problem/69992230>
Reviewed by Darin Adler.
Under XCBuild, the scripts employed in custom build rules can be
invoked in innocuous situations. A common example is when the user is
building from the command-line and they change the `make` output from
stdout to a file, or vice-versa. Changing the output changes the
setting of the COLOR_DIAGNOSTICS environment variable, which is enough
to cause XCBuild to think something is different and that the custom
build rule needs to be invoked. For the script's part, nothing
significant has changed, yet it post-processes the header files,
causing their modification dates to change, causing downstream
rebuilds to occur.
Fix this problem by adopting an approach that doesn't modify the
post-processed header files unless their contents actually change.
* libwebrtc.xcodeproj/project.pbxproj:
2020-09-24 Youenn Fablet <youenn@apple.com>
Add libwebrtc.dylib version check
https://bugs.webkit.org/show_bug.cgi?id=216884
<rdar://problem/69441354>
Reviewed by Eric Carlson.
Introduce isMatchingBundleVersion to check libwebrtc.dylib version.
* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
* Configurations/libwebrtc.xcconfig:
* Source/webrtc/sdk/WebKit/WebKitUtilities.h:
* Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
(webrtc::isMatchingBundleVersion):
2020-09-09 David Kilzer <ddkilzer@apple.com>
[WebRTC] Fix uninitialized fields in FilterAnalyzer::ConsistentFilterDetector, FilterAnalyzer::FilterAnalysisState and InterArrival::TimestampGroup
<https://webkit.org/b/216314>
Reviewed by Youenn Fablet.
* Source/webrtc/modules/audio_processing/aec3/filter_analyzer.h:
(webrtc::FilterAnalyzer::ConsistentFilterDetector):
- Initialize fields in declarations. This matches the values set
by webrtc::FilterAnalyzer::ConsistentFilterDetector::Reset().
(webrtc::FilterAnalyzer::FilterAnalysisState):
- Initialize fields in declarations. Note that the
FilterAnalysis constructor calls FilterAnalyzer::Reset(),
which also sets these fields, but after the FilterAnalysisState
construtor is called.
* Source/webrtc/modules/remote_bitrate_estimator/inter_arrival.h:
(webrtc::InterArrival::TimestampGroup::TimestampGroup):
- Initialize field in constructor argument list.
* WebKit/0001-fix-216314.patch: Add.
2020-09-07 Youenn Fablet <youenn@apple.com>
Add missing members to RTCIceCandidate
https://bugs.webkit.org/show_bug.cgi?id=216075
Reviewed by Eric Carlson.
* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
2020-08-24 Youenn Fablet <youenn@apple.com>
Enable VP9D_SET_LOOP_FILTER_OPT for libvpx vp9 decoder
https://bugs.webkit.org/show_bug.cgi?id=215765
<rdar://problem/67677285>
Reviewed by Eric Carlson.
Following https://webrtc-review.googlesource.com/c/src/+/177335 upstream, let's enable VP9D_SET_LOOP_FILTER_OPT for improved performances.
* Source/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc:
2020-08-12 Youenn Fablet <youenn@apple.com>
Enable H264 low latency code path by default for MacOS
https://bugs.webkit.org/show_bug.cgi?id=215371
Reviewed by Eric Carlson.
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
(-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
Remove the workaround to use VCP encoder if software is detected as regular software code path should work now.
2020-08-11 Youenn Fablet <youenn@apple.com>
Cherry-pick usrsctp 264ce452885bfed73348ba6b6f63693bc2f52a6e commit
https://bugs.webkit.org/show_bug.cgi?id=215378
<rdar://problem/66788144>
Reviewed by Eric Carlson.
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_asconf.c:
(sctp_handle_asconf):
2020-08-05 Tim Horton <timothy_horton@apple.com>
Remove all references to non-existent 10.16
https://bugs.webkit.org/show_bug.cgi?id=215202
Reviewed by Wenson Hsieh.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
* Configurations/WebKitTargetConditionals.xcconfig:
* Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
2020-08-03 Youenn Fablet <youenn@apple.com>
Remove libwebrtc protobuf copy
https://bugs.webkit.org/show_bug.cgi?id=215076
rdar://problem/66291604
Reviewed by Eric Carlson.
This is not used currently and contains code that is not up to date.
* Source/third_party/protobuf: Removed.
2020-07-29 Jer Noble <jer.noble@apple.com>
Support HDR decode in SW VP9
https://bugs.webkit.org/show_bug.cgi?id=214928
Reviewed by Eric Carlson.
Support converting I010 buffers (full-planar, 10-bit data packed into the LSB of a 16-bit int)
into CVPixelBuffers (bi-planar, 10-bit data packed into the MSB of a 16-bit int). This requires
using functions from libyuv to merge and scale 16-bit planar data, optimized for AVX2. To know
that incoming buffers are 10-bit, and whether they're full-range, parse the 'vpcC' atom attached
to the CMFormatDescription.
* Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
(webrtc::MergeUVPlane_16):
(webrtc::CopyPlane_16):
(webrtc::CopyVideoFrameToPixelBuffer):
(webrtc::pixelBufferFromFrame):
* Source/webrtc/sdk/WebKit/WebKitVP9Decoder.cpp:
(webrtc::createWebKitVP9Decoder):
(webrtc::startVP9DecoderSession):
(webrtc::WebKitVP9DecoderReceiver::createPixelBufferPoolForFormatDescription):
(webrtc::WebKitVP9DecoderReceiver::Decoded):
2020-07-28 Youenn Fablet <youenn@apple.com>
Disable low latency code path for H264 constrained baseline
https://bugs.webkit.org/show_bug.cgi?id=214830
Reviewed by Eric Carlson.
In case of baseline profile, use straight VTB encoder.
In case of high profile, use low latency code path if enabled.
In case of MacOS software code path, enable low latency code path as straight VTB encoder buffers frames.
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
(-[RTCVideoEncoderH264 initWithCodecInfo:]):
(-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
2020-07-26 Michael Catanzaro <mcatanzaro@gnome.org>
libwebrtc uint64_t build fixes
https://bugs.webkit.org/show_bug.cgi?id=214806
Reviewed by Darin Adler.
WebKitGTK currently fails to build with -DENABLE_EXPERIMENTAL_FEATURES=ON because a bunch of
libwebrtc headers use integer typedefs without declaring them:
* Source/webrtc/call/rtx_receive_stream.h:
* Source/webrtc/common_video/h264/pps_parser.h:
* Source/webrtc/common_video/h264/sps_parser.h:
* Source/webrtc/modules/audio_processing/aec3/clockdrift_detector.h:
* Source/webrtc/modules/include/module_common_types_public.h:
* Source/webrtc/modules/video_coding/decoding_state.h:
2020-07-24 Youenn Fablet <youenn@apple.com>
Do not require hardware H264 encoder in case of HAVE_VTB_REQUIREDLOWLATENCY
https://bugs.webkit.org/show_bug.cgi?id=214687
Reviewed by Eric Carlson.
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
(-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
2020-07-24 Youenn Fablet <youenn@apple.com>
Remove assertions in RTCVideoEncoderH264 that are wrong in case of simulcast
https://bugs.webkit.org/show_bug.cgi?id=214684
Reviewed by Darin Adler.
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
(-[RTCVideoEncoderH264 encode:codecSpecificInfo:frameTypes:]):
In case of simulcast, the session expected width/height and samples width/height are not matching.
This is expected and the session handles it properly.
2020-07-22 Conrad Shultz <conrad_shultz@apple.com>
Update macOS Version macros
https://bugs.webkit.org/show_bug.cgi?id=214653
Reviewed by Tim Horton.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
* Configurations/WebKitTargetConditionals.xcconfig:
2020-07-21 Jer Noble <jer.noble@apple.com>
Unreviewed build fix after r264685; copy headers to the correct path during a DEPLOYMENT_LOCATION build.
* Configurations/libwebm.xcconfig:
* libwebrtc.xcodeproj/project.pbxproj:
2020-07-21 Jer Noble <jer.noble@apple.com>
[Cocoa] Add experimental MSE WebM parser
https://bugs.webkit.org/show_bug.cgi?id=214529
<rdar://problem/65782467>
Reviewed by Eric Carlson.
Add the vp9_header_parser from libwebrtc to the project, and add its
symbols to the list of exported symbols. Because this header wants to
be installed to a "common/vp9_header_parser.h" path, split up the default
CopyHeadersInstallPhase into two separate CopyFiles build phases that
put headers into different locations.
* Configurations/libwebm.xcconfig:
* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
* Source/third_party/libwebm/common/vp9_header_parser.h:
(vp9_parser::Vp9HeaderParser::color_range const):
(vp9_parser::Vp9HeaderParser::subsampling_x const):
(vp9_parser::Vp9HeaderParser::subsampling_y const):
* libwebrtc.xcodeproj/project.pbxproj:
2020-07-21 Youenn Fablet <youenn@apple.com>
Resync filter_analyzer.cc up to upstream libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=214592
<rdar://problem/65247051>
Reviewed by Eric Carlson.
* Source/webrtc/modules/audio_processing/aec3/filter_analyzer.cc:
2020-07-20 Youenn Fablet <youenn@apple.com>
Fix buggy assert in h265_vps_sps_pps_tracker.cc
https://bugs.webkit.org/show_bug.cgi?id=214545
Reviewed by Eric Carlson.
* Source/webrtc/modules/video_coding/h265_vps_sps_pps_tracker.cc:
2020-07-17 Jer Noble <jer.noble@apple.com>
Unreviwed build fix after r265592; rather than remove the dead code causing link errors
instead link against CoreGraphics and UIKit for debug builds; revert the previous build
fix as well.
* Configurations/DebugRelease.xcconfig:
* Source/webrtc/sdk/objc/api/video_frame_buffer/RTCNativeI420Buffer.mm:
(-[RTCI420Buffer debugQuickLookObject]):
2020-07-16 Jer Noble <jer.noble@apple.com>
Unreviewed build fix after r264492; previously dead code in RTCNativeI420Buffer.mm was
revivified after a project file fix which stopped setting NDEBUG for debug builds in
libwebrc. Delete this undead code, which would have always caused build errors if it was
ever compiled.
* Source/webrtc/sdk/objc/api/video_frame_buffer/RTCNativeI420Buffer.mm:
(-[RTCI420Buffer debugQuickLookObject]): Deleted.
2020-07-16 Jer Noble <jer.noble@apple.com>
Integrate libwebm into the libwebrtc project.
https://bugs.webkit.org/show_bug.cgi?id=214410
Reviewed by Eric Carlson.
Add the libwebm and resulting static library target to libwebrtc.
Drive-by fix: update the DebugRelease.xcconfig to set the correct DEBUG_DEFINES and GCC_OPTIMIZATION_LEVEL
when building the Debug configuration.
* Configurations/DebugRelease.xcconfig:
* Configurations/libwebm.xcconfig: Added.
* Configurations/libwebrtc.xcconfig:
* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
* Source/third_party/libwebm/AUTHORS.TXT: Added.
* Source/third_party/libwebm/Android.mk: Added.
* Source/third_party/libwebm/CMakeLists.txt: Added.
* Source/third_party/libwebm/LICENSE.TXT: Added.
* Source/third_party/libwebm/Makefile.unix: Added.
* Source/third_party/libwebm/PATENTS.TXT: Added.
* Source/third_party/libwebm/README.libwebm: Added.
* Source/third_party/libwebm/codereview.settings: Added.
* Source/third_party/libwebm/common/common.sh: Added.
* Source/third_party/libwebm/common/file_util.cc: Added.
* Source/third_party/libwebm/common/file_util.h: Added.
(libwebm::TempFileDeleter::TempFileDeleter):
(libwebm::TempFileDeleter::name const):
* Source/third_party/libwebm/common/hdr_util.cc: Added.
* Source/third_party/libwebm/common/hdr_util.h: Added.
(libwebm::Vp9CodecFeatures::Vp9CodecFeatures):
(libwebm::Vp9CodecFeatures::~Vp9CodecFeatures):
* Source/third_party/libwebm/common/indent.cc: Added.
* Source/third_party/libwebm/common/indent.h: Added.
(libwebm::Indent::indent_str const):
* Source/third_party/libwebm/common/libwebm_util.cc: Added.
* Source/third_party/libwebm/common/libwebm_util.h: Added.
(libwebm::FILEDeleter::operator()):
(libwebm::Range::Range):
* Source/third_party/libwebm/common/video_frame.cc: Added.
* Source/third_party/libwebm/common/video_frame.h: Added.
(libwebm::VideoFrame::VideoFrame):
(libwebm::VideoFrame::buffer const):
(libwebm::VideoFrame::keyframe const):
(libwebm::VideoFrame::nanosecond_pts const):
(libwebm::VideoFrame::codec const):
(libwebm::VideoFrame::set_nanosecond_pts):
* Source/third_party/libwebm/common/vp9_header_parser.cc: Added.
* Source/third_party/libwebm/common/vp9_header_parser.h: Added.
(vp9_parser::Vp9HeaderParser::Vp9HeaderParser):
(vp9_parser::Vp9HeaderParser::frame_size const):
(vp9_parser::Vp9HeaderParser::profile const):
(vp9_parser::Vp9HeaderParser::key const):
(vp9_parser::Vp9HeaderParser::altref const):
(vp9_parser::Vp9HeaderParser::error_resilient_mode const):
(vp9_parser::Vp9HeaderParser::bit_depth const):
(vp9_parser::Vp9HeaderParser::color_space const):
(vp9_parser::Vp9HeaderParser::width const):
(vp9_parser::Vp9HeaderParser::height const):
(vp9_parser::Vp9HeaderParser::refresh_frame_flags const):
(vp9_parser::Vp9HeaderParser::row_tiles const):
(vp9_parser::Vp9HeaderParser::column_tiles const):
(vp9_parser::Vp9HeaderParser::frame_parallel_mode const):
* Source/third_party/libwebm/common/vp9_header_parser_tests.cc: Added.
* Source/third_party/libwebm/common/vp9_level_stats.cc: Added.
* Source/third_party/libwebm/common/vp9_level_stats.h: Added.
(vp9_parser::Vp9LevelStats::Vp9LevelStats):
(vp9_parser::Vp9LevelStats::set_duration):
(vp9_parser::Vp9LevelStats::max_luma_sample_rate_grace_percent const):
(vp9_parser::Vp9LevelStats::set_max_luma_sample_rate_grace_percent):
(vp9_parser::Vp9LevelStats::estimate_last_frame_duration const):
(vp9_parser::Vp9LevelStats::set_estimate_last_frame_duration):
* Source/third_party/libwebm/common/vp9_level_stats_tests.cc: Added.
* Source/third_party/libwebm/common/webm_constants.h: Added.
* Source/third_party/libwebm/common/webm_endian.cc: Added.
* Source/third_party/libwebm/common/webm_endian.h: Added.
* Source/third_party/libwebm/common/webmids.h: Added.
* Source/third_party/libwebm/dumpvtt.cc: Added.
* Source/third_party/libwebm/hdr_util.hpp: Added.
* Source/third_party/libwebm/iosbuild.sh: Added.
* Source/third_party/libwebm/m2ts/tests/webm2pes_tests.cc: Added.
* Source/third_party/libwebm/m2ts/vpxpes2ts.cc: Added.
* Source/third_party/libwebm/m2ts/vpxpes2ts.h: Added.
(libwebm::VpxPes2Ts::VpxPes2Ts):
* Source/third_party/libwebm/m2ts/vpxpes2ts_main.cc: Added.
* Source/third_party/libwebm/m2ts/vpxpes_parser.cc: Added.
* Source/third_party/libwebm/m2ts/vpxpes_parser.h: Added.
(libwebm::VpxPesParser::BcmvHeader::size):
(libwebm::VpxPesParser::pes_file_size const):
(libwebm::VpxPesParser::pes_file_data const):
* Source/third_party/libwebm/m2ts/webm2pes.cc: Added.
* Source/third_party/libwebm/m2ts/webm2pes.h: Added.
(libwebm::PesHeaderField::PesHeaderField):
(libwebm::PesHeaderField::Check const):
(libwebm::PesOptionalHeader::size_in_bytes):
(libwebm::BCMVHeader::BCMVHeader):
(libwebm::BCMVHeader::size):
(libwebm::PesHeader::size const):
(libwebm::PacketReceiverInterface::~PacketReceiverInterface):
(libwebm::Webm2Pes::Webm2Pes):
(libwebm::Webm2Pes::bytes_written const):
* Source/third_party/libwebm/m2ts/webm2pes_main.cc: Added.
* Source/third_party/libwebm/mkvmuxer.hpp: Added.
* Source/third_party/libwebm/mkvmuxer/mkvmuxer.cc: Added.
* Source/third_party/libwebm/mkvmuxer/mkvmuxer.h: Added.
(mkvmuxer::Frame::add_id const):
(mkvmuxer::Frame::additional const):
(mkvmuxer::Frame::additional_length const):
(mkvmuxer::Frame::duration const):
(mkvmuxer::Frame::duration_set const):
(mkvmuxer::Frame::frame const):
(mkvmuxer::Frame::set_is_key):
(mkvmuxer::Frame::is_key const):
(mkvmuxer::Frame::length const):
(mkvmuxer::Frame::set_track_number):
(mkvmuxer::Frame::track_number const):
(mkvmuxer::Frame::set_timestamp):
(mkvmuxer::Frame::timestamp const):
(mkvmuxer::Frame::set_discard_padding):
(mkvmuxer::Frame::discard_padding const):
(mkvmuxer::Frame::reference_block_timestamp const):
(mkvmuxer::Frame::reference_block_timestamp_set const):
(mkvmuxer::CuePoint::set_time):
(mkvmuxer::CuePoint::time const):
(mkvmuxer::CuePoint::set_track):
(mkvmuxer::CuePoint::track const):
(mkvmuxer::CuePoint::set_cluster_pos):
(mkvmuxer::CuePoint::cluster_pos const):
(mkvmuxer::CuePoint::set_block_number):
(mkvmuxer::CuePoint::block_number const):
(mkvmuxer::CuePoint::set_output_block_number):
(mkvmuxer::CuePoint::output_block_number const):
(mkvmuxer::Cues::cue_entries_size const):
(mkvmuxer::Cues::set_output_block_number):
(mkvmuxer::Cues::output_block_number const):
(mkvmuxer::ContentEncAESSettings::~ContentEncAESSettings):
(mkvmuxer::ContentEncAESSettings::cipher_mode const):
(mkvmuxer::ContentEncoding::enc_algo const):
(mkvmuxer::ContentEncoding::encoding_order const):
(mkvmuxer::ContentEncoding::encoding_scope const):
(mkvmuxer::ContentEncoding::encoding_type const):
(mkvmuxer::ContentEncoding::enc_aes_settings):
(mkvmuxer::PrimaryChromaticity::PrimaryChromaticity):
(mkvmuxer::PrimaryChromaticity::~PrimaryChromaticity):
(mkvmuxer::PrimaryChromaticity::x const):
(mkvmuxer::PrimaryChromaticity::set_x):
(mkvmuxer::PrimaryChromaticity::y const):
(mkvmuxer::PrimaryChromaticity::set_y):
(mkvmuxer::MasteringMetadata::MasteringMetadata):
(mkvmuxer::MasteringMetadata::~MasteringMetadata):
(mkvmuxer::MasteringMetadata::r const):
(mkvmuxer::MasteringMetadata::g const):
(mkvmuxer::MasteringMetadata::b const):
(mkvmuxer::MasteringMetadata::white_point const):
(mkvmuxer::MasteringMetadata::luminance_max const):
(mkvmuxer::MasteringMetadata::set_luminance_max):
(mkvmuxer::MasteringMetadata::luminance_min const):
(mkvmuxer::MasteringMetadata::set_luminance_min):
(mkvmuxer::Colour::Colour):
(mkvmuxer::Colour::~Colour):
(mkvmuxer::Colour::mastering_metadata const):
(mkvmuxer::Colour::matrix_coefficients const):
(mkvmuxer::Colour::set_matrix_coefficients):
(mkvmuxer::Colour::bits_per_channel const):
(mkvmuxer::Colour::set_bits_per_channel):
(mkvmuxer::Colour::chroma_subsampling_horz const):
(mkvmuxer::Colour::set_chroma_subsampling_horz):
(mkvmuxer::Colour::chroma_subsampling_vert const):
(mkvmuxer::Colour::set_chroma_subsampling_vert):
(mkvmuxer::Colour::cb_subsampling_horz const):
(mkvmuxer::Colour::set_cb_subsampling_horz):
(mkvmuxer::Colour::cb_subsampling_vert const):
(mkvmuxer::Colour::set_cb_subsampling_vert):
(mkvmuxer::Colour::chroma_siting_horz const):
(mkvmuxer::Colour::set_chroma_siting_horz):
(mkvmuxer::Colour::chroma_siting_vert const):
(mkvmuxer::Colour::set_chroma_siting_vert):
(mkvmuxer::Colour::range const):
(mkvmuxer::Colour::set_range):
(mkvmuxer::Colour::transfer_characteristics const):
(mkvmuxer::Colour::set_transfer_characteristics):
(mkvmuxer::Colour::primaries const):
(mkvmuxer::Colour::set_primaries):
(mkvmuxer::Colour::max_cll const):
(mkvmuxer::Colour::set_max_cll):
(mkvmuxer::Colour::max_fall const):
(mkvmuxer::Colour::set_max_fall):
(mkvmuxer::Projection::Projection):
(mkvmuxer::Projection::~Projection):
(mkvmuxer::Projection::type const):
(mkvmuxer::Projection::set_type):
(mkvmuxer::Projection::pose_yaw const):
(mkvmuxer::Projection::set_pose_yaw):
(mkvmuxer::Projection::pose_pitch const):
(mkvmuxer::Projection::set_pose_pitch):
(mkvmuxer::Projection::pose_roll const):
(mkvmuxer::Projection::set_pose_roll):
(mkvmuxer::Projection::private_data const):
(mkvmuxer::Projection::private_data_length const):
(mkvmuxer::Track::codec_id const):
(mkvmuxer::Track::codec_private const):
(mkvmuxer::Track::language const):
(mkvmuxer::Track::set_max_block_additional_id):
(mkvmuxer::Track::max_block_additional_id const):
(mkvmuxer::Track::name const):
(mkvmuxer::Track::set_number):
(mkvmuxer::Track::number const):
(mkvmuxer::Track::set_type):
(mkvmuxer::Track::type const):
(mkvmuxer::Track::set_uid):
(mkvmuxer::Track::uid const):
(mkvmuxer::Track::set_codec_delay):
(mkvmuxer::Track::codec_delay const):
(mkvmuxer::Track::set_seek_pre_roll):
(mkvmuxer::Track::seek_pre_roll const):
(mkvmuxer::Track::set_default_duration):
(mkvmuxer::Track::default_duration const):
(mkvmuxer::Track::codec_private_length const):
(mkvmuxer::Track::content_encoding_entries_size const):
(mkvmuxer::VideoTrack::set_display_height):
(mkvmuxer::VideoTrack::display_height const):
(mkvmuxer::VideoTrack::set_display_width):
(mkvmuxer::VideoTrack::display_width const):
(mkvmuxer::VideoTrack::set_pixel_height):
(mkvmuxer::VideoTrack::pixel_height const):
(mkvmuxer::VideoTrack::set_pixel_width):
(mkvmuxer::VideoTrack::pixel_width const):
(mkvmuxer::VideoTrack::set_crop_left):
(mkvmuxer::VideoTrack::crop_left const):
(mkvmuxer::VideoTrack::set_crop_right):
(mkvmuxer::VideoTrack::crop_right const):
(mkvmuxer::VideoTrack::set_crop_top):
(mkvmuxer::VideoTrack::crop_top const):
(mkvmuxer::VideoTrack::set_crop_bottom):
(mkvmuxer::VideoTrack::crop_bottom const):
(mkvmuxer::VideoTrack::set_frame_rate):
(mkvmuxer::VideoTrack::frame_rate const):
(mkvmuxer::VideoTrack::set_height):
(mkvmuxer::VideoTrack::height const):
(mkvmuxer::VideoTrack::stereo_mode):
(mkvmuxer::VideoTrack::alpha_mode):
(mkvmuxer::VideoTrack::set_width):
(mkvmuxer::VideoTrack::width const):
(mkvmuxer::VideoTrack::colour_space const):
(mkvmuxer::VideoTrack::colour):
(mkvmuxer::VideoTrack::projection):
(mkvmuxer::AudioTrack::set_bit_depth):
(mkvmuxer::AudioTrack::bit_depth const):
(mkvmuxer::AudioTrack::set_channels):
(mkvmuxer::AudioTrack::channels const):
(mkvmuxer::AudioTrack::set_sample_rate):
(mkvmuxer::AudioTrack::sample_rate const):
(mkvmuxer::Tracks::track_entries_size const):
(mkvmuxer::Chapter::set_uid):
(mkvmuxer::Cluster::size_position const):
(mkvmuxer::Cluster::blocks_added const):
(mkvmuxer::Cluster::payload_size const):
(mkvmuxer::Cluster::position_for_cues const):
(mkvmuxer::Cluster::timecode const):
(mkvmuxer::Cluster::timecode_scale const):
(mkvmuxer::Cluster::set_write_last_frame_with_duration):
(mkvmuxer::Cluster::write_last_frame_with_duration const):
(mkvmuxer::SegmentInfo::set_duration):
(mkvmuxer::SegmentInfo::duration const):
(mkvmuxer::SegmentInfo::muxing_app const):
(mkvmuxer::SegmentInfo::set_timecode_scale):
(mkvmuxer::SegmentInfo::timecode_scale const):
(mkvmuxer::SegmentInfo::writing_app const):
(mkvmuxer::SegmentInfo::set_date_utc):
(mkvmuxer::SegmentInfo::date_utc const):
(mkvmuxer::Segment::GetCues):
(mkvmuxer::Segment::GetSegmentInfo const):
(mkvmuxer::Segment::GetSegmentInfo):
(mkvmuxer::Segment::chunking const):
(mkvmuxer::Segment::cues_track const):
(mkvmuxer::Segment::set_max_cluster_duration):
(mkvmuxer::Segment::max_cluster_duration const):
(mkvmuxer::Segment::set_max_cluster_size):
(mkvmuxer::Segment::max_cluster_size const):
(mkvmuxer::Segment::set_mode):
(mkvmuxer::Segment::mode const):
(mkvmuxer::Segment::cues_position const):
(mkvmuxer::Segment::output_cues const):
(mkvmuxer::Segment::set_estimate_file_duration):
(mkvmuxer::Segment::estimate_file_duration const):
(mkvmuxer::Segment::segment_info const):
(mkvmuxer::Segment::set_duration):
(mkvmuxer::Segment::duration const):
* Source/third_party/libwebm/mkvmuxer/mkvmuxertypes.h: Added.
* Source/third_party/libwebm/mkvmuxer/mkvmuxerutil.cc: Added.
* Source/third_party/libwebm/mkvmuxer/mkvmuxerutil.h: Added.
* Source/third_party/libwebm/mkvmuxer/mkvwriter.cc: Added.
* Source/third_party/libwebm/mkvmuxer/mkvwriter.h: Added.
* Source/third_party/libwebm/mkvmuxer_sample.cc: Added.
* Source/third_party/libwebm/mkvmuxertypes.hpp: Added.
* Source/third_party/libwebm/mkvmuxerutil.hpp: Added.
* Source/third_party/libwebm/mkvparser.hpp: Added.
* Source/third_party/libwebm/mkvparser/mkvparser.cc: Added.
* Source/third_party/libwebm/mkvparser/mkvparser.h: Added.
(mkvparser::IMkvReader::~IMkvReader):
(mkvparser::BlockEntry::EOS const):
(mkvparser::ContentEncoding::ContentEncAESSettings::ContentEncAESSettings):
(mkvparser::ContentEncoding::ContentEncAESSettings::~ContentEncAESSettings):
(mkvparser::ContentEncoding::encoding_order const):
(mkvparser::ContentEncoding::encoding_scope const):
(mkvparser::ContentEncoding::encoding_type const):
(mkvparser::PrimaryChromaticity::PrimaryChromaticity):
(mkvparser::PrimaryChromaticity::~PrimaryChromaticity):
(mkvparser::MasteringMetadata::MasteringMetadata):
(mkvparser::MasteringMetadata::~MasteringMetadata):
(mkvparser::Colour::Colour):
(mkvparser::Colour::~Colour):
(mkvparser::Projection::Projection):
(mkvparser::Projection::~Projection):
(mkvparser::VideoTrack::GetColourSpace const):
(mkvparser::Segment::LoadCluster):
* Source/third_party/libwebm/mkvparser/mkvreader.cc: Added.
* Source/third_party/libwebm/mkvparser/mkvreader.h: Added.
* Source/third_party/libwebm/mkvparser_sample.cc: Added.
* Source/third_party/libwebm/mkvreader.hpp: Added.
* Source/third_party/libwebm/mkvwriter.hpp: Added.
* Source/third_party/libwebm/sample_muxer_metadata.cc: Added.
* Source/third_party/libwebm/sample_muxer_metadata.h: Added.
(SampleMuxerMetadata::SortableCue::operator> const):
(SampleMuxerMetadata::SortableCue::operator< const):
* Source/third_party/libwebm/testing/mkvmuxer_tests.cc: Added.
* Source/third_party/libwebm/testing/mkvparser_tests.cc: Added.
* Source/third_party/libwebm/testing/test_util.cc: Added.
* Source/third_party/libwebm/testing/test_util.h: Added.
* Source/third_party/libwebm/testing/testdata/accurate_cluster_duration.webm: Added.
* Source/third_party/libwebm/testing/testdata/accurate_cluster_duration_last_frame.webm: Added.
* Source/third_party/libwebm/testing/testdata/accurate_cluster_duration_two_tracks.webm: Added.
* Source/third_party/libwebm/testing/testdata/bbb_480p_vp9_opus_1second.webm: Added.
* Source/third_party/libwebm/testing/testdata/block_with_additional.webm: Added.
* Source/third_party/libwebm/testing/testdata/chapters.webm: Added.
* Source/third_party/libwebm/testing/testdata/colour.webm: Added.
* Source/third_party/libwebm/testing/testdata/cues_before_clusters.webm: Added.
* Source/third_party/libwebm/testing/testdata/discard_padding.webm: Added.
* Source/third_party/libwebm/testing/testdata/estimate_duration.webm: Added.
* Source/third_party/libwebm/testing/testdata/fixed_size_cluster_timecode.webm: Added.
* Source/third_party/libwebm/testing/testdata/force_new_cluster.webm: Added.
* Source/third_party/libwebm/testing/testdata/invalid/README.libwebm: Added.
* Source/third_party/libwebm/testing/testdata/invalid/block_ends_beyond_cluster.mkv: Added.
* Source/third_party/libwebm/testing/testdata/invalid/blockgroup_block_ends_beyond_blockgroup.mkv: Added.
* Source/third_party/libwebm/testing/testdata/invalid/chapters_truncated_chapter_string.mkv: Added.
* Source/third_party/libwebm/testing/testdata/invalid/chapters_truncated_chapter_string_2.mkv: Added.
* Source/third_party/libwebm/testing/testdata/invalid/fixed_lacing_bad_lace_size.mkv: Added.
* Source/third_party/libwebm/testing/testdata/invalid/invalid_vp9_bitstream-bug_1416.webm: Added.
* Source/third_party/libwebm/testing/testdata/invalid/invalid_vp9_bitstream-bug_1417.webm: Added.
* Source/third_party/libwebm/testing/testdata/invalid/primarychromaticity_fieldtoolarge.webm: Added.
* Source/third_party/libwebm/testing/testdata/invalid/projection_float_overflow.webm: Added.
* Source/third_party/libwebm/testing/testdata/long_tag_string.webm: Added.
* Source/third_party/libwebm/testing/testdata/matroska_doctype.mkv: Added.
* Source/third_party/libwebm/testing/testdata/max_cluster_duration.webm: Added.
* Source/third_party/libwebm/testing/testdata/max_cluster_size.webm: Added.
* Source/third_party/libwebm/testing/testdata/metadata_block.webm: Added.
* Source/third_party/libwebm/testing/testdata/output_cues.webm: Added.
* Source/third_party/libwebm/testing/testdata/projection.webm: Added.
* Source/third_party/libwebm/testing/testdata/segment_duration.webm: Added.
* Source/third_party/libwebm/testing/testdata/segment_info.webm: Added.
* Source/third_party/libwebm/testing/testdata/set_cues_track_number.webm: Added.
* Source/third_party/libwebm/testing/testdata/set_pixelwidth_pixelheight.webm: Added.
* Source/third_party/libwebm/testing/testdata/set_segment_duration.webm: Added.
* Source/third_party/libwebm/testing/testdata/simple_block.webm: Added.
* Source/third_party/libwebm/testing/testdata/test_stereo_left_right.webm: Added.
* Source/third_party/libwebm/testing/testdata/tracks.webm: Added.
* Source/third_party/libwebm/testing/testdata/webm_doctype.webm: Added.
* Source/third_party/libwebm/testing/video_frame_tests.cc: Added.
* Source/third_party/libwebm/vttdemux.cc: Added.
* Source/third_party/libwebm/vttreader.h: Added.
* Source/third_party/libwebm/webm_info.cc: Added.
* Source/third_party/libwebm/webm_parser/README.md: Added.
* Source/third_party/libwebm/webm_parser/demo/demo.cc: Added.
* Source/third_party/libwebm/webm_parser/doxygen.config: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/00805c2543756a5fd85652d03bfbbd2eb6192ca5: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/00d120eb143bb02c48d7c863e5826d2ad1a6da4b: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/018dee8285e9e20ca3996bb2dc0284b5c57ba75a: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/020edb59637c1e6439f19aa3a5a9d50c3377dbe9: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/0247ce2b1a71752a3af11e1065ca90afa0df9d30: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/028b19f7d79f5da7a2af13a0c1e2d13f7eaf24cd: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/029ab55b16df41881f8de2351205201da334550a: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/029be5e90913b19cf5890559cf3f98aa909f0a84: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/02fb96539b84bbd12de84ff05cbc9dc3faa96b7e: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/0349f5632d21faa36b85520ad0b524d561f5e13f: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/036fc9daf7fb1b4274dd668cfd883248ebbad967: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/037a4edc18e475ec81081e47277cbf51f1316680: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/0481dad9a7d0e6fab0c703bba9b3268db96c6793: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/04dc2407e7142f5618aa5105377925b0b0ed544b: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/04fa2f34ff4a4406d136e5aaba5debe7d8129a06: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/054fd0041ad81cfad0a85e3c59195485492a4493: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/056b83ab2457979ea021e7118ab847eba265df15: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/058326151c1d4a490964d495d35adcf15178030f: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/05847b5be0eb200d6a6b340c939c7a654b55003e: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/05b600ae9a9072ac2865247e69ed0736a0c58316: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/05cf976698b55df1fcd03bc07446bb9283dad9d7: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/05d4dfda5e264fffda243f2991a86e96141f579a: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/061217fc0b6af0ec3851d9728e03ed9b30c702d5: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/077b53a7163e51c48e8cdaf4209bb837823ffba9: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/07c3ade9713892bb75db2d93b48ef40b262a54e6: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/07eaf3c7437032f60c905f6f8e3dfc193491b602: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/07f67b922b503354b2aebcdcc4ab7b6d3150b048: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/08af8d91bb21835c50330e997d973cac8ff67766: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/0a18f05bb16402756202160225aec9c5a654f1ae: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/0b60823983971ee17a2590678f0fc0762c21bb73: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/0bae7f0976af0f75974047b5f2cf4c9645412066: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/0c1862b4065eefab2535ecc6951295e38069a82e: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/0c2f51d5ffc69e69680bf3d6edb91d76c353ad14: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/0c3af72d69f18103383c9cd41a7f2676a9d28a40: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/0c43df7fc9d06187249187583c3c082520701289: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/0cadf5ecf58a394560a1f6db72a2e21264445d13: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/0cd91a4e7bec912beb3b47a685b89d5be24d0046: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/0d0da60f91f9489af113d8484d9b6871622523d5: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/0d30a4f88e53de1ce4bf1ec724016f2f4c11bc9b: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/0d6b3b1d024e7aa73fbc58b157ab53df048a2f2c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/0d94310cfd8a9acdbc7fb82ad9c73cdf3f64f926: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/0f5741483be8f4f6eddcb70ea418fb0c08da9443: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/109e125f729f84d69c3e3a614123547a094534ad: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/10d257a4a314e20644fbc469cdebafe16c7f46a8: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/10d951f88995a2176878501a2633b9bb4822ff96: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/111b8f8318a269bbe0f7d9f1cebfdc1cb43c982b: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/11c122ce1f7d993f809a4eb5db17c738f279a707: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/11e288617056809208561f2a9112fd0664d378d2: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/124fde9cfe7157773d8febcbb0829914bf4d17d3: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/1386cc740c80ede6dfea5f3bb1d4fe1501ab5e91: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/13dd373ccb0c534402c6f7c4a0bdd723a26bc2c1: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/13fc3d2b32d789c84be6349bb585c308289b4c3e: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/148357130d1e5ac4059ad2bb6c63d78e2523f7d2: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/15366a3aafe2590c2e3183c088dde4cc100cb956: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/15feeb939fa90b25f57622a0abd9155ca88ad08b: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/16282b78a2018eb78544316554a92fe1003859e3: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/1717628a6d6ea868febec5fb196edcf4b9eb284d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/17921b1e28600e7e3faf67fc68b397ecab4e2a52: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/17b8276355dd2368647b7756431820f5275cc3e2: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/17d0aece97973ab23a467486b177ea9722e1b90b: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/17e80cf8c247d17acad56c88750da34893fcb4fd: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/18040e106688eb1d54323927a403439ecfde6626: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/1813261b3141faa01431c82e06292485516d3327: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/184ee2343d4b9f62c69383692829fd852ad8855d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/186035a2f5c09ccd6b7d15de46f8561c98d8897d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/186292900ad9d43881b71765158c32d78d80c8f3: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/18fd762b91406d37b85a7b342a91434a15f17290: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/19334eee05eeb18c549498e7ca2e792a2a4e04f3: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/1a9a5df35779dd6e9e1de171b9bb0d316d2b64a5: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/1ab3d30f60743c2a1d3043773aae3a04f83c07c0: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/1ad84ed46f3fda305150bac93958a5a390e23a67: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/1b40a997150aa03c23ecc6efe445a2d7c3dd8368: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/1b6b3bab9032cd420f350b6bb252942484f6b527: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/1b7765cb05c94581461ffcd38d38b7b272d8e9d6: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/1b89e3fe0cbd4c2291a74bf21969a9d9d851cbf1: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/1b95d4da08fe949a60f63cd59213d42d30dbd381: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/1bac1200e05bb3269d019903241791c917a12bd0: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/1bb8f5f81b7f6c1d58e1f7bb13fa561fe1a146bc: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/1c56068c6dd17e9a824db6da78d64f933267a8c0: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/1c8db8b9d88dd3483b6f81e4224c4f985046e6ac: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/1d29a77924602a79c0f546535a885f59cbbbc405: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/1d75a65733da627e5c401625bff522eadf098315: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/1df9507cc2a54a369646d6d34d846d3fcc172479: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/1e7a571be5aa542c3dfec1223d2e089a3075ce1f: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/20a6b040258fbfa09bb37c6fc07106b2e43bada7: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/20e8ca854d3c0c375dc943142a04ee2260f0d1fd: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/212ee7d21a8cb25249644cab4f959db111f3a3c0: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/224ce7b415f7950118880fce0594734aef489fec: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/226e70c1beddace83862791a6555c80475640bd0: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/233d53e3eb21b6ea6feebd6e59e3ef888a840f49: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/237f7aee90f206d3a6b138cc908b8921b544e190: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/23e1ac0f77f1283cf6e9fa044df3ec51bff27fd4: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/23fcee6c71a8f5a22447df688724c0250fb77a70: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/2459eb855d8c6ebac13cb74d996565d78130f4dd: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/259188e5fb0c09046df96f6d565c59e0d146f198: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/26f07f8e28e7521ed282fe5c3938c1ae225816b9: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/276425d65d58453d03a3444c9f6662d08d449af7: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/27d62874ec87a2552e7c842da65de113aa69f7aa: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/281b259280ada5d07b07a22cbe9a78c7b0fba94b: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/299ed12b98673c6c4adbcf886cb70db8adde6aa1: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/2a40feb7480d0b31c36d5626761e948d0ae52792: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/2a6d7e2b829ed28307b551eda0d96f1834bff899: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/2a8dda90aa286175b5c683b57fae1dc7e6ac1e7e: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/2a9588e6fab82016b545462cff2ed014c0345551: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/2b1d57a8e8fa7164c9ba00957c9486010754560c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/2b475d1a8f2fe4fbba92e1424f0ea96d95b12fb7: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/2bb80c6d0e2eadd73018eb2a8cae37d41602ee79: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/2c1389f882e256e260e37e8a67af7e32d0f4e0fc: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/2c1f94c76e4eec607cce5311323620f349912e73: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/2c962c7fbceaacf8247ac9b70c8eeb1f814e435b: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/2c9aaabacf3a3b48dec4a85767cc5d38a1736aff: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/2cf086299f983d0afc7f95c5e0c86b657448af33: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/2d0d96b95e9a3316d1ff0ef019ada509bbde4c9d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/2d414d5dfd20055393df3208009840da9cfabca9: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/2df967edcc00ac5c8e00037f1a43680600af5cba: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/2e6b09f1eca05ce2bba920fb78f9bca2a883fda0: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/2e8bde3549723e13849b604f4deedd51c71dfef5: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/2f6e92a71918d01c16762d5ca59b328f1341d326: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/306e2cf9aebe012cb0769b1b2a6ea68af2e8ed44: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/30f7348d35de0c47d2044736cb115972b800569d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/310798b8d94a3a2fe649a4c871458b4d74fdcf32: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/31ea606a9859bb29d7f98162d254348021e0d932: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/3230fc31ab8d408c484aa28bbe36431f71101243: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/328b7c92996e480d1f11efe847c3be4b5dc0f8eb: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/32e58bb3d00863115f33707e0c8af722036676fd: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/32fc8547b6145c502d98e5e0c296ebd05badfdb9: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/334cddba889265a1263feb77a2afdc454ca54f5e: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/33c9f9990890d2baf0c30d74b34b486082782413: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/341f3e8689e57eeab4234fcdd6d2b8f800b9ab34: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/3457e356eac79bf1c30b59940532d360dba2c1a9: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/351185a29bdbc7bf0d584479001fb47c32c61e5b: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/35ae0d43c6bfc5f4b45f16877157832fddafce77: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/35b2f81c573b15304cb9b13f00008b460da78942: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/35d9256a4d7ef3ee54384616178af3a8092d0981: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/36352efd680a747f0f2c93d760559d69399a4102: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/3685ffbcfe28b166ced0a783b012a446f9cfea46: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/36def8b2661197d594756f116a750822ae1d65d5: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/371950308853fb3b1b3a940c0598bfdfeb1d0f9c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/3765e9174971dbac9cfeb7e485ca61dc4941f7a9: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/37cae036ce7ff5d0671f32d3757579f248609c9c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/38460ea06ee847ff3d5733415c299b44b0866e58: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/3865de2fec3f353513d86b28e43bf936d4707f97: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/3867b18060c307e0d04e0098f195d699e4b3294f: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/391920720c3609b7c1f7b51162ce3ec99329a0b4: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/395027454c7d5babff9544414c04a39d712eed1c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/3a258c9ed48e634ed8d495f07caf21dbc6978205: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/3a397485197e6b99c77158132eaf211389615fe5: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/3a66b34706b686fe0fa8ca8f10c829758b2ebb07: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/3ba666ad891fa8009dfc961aa3c215bbfd2d81d2: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/3ba9769c7c23cc3c80542ad123a371cf4f69e858: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/3beb4432302433e303a9ccaf34637dd3a910028e: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/3c6cdebc450d20a58150a9c71335b45a6a5ee0e5: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/3c867362eb6a20f573a890db87749fce3c719d14: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/3cd69ddcd34bd874e3abade696f95c949c17198d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/3de495ebac4b80064b79844f3a9453270caec251: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/3e04542bcc462ded0025b53371f709d8fcd25c21: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/3e94196e55a9214083bda470772d71aedc17eb5f: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/3ec4ac00bb967a335b5caae0ae51488f2fda6583: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/3eec38c0ac3a96856d3210a0357857e70b07a9cb: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/3ef82ba46238fa46b89148a230d23e741ba5f1da: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/3fbd43f81888ca60e5bfe49b47e23cb115d5cd7d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/3fe56e5b06653e8a37c99da190ff8d44d14bfc06: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/3febffec3be8b1f4bcb76a01c1d713600d8e4adb: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/43380e5a9dd29ca847e9b5bfba12a0a95d94d0da: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/435d3ff6ddc43ac582e740ead969397fd2bfc7f5: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/448120a37132488f48ab6c46a146c995948958cc: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/46db501d3e9a8808118333740a22bf9c808af239: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/47a2ca2b47aa1993cb655b77a0273ff139dd2280: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/490576c8f6c235e1ed921c4932bac028070c806a: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/4930b86bf0dfb02836b0319d21aa4a63a8dd894d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/49667ff0b09901223117e74d2506bc37a5ae1580: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/49906adf7313330e29be20d51fb36e9bdf1939c3: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/49c0e3eed81c1827e755c70c9c6d9606e7f54b22: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/4a3e77f5bc061fc8121ef7ebd2b8e3ebb0bdd609: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/4a454e01ef09b175f3864b654cfc1104a850e871: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/4acd9df9a7ee34e48c6c80777159b089f417a69a: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/4af5564129d7b4c9c4736a3e511926c29348a4a4: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/4b3957bcbe5975399e34485cf0e5229169ab67b9: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/4c9e40aa8a439a500f073cf5a1e060a16ad12a6f: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/4cb5ff0e26f5bd0bb1fca846b4843db69095f18b: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/4ce80549344cf5b0432e39e7b5382407f0763e8c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/4d10ae0032f04fa01148a54fae6838c44e4bb5bd: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/4db2ded939a16fb1907dc2bad7acf67a64e38c0c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/4dc3a9a9477fb452ba7a4026bbc01d4cdd3d4990: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/4e1fb006a2268fa5fc70ca6b241bbc71faa6d7ff: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/4e871bbc5089f9550533641ddf6850f8722dfc36: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/4eeb4507868732d3705d1ab10f6a31f70f579556: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/4f21f3584c99e97453ebe513ed44c86530fbebba: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/5103160695cd56d281faa45d9267013488cc7bde: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/521103054e395afd0f9612b47c71cfa0e62151b9: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/523511e33c8788ebb1b703d7c5ad12b5da03964e: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/525aedb7462311393cd01939e4734d01db48535b: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/53809012a8d5cfee839c3d0961b7fdc9468329a7: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/53c01d820d125e57b28410ca5b3a9c72c18d4102: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/53c27071f53df6b8d2e5c419edf95b7792b278e7: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/53d5307f2e7852b183839fe93c20647004d151ec: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/5466c59c9c0eff34800e19cc92faf07469865ea9: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/54bf8d6f1f846243b6f4de81605779b0acb78406: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/54fd1711209fb1c0781092374132c66e79e2241b: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/5506797514c0b214f5faa9764a9e149cd1df9d28: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/5566c6d599866f5e523c54e6575d7b9e557a2539: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/55c3d55780427eb00bde252348db1c2ede22526c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/5600abaefe804c50a353bbfdd0f9e10ffc102f81: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/5611ddd40488973ee6c64c45ad57d6eefe6da100: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/56b0ddd4e44492b45ebb7e9438b0a5556c244bfb: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/5729395b452092152b06fbb8976e9bf1fda06439: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/57cce6fac7c0992eb338e0e538d3e0ee3fe7f1cd: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/5822672f068da89546838004ae59552e12e132f7: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/59ce13e9a22e88dac879841256ff66f02cd2f8cc: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/5a020527fc80b0de64e279fc44635687e014a9cf: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/5a645b30948850f8efb7bdd11944bdf3112c7bfe: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/5b2f727461cde3c02ffdfb300adb0b4a09734911: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/5b5531d859ab5bbb034345bbaa2852e9d8a1e1ef: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/5b980cb94e35769ec92a140ca00d34977e7da5ec: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/5bfec2fe795176646fa0babecf97c04045bd4814: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/5c28d94242e9a5ba7e7324e59e5dd12f3e31e51c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/5c67728ab04ba3dfe4b2636cf609f9617c4a5974: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/5cd36053e269c97f5359b0a075d80bf1e23b5f47: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/5d6f99c2afbf68a1b15a17e07945c11db8579e5f: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/5dd149b1b8509f456c16c4ac6dac3c7d6aa217ed: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/5e84011c6b092e9f0d6ba60f12fc0fae95a622ca: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/5f56766993de2b8c2db87116090af546e1add3b0: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/60571c8be9bee3b13428613df66ff36cf54309ec: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/60ac245f262ee1ff177d351a4fe246060fb4538b: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6120aafb0db1715400e47d0a61fb9f6d8665a736: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/61953a8f7a9f0613020d297a6d350abeeaf6e58c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/61c0a7fef46c0c1b081b1c2b40835805e5989b54: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/620d85870206e88db0bc3ee978c24c0bbc1821ba: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/621131d8e28a67a6b4fb03c611f4375873d69678: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/624cbd42e3ebf35a3a0ba55b3b4969b99054f84d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6290103200631075988aa3566d8d8922599f8b6d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/62a329f65143f1571dc4a2fbb256800c8ce4d89f: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/62f8a53cfb4dd625dcb31ee2ba258db3916a3bd0: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6318dc574b3ad7291fee7e01bfeaa674eb0feb48: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6457a079debb9b532255e3e6ddf276b29808b49d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/646061a4526506a0b3c62629f4f77b6072c8f9c3: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6538d0517865c8832ee9bec87609b7bd4facb025: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/653de28e2f085334e30ec1c964540b432a3cfbc6: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/657c9c42bf3e1c79a6dcb9071bf123367dc37734: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/65ebba0df08a5484686905e99631a4ead845c08b: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/66dd27c22fe09842ac4c4f51fdef4bea500b6a70: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/66e25df2bd43c840337a49e0cb5b386e9d290d80: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6714df1ac1c54d4c30add212454e9513c6880767: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/68a6f9c2f62e9f57667de9563b5d612ec2f2c829: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/69089b76cc62fe00615702bdd1f339e259194d42: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/69d8622d24c7315f344c424297986170f7ef2243: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6a700d958cb3a7565d5a6b74540486874d52b4c7: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6a852150c5c2a12d325e78056687a8ea97b25fe7: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6ac8c9f754d5ff3c0cd3f3f585de99dd73944bbe: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6ace27a48f12990e2169cc099007aa5fa11962d2: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6b10397dc3bff2ccf57be4fe3ff9d8d1acb8c76e: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6c3f1d96c06b853551f685dde821142928f55acf: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6c8de4d4bbb5294154c3b140d43836757b9f08ac: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6cf122ee328af5cf6f18d5f9546b0fe761951b8d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6cfbbc25caa217e22fd7ca3e92d2051c5f661bdb: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6d703bc900e74d1a576bebcccb63e3b2701ae86d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6e1afa81dfcd6833705d84b45881f085c19b2211: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6e244ec3b81e0d2f8b5810854859e1b8140422d9: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6e323b4c733df90d55c754e099fb5a13bd9701cb: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6e36720f3f55dc0cd5d585c6770572964719b5b8: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6e8384ab115ac92bb7787121cfb03582e2d72585: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6ebf8b74dca1657f5f7ffadeccd629984473dcb4: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6ec18dcca0d820fff04c03c3a1bce37dd8ada41d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6eceebb8f46545393d217ab0111ff7dd29bc99f7: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6ee071f654fd6b7b25725a8bdd880bb6836e8c81: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6f1088b3d1f4cdfbc37d9b8cfc1ff4c3bde2f205: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6f79e36e880664c9b3b610140d2485fb6a6e5039: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/6fbea59066b2b97fa45259aa87c40c4310070019: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/7056b9c294f0cff7b4ace611a19363b2fc096bb3: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/7073dca40b911fb22f738c99aff43a10ae6c4db5: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/7164d8ca3f4c3d621cc5eed7b59e3495e7b017a0: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/71e3e01b3cfcd4228402cbf19b5282c965f042df: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/720d36ea7f9616b1a1d47fa5b746e8657b5f973f: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/72ccbcbc53c7fa54247a81bd1d0e62dd0779494b: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/736c0460f94c089c9e270857a4222a21ffd9e13f: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/745e32f46833c075c8e68552e0fbbcdd5ec52641: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/74aa7256477af2c0e2511df16376dee323f3ccb6: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/7528086eea404dccc3ee5b214befbc2a95676feb: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/7528f9f08f80c8e85951aa1db2dc616e992c1a62: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/75af94f9695c375e5eb620849f0213ad41e8f205: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/75e1ff2e016b7b80ecb7a6a1f4c3238a2a2ed130: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/76129c3bdedafb3bda93f53266bd17bffdc30682: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/7670db89e0c3fe492c91458de219c3be34a3dcb7: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/7673d7fdf630637c6ae2b96694a047044c1a9cb0: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/76903905e654ddc59acf57380bf3dc1ea136bad9: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/76d36e3cf3d31e0f76af08bd7ba5571f679057a1: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/775ce646f7dbf50199b8e8df85c9441b8a0a5447: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/7770a6fd33ce821e60c78b0cb67a7e8c8bb74269: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/781b24e3433ba400df3ccddf56cb8fc7b1fd52ce: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/784db9d87b31ffb040ad212e4018b30c3535ad18: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/7880e2ae55d255065ad415c4c625e1b63bfd2a93: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/78cb3d726e4f9e8bc89b399fa514c3b600bf8e5a: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/79ba60931988a5974328a73fe091bdf6f5992891: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/79cdb8dec1ad07b389f544a511f89b347429837e: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/7ab8c6a65c39907f4afa4e2b294303aebb6b22d8: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/7b12a398a1860ac2f3930d5020e422aec061f177: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/7bf1682743405f3d5b3433830eadae4ea311807d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/7c7ef0e305f37f833708b375271d59300d120d84: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/7d06bd4a7de57953ef09c2e18ca67aa7ff367c76: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/7d31bd53bb7eb7b1f354c5f85d376390760ab16f: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/7d67ef4d0c681655d4b4e93e848d56865630390b: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/7db9fe869081fdc855913dd000de0d493f5d5192: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/7f20c1e73451c3321c30223db91b891753ef77dd: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/7fd4d999983c3fbf22763853e90ec10b03c70b17: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/80039ce7eff40359bee041d75e371b55117aad3a: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/8104a007bc88a0a8d81ce1fd26d8b2333061e920: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/81320c48ed6eea94712c5e8594c0799fbfe30d10: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/81425ca3d0afb88cc10d412dcc9795905eacd6d9: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/819b4bd08ae7d758990aea8ab9739f3cb97fd42c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/8206d92b710c04ce0bd706cec25fbb72014c79bf: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/822926c528d16c0a9ca4c48a25651f6a0730d797: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/82d80b6051f0750777bdc37319851741144b3671: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/830c73748baaa10c2016d04b408a7f481882cd89: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/8315ca46618bd0771353336407396df293e8c182: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/831c152337e8b2993b8cddfde7553a8c9e64631f: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/832fad0e723027e5bd74726b1722a838183dada7: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/83b78d2ad8afd0729de45b4d9fdd765a949d8073: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/84a04bf3e15345f5c992bc6732a42b95857631a7: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/84d3a72c434074ee0d810fb2357047efd23f58f6: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/8659fe309298ca90f201ac7ced95b9d0de510eeb: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/866cf21064b9e20eded44e2e096fd9ce6185ce86: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/8864c6c9319ef120d3accb7b70c32c8f5c1ebccb: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/88f01cffe9972bf447a21034c45f6b943ea3ec07: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/88f15d430469d209b72cd098405efd15a6d18b05: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/8936b35f29084151fa3755d81030386940523c07: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/89a42d72ffe0b23309a9da4e15b8854c1cf939ea: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/8a0cf07d2592231bd579e4399538d9f490e3e5b9: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/8a5d1c05f894414aa5aaa66cf901c52dfcb119a1: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/8aa514b6e6fef8d045aa049fdb52fa8adcf722d4: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/8b0dcd4400fe19cf6a268af780990f47dba08189: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/8c4655e6528071edd445715ff1559f399dc9d47c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/8c695cbcc43e37ce25194c4b61b3d87488b308a1: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/8c9dc3c5a839f90f29256ef8c8f1369bc7383817: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/8cdcf83eb89d7e5c87cfa1b8811c95f738747a6a: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/8d0c6e6b3d74233685c3a2c1793d1a7b0ae2e34d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/8d444e8b311d158f854a03ca35d2c7865cd2c46b: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/8dc289730cc03ecbbed57d04cdca538a4fd08059: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/8dc58cfcb396a60db921901f1b0807c4f4f37619: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/8e05be75b7c14c463af277559dc8ea7841a733c8: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/8e7eef00a7a6719e77544b57d1d98ff83a37e55a: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/8ed6ef9af5555ce4ff12b23139add9621e7ad930: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/8f39f83b71d49805a451f81a5a451f5f3d74927d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/8f403efbef079f1775b63bcf1061983e4c5d2162: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/8f8f956eaaf8f7f5e65002be888b946218f0f7ce: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/90a03241b5cc656b7c2a4ef55664b0320fa3bd43: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/925a91e7c25a43d9da8b63eba51ed66a52d833aa: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/92de5c217802ec24886240188dca293325eb17c9: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/939da66e1fc8bb9854865066ee47b6ac4b933aa9: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/93a91331e7c3c060f461ae1f22e2bbf4747ffe33: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/94f6dfc499cbf2e84ffe1d69cb751ada9f2f2e3a: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/9539fef8ffb9f7c542061f1af1f3f98e9a714cc3: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/953c9a616ea56067225c88fccc6423496f2501a6: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/95a60268c555a77c1010d75bb44142af47635486: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/95e410025b965cf6ab2e8e2d3559efbe71c1a972: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/9671f253d1eb7cd504a5617058ce4c01a80c897e: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/9698d3424f1581a6bbb66c764f14c95a74b87675: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/96f7f38de1f8601311733984cf51cec35500dabe: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/970ab6333aa5ccf8c2dc14bb56814f7bb4303b94: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/98978113d2116dc4bdbb10265fa32bd95230bdb6: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/989e2872d2a34de543f23c5061db68212d8258f7: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/98ca9a00ad571c4454fce709d5405e5aca2a363c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/9965361765a4151902ec04fb21d9247b3a5ed10d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/99d6fe94a50faa50db9d7eb38d74bc3cc8417dc1: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/9a6869cec3dc84f2051bfaf0ee0d3552aa221f89: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/9cc1f26de1e3a7df8c7c03b95ff73ce9709c85f1: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/9cc5b552abbd551485135fa87eab739a0a784057: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/9cca361865a4fbff75abdbb79c1e91706780576c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/9d8e99f07604d6cb05ef613d41cbfb93b2aff787: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/9ecd61eaf2681a882473247a603b9f30c2663d49: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/9f0a3b7c0814b4f80c0745161c8769f63098981b: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/9f711c29ccf3f54d44000d7ef6299585674be288: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/9fae60819c28d4fcc88a6a1b93dcf69b4e458203: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/a02431cf7c501a5b368c91e41283419d8fa9fb03: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/a0ac6c3c83817637bbbcb11a5106c57aa6654afb: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/a15fdfa620d19a92d9eaa9f3f13010e53f902796: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/a18e76ae792a054c2f6d0d01e0e78d58678b35e3: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/a19d04f18f574e561d793ac0dfcffe2b38183eb1: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/a26fb85be3d2bb8a2360bb4d9533a1651bd12d99: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/a2e860fae30005a9e75b61f54f3d019c44090fcc: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/a3071bfcb7b2fd3c4286ea42e1f7940754b55697: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/a4ac408fb9d6def070ad3a76312ca092863048e5: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/a4fafc117cbfde8c240deccc8997c7966d9109ba: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/a59ffb5f6122e45136352585d3b53294a71346d0: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/a5b3a3c48727c26dfd625f247069d2cdbfa031f0: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/a5c829fbcd9fd760bc55bc8ab6901b8d401b65f6: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/a5fbbce038cad4f5e0c0f97fa69ebc3601123e5c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/a6e57b33e7a219168280e51bc98a44de40f0f9ca: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/a78afe9e4e9f02a10ebadac64171ad49749a6965: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/a823a019c0b19c97a1d35722cd843109ab016c17: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/a8468104c65a6002fd3a9d4ac39f3ee34c21ce4a: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/a899424027f1d69a05384355858311a6fa3940a3: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/a8a5de5a86a16952aacdf602120f27807294c3ec: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/aa65229e62d7cb8048d2f5911226b177e8e53cab: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/aaa96713f8ccb0bbd5c8e91715d4b86e7b338676: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/aae6354e5ba12ee3ad89fabfd72f5368a639d30f: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/ab6f3dc497f93f251ebacc153409b1eb8e05e2db: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/abf5b18d1c1155d3e455c8b781948498f364965e: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/abfe5dbf594a2f22173fae7ca8de28b4e3a40099: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/ac842f2cc55d7f193273a35f8af3521bfe2317d0: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/ac923c36dd85ff5cb2a0c5b29c701999c5f2eaa0: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/acc6e100b519d6408a8c6d8aed19203d874a187a: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/aceb250195867e7d9bbf6eb6e0055251e4bb5d67: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/acf1dd17e6a2848dfe17fb0d76cef2ce7d59ebdd: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/ad94c2bda2ae4afa0f7264070fd642bf37aae596: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/adad2ca7ab313add6e955f704719e03d5229e4d0: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/adb1f8cd3b68c076d81311071aee2a1c3785c7cb: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/ade30c327d9f51daf37cb3e39fdb15125b84a257: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/ae783661f52d36f9d6b87c8394ee6f2d61dae640: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/ae8da06c3c69076c06108219e19c8b36dba05a5c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/aec8a29238dba3c37f45f2e2e4e64b0e7fa60a74: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/affba8e4061bf260b1bdf8a815675cc3b4ebefa5: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/b01c4e2657a230e2b600a20da6f107b0dfe2467c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/b0798ecae4d9e56eefb0c1d95b657865938e62d6: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/b0ab4f92df810edf4371baad1d4bbd95d360c607: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/b14e5f5f6d29b6b71e7fec03eaf7d8237c0c6b2e: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/b1708df7f6dee0f2feb11f8b6330be0fcffc1f58: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/b1af4f4e86890fad6fac96a23956405c550778be: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/b1efd9e687d79e3f5a75eba02bd80bedb72350ba: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/b25b0fbf46cef1d888fe900445c9ab95330f44cd: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/b2786e0b9d6e7b39165eb4e87e3110362e9e6660: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/b332536a77d6efcd379cfc2f9828291516cc1ff4: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/b33962eca397f59591dbb9668e622cf99f2d7cda: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/b38b6e93da1b43441f88aa53370a9f00b35c3326: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/b3e01674a1e4dd78e748782fcfc3add5523f51d8: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/b53e7ef9aad70fcd80986696ebc586c03495b8ed: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/b540412c01f960f95edd2a1bc03f1b4447f2b4f2: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/b62c2c591db32b26e997aa4ece577742db84428a: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/b62d99583f30c15c3c2dbed2f69c5e45075d7640: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/b62f98976c11d79674b019ea78a7ce4d6d78b479: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/b6787dabeb5cd64ac85f1ec5a7cbeecfd48b2c5f: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/b82ebcf4d09ba28d835cb9667da603e46e3438eb: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/b85c6bc2473aa12e22f91db3546dfa9d85d8b3d1: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/b86e98660980680890bcbf02cacdf568d530fa64: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/b8d9beea35762009941189674c2cfcd14f81254a: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/ba517141fc9a468142a8d03d4ee395b4d4f30edc: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/bb0a596017cfc2185505d28065ab3cd238d0e2ea: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/bb6232815b373e441e2acfcca015f75c680eafac: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/bbdf4fa36ba9d645399f72c74033fd9c2631aebb: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/bc53c9f93974b4f13382c1d49b1e3ec374005ee2: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/bcacc9bcd3b9cc7dbda9c52c6e4a06a756a9de90: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/bcc55f432bcf39c6ffc6d7e950612b35e9ea2ec8: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/bdb1cc868d6ced390f5d35c5f43da9f464fac464: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/bf67bb08e0abde692748031c297bc1c7910542f4: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/bfc07c62ef2770d53d9188b260f531a8128a5c5e: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/bfed121df31ff73b770ed7f27fc7f4da2fa73e0c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c01816206d93691165e6e3a1924cf9fbc9cf39bd: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c02be525edae59ad9d0d9dcbd790629dc9aaee9b: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c094ce0c13ee9a4ca37817d9f7dddc11b2d60177: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c0aab5486ad2e80bcc12fca9fb6653984aa68274: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c13ca850db259c032cf24cdf6f2833c9d74529d0: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c1a8da6cdc8988e6a69961413803acbd1ee935e0: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c25abc82a0470129f2d098ac65fabf34c4e11188: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c2787d2cf1d95cbcd8b9bcd15d50f67f7e92ad9f: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c2895ff545ebdc4140951c0ca956524d7a364b77: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c2cc55849ff4858bf80f1a4713187618d14a496d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c2d63b1d75cf53ee3b955bb143036ca93ef3a256: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c372a27f78a62ebc013958fa4953a8bc792db53c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c392963b395a7f92b3bef63fd34bc31ecd3029f3: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c3b2749ab6c4d303bfd5da9ea9c8807e9f92d259: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c4dd3c8cdd8d7c95603dd67f1cd873d5f9148b29: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c52fa8d16e520980e470d76e3fb4f6a612f0f3cf: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c56fb214efcd707e6fa68b803d9e7686fc2f4336: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c5902afe54998ebc5d8d59043227d379a8c2eee0: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c6a16abeea323833079e97b1830610aa6c6eba91: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c6fcfd2a1f91a7f6a8c124f2637e60645be01006: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c75b02a90370df1f54de2f63a4da8db22f2cf719: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c77cb763d73db279aebfb42d2b5dca3d705d3df7: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c864ac8bce0353ecc7d5cb0ce5a1e77a5239201e: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c877c08a79a7408aed779d4a430c5db1bce26314: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c8aff6e2e2dfb18be385483b871ac86ff6eac63f: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c8c1c1f970bc809a75ad076bdb06275b6f72d078: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c995d52934ac188971f02d5dbdb3cdd70cb03267: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/c9e7fc3e0e1015a1c15992447f678a495c3ea5dc: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/ca5b619ce1bbe23d519f5764d53458d2b85eb9fa: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/cb0556c65c7381192c94324a3b1b8afb7e33fecc: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/cb1a093e6810c7f6c002a2a54ea390cf769c9949: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/cc1487af64aeefd7080e7678a04870dc85a7928a: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/cc71d2c9f5eae12acee133bd9e50d84881a1bd88: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/ccb8f962426683663972534c15354f70c3b34a10: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/cd0771c4754dfcd9c89b9b8a02df96fed974850d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/cd8899c66cbd92ee57f94e000744b32662258ba3: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/cdf83138f69f0f7c66c13b56028610ac39038b3c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/ce0138cd7718397b365d4c15b0b14f666c307419: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/cec5c7e50ef1d865c879563d1a6d677adb86695c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/ceff1dfaf2de4e33d2e3c20aeb7ba4b98f97784c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/cf04b5d28cea1971478806979b256a030a671541: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/cf1cf6ad5b3554c3ffc86a859319445158665ea7: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/cf2338960588d4a5f02a47f3ee96a556224aad75: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/cfb09018afa0eb1a829e556d9f8bceff40cb36bc: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/cfbe3d66d7eb3199440e8e911a93044cc3165c6c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d0a91f7984904976de592cb68e8832853fbec9bc: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d22f52563c16725ce4a924dc05d6ac7d64798c43: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d2709a1c9d96e72cb844eedca8bfe8440cdb0ef8: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d2e385f61ad4b5d45a10a5a6cb85d72e84dea54b: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d2facb213561b30a5bcd012e4e01d0d5b0b26957: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d300e5e46a825e5892fae1ba3c466c836f9e1da2: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d302c69c881e230e6433283007d318ba437025c3: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d30c1b65bc141d1a15d4ed622ba182c96dacdf92: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d3adf09fe6fb1534157c1dc68eb61365b46b1c35: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d3c74d3a64dba86f98a31bb726587ec97a7e4531: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d3c9846ab319f12fc646c23a532c780daa9e993f: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d3f03301b52cf4a830c7dd200ed8ccbc09e6ec94: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d4800745440dace38766db3520ffe7baa0bd78f2: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d4d6271bba704ba08c2678eb8b1bc4e457144f50: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d54020f766061e80f445690c2b5694ed8af21e9d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d588515f125ebe968fe6a81cb6df7cfc41969e68: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d5ee5e4dc8fad9f1da43102d8322beb005a047c0: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d62459bb217d3050bcd9e29a6327cf81f5ed68b9: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d6acbf1cb46845618ed0d5a322c8bd4879d16422: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d6fc8cdbb0f1517159531098e900e2dcc91edba0: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d7a9bbd9875a60edf9c528b298ea72a2fad7d3d7: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d82e70046a544e95e81f6271dd2695f2599f0574: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d84bc8dca7c8fcd227254c06f5b88eaaf7cd5fde: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d8bcb7dd21205e7126e700323b1d58817e9d9a6d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d8e2628b4092b9bbab4f02041647f950503eeb48: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d8ee4c2b79863a237c432efe7d43d99c8d0afb9b: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d8ee9724bf16ff336387723dcf27319c3be72e01: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d9379969bc956ad623e4bab8bbe47270a880a62d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/d9ccb79b0e070dcc2f5ed8e15d99bc5ef86ecff7: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/db83586ca6266e03067e9a9772ea728ab770ad9a: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/dcc63c06ed2790d1380bdb9281fe8677f439c76d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/dd509e9a4660ec34b8f9dc23441c6df4ff97c34d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/dd72f8ff3a067dc7871438b6023e1ed0a4c5787b: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/dd75880c5ad488885260f4031a763c86a8084406: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/dd962d74d04aa4aed270fd8e6b0ae9c4ac35fd19: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/dd9aa9a49dd790b2ce99c5af1933232d46a7f80d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/ddad7630818a1caa8054d2d7280a1d01bdb33ca3: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/ddb2eaf33960ce69d579a551a7b05733adcd52aa: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/de0d98cb997c0a0f7be127a46d8a24d8a003931d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/de0ff884898c83fb880498f1b8328f78701e6534: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/de9e0ed8ae29220e5b65e5b97eb3b254ccbe7e0c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/dec5e8ffb35aa707d127a11a49e47cb59954e969: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/df1b205e339e7199b5094fcf0ec3b8a8ca7a692c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/df254daba2299f3ff2367e284efc53a3296d136b: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/dfdcde31231b8b3d3fd4e0ef8ea88885f488c4db: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e01962d7dc1b94e5c4424ec7adae16a7c03b9773: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e058723f2964bf1405ae043ddb99efb17d821e15: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e09e306ef596dcd0e44bd3ef3c5f7019c7343f84: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e154eb76d096c1e545dcad591a58a02c37cd71ff: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e198d2e4f2f3528c2ff46d769a9281ebb3cfb44a: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e2068af1e903f4a81cd6fa5f4022e62070c259ec: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e2890330b5655cb277a581b8dd2eeba0d9061ba5: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e2e0767d055a7042c24a7acd5d5b6b7c093ad065: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e394a8e21e2c43c42135daa034ad5aabb06acffb: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e3b200e97ec226a197e91f12103aaa53d5c37b0e: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e45b077cda64c380ae1b0910bc81d010c27e1c93: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e45e71ca01ebe01b01b0ca99b8f20a756c36b967: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e4ff4bd938c3737a02862fc0656a1859d384d066: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e5a1acb7e6f71bc1a2fedaa6173764dfd04c844c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e6081eeff4ddb76e88e87ef9e4b5f199f5f11c28: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e73c42dd266c4d9671da0c7af09e98c02fc052fd: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e7b4559a77df21b73285243a8350b844775bb380: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e7dd34a80646a8c38ae1ec3a27c1358bab13b360: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e80b344f943ff0ad9219277c4578d3b4100b71dc: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e86e26200290d9d428c5e98e191ec874eb918fb6: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e873a3b8f5c3b716e6446df34279b837cf8d2c30: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e8fb71319db98d8e8cd131a4eb82879bfbec14d0: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e93c3f14614595a2675993438b4c1bfaafdc02d0: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e93faef2d77b7c467ae280ba433928d66d63ea63: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e95401b11d974ba63270668d3c32c29e95ae85da: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e9723cebe688912f684bcd19b48e5bc8efafaf2a: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e9a4389895c006d4b912e8ac1169229e6b2a66da: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e9dc3d10b47ea580404c8e80b844a9978fcf4747: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/e9e2ac24e5674e7ee424e2b270e5abe84f1a15c9: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/ea2b4df24b526aad253ab175334cb934b9d80b83: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/ea681d11486feeab2f080b06ddd2533575b7ace4: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/ebb747925360528a9f366f9a57730883c636b2c7: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/ec39abab70a8e1ff072eb082caa6ca77b1ae8087: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/ecdd96d6cab2dc714a0b0ada1c4fcb18c75298e4: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/ed008faa6c9001951f50588a1597e03931501343: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/ed12e272a27a2fbdbfe5a6e78e49ed722ebd3c69: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/ed799ba0608690ac68dd85c588004197b86e02bf: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/edd982c5bd3030bde8c044760e9a678c2a9306f4: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/ee82c97e35ec92ec3b0bbf911904a050b3aca633: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/ef11f14feee00e3c198015e6bc76688e970e2d8c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/efa12e91e0d63c2353c120ca1ded7b36afbf57eb: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/efa14cba9bbaf749067b7bb8515a5d8a289fa389: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/eff9bf13cd33ea50a8eacc5f2839cc4b5d67b2de: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/f0143756917f0b2e374bd03e731cd64168180054: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/f0b9dcd4e1845f774bb0f42653b11040baee0765: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/f1a41ceb420b6b3df50b10f27108c133d4d07508: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/f39378fd978c6cdb4a8d08cdffc9034e2ca5b687: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/f39707a104112d13d9d6bcfbef0efe8dfd98270c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/f4341645a7d466113655d63c5aa00855904166c5: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/f5511a42d83f94619ff8ca6c940cacc32bdc4834: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/f57a39fa918249e6941b4e770e15a8131ac16ea5: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/f5ac272a1dbf362e265210869aaf70ca410f1703: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/f64c5ca1de57bcf323741f56754f53c642be8ab0: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/f64dcdee393b4b0a3343f8e684c9db91a6eaeb6e: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/f69d2954da077043c6ae085e2771a702689314d5: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/f74e2203adb9c94ba80f7cc3214e3b3040e5675d: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/f7906e7dc01323b9d3d6e298e8dc2386c8d152f6: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/f825cac511f3dc38a5ecf3aab3691b4c49ca8f0e: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/f84c3f9e305172f2ae15dff0b4d955324b3a398e: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/f87cfad97831c33610fbbe34a04369bd93862464: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/f8ebd7703fd3ba1a135b243fd947dbd61907d0f4: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/f926f6b2337650f8b518422c2f63a8869f47c742: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/f939897b9fbe865c96020927dc81de9dc255d385: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/f985f995ca7d1b691e6ae3b3ef57e8b3c7aa7129: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/fa79e8ad34cabea4d3c434cc02ea1499069fcafc: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/fa7a8dfdd46845ab0fd9b5b7004e37d0232941bf: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/fcb3054fde86111e2c346aa71af2456a1705902c: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/fce30dcdf2f23b14c580c282a39e065d7aacbfe8: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/fd15b8dd6c27bc65f90e1c988e0245b1ad7d51c5: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/fd608012362d161cc7f3d30e1700c51f4ccef4ac: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/fdce5b4f3a038ce7cfeee4deb9a4644edb78189a: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/fe203731ada762e02bf843b82e33daee4c2efbf5: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/fe46e6ef4cd5788d89a101c77123387e3fc9d206: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/fe7ac2ef276b817af3487bab5fe089186ca0484b: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/fe7ef7c0e835873b7b1cd780f248114f18adf13a: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/ff5274cad94d590347d6cdba7637078f82e3d44a: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/corpus/ffff6a92363e0e55a9688d9bc025cd8dea3b50d4: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/webm.dict: Added.
* Source/third_party/libwebm/webm_parser/fuzzing/webm_fuzzer.cc: Added.
* Source/third_party/libwebm/webm_parser/include/webm/buffer_reader.h: Added.
(webm::BufferReader::size const):
* Source/third_party/libwebm/webm_parser/include/webm/callback.h: Added.
* Source/third_party/libwebm/webm_parser/include/webm/dom_types.h: Added.
(webm::FrameMetadata::operator== const):
(webm::BlockMore::operator== const):
(webm::BlockAdditions::operator== const):
(webm::TimeSlice::operator== const):
(webm::Slices::operator== const):
(webm::VirtualBlock::operator== const):
(webm::Block::operator== const):
(webm::SimpleBlock::operator== const):
(webm::BlockGroup::operator== const):
(webm::Cluster::operator== const):
(webm::Ebml::operator== const):
(webm::Info::operator== const):
(webm::Seek::operator== const):
(webm::Audio::operator== const):
(webm::MasteringMetadata::operator== const):
(webm::Colour::operator== const):
(webm::Projection::operator== const):
(webm::Video::operator== const):
(webm::ContentEncAesSettings::operator== const):
(webm::ContentEncryption::operator== const):
(webm::ContentEncoding::operator== const):
(webm::ContentEncodings::operator== const):
(webm::TrackEntry::operator== const):
(webm::CueTrackPositions::operator== const):
(webm::CuePoint::operator== const):
(webm::ChapterDisplay::operator== const):
(webm::ChapterAtom::operator== const):
(webm::EditionEntry::operator== const):
(webm::SimpleTag::operator== const):
(webm::Targets::operator== const):
(webm::Tag::operator== const):
* Source/third_party/libwebm/webm_parser/include/webm/element.h: Added.
(webm::Element::Element):
(webm::Element::Set):
(webm::Element::value const):
(webm::Element::mutable_value):
(webm::Element::is_present const):
(webm::Element::operator== const):
(webm::ElementMetadata::operator== const):
* Source/third_party/libwebm/webm_parser/include/webm/file_reader.h: Added.
(webm::FileReader::FileCloseFunctor::operator() const):
* Source/third_party/libwebm/webm_parser/include/webm/id.h: Added.
* Source/third_party/libwebm/webm_parser/include/webm/istream_reader.h: Added.
(webm::IstreamReader::IstreamReader):
(webm::IstreamReader::Emplace):
* Source/third_party/libwebm/webm_parser/include/webm/reader.h: Added.
* Source/third_party/libwebm/webm_parser/include/webm/status.h: Added.
(webm::Status::Status):
(webm::Status::ok const):
(webm::Status::completed_ok const):
(webm::Status::is_parsing_error const):
* Source/third_party/libwebm/webm_parser/include/webm/webm_parser.h: Added.
* Source/third_party/libwebm/webm_parser/src/ancestory.cc: Added.
* Source/third_party/libwebm/webm_parser/src/ancestory.h: Added.
(webm::Ancestory::next const):
(webm::Ancestory::id const):
(webm::Ancestory::empty const):
(webm::Ancestory::Ancestory):
* Source/third_party/libwebm/webm_parser/src/audio_parser.h: Added.
(webm::AudioParser::AudioParser):
(webm::AudioParser::FixMissingOutputFrequency):
* Source/third_party/libwebm/webm_parser/src/bit_utils.cc: Added.
* Source/third_party/libwebm/webm_parser/src/bit_utils.h: Added.
* Source/third_party/libwebm/webm_parser/src/block_additions_parser.h: Added.
(webm::BlockAdditionsParser::BlockAdditionsParser):
* Source/third_party/libwebm/webm_parser/src/block_group_parser.h: Added.
(webm::BlockGroupParser::BlockGroupParser):
* Source/third_party/libwebm/webm_parser/src/block_header_parser.cc: Added.
* Source/third_party/libwebm/webm_parser/src/block_header_parser.h: Added.
(webm::BlockHeader::operator== const):
(webm::BlockHeaderParser::value const):
* Source/third_party/libwebm/webm_parser/src/block_more_parser.h: Added.
(webm::BlockMoreParser::BlockMoreParser):
* Source/third_party/libwebm/webm_parser/src/block_parser.cc: Added.
* Source/third_party/libwebm/webm_parser/src/block_parser.h: Added.
(webm::BasicBlockParser::value const):
(webm::BasicBlockParser::mutable_value):
* Source/third_party/libwebm/webm_parser/src/bool_parser.h: Added.
(webm::BoolParser::BoolParser):
(webm::BoolParser::value const):
(webm::BoolParser::mutable_value):
* Source/third_party/libwebm/webm_parser/src/buffer_reader.cc: Added.
* Source/third_party/libwebm/webm_parser/src/byte_parser.h: Added.
(webm::ByteParser::ByteParser):
(webm::ByteParser::value const):
(webm::ByteParser::mutable_value):
* Source/third_party/libwebm/webm_parser/src/callback.cc: Added.
* Source/third_party/libwebm/webm_parser/src/chapter_atom_parser.h: Added.
(webm::ChapterAtomParser::ChapterAtomParser):
* Source/third_party/libwebm/webm_parser/src/chapter_display_parser.h: Added.
(webm::ChapterDisplayParser::ChapterDisplayParser):
* Source/third_party/libwebm/webm_parser/src/chapters_parser.h: Added.
(webm::ChaptersParser::ChaptersParser):
* Source/third_party/libwebm/webm_parser/src/cluster_parser.h: Added.
(webm::ClusterParser::ClusterParser):
* Source/third_party/libwebm/webm_parser/src/colour_parser.h: Added.
(webm::ColourParser::ColourParser):
* Source/third_party/libwebm/webm_parser/src/content_enc_aes_settings_parser.h: Added.
(webm::ContentEncAesSettingsParser::ContentEncAesSettingsParser):
* Source/third_party/libwebm/webm_parser/src/content_encoding_parser.h: Added.
(webm::ContentEncodingParser::ContentEncodingParser):
* Source/third_party/libwebm/webm_parser/src/content_encodings_parser.h: Added.
(webm::ContentEncodingsParser::ContentEncodingsParser):
* Source/third_party/libwebm/webm_parser/src/content_encryption_parser.h: Added.
(webm::ContentEncryptionParser::ContentEncryptionParser):
* Source/third_party/libwebm/webm_parser/src/cue_point_parser.h: Added.
(webm::CuePointParser::CuePointParser):
* Source/third_party/libwebm/webm_parser/src/cue_track_positions_parser.h: Added.
(webm::CueTrackPositionsParser::CueTrackPositionsParser):
* Source/third_party/libwebm/webm_parser/src/cues_parser.h: Added.
(webm::CuesParser::CuesParser):
* Source/third_party/libwebm/webm_parser/src/date_parser.cc: Added.
* Source/third_party/libwebm/webm_parser/src/date_parser.h: Added.
(webm::DateParser::value const):
(webm::DateParser::mutable_value):
* Source/third_party/libwebm/webm_parser/src/ebml_parser.h: Added.
(webm::EbmlParser::EbmlParser):
* Source/third_party/libwebm/webm_parser/src/edition_entry_parser.h: Added.
(webm::EditionEntryParser::EditionEntryParser):
* Source/third_party/libwebm/webm_parser/src/element_parser.h: Added.
(webm::ElementParser::InitAfterSeek):
(webm::ElementParser::GetCachedMetadata):
(webm::ElementParser::WasSkipped const):
* Source/third_party/libwebm/webm_parser/src/file_reader.cc: Added.
* Source/third_party/libwebm/webm_parser/src/float_parser.cc: Added.
* Source/third_party/libwebm/webm_parser/src/float_parser.h: Added.
(webm::FloatParser::value const):
(webm::FloatParser::mutable_value):
* Source/third_party/libwebm/webm_parser/src/id_element_parser.cc: Added.
* Source/third_party/libwebm/webm_parser/src/id_element_parser.h: Added.
(webm::IdElementParser::value const):
(webm::IdElementParser::mutable_value):
* Source/third_party/libwebm/webm_parser/src/id_parser.cc: Added.
* Source/third_party/libwebm/webm_parser/src/id_parser.h: Added.
* Source/third_party/libwebm/webm_parser/src/info_parser.h: Added.
(webm::InfoParser::InfoParser):
* Source/third_party/libwebm/webm_parser/src/int_parser.h: Added.
(webm::IntParser::IntParser):
(webm::IntParser::value const):
(webm::IntParser::mutable_value):
* Source/third_party/libwebm/webm_parser/src/istream_reader.cc: Added.
* Source/third_party/libwebm/webm_parser/src/master_parser.cc: Added.
* Source/third_party/libwebm/webm_parser/src/master_parser.h: Added.
(webm::MasterParser::MasterParser):
(webm::MasterParser::header_size const):
(webm::MasterParser::size const):
(webm::MasterParser::position const):
(webm::MasterParser::child_metadata const):
(webm::MasterParser::MakeChild):
(webm::MasterParser::IdHash::operator() const):
(webm::MasterParser::InsertParser):
* Source/third_party/libwebm/webm_parser/src/master_value_parser.h: Added.
(webm::MasterValueParser::value const):
(webm::MasterValueParser::mutable_value):
(webm::MasterValueParser::SingleChildFactory::SingleChildFactory):
(webm::MasterValueParser::SingleChildFactory::BuildParser):
(webm::MasterValueParser::SingleChildFactory:: const):
(webm::MasterValueParser::RepeatedChildFactory::RepeatedChildFactory):
(webm::MasterValueParser::RepeatedChildFactory::BuildParser):
(webm::MasterValueParser::RepeatedChildFactory:: const):
(webm::MasterValueParser::RecursiveChildFactory::RecursiveChildFactory):
(webm::MasterValueParser::RecursiveChildFactory::BuildParser):
(webm::MasterValueParser::RecursiveChildFactory:: const):
(webm::MasterValueParser::MasterValueParser):
(webm::MasterValueParser::MakeChild):
(webm::MasterValueParser::metadata const):
(webm::MasterValueParser::OnParseStarted):
(webm::MasterValueParser::OnParseCompleted):
(webm::MasterValueParser::parse_started_event_completed const):
(webm::MasterValueParser::set_parse_started_event_completed_with_action):
(webm::MasterValueParser::OnChildParsed):
(webm::MasterValueParser::child_metadata const):
(webm::MasterValueParser::ChildParser::ChildParser):
(webm::MasterValueParser::ChildParser::Prepare):
(webm::MasterValueParser::ChildParser::has_tag):
(webm::MasterValueParser::MakeChildParser):
(webm::MasterValueParser::PreInit):
* Source/third_party/libwebm/webm_parser/src/mastering_metadata_parser.h: Added.
(webm::MasteringMetadataParser::MasteringMetadataParser):
* Source/third_party/libwebm/webm_parser/src/parser.h: Added.
* Source/third_party/libwebm/webm_parser/src/parser_utils.cc: Added.
* Source/third_party/libwebm/webm_parser/src/parser_utils.h: Added.
(webm::AccumulateIntegerBytes):
* Source/third_party/libwebm/webm_parser/src/projection_parser.h: Added.
(webm::ProjectionParser::ProjectionParser):
* Source/third_party/libwebm/webm_parser/src/recursive_parser.h: Added.
(webm::RecursiveParser::RecursiveParser):
(webm::RecursiveParser::value const):
(webm::RecursiveParser::mutable_value):
* Source/third_party/libwebm/webm_parser/src/seek_head_parser.h: Added.
(webm::SeekHeadParser::SeekHeadParser):
* Source/third_party/libwebm/webm_parser/src/seek_parser.h: Added.
(webm::SeekParser::SeekParser):
* Source/third_party/libwebm/webm_parser/src/segment_parser.cc: Added.
* Source/third_party/libwebm/webm_parser/src/segment_parser.h: Added.
* Source/third_party/libwebm/webm_parser/src/simple_tag_parser.h: Added.
(webm::SimpleTagParser::SimpleTagParser):
* Source/third_party/libwebm/webm_parser/src/size_parser.cc: Added.
* Source/third_party/libwebm/webm_parser/src/size_parser.h: Added.
* Source/third_party/libwebm/webm_parser/src/skip_callback.h: Added.
* Source/third_party/libwebm/webm_parser/src/skip_parser.cc: Added.
* Source/third_party/libwebm/webm_parser/src/skip_parser.h: Added.
* Source/third_party/libwebm/webm_parser/src/slices_parser.h: Added.
(webm::SlicesParser::SlicesParser):
* Source/third_party/libwebm/webm_parser/src/tag_parser.h: Added.
(webm::TagParser::TagParser):
* Source/third_party/libwebm/webm_parser/src/tags_parser.h: Added.
(webm::TagsParser::TagsParser):
* Source/third_party/libwebm/webm_parser/src/targets_parser.h: Added.
(webm::TargetsParser::TargetsParser):
* Source/third_party/libwebm/webm_parser/src/time_slice_parser.h: Added.
(webm::TimeSliceParser::TimeSliceParser):
* Source/third_party/libwebm/webm_parser/src/track_entry_parser.h: Added.
(webm::TrackEntryParser::TrackEntryParser):
* Source/third_party/libwebm/webm_parser/src/tracks_parser.h: Added.
(webm::TracksParser::TracksParser):
* Source/third_party/libwebm/webm_parser/src/unknown_parser.cc: Added.
* Source/third_party/libwebm/webm_parser/src/unknown_parser.h: Added.
* Source/third_party/libwebm/webm_parser/src/var_int_parser.cc: Added.
* Source/third_party/libwebm/webm_parser/src/var_int_parser.h: Added.
(webm::VarIntParser::value const):
(webm::VarIntParser::encoded_length const):
* Source/third_party/libwebm/webm_parser/src/video_parser.h: Added.
(webm::VideoParser::VideoParser):
(webm::VideoParser::FixMissingDisplaySize):
* Source/third_party/libwebm/webm_parser/src/virtual_block_parser.cc: Added.
* Source/third_party/libwebm/webm_parser/src/virtual_block_parser.h: Added.
(webm::VirtualBlockParser::value const):
(webm::VirtualBlockParser::mutable_value):
* Source/third_party/libwebm/webm_parser/src/void_parser.cc: Added.
* Source/third_party/libwebm/webm_parser/src/void_parser.h: Added.
* Source/third_party/libwebm/webm_parser/src/webm_parser.cc: Added.
* Source/third_party/libwebm/webm_parser/test_utils/element_parser_test.h: Added.
(webm::static_cast<Id>):
* Source/third_party/libwebm/webm_parser/test_utils/limited_reader.cc: Added.
* Source/third_party/libwebm/webm_parser/test_utils/limited_reader.h: Added.
* Source/third_party/libwebm/webm_parser/test_utils/mock_callback.h: Added.
(webm::MockCallback::MockCallback):
(webm::MockCallback::OnElementBeginConcrete):
(webm::MockCallback::OnUnknownElementConcrete):
(webm::MockCallback::OnEbmlConcrete):
(webm::MockCallback::OnVoidConcrete):
(webm::MockCallback::OnSegmentBeginConcrete):
(webm::MockCallback::OnSeekConcrete):
(webm::MockCallback::OnInfoConcrete):
(webm::MockCallback::OnClusterBeginConcrete):
(webm::MockCallback::OnSimpleBlockBeginConcrete):
(webm::MockCallback::OnSimpleBlockEndConcrete):
(webm::MockCallback::OnBlockGroupBeginConcrete):
(webm::MockCallback::OnBlockBeginConcrete):
(webm::MockCallback::OnBlockEndConcrete):
(webm::MockCallback::OnBlockGroupEndConcrete):
(webm::MockCallback::OnFrameConcrete):
(webm::MockCallback::OnClusterEndConcrete):
(webm::MockCallback::OnTrackEntryConcrete):
(webm::MockCallback::OnCuePointConcrete):
(webm::MockCallback::OnEditionEntryConcrete):
(webm::MockCallback::OnTagConcrete):
(webm::MockCallback::OnSegmentEndConcrete):
* Source/third_party/libwebm/webm_parser/test_utils/parser_test.h: Added.
(webm::ParserTest::SetReaderData):
(webm::ParserTest::ResetParser):
(webm::ParserTest::ParseAndVerify):
(webm::ParserTest::IncrementalParseAndVerify):
(webm::ParserTest::ParseAndExpectResult):
* Source/third_party/libwebm/webm_parser/tests/audio_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/bit_utils_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/block_additions_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/block_group_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/block_header_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/block_more_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/block_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/bool_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/buffer_reader_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/byte_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/callback_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/chapter_atom_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/chapter_display_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/chapters_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/cluster_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/colour_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/content_enc_aes_settings_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/content_encoding_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/content_encodings_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/content_encryption_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/cue_point_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/cue_track_positions_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/cues_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/date_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/ebml_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/edition_entry_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/element_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/float_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/id_element_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/id_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/info_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/int_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/istream_reader_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/limited_reader_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/master_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/master_value_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/mastering_metadata_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/parser_utils_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/projection_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/recursive_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/seek_head_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/seek_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/segment_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/simple_tag_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/size_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/skip_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/slices_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/tag_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/tags_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/targets_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/time_slice_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/track_entry_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/tracks_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/unknown_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/var_int_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/video_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/virtual_block_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/void_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/webm_parser_test.cc: Added.
* Source/third_party/libwebm/webm_parser/tests/webm_parser_tests.cc: Added.
* Source/third_party/libwebm/webmids.hpp: Added.
* Source/third_party/libwebm/webvtt/vttreader.cc: Added.
* Source/third_party/libwebm/webvtt/vttreader.h: Added.
* Source/third_party/libwebm/webvtt/webvttparser.cc: Added.
* Source/third_party/libwebm/webvtt/webvttparser.h: Added.
* Source/third_party/libwebm/webvttparser.h: Added.
* libwebrtc.xcodeproj/project.pbxproj:
2020-07-04 Youenn Fablet <youenn@apple.com>
Enable VTB required low latency code path
https://bugs.webkit.org/show_bug.cgi?id=210609
<rdar://problem/61890332>
Reviewed by Darin Adler.
Enable low latency mode for latest MacOS and iOS versions.
Add a boolean controlling whether to opt in that code path.
Export the setter to that boolean so that it can be controlled by a WebCore runtime flag.
* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
* Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
* Source/webrtc/sdk/WebKit/WebKitEncoder.mm:
(webrtc::setH264LowLatencyEncoderEnabled):
(webrtc::isH264LowLatencyEncoderEnabled):
* Source/webrtc/sdk/WebKit/WebKitUtilities.h:
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
(-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
2020-07-03 Youenn Fablet <youenn@apple.com>
Allow registering VP9 as a VT decoder
https://bugs.webkit.org/show_bug.cgi?id=213837
<rdar://problem/64984881>
Reviewed by Jer Noble.
Implement a method that registers VP9 as a VT decoder.
Implement the binding code between VP9DecoderImpl and VT pluggable codec API.
Restrict this to internal SDK for now.
* 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::createPixelBufferPool):
* Source/webrtc/sdk/WebKit/WebKitVP9Decoder.cpp: Added.
(webrtc::registerWebKitVP9Decoder):
(webrtc::createWebKitVP9Decoder):
(webrtc::invalidateVP9Decoder):
(webrtc::finalizeVP9Decoder):
(webrtc::copyVP9DecoderDebugDescription):
(webrtc::webKitVP9DecoderFromVTDecoder):
(webrtc::startVP9DecoderSession):
(webrtc::decodeVP9DecoderFrameFromContiguousBlock):
(webrtc::decodeVP9DecoderFrame):
(webrtc::WebKitVP9DecoderReceiver::WebKitVP9DecoderReceiver):
(webrtc::WebKitVP9DecoderReceiver::~WebKitVP9DecoderReceiver):
(webrtc::WebKitVP9DecoderReceiver::decoderFailed):
(webrtc::WebKitVP9DecoderReceiver::Decoded):
* Source/webrtc/sdk/WebKit/WebKitVP9Decoder.h: Added.
* libwebrtc.xcodeproj/project.pbxproj:
2020-07-01 Tim Horton <timothy_horton@apple.com>
Fix the arm64 iOS simulator build
https://bugs.webkit.org/show_bug.cgi?id=213868
<rdar://problem/64901603>
* Configurations/libvpx.xcconfig:
* Configurations/libwebrtc.xcconfig:
2020-07-01 Youenn Fablet <youenn@apple.com>
Add a functional WebRTC VP9 codec
https://bugs.webkit.org/show_bug.cgi?id=213778
Reviewed by Eric Carlson.
Update libvpx to synchronize VP9 support with the rest of libwebrtc.
Disable vp9_noop in the build system and use function vp9 encoder/decoder instead.
* Configurations/libvpx.xcconfig:
* Source/third_party/libvpx/BUILD.gn:
* Source/third_party/libvpx/OWNERS:
* Source/third_party/libvpx/README.chromium:
* Source/third_party/libvpx/generate_gni.sh:
* Source/third_party/libvpx/libvpx_srcs.gni:
* Source/third_party/libvpx/lint_config.sh:
* Source/third_party/libvpx/run_perl.py:
* Source/third_party/libvpx/source/config/ios/arm-neon/vp8_rtcd.h:
* Source/third_party/libvpx/source/config/ios/arm-neon/vp9_rtcd.h:
* Source/third_party/libvpx/source/config/ios/arm-neon/vpx_config.asm:
* Source/third_party/libvpx/source/config/ios/arm-neon/vpx_config.c:
* Source/third_party/libvpx/source/config/ios/arm-neon/vpx_config.h:
* Source/third_party/libvpx/source/config/ios/arm-neon/vpx_dsp_rtcd.h:
* Source/third_party/libvpx/source/config/ios/arm64/vp8_rtcd.h:
* Source/third_party/libvpx/source/config/ios/arm64/vp9_rtcd.h:
* Source/third_party/libvpx/source/config/ios/arm64/vpx_config.asm:
* Source/third_party/libvpx/source/config/ios/arm64/vpx_config.c:
* Source/third_party/libvpx/source/config/ios/arm64/vpx_config.h:
* Source/third_party/libvpx/source/config/ios/arm64/vpx_dsp_rtcd.h:
* Source/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vp8_rtcd.h:
* Source/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vp9_rtcd.h:
* Source/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_config.asm:
* Source/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_config.c:
* Source/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_config.h:
* Source/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_dsp_rtcd.h:
* Source/third_party/libvpx/source/config/linux/arm-neon-highbd/vp8_rtcd.h: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/arm-neon/vp8_rtcd.h.
* Source/third_party/libvpx/source/config/linux/arm-neon-highbd/vp9_rtcd.h: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/generic/vp9_rtcd.h.
* Source/third_party/libvpx/source/config/linux/arm-neon-highbd/vpx_config.asm: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/arm-neon/vpx_config.asm.
* Source/third_party/libvpx/source/config/linux/arm-neon-highbd/vpx_config.c: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/ios/arm-neon/vpx_config.c.
(vpx_codec_build_config):
* Source/third_party/libvpx/source/config/linux/arm-neon-highbd/vpx_config.h: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/arm-neon/vpx_config.h.
* Source/third_party/libvpx/source/config/linux/arm-neon-highbd/vpx_dsp_rtcd.h: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/generic/vpx_dsp_rtcd.h.
* Source/third_party/libvpx/source/config/linux/arm-neon-highbd/vpx_scale_rtcd.h: Added.
* Source/third_party/libvpx/source/config/linux/arm-neon/vp8_rtcd.h:
* Source/third_party/libvpx/source/config/linux/arm-neon/vp9_rtcd.h:
* Source/third_party/libvpx/source/config/linux/arm-neon/vpx_config.asm:
* Source/third_party/libvpx/source/config/linux/arm-neon/vpx_config.c:
* Source/third_party/libvpx/source/config/linux/arm-neon/vpx_config.h:
* Source/third_party/libvpx/source/config/linux/arm-neon/vpx_dsp_rtcd.h:
* Source/third_party/libvpx/source/config/linux/arm/vp8_rtcd.h:
* Source/third_party/libvpx/source/config/linux/arm/vp9_rtcd.h:
* Source/third_party/libvpx/source/config/linux/arm/vpx_config.asm:
* Source/third_party/libvpx/source/config/linux/arm/vpx_config.c:
* Source/third_party/libvpx/source/config/linux/arm/vpx_config.h:
* Source/third_party/libvpx/source/config/linux/arm/vpx_dsp_rtcd.h:
* Source/third_party/libvpx/source/config/linux/arm64-highbd/vp8_rtcd.h: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/arm-neon/vp8_rtcd.h.
* Source/third_party/libvpx/source/config/linux/arm64-highbd/vp9_rtcd.h: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/generic/vp9_rtcd.h.
* Source/third_party/libvpx/source/config/linux/arm64-highbd/vpx_config.asm: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/arm64/vpx_config.asm.
* Source/third_party/libvpx/source/config/linux/arm64-highbd/vpx_config.c: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/ios/arm64/vpx_config.c.
(vpx_codec_build_config):
* Source/third_party/libvpx/source/config/linux/arm64-highbd/vpx_config.h: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/arm64/vpx_config.h.
* Source/third_party/libvpx/source/config/linux/arm64-highbd/vpx_dsp_rtcd.h: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/generic/vpx_dsp_rtcd.h.
* Source/third_party/libvpx/source/config/linux/arm64-highbd/vpx_scale_rtcd.h: Added.
* Source/third_party/libvpx/source/config/linux/arm64/vp8_rtcd.h:
* Source/third_party/libvpx/source/config/linux/arm64/vp9_rtcd.h:
* Source/third_party/libvpx/source/config/linux/arm64/vpx_config.asm:
* Source/third_party/libvpx/source/config/linux/arm64/vpx_config.c:
* Source/third_party/libvpx/source/config/linux/arm64/vpx_config.h:
* Source/third_party/libvpx/source/config/linux/arm64/vpx_dsp_rtcd.h:
* Source/third_party/libvpx/source/config/linux/generic/vp8_rtcd.h:
* Source/third_party/libvpx/source/config/linux/generic/vp9_rtcd.h:
* Source/third_party/libvpx/source/config/linux/generic/vpx_config.asm:
* Source/third_party/libvpx/source/config/linux/generic/vpx_config.c:
* Source/third_party/libvpx/source/config/linux/generic/vpx_config.h:
* Source/third_party/libvpx/source/config/linux/generic/vpx_dsp_rtcd.h:
* Source/third_party/libvpx/source/config/linux/ia32/vp8_rtcd.h:
* Source/third_party/libvpx/source/config/linux/ia32/vp9_rtcd.h:
* Source/third_party/libvpx/source/config/linux/ia32/vpx_config.asm:
* Source/third_party/libvpx/source/config/linux/ia32/vpx_config.c:
* Source/third_party/libvpx/source/config/linux/ia32/vpx_config.h:
* Source/third_party/libvpx/source/config/linux/ia32/vpx_dsp_rtcd.h:
* Source/third_party/libvpx/source/config/linux/mips64el/vp8_rtcd.h:
* Source/third_party/libvpx/source/config/linux/mips64el/vp9_rtcd.h:
* Source/third_party/libvpx/source/config/linux/mips64el/vpx_config.c:
* Source/third_party/libvpx/source/config/linux/mips64el/vpx_config.h:
* Source/third_party/libvpx/source/config/linux/mips64el/vpx_dsp_rtcd.h:
* Source/third_party/libvpx/source/config/linux/mipsel/vp8_rtcd.h:
* Source/third_party/libvpx/source/config/linux/mipsel/vp9_rtcd.h:
* Source/third_party/libvpx/source/config/linux/mipsel/vpx_config.c:
* Source/third_party/libvpx/source/config/linux/mipsel/vpx_config.h:
* Source/third_party/libvpx/source/config/linux/mipsel/vpx_dsp_rtcd.h:
* Source/third_party/libvpx/source/config/linux/x64/vp8_rtcd.h:
* Source/third_party/libvpx/source/config/linux/x64/vp9_rtcd.h:
* Source/third_party/libvpx/source/config/linux/x64/vpx_config.asm:
* Source/third_party/libvpx/source/config/linux/x64/vpx_config.c:
* Source/third_party/libvpx/source/config/linux/x64/vpx_config.h:
* Source/third_party/libvpx/source/config/linux/x64/vpx_dsp_rtcd.h:
* Source/third_party/libvpx/source/config/mac/ia32/vp8_rtcd.h:
* Source/third_party/libvpx/source/config/mac/ia32/vp9_rtcd.h:
* Source/third_party/libvpx/source/config/mac/ia32/vpx_config.asm:
* Source/third_party/libvpx/source/config/mac/ia32/vpx_config.c:
* Source/third_party/libvpx/source/config/mac/ia32/vpx_config.h:
* Source/third_party/libvpx/source/config/mac/ia32/vpx_dsp_rtcd.h:
* Source/third_party/libvpx/source/config/mac/x64/vp8_rtcd.h:
* Source/third_party/libvpx/source/config/mac/x64/vp8_rtcd_no_acceleration.h:
* Source/third_party/libvpx/source/config/mac/x64/vp9_rtcd.h:
* Source/third_party/libvpx/source/config/mac/x64/vpx_config.asm:
* Source/third_party/libvpx/source/config/mac/x64/vpx_config.c:
* 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:
* Source/third_party/libvpx/source/config/nacl/vp8_rtcd.h:
* Source/third_party/libvpx/source/config/nacl/vp9_rtcd.h:
* Source/third_party/libvpx/source/config/nacl/vpx_config.c:
* Source/third_party/libvpx/source/config/nacl/vpx_config.h:
* Source/third_party/libvpx/source/config/nacl/vpx_dsp_rtcd.h:
* Source/third_party/libvpx/source/config/vpx_version.h:
* Source/third_party/libvpx/source/config/win/arm64/vp8_rtcd.h: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/arm-neon/vp8_rtcd.h.
* Source/third_party/libvpx/source/config/win/arm64/vp9_rtcd.h: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/generic/vp9_rtcd.h.
* Source/third_party/libvpx/source/config/win/arm64/vpx_config.asm: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/ios/arm64/vpx_config.asm.
* Source/third_party/libvpx/source/config/win/arm64/vpx_config.c: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/mips64el/vpx_config.c.
(vpx_codec_build_config):
* Source/third_party/libvpx/source/config/win/arm64/vpx_config.h: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/arm64/vpx_config.h.
* Source/third_party/libvpx/source/config/win/arm64/vpx_dsp_rtcd.h: Copied from Source/ThirdParty/libwebrtc/Source/third_party/libvpx/source/config/linux/generic/vpx_dsp_rtcd.h.
* Source/third_party/libvpx/source/config/win/arm64/vpx_scale_rtcd.h: Added.
* Source/third_party/libvpx/source/config/win/ia32/vp8_rtcd.h:
* Source/third_party/libvpx/source/config/win/ia32/vp9_rtcd.h:
* Source/third_party/libvpx/source/config/win/ia32/vpx_config.asm:
* Source/third_party/libvpx/source/config/win/ia32/vpx_config.c:
* Source/third_party/libvpx/source/config/win/ia32/vpx_config.h:
* Source/third_party/libvpx/source/config/win/ia32/vpx_dsp_rtcd.h:
* Source/third_party/libvpx/source/config/win/x64/vp8_rtcd.h:
* Source/third_party/libvpx/source/config/win/x64/vp9_rtcd.h:
* Source/third_party/libvpx/source/config/win/x64/vpx_config.asm:
* Source/third_party/libvpx/source/config/win/x64/vpx_config.c:
* Source/third_party/libvpx/source/config/win/x64/vpx_config.h:
* Source/third_party/libvpx/source/config/win/x64/vpx_dsp_rtcd.h:
* libwebrtc.xcodeproj/project.pbxproj:
2020-06-30 Youenn Fablet <youenn@apple.com>
Add VP9 WebRTC codec runtime flag
https://bugs.webkit.org/show_bug.cgi?id=213724
Reviewed by Eric Carlson.
Update WebKit binding code to switch on/off VP9 encoder/decoder.
We still use vp9_noop for now, so encoder/decoder is not functional.
* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
* Configurations/libwebrtc.xcconfig:
* Configurations/libwebrtcpcrtc.xcconfig:
* Source/webrtc/modules/video_coding/codecs/vp9/vp9_noop.cc:
* Source/webrtc/sdk/WebKit/WebKitDecoder.mm:
(webrtc::createWebKitDecoderFactory):
* Source/webrtc/sdk/WebKit/WebKitEncoder.mm:
(webrtc::createWebKitEncoderFactory):
(webrtc::setH264HardwareEncoderAllowed):
(webrtc::isH264HardwareEncoderAllowed):
* Source/webrtc/sdk/WebKit/WebKitUtilities.h:
* Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
* Source/webrtc/sdk/objc/api/video_codec/RTCVideoDecoderVP9.h:
* Source/webrtc/sdk/objc/api/video_codec/RTCVideoEncoderVP9.h:
* Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.h:
* Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.m:
(-[RTCDefaultVideoDecoderFactory initWithH265:vp9:]):
(-[RTCDefaultVideoDecoderFactory supportedCodecs]):
* Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoEncoderFactory.h:
* Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoEncoderFactory.m:
(-[RTCDefaultVideoEncoderFactory initWithH265:vp9:]):
(-[RTCDefaultVideoEncoderFactory supportedCodecs]):
* libwebrtc.xcodeproj/project.pbxproj:
2020-06-24 Youenn Fablet <youenn@apple.com>
Add logging to WebRTC video pipeline to check for frame rate stability
https://bugs.webkit.org/show_bug.cgi?id=213369
Reviewed by Eric Carlson.
Add logging for encoded frames taking a long time to be received.
We log the time take to receive the frame, the time since previous frame, the byte size of the frame.
We compute that a frame takes too long by checking whether it is delayed by more than three expected frames.
* Source/webrtc/video/rtp_video_stream_receiver.cc:
* Source/webrtc/video/rtp_video_stream_receiver.h:
2020-06-22 Tim Horton <timothy_horton@apple.com>
libwebrtc fails to build on arm64
https://bugs.webkit.org/show_bug.cgi?id=213476
Reviewed by Maciej Stachowiak.
* Configurations/libvpx.xcconfig:
* Configurations/libwebrtc.xcconfig:
* Configurations/opus.xcconfig:
Use architecture conditionals instead of SDK conditionals for code that is
architecture-dependent.
Remove an macOS-version-dependent definition of EXCLUDED_SOURCE_FILE_NAMES
which is no longer used after r232665.
2020-06-22 Tim Horton <timothy_horton@apple.com>
Update macOS version macros
https://bugs.webkit.org/show_bug.cgi?id=213484
Reviewed by Alexey Proskuryakov.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
* Configurations/WebKitTargetConditionals.xcconfig:
2020-06-17 Youenn Fablet <youenn@apple.com>
Improve SCTP cookie generation
https://bugs.webkit.org/show_bug.cgi?id=213284
<rdar://problem/64438133>
Reviewed by Eric Carlson.
* Source/webrtc/media/sctp/sctp_transport.cc:
* Source/webrtc/media/sctp/sctp_transport.h:
2020-06-12 David Kilzer <ddkilzer@apple.com>
[IPC hardening] Check enum values in IPC::Decoder::decodeEnum() an IPC::Encoder::encodeEnum()
<https://webkit.org/b/211988>
<rdar://problem/63137695>
Reviewed by Darin Adler.
Replace decodeEnum() with decode() and encodeEnum() with
operator<<().
* Source/webrtc/sdk/WebKit/WebKitEncoder.h:
(webrtc::WebKitEncodedFrameInfo::decode):
(webrtc::WebKitEncodedFrameInfo::encode const):
2020-06-08 Youenn Fablet <youenn@apple.com>
Add missed WebRTC media-source and remote-inbound-rtp stats
https://bugs.webkit.org/show_bug.cgi?id=206645
<rdar://problem/58833958>
Reviewed by Eric Carlson.
* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
2020-06-05 Youenn Fablet <youenn@apple.com>
Ad support for media-source stats
https://bugs.webkit.org/show_bug.cgi?id=212702
Reviewed by Eric Carlson.
* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
2020-06-04 Tim Horton <timothy_horton@apple.com>
Work around broken system version macro
https://bugs.webkit.org/show_bug.cgi?id=212726
Reviewed by Dan Bernstein.
* Configurations/DebugRelease.xcconfig:
2020-06-02 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r262290.
https://bugs.webkit.org/show_bug.cgi?id=212638
it is not yet ready (Requested by youenn on #webkit).
Reverted changeset:
"Enable VTB required low latency code path"
https://bugs.webkit.org/show_bug.cgi?id=210609
https://trac.webkit.org/changeset/262290
2020-05-29 Keith Rollin <krollin@apple.com>
Revert switch to XCBuild
https://bugs.webkit.org/show_bug.cgi?id=212530
<rdar://problem/63764632>
Unreviewed build fix.
Bug 209890 enabled the use of XCBuild by default. Since then, some
build issues have shown up. While addressing them, temporarily turn
off the use of XCBuild by default.
* libwebrtc.xcodeproj/project.pbxproj:
2020-05-29 Youenn Fablet <youenn@apple.com>
Enable VTB required low latency code path
https://bugs.webkit.org/show_bug.cgi?id=210609
<rdar://problem/61890332>
Reviewed by Eric Carlson.
* Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
Declare the new key since it is now in a private header.
2020-05-26 Keith Rollin <krollin@apple.com>
Enable the use of XCBuild by default in Apple builds
https://bugs.webkit.org/show_bug.cgi?id=209890
<rdar://problem/44182078>
Reviewed by Darin Adler.
Switch from the "legacy" Xcode build system to the "new" build system
(also known as "XCBuild"). Switching to the new system speeds up
builds by a small percentage, better validates projects for
build-related issues (such as dependency cycles), lets WebKit benefit
from future improvements in XCBuild such as those coming from the
underlying llbuild open source project, and prepares us for any other
tools built for this new ecosystem.
Specific changes:
- Remove Xcode project and workspace settings that selected the Build
system, allowing the default to take hold (which is currently the
New build system).
- Updated webkitdirs.pm with a terser check for Xcode version.
- Update build-webkit and Makefile.shared to be explicit when using
the old build system (no longer treat it as a default or fall-back
configuration).
- Update various xcconfig files similarly to treat the default as
using the new build system.
- Update various post-processing build steps to check for Xcode 11.4
and to no longer treat the default as using the old build system.
* libwebrtc.xcodeproj/project.pbxproj:
2020-05-13 Jer Noble <jer.noble@apple.com>
Replace isNullFunctionPointer with real weak-linking support
https://bugs.webkit.org/show_bug.cgi?id=211751
Reviewed by Sam Weinig.
* Source/webrtc/sdk/WebKit/WebKitUtilities.h:
2020-05-11 Saam Barati <sbarati@apple.com>
Remove OTHER_CFLAGS="" in libwebrtc pbxproj
https://bugs.webkit.org/show_bug.cgi?id=211742
Reviewed by Darin Adler.
I believe this was done by accident in a larger patch. If we did indeed
want to define OTHER_CFLAGS to be empty, the right place for that is inside
the xcconfig files, not the pbxproj files.
* libwebrtc.xcodeproj/project.pbxproj:
2020-04-30 Youenn Fablet <youenn@apple.com>
Disable low latency encoder on iOS
https://bugs.webkit.org/show_bug.cgi?id=211229
Reviewed by Eric Carlson.
* Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
This is not yet fully ready.
2020-04-15 Jer Noble <jer.noble@apple.com>
isNullFunctionPointer() can fail for symbols not explicitly marked as weakly linked.
https://bugs.webkit.org/show_bug.cgi?id=210532
Reviewed by Tim Horton.
* Source/webrtc/sdk/WebKit/WebKitUtilities.h:
2020-04-09 Keith Rollin <krollin@apple.com>
Set ENTITLEMENTS_REQUIRED=NO for some Xcode build targets
https://bugs.webkit.org/show_bug.cgi?id=210250
<rdar://problem/61502270>
Reviewed by Jonathan Bedard.
When building with the public version of Xcode 11.4, with XCBuild
enabled, and targeting the iOS device, some build targets issue an
error like:
error: An empty identity is not valid when signing a binary for
the product type 'Command-line Tool'. (in target 'yasm' from
project 'libwebrtc')
A comment in <rdar://problem/47092353> suggests setting
ENTITLEMENTS_REQUIRED=NO to relax the requirement. To that end, when
building with the public Xcode, establish that setting for the
affected targets.
* Configurations/Base.xcconfig:
2020-04-08 Truitt Savell <tsavell@apple.com>
Unreviewed, reverting r259708.
Broke the iOS device Build
Reverted changeset:
"Enable the use of XCBuild by default in Apple builds"
https://bugs.webkit.org/show_bug.cgi?id=209890
https://trac.webkit.org/changeset/259708
2020-04-08 Keith Rollin <krollin@apple.com>
Enable the use of XCBuild by default in Apple builds
https://bugs.webkit.org/show_bug.cgi?id=209890
<rdar://problem/44182078>
Reviewed by Darin Adler.
Switch from the "legacy" Xcode build system to the "new" build system
(also known as "XCBuild"). Switching to the new system speeds up
builds by a small percentage, better validates projects for
build-related issues (such as dependency cycles), lets WebKit benefit
from future improvements in XCBuild such as those coming from the
underlying llbuild open source project, and prepares us for any other
tools built for this new ecosystem.
Specific changes:
- Remove Xcode project and workspace settings that selected the Build
system, allowing the default to take hold (which is currently the
New build system).
- Updated webkitdirs.pm with a terser check for Xcode version.
- Update build-webkit and Makefile.shared to be explicit when using
the old build system (no longer treat it as a default or fall-back
configuration).
- Update various xcconfig files similarly to treat the default as
using the new build system.
- Update various post-processing build steps to check for Xcode 11.4
and to no longer treat the default as using the old build system.
* libwebrtc.xcodeproj/project.pbxproj:
2020-04-06 youenn fablet <youenn@apple.com>
Add HEVC support in GPU Process for WebRTC
https://bugs.webkit.org/show_bug.cgi?id=209857
Reviewed by Eric Carlson.
* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
* Source/webrtc/sdk/WebKit/WebKitDecoder.h: Copied from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitUtilities.h.
* Source/webrtc/sdk/WebKit/WebKitDecoder.mm: Added.
(-[WK_RTCLocalVideoH264H265Decoder initH264DecoderWithCallback:]):
(-[WK_RTCLocalVideoH264H265Decoder initH265DecoderWithCallback:]):
(-[WK_RTCLocalVideoH264H265Decoder decodeData:size:timeStamp:]):
(-[WK_RTCLocalVideoH264H265Decoder releaseDecoder]):
(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::createLocalH264Decoder):
(webrtc::createLocalH265Decoder):
(webrtc::releaseLocalDecoder):
(webrtc::decodeFrame):
* Source/webrtc/sdk/WebKit/WebKitEncoder.mm:
(-[WK_RTCLocalVideoH264H265Encoder initWithCodecInfo:]):
(-[WK_RTCLocalVideoH264H265Encoder setCallback:]):
(-[WK_RTCLocalVideoH264H265Encoder releaseEncoder]):
(-[WK_RTCLocalVideoH264H265Encoder startEncodeWithSettings:numberOfCores:]):
(-[WK_RTCLocalVideoH264H265Encoder encode:codecSpecificInfo:frameTypes:]):
(-[WK_RTCLocalVideoH264H265Encoder setBitrate:framerate:]):
(webrtc::createLocalEncoder):
(webrtc::releaseLocalEncoder):
(webrtc::initializeLocalEncoder):
(webrtc::encodeLocalEncoderFrame):
(webrtc::setLocalEncoderRates):
* Source/webrtc/sdk/WebKit/WebKitUtilities.h:
(): Deleted.
* Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
(webrtc::videoDecoderCallbacks): Deleted.
(webrtc::setVideoDecoderCallbacks): Deleted.
(webrtc::RemoteVideoDecoder::RemoteVideoDecoder): Deleted.
(webrtc::RemoteVideoDecoder::decodeComplete): Deleted.
(webrtc::RemoteVideoDecoder::InitDecode): Deleted.
(webrtc::RemoteVideoDecoder::Decode): Deleted.
(webrtc::RemoteVideoDecoder::RegisterDecodeCompleteCallback): Deleted.
(webrtc::RemoteVideoDecoder::Release): Deleted.
(webrtc::RemoteVideoDecoderFactory::RemoteVideoDecoderFactory): Deleted.
(webrtc::RemoteVideoDecoderFactory::GetSupportedFormats const): Deleted.
(webrtc::RemoteVideoDecoderFactory::CreateVideoDecoder): Deleted.
(webrtc::createWebKitDecoderFactory): Deleted.
(webrtc::createLocalDecoder): Deleted.
(webrtc::releaseLocalDecoder): Deleted.
(webrtc::decodeFrame): Deleted.
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH265.h:
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH265.mm:
(-[RTCVideoDecoderH265 decode:missingFrames:codecSpecificInfo:renderTimeMs:]):
(-[RTCVideoDecoderH265 decodeData:size:timeStamp:]):
* libwebrtc.xcodeproj/project.pbxproj:
2020-04-03 David Kilzer <ddkilzer@apple.com>
[Xcode] Replace ASAN_OTHER_CFLAGS and ASAN_OTHER_CPLUSPLUSFLAGS with $(inherited)
<https://webkit.org/b/209963>
<rdar://problem/61257504>
Reviewed by Alexey Proskuryakov.
* Configurations/Base.xcconfig:
- Remove ASAN_OTHER_CFLAGS, ASAN_OTHER_CPLUSPLUSFLAGS and
ASAN_OTHER_LDFLAGS.
2020-04-03 youenn fablet <youenn@apple.com>
Remove rtpplay.exe from the libwebrtc source folder
https://bugs.webkit.org/show_bug.cgi?id=209957
Reviewed by Eric Carlson.
* .gitignore:
* Source/webrtc/data/voice_engine/stereo_rtp_files/rtpplay.exe: Removed.
2020-04-03 youenn fablet <youenn@apple.com>
Add initial support for WebRTC HEVC
https://bugs.webkit.org/show_bug.cgi?id=204283
Reviewed by Eric Carlson.
Add H265 packetization/depacketization and ObjC H265 encoder/decoder.
Support is switchable using a boolean given to the decoder/encoder factories.
* Source/webrtc/api/video/video_codec_type.h:
* Source/webrtc/api/video_codecs/video_codec.cc:
* Source/webrtc/api/video_codecs/video_codec.h:
(webrtc::VideoCodecH265::operator!= const):
* Source/webrtc/api/video_codecs/video_encoder.cc:
* Source/webrtc/api/video_codecs/video_encoder.h:
* Source/webrtc/api/video_codecs/video_encoder_config.cc:
* Source/webrtc/api/video_codecs/video_encoder_config.h:
* Source/webrtc/build_overrides/build.gni:
* Source/webrtc/call/rtp_payload_params.cc:
* Source/webrtc/common_video/BUILD.gn:
* Source/webrtc/common_video/h265/h265_common.cc: Added.
* Source/webrtc/common_video/h265/h265_common.h: Added.
* Source/webrtc/common_video/h265/h265_pps_parser.cc: Added.
* Source/webrtc/common_video/h265/h265_pps_parser.h: Added.
* Source/webrtc/common_video/h265/h265_sps_parser.cc: Added.
* Source/webrtc/common_video/h265/h265_sps_parser.h: Added.
* Source/webrtc/common_video/h265/h265_vps_parser.cc: Added.
* Source/webrtc/common_video/h265/h265_vps_parser.h: Added.
* Source/webrtc/media/base/media_constants.cc:
* Source/webrtc/media/base/media_constants.h:
* Source/webrtc/modules/rtp_rtcp/BUILD.gn:
* Source/webrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc:
* Source/webrtc/modules/rtp_rtcp/source/h265_sps_parser.cc: Added.
* Source/webrtc/modules/rtp_rtcp/source/h265_sps_parser.h: Added.
(webrtc::H265SpsParser::width):
(webrtc::H265SpsParser::height):
* Source/webrtc/modules/rtp_rtcp/source/rtp_format.cc:
* Source/webrtc/modules/rtp_rtcp/source/rtp_format_h265.cc: Added.
* Source/webrtc/modules/rtp_rtcp/source/rtp_format_h265.h: Added.
(webrtc::RtpPacketizerH265::Packet::Packet):
(webrtc::RtpPacketizerH265::PacketUnit::PacketUnit):
(webrtc::VideoRtpDepacketizerH265::~VideoRtpDepacketizerH265):
* Source/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc:
* Source/webrtc/modules/rtp_rtcp/source/rtp_video_header.h:
* Source/webrtc/modules/video_coding/BUILD.gn:
* Source/webrtc/modules/video_coding/codecs/h265/include/h265_globals.h: Added.
* Source/webrtc/modules/video_coding/encoded_frame.cc:
* Source/webrtc/modules/video_coding/h265_vps_sps_pps_tracker.cc: Added.
* Source/webrtc/modules/video_coding/h265_vps_sps_pps_tracker.h: Added.
* Source/webrtc/modules/video_coding/include/video_codec_interface.h:
* Source/webrtc/modules/video_coding/jitter_buffer_common.h:
* Source/webrtc/modules/video_coding/packet.cc:
* Source/webrtc/modules/video_coding/packet_buffer.cc:
* Source/webrtc/modules/video_coding/session_info.cc:
* Source/webrtc/modules/video_coding/session_info.h:
* Source/webrtc/rtc_base/experiments/min_video_bitrate_experiment.cc:
* Source/webrtc/sdk/WebKit/WebKitUtilities.h:
* Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
(webrtc::createWebKitEncoderFactory):
(webrtc::createWebKitDecoderFactory):
* Source/webrtc/sdk/objc/components/video_codec/RTCCodecSpecificInfoH265+Private.h: Copied from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.h.
* Source/webrtc/sdk/objc/components/video_codec/RTCCodecSpecificInfoH265.h: Added.
* Source/webrtc/sdk/objc/components/video_codec/RTCCodecSpecificInfoH265.mm: Added.
(-[RTCCodecSpecificInfoH265 nativeCodecSpecificInfo]):
* Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.h:
* Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.m:
(-[RTCDefaultVideoDecoderFactory initWithH265:]):
(-[RTCDefaultVideoDecoderFactory supportedCodecs]):
(-[RTCDefaultVideoDecoderFactory createDecoder:]):
* Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoEncoderFactory.h:
* Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoEncoderFactory.m:
(-[RTCDefaultVideoEncoderFactory initWithH265:]):
(+[RTCDefaultVideoEncoderFactory supportedCodecs]):
(-[RTCDefaultVideoEncoderFactory createEncoder:]):
(-[RTCDefaultVideoEncoderFactory supportedCodecs]):
* Source/webrtc/sdk/objc/components/video_codec/RTCH265ProfileLevelId.h: Copied from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.h.
* Source/webrtc/sdk/objc/components/video_codec/RTCH265ProfileLevelId.mm: Added.
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH265.h: Copied from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.h.
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH265.mm: Added.
(RTCH265FrameDecodeParams::RTCH265FrameDecodeParams):
(h265DecompressionOutputCallback):
(-[RTCVideoDecoderH265 init]):
(-[RTCVideoDecoderH265 dealloc]):
(-[RTCVideoDecoderH265 startDecodeWithNumberOfCores:]):
(-[RTCVideoDecoderH265 decode:missingFrames:codecSpecificInfo:renderTimeMs:]):
(-[RTCVideoDecoderH265 setCallback:]):
(-[RTCVideoDecoderH265 releaseDecoder]):
(-[RTCVideoDecoderH265 resetDecompressionSession]):
(-[RTCVideoDecoderH265 configureDecompressionSession]):
(-[RTCVideoDecoderH265 destroyDecompressionSession]):
(-[RTCVideoDecoderH265 setVideoFormat:]):
(-[RTCVideoDecoderH265 implementationName]):
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH265.h: Copied from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.h.
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH265.mm: Added.
(-[RTCVideoEncoderH265 initWithCodecInfo:]):
(-[RTCVideoEncoderH265 dealloc]):
(-[RTCVideoEncoderH265 startEncodeWithSettings:numberOfCores:]):
(-[RTCVideoEncoderH265 encode:codecSpecificInfo:frameTypes:]):
(-[RTCVideoEncoderH265 setCallback:]):
(-[RTCVideoEncoderH265 setBitrate:framerate:]):
(-[RTCVideoEncoderH265 releaseEncoder]):
(-[RTCVideoEncoderH265 resetCompressionSession]):
(-[RTCVideoEncoderH265 configureCompressionSession]):
(-[RTCVideoEncoderH265 destroyCompressionSession]):
(-[RTCVideoEncoderH265 implementationName]):
(-[RTCVideoEncoderH265 setBitrateBps:]):
(-[RTCVideoEncoderH265 setEncoderBitrateBps:]):
(-[RTCVideoEncoderH265 frameWasEncoded:flags:sampleBuffer:width:height:renderTimeMs:timestamp:rotation:]):
(-[RTCVideoEncoderH265 scalingSettings]):
* Source/webrtc/sdk/objc/components/video_codec/nalu_rewriter.cc:
* Source/webrtc/sdk/objc/components/video_codec/nalu_rewriter.h:
* Source/webrtc/sdk/objc/native/src/objc_video_decoder_factory.mm:
(webrtc::ObjCVideoDecoderFactory::CreateVideoDecoder):
* Source/webrtc/sdk/objc/native/src/objc_video_encoder_factory.mm:
(webrtc::ObjCVideoEncoderFactory::CreateVideoEncoder):
* Source/webrtc/video/rtp_video_stream_receiver.cc:
* Source/webrtc/video/rtp_video_stream_receiver.h:
* Source/webrtc/video/send_statistics_proxy.cc:
* Source/webrtc/video/video_receive_stream.cc:
* Source/webrtc/video/video_stream_encoder.cc:
* libwebrtc.xcodeproj/project.pbxproj:
2020-04-02 Keith Rollin <krollin@apple.com>
Sort libwebrtc Xcode project file
* libwebrtc.xcodeproj/project.pbxproj:
2020-04-02 Simon Fraser <simon.fraser@apple.com>
Build fix after r259385.
Reviewed by David Kilzer, Youenn Fablet.
Convert isStandardFrameSize() into a lambda function since it only has one call site.
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
(-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
(isStandardFrameSize): Deleted.
2020-04-02 Youenn Fablet <youenn@apple.com>
Temporarily restrict kVTVideoEncoderSpecification_RequiredLowLatency use to iOS
https://bugs.webkit.org/show_bug.cgi?id=209902
Reviewed by Eric Carlson.
* Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
Our setup with this key does not work yet on MacOS, disable it for now on MacOS.
2020-04-02 Zan Dobersek <zdobersek@igalia.com>
Unreviewed, fix libwebrtc build with GCC 9 after the M82 bump.
GCC 9 fails to process the FrameGeneratorCapturerConfig::ImageSlides::Crop
class, throwing an error due to the default member initializer for the
`scroll_duration` member being required before the end of the
encapsulating FrameGeneratorCapturerConfig::ImageSlides class.
This can be avoided by default-initializing the
FrameGeneratorCapturerConfig::ImageSlides::Crop member variable instead
of specific members of that class.
Similar fix will be pushed to the upstream repository.
* Source/webrtc/test/frame_generator_capturer.h:
2020-04-01 youenn fablet <youenn@apple.com> and Victor M. Jaquez <vjaquez@igalia.com>
Bump libwebrtc to M82
https://bugs.webkit.org/show_bug.cgi?id=209542
Reviewed by Eric Carlson.
* CMakeLists.txt:
* Source/webrtc: Updated.
* Source/webrtc/audio/utility/channel_mixer.cc: Added cstring.h include.
* Source/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h: Added memoty.h include.
* libwebrtc.xcodeproj/project.pbxproj:
2020-04-01 Youenn Fablet <youenn@apple.com>
Use kVTVideoEncoderSpecification_RequiredLowLatency instead of kVTVideoEncoderList_EncoderID
https://bugs.webkit.org/show_bug.cgi?id=209800
Reviewed by Eric Carlson.
For recent OS versions, disable use of VCP.
Instead, use VTB compression session with kVTVideoEncoderSpecification_RequiredLowLatency set to true.
We keep MacOS code path checking frame size for public builds running on devices without hardware encoders.
* Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
* Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
(-[RTCVideoEncoderH264 encode:codecSpecificInfo:frameTypes:]):
(-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
(isStandardFrameSize): Deleted.
2020-03-27 youenn fablet <youenn@apple.com>
Bump boringssl version to M82
https://bugs.webkit.org/show_bug.cgi?id=209538
Reviewed by Eric Carlson.
* CMakeLists.txt:
* Source/third_party/boringssl: Updated.
* WebKit/0001-Tweaking-boringssl-include-of-internal.h.patch: Removed.
* libwebrtc.xcodeproj/project.pbxproj:
2020-03-26 Alexey Proskuryakov <ap@apple.com>
REGRESSION(r259042): It creates some test failures (Requested by youenn on #webkit).
Roll back the patch.
2020-03-26 youenn fablet <youenn@apple.com>
Bump boringssl version to M82
https://bugs.webkit.org/show_bug.cgi?id=209538
Reviewed by Eric Carlson.
* CMakeLists.txt:
* Source/third_party/boringssl: Updated.
* WebKit/0001-Tweaking-boringssl-include-of-internal.h.patch: Removed.
* libwebrtc.xcodeproj/project.pbxproj:
2020-03-25 youenn fablet <youenn@apple.com>
Bump opus to M82
https://bugs.webkit.org/show_bug.cgi?id=209540
Reviewed by Eric Carlson.
* Source/third_party/opus: Updated.
2020-03-25 youenn fablet <youenn@apple.com>
Bump libyuv to M82
https://bugs.webkit.org/show_bug.cgi?id=209539
Reviewed by Eric Carlson.
* Source/third_party/libyuv: Updated.
2020-03-25 youenn fablet <youenn@apple.com>
Bump rnnoise to M82
https://bugs.webkit.org/show_bug.cgi?id=209541
Reviewed by Eric Carlson.
* CMakeLists.txt:
* Source/third_party/rnnoise: Updated.
* libwebrtc.xcodeproj/project.pbxproj:
2020-03-19 Alex Christensen <achristensen@webkit.org>
Cherry pick usrsctp commit 790a7a2555aefb392a5a69923f1e9d17b4968467
https://bugs.webkit.org/show_bug.cgi?id=209204
<rdar://problem/59362671>
Reviewed by Youenn Fablet.
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_auth.c:
* Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_pcb.c:
2020-03-17 Carlos Alberto Lopez Perez <clopez@igalia.com>
[CMake] libopus 1.1 its enough for building WebKitGTK with ENABLE_WEB_RTC
https://bugs.webkit.org/show_bug.cgi?id=209209
Reviewed by Konstantin Tokarev.
Ubuntu 18.04 ships libopus 1.1.2 which its enough for building with -DENABLE_WEB_RTC=ON
* CMakeLists.txt:
2020-03-13 Konstantin Tokarev <annulen@yandex.ru>
[CMake] Eleminate mismatches between Find* module names and variables they set
https://bugs.webkit.org/show_bug.cgi?id=208948
Reviewed by Michael Catanzaro.
* CMakeLists.txt:
* cmake/FindAlsaLib.cmake:
* cmake/FindLibEvent.cmake:
* cmake/FindLibOpus.cmake: Renamed from Source/ThirdParty/libwebrtc/cmake/FindOpus.cmake.
* cmake/FindLibVpx.cmake: Renamed from Source/ThirdParty/libwebrtc/cmake/FindVpx.cmake.
2020-03-02 Alan Coon <alancoon@apple.com>
Add new Mac target numbers
https://bugs.webkit.org/show_bug.cgi?id=208398
Reviewed by Alexey Proskuryakov.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
* Configurations/WebKitTargetConditionals.xcconfig:
2020-02-09 Keith Rollin <krollin@apple.com>
Re-enable LTO for ARM builds
https://bugs.webkit.org/show_bug.cgi?id=207402
<rdar://problem/49190767>
Reviewed by Sam Weinig.
Bug 190758 re-enabled LTO for Production builds for x86-family CPUs.
Enabling it for ARM was left out due to a compiler issue. That issue
has been fixed, and so now we can re-enable LTO for ARM.
* Configurations/Base.xcconfig:
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