blob: 057b5ba04946884d0cc328911c8e2a1f75644c19 [file] [log] [blame]
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