a56ff68fb4bb5ab35f92a9b21c806491f02600d4
[WebKit-https.git] / Source / ThirdParty / libwebrtc / ChangeLog
1 2020-06-04  Tim Horton  <timothy_horton@apple.com>
2
3         Work around broken system version macro
4         https://bugs.webkit.org/show_bug.cgi?id=212726
5
6         Reviewed by Dan Bernstein.
7
8         * Configurations/DebugRelease.xcconfig:
9
10 2020-06-02  Commit Queue  <commit-queue@webkit.org>
11
12         Unreviewed, reverting r262290.
13         https://bugs.webkit.org/show_bug.cgi?id=212638
14
15         it is not yet ready (Requested by youenn on #webkit).
16
17         Reverted changeset:
18
19         "Enable VTB required low latency code path"
20         https://bugs.webkit.org/show_bug.cgi?id=210609
21         https://trac.webkit.org/changeset/262290
22
23 2020-05-29  Keith Rollin  <krollin@apple.com>
24
25         Revert switch to XCBuild
26         https://bugs.webkit.org/show_bug.cgi?id=212530
27         <rdar://problem/63764632>
28
29         Unreviewed build fix.
30
31         Bug 209890 enabled the use of XCBuild by default. Since then, some
32         build issues have shown up. While addressing them, temporarily turn
33         off the use of XCBuild by default.
34
35         * libwebrtc.xcodeproj/project.pbxproj:
36
37 2020-05-29  Youenn Fablet  <youenn@apple.com>
38
39         Enable VTB required low latency code path
40         https://bugs.webkit.org/show_bug.cgi?id=210609
41         <rdar://problem/61890332>
42
43         Reviewed by Eric Carlson.
44
45         * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
46         * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
47         Declare the new key since it is now in a private header.
48
49 2020-05-26  Keith Rollin  <krollin@apple.com>
50
51         Enable the use of XCBuild by default in Apple builds
52         https://bugs.webkit.org/show_bug.cgi?id=209890
53         <rdar://problem/44182078>
54
55         Reviewed by Darin Adler.
56
57         Switch from the "legacy" Xcode build system to the "new" build system
58         (also known as "XCBuild"). Switching to the new system speeds up
59         builds by a small percentage, better validates projects for
60         build-related issues (such as dependency cycles), lets WebKit benefit
61         from future improvements in XCBuild such as those coming from the
62         underlying llbuild open source project, and prepares us for any other
63         tools built for this new ecosystem.
64
65         Specific changes:
66
67         - Remove Xcode project and workspace settings that selected the Build
68           system, allowing the default to take hold (which is currently the
69           New build system).
70         - Updated webkitdirs.pm with a terser check for Xcode version.
71         - Update build-webkit and Makefile.shared to be explicit when using
72           the old build system (no longer treat it as a default or fall-back
73           configuration).
74         - Update various xcconfig files similarly to treat the default as
75           using the new build system.
76         - Update various post-processing build steps to check for Xcode 11.4
77           and to no longer treat the default as using the old build system.
78
79         * libwebrtc.xcodeproj/project.pbxproj:
80
81 2020-05-13  Jer Noble  <jer.noble@apple.com>
82
83         Replace isNullFunctionPointer with real weak-linking support
84         https://bugs.webkit.org/show_bug.cgi?id=211751
85
86         Reviewed by Sam Weinig.
87
88         * Source/webrtc/sdk/WebKit/WebKitUtilities.h:
89
90 2020-05-11  Saam Barati  <sbarati@apple.com>
91
92         Remove OTHER_CFLAGS="" in libwebrtc pbxproj
93         https://bugs.webkit.org/show_bug.cgi?id=211742
94
95         Reviewed by Darin Adler.
96
97         I believe this was done by accident in a larger patch. If we did indeed
98         want to define OTHER_CFLAGS to be empty, the right place for that is inside
99         the xcconfig files, not the pbxproj files.
100
101         * libwebrtc.xcodeproj/project.pbxproj:
102
103 2020-04-30  Youenn Fablet  <youenn@apple.com>
104
105         Disable low latency encoder on iOS
106         https://bugs.webkit.org/show_bug.cgi?id=211229
107
108         Reviewed by Eric Carlson.
109
110         * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
111         This is not yet fully ready.
112
113 2020-04-15  Jer Noble  <jer.noble@apple.com>
114
115         isNullFunctionPointer() can fail for symbols not explicitly marked as weakly linked.
116         https://bugs.webkit.org/show_bug.cgi?id=210532
117
118         Reviewed by Tim Horton.
119
120         * Source/webrtc/sdk/WebKit/WebKitUtilities.h:
121
122 2020-04-09  Keith Rollin  <krollin@apple.com>
123
124         Set ENTITLEMENTS_REQUIRED=NO for some Xcode build targets
125         https://bugs.webkit.org/show_bug.cgi?id=210250
126         <rdar://problem/61502270>
127
128         Reviewed by Jonathan Bedard.
129
130         When building with the public version of Xcode 11.4, with XCBuild
131         enabled, and targeting the iOS device, some build targets issue an
132         error like:
133
134             error: An empty identity is not valid when signing a binary for
135                 the product type 'Command-line Tool'. (in target 'yasm' from
136                 project 'libwebrtc')
137
138         A comment in <rdar://problem/47092353> suggests setting
139         ENTITLEMENTS_REQUIRED=NO to relax the requirement. To that end, when
140         building with the public Xcode, establish that setting for the
141         affected targets.
142
143         * Configurations/Base.xcconfig:
144
145 2020-04-08  Truitt Savell  <tsavell@apple.com>
146
147         Unreviewed, reverting r259708.
148
149         Broke the iOS device Build
150
151         Reverted changeset:
152
153         "Enable the use of XCBuild by default in Apple builds"
154         https://bugs.webkit.org/show_bug.cgi?id=209890
155         https://trac.webkit.org/changeset/259708
156
157 2020-04-08  Keith Rollin  <krollin@apple.com>
158
159         Enable the use of XCBuild by default in Apple builds
160         https://bugs.webkit.org/show_bug.cgi?id=209890
161         <rdar://problem/44182078>
162
163         Reviewed by Darin Adler.
164
165         Switch from the "legacy" Xcode build system to the "new" build system
166         (also known as "XCBuild"). Switching to the new system speeds up
167         builds by a small percentage, better validates projects for
168         build-related issues (such as dependency cycles), lets WebKit benefit
169         from future improvements in XCBuild such as those coming from the
170         underlying llbuild open source project, and prepares us for any other
171         tools built for this new ecosystem.
172
173         Specific changes:
174
175         - Remove Xcode project and workspace settings that selected the Build
176           system, allowing the default to take hold (which is currently the
177           New build system).
178         - Updated webkitdirs.pm with a terser check for Xcode version.
179         - Update build-webkit and Makefile.shared to be explicit when using
180           the old build system (no longer treat it as a default or fall-back
181           configuration).
182         - Update various xcconfig files similarly to treat the default as
183           using the new build system.
184         - Update various post-processing build steps to check for Xcode 11.4
185           and to no longer treat the default as using the old build system.
186
187         * libwebrtc.xcodeproj/project.pbxproj:
188
189 2020-04-06  youenn fablet  <youenn@apple.com>
190
191         Add HEVC support in GPU Process for WebRTC
192         https://bugs.webkit.org/show_bug.cgi?id=209857
193
194         Reviewed by Eric Carlson.
195
196         * Configurations/libwebrtc.iOS.exp:
197         * Configurations/libwebrtc.iOSsim.exp:
198         * Configurations/libwebrtc.mac.exp:
199         * Source/webrtc/sdk/WebKit/WebKitDecoder.h: Copied from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitUtilities.h.
200         * Source/webrtc/sdk/WebKit/WebKitDecoder.mm: Added.
201         (-[WK_RTCLocalVideoH264H265Decoder initH264DecoderWithCallback:]):
202         (-[WK_RTCLocalVideoH264H265Decoder initH265DecoderWithCallback:]):
203         (-[WK_RTCLocalVideoH264H265Decoder decodeData:size:timeStamp:]):
204         (-[WK_RTCLocalVideoH264H265Decoder releaseDecoder]):
205         (webrtc::videoDecoderCallbacks):
206         (webrtc::setVideoDecoderCallbacks):
207         (webrtc::RemoteVideoDecoder::RemoteVideoDecoder):
208         (webrtc::RemoteVideoDecoder::decodeComplete):
209         (webrtc::RemoteVideoDecoder::InitDecode):
210         (webrtc::RemoteVideoDecoder::Decode):
211         (webrtc::RemoteVideoDecoder::RegisterDecodeCompleteCallback):
212         (webrtc::RemoteVideoDecoder::Release):
213         (webrtc::RemoteVideoDecoderFactory::RemoteVideoDecoderFactory):
214         (webrtc::RemoteVideoDecoderFactory::GetSupportedFormats const):
215         (webrtc::RemoteVideoDecoderFactory::CreateVideoDecoder):
216         (webrtc::createWebKitDecoderFactory):
217         (webrtc::createLocalH264Decoder):
218         (webrtc::createLocalH265Decoder):
219         (webrtc::releaseLocalDecoder):
220         (webrtc::decodeFrame):
221         * Source/webrtc/sdk/WebKit/WebKitEncoder.mm:
222         (-[WK_RTCLocalVideoH264H265Encoder initWithCodecInfo:]):
223         (-[WK_RTCLocalVideoH264H265Encoder setCallback:]):
224         (-[WK_RTCLocalVideoH264H265Encoder releaseEncoder]):
225         (-[WK_RTCLocalVideoH264H265Encoder startEncodeWithSettings:numberOfCores:]):
226         (-[WK_RTCLocalVideoH264H265Encoder encode:codecSpecificInfo:frameTypes:]):
227         (-[WK_RTCLocalVideoH264H265Encoder setBitrate:framerate:]):
228         (webrtc::createLocalEncoder):
229         (webrtc::releaseLocalEncoder):
230         (webrtc::initializeLocalEncoder):
231         (webrtc::encodeLocalEncoderFrame):
232         (webrtc::setLocalEncoderRates):
233         * Source/webrtc/sdk/WebKit/WebKitUtilities.h:
234         (): Deleted.
235         * Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
236         (webrtc::videoDecoderCallbacks): Deleted.
237         (webrtc::setVideoDecoderCallbacks): Deleted.
238         (webrtc::RemoteVideoDecoder::RemoteVideoDecoder): Deleted.
239         (webrtc::RemoteVideoDecoder::decodeComplete): Deleted.
240         (webrtc::RemoteVideoDecoder::InitDecode): Deleted.
241         (webrtc::RemoteVideoDecoder::Decode): Deleted.
242         (webrtc::RemoteVideoDecoder::RegisterDecodeCompleteCallback): Deleted.
243         (webrtc::RemoteVideoDecoder::Release): Deleted.
244         (webrtc::RemoteVideoDecoderFactory::RemoteVideoDecoderFactory): Deleted.
245         (webrtc::RemoteVideoDecoderFactory::GetSupportedFormats const): Deleted.
246         (webrtc::RemoteVideoDecoderFactory::CreateVideoDecoder): Deleted.
247         (webrtc::createWebKitDecoderFactory): Deleted.
248         (webrtc::createLocalDecoder): Deleted.
249         (webrtc::releaseLocalDecoder): Deleted.
250         (webrtc::decodeFrame): Deleted.
251         * Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH265.h:
252         * Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH265.mm:
253         (-[RTCVideoDecoderH265 decode:missingFrames:codecSpecificInfo:renderTimeMs:]):
254         (-[RTCVideoDecoderH265 decodeData:size:timeStamp:]):
255         * libwebrtc.xcodeproj/project.pbxproj:
256
257 2020-04-03  David Kilzer  <ddkilzer@apple.com>
258
259         [Xcode] Replace ASAN_OTHER_CFLAGS and ASAN_OTHER_CPLUSPLUSFLAGS with $(inherited)
260         <https://webkit.org/b/209963>
261         <rdar://problem/61257504>
262
263         Reviewed by Alexey Proskuryakov.
264
265         * Configurations/Base.xcconfig:
266         - Remove ASAN_OTHER_CFLAGS, ASAN_OTHER_CPLUSPLUSFLAGS and
267           ASAN_OTHER_LDFLAGS.
268
269 2020-04-03  youenn fablet  <youenn@apple.com>
270
271         Remove rtpplay.exe from the libwebrtc source folder
272         https://bugs.webkit.org/show_bug.cgi?id=209957
273
274         Reviewed by Eric Carlson.
275
276         * .gitignore:
277         * Source/webrtc/data/voice_engine/stereo_rtp_files/rtpplay.exe: Removed.
278
279 2020-04-03  youenn fablet  <youenn@apple.com>
280
281         Add initial support for WebRTC HEVC
282         https://bugs.webkit.org/show_bug.cgi?id=204283
283
284         Reviewed by Eric Carlson.
285
286         Add H265 packetization/depacketization and ObjC H265 encoder/decoder.
287         Support is switchable using a boolean given to the decoder/encoder factories.
288
289         * Source/webrtc/api/video/video_codec_type.h:
290         * Source/webrtc/api/video_codecs/video_codec.cc:
291         * Source/webrtc/api/video_codecs/video_codec.h:
292         (webrtc::VideoCodecH265::operator!= const):
293         * Source/webrtc/api/video_codecs/video_encoder.cc:
294         * Source/webrtc/api/video_codecs/video_encoder.h:
295         * Source/webrtc/api/video_codecs/video_encoder_config.cc:
296         * Source/webrtc/api/video_codecs/video_encoder_config.h:
297         * Source/webrtc/build_overrides/build.gni:
298         * Source/webrtc/call/rtp_payload_params.cc:
299         * Source/webrtc/common_video/BUILD.gn:
300         * Source/webrtc/common_video/h265/h265_common.cc: Added.
301         * Source/webrtc/common_video/h265/h265_common.h: Added.
302         * Source/webrtc/common_video/h265/h265_pps_parser.cc: Added.
303         * Source/webrtc/common_video/h265/h265_pps_parser.h: Added.
304         * Source/webrtc/common_video/h265/h265_sps_parser.cc: Added.
305         * Source/webrtc/common_video/h265/h265_sps_parser.h: Added.
306         * Source/webrtc/common_video/h265/h265_vps_parser.cc: Added.
307         * Source/webrtc/common_video/h265/h265_vps_parser.h: Added.
308         * Source/webrtc/media/base/media_constants.cc:
309         * Source/webrtc/media/base/media_constants.h:
310         * Source/webrtc/modules/rtp_rtcp/BUILD.gn:
311         * Source/webrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc:
312         * Source/webrtc/modules/rtp_rtcp/source/h265_sps_parser.cc: Added.
313         * Source/webrtc/modules/rtp_rtcp/source/h265_sps_parser.h: Added.
314         (webrtc::H265SpsParser::width):
315         (webrtc::H265SpsParser::height):
316         * Source/webrtc/modules/rtp_rtcp/source/rtp_format.cc:
317         * Source/webrtc/modules/rtp_rtcp/source/rtp_format_h265.cc: Added.
318         * Source/webrtc/modules/rtp_rtcp/source/rtp_format_h265.h: Added.
319         (webrtc::RtpPacketizerH265::Packet::Packet):
320         (webrtc::RtpPacketizerH265::PacketUnit::PacketUnit):
321         (webrtc::VideoRtpDepacketizerH265::~VideoRtpDepacketizerH265):
322         * Source/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc:
323         * Source/webrtc/modules/rtp_rtcp/source/rtp_video_header.h:
324         * Source/webrtc/modules/video_coding/BUILD.gn:
325         * Source/webrtc/modules/video_coding/codecs/h265/include/h265_globals.h: Added.
326         * Source/webrtc/modules/video_coding/encoded_frame.cc:
327         * Source/webrtc/modules/video_coding/h265_vps_sps_pps_tracker.cc: Added.
328         * Source/webrtc/modules/video_coding/h265_vps_sps_pps_tracker.h: Added.
329         * Source/webrtc/modules/video_coding/include/video_codec_interface.h:
330         * Source/webrtc/modules/video_coding/jitter_buffer_common.h:
331         * Source/webrtc/modules/video_coding/packet.cc:
332         * Source/webrtc/modules/video_coding/packet_buffer.cc:
333         * Source/webrtc/modules/video_coding/session_info.cc:
334         * Source/webrtc/modules/video_coding/session_info.h:
335         * Source/webrtc/rtc_base/experiments/min_video_bitrate_experiment.cc:
336         * Source/webrtc/sdk/WebKit/WebKitUtilities.h:
337         * Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
338         (webrtc::createWebKitEncoderFactory):
339         (webrtc::createWebKitDecoderFactory):
340         * Source/webrtc/sdk/objc/components/video_codec/RTCCodecSpecificInfoH265+Private.h: Copied from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.h.
341         * Source/webrtc/sdk/objc/components/video_codec/RTCCodecSpecificInfoH265.h: Added.
342         * Source/webrtc/sdk/objc/components/video_codec/RTCCodecSpecificInfoH265.mm: Added.
343         (-[RTCCodecSpecificInfoH265 nativeCodecSpecificInfo]):
344         * Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.h:
345         * Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.m:
346         (-[RTCDefaultVideoDecoderFactory initWithH265:]):
347         (-[RTCDefaultVideoDecoderFactory supportedCodecs]):
348         (-[RTCDefaultVideoDecoderFactory createDecoder:]):
349         * Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoEncoderFactory.h:
350         * Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoEncoderFactory.m:
351         (-[RTCDefaultVideoEncoderFactory initWithH265:]):
352         (+[RTCDefaultVideoEncoderFactory supportedCodecs]):
353         (-[RTCDefaultVideoEncoderFactory createEncoder:]):
354         (-[RTCDefaultVideoEncoderFactory supportedCodecs]):
355         * Source/webrtc/sdk/objc/components/video_codec/RTCH265ProfileLevelId.h: Copied from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.h.
356         * Source/webrtc/sdk/objc/components/video_codec/RTCH265ProfileLevelId.mm: Added.
357         * Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH265.h: Copied from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.h.
358         * Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH265.mm: Added.
359         (RTCH265FrameDecodeParams::RTCH265FrameDecodeParams):
360         (h265DecompressionOutputCallback):
361         (-[RTCVideoDecoderH265 init]):
362         (-[RTCVideoDecoderH265 dealloc]):
363         (-[RTCVideoDecoderH265 startDecodeWithNumberOfCores:]):
364         (-[RTCVideoDecoderH265 decode:missingFrames:codecSpecificInfo:renderTimeMs:]):
365         (-[RTCVideoDecoderH265 setCallback:]):
366         (-[RTCVideoDecoderH265 releaseDecoder]):
367         (-[RTCVideoDecoderH265 resetDecompressionSession]):
368         (-[RTCVideoDecoderH265 configureDecompressionSession]):
369         (-[RTCVideoDecoderH265 destroyDecompressionSession]):
370         (-[RTCVideoDecoderH265 setVideoFormat:]):
371         (-[RTCVideoDecoderH265 implementationName]):
372         * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH265.h: Copied from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.h.
373         * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH265.mm: Added.
374         (-[RTCVideoEncoderH265 initWithCodecInfo:]):
375         (-[RTCVideoEncoderH265 dealloc]):
376         (-[RTCVideoEncoderH265 startEncodeWithSettings:numberOfCores:]):
377         (-[RTCVideoEncoderH265 encode:codecSpecificInfo:frameTypes:]):
378         (-[RTCVideoEncoderH265 setCallback:]):
379         (-[RTCVideoEncoderH265 setBitrate:framerate:]):
380         (-[RTCVideoEncoderH265 releaseEncoder]):
381         (-[RTCVideoEncoderH265 resetCompressionSession]):
382         (-[RTCVideoEncoderH265 configureCompressionSession]):
383         (-[RTCVideoEncoderH265 destroyCompressionSession]):
384         (-[RTCVideoEncoderH265 implementationName]):
385         (-[RTCVideoEncoderH265 setBitrateBps:]):
386         (-[RTCVideoEncoderH265 setEncoderBitrateBps:]):
387         (-[RTCVideoEncoderH265 frameWasEncoded:flags:sampleBuffer:width:height:renderTimeMs:timestamp:rotation:]):
388         (-[RTCVideoEncoderH265 scalingSettings]):
389         * Source/webrtc/sdk/objc/components/video_codec/nalu_rewriter.cc:
390         * Source/webrtc/sdk/objc/components/video_codec/nalu_rewriter.h:
391         * Source/webrtc/sdk/objc/native/src/objc_video_decoder_factory.mm:
392         (webrtc::ObjCVideoDecoderFactory::CreateVideoDecoder):
393         * Source/webrtc/sdk/objc/native/src/objc_video_encoder_factory.mm:
394         (webrtc::ObjCVideoEncoderFactory::CreateVideoEncoder):
395         * Source/webrtc/video/rtp_video_stream_receiver.cc:
396         * Source/webrtc/video/rtp_video_stream_receiver.h:
397         * Source/webrtc/video/send_statistics_proxy.cc:
398         * Source/webrtc/video/video_receive_stream.cc:
399         * Source/webrtc/video/video_stream_encoder.cc:
400         * libwebrtc.xcodeproj/project.pbxproj:
401
402 2020-04-02  Keith Rollin  <krollin@apple.com>
403
404         Sort libwebrtc Xcode project file
405
406         * libwebrtc.xcodeproj/project.pbxproj:
407
408 2020-04-02  Simon Fraser  <simon.fraser@apple.com>
409
410         Build fix after r259385.
411
412         Reviewed by David Kilzer, Youenn Fablet.
413
414         Convert isStandardFrameSize() into a lambda function since it only has one call site.
415
416         * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
417         (-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
418         (isStandardFrameSize): Deleted.
419
420 2020-04-02  Youenn Fablet  <youenn@apple.com>
421
422         Temporarily restrict kVTVideoEncoderSpecification_RequiredLowLatency use to iOS
423         https://bugs.webkit.org/show_bug.cgi?id=209902
424
425         Reviewed by Eric Carlson.
426
427         * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
428         Our setup with this key does not work yet on MacOS, disable it for now on MacOS.
429
430 2020-04-02  Zan Dobersek  <zdobersek@igalia.com>
431
432         Unreviewed, fix libwebrtc build with GCC 9 after the M82 bump.
433
434         GCC 9 fails to process the FrameGeneratorCapturerConfig::ImageSlides::Crop
435         class, throwing an error due to the default member initializer for the
436         `scroll_duration` member being required before the end of the
437         encapsulating FrameGeneratorCapturerConfig::ImageSlides class.
438
439         This can be avoided by default-initializing the
440         FrameGeneratorCapturerConfig::ImageSlides::Crop member variable instead
441         of specific members of that class.
442
443         Similar fix will be pushed to the upstream repository.
444
445         * Source/webrtc/test/frame_generator_capturer.h:
446
447 2020-04-01  youenn fablet  <youenn@apple.com> and Victor M. Jaquez <vjaquez@igalia.com>
448
449         Bump libwebrtc to M82
450         https://bugs.webkit.org/show_bug.cgi?id=209542
451
452         Reviewed by Eric Carlson.
453
454         * CMakeLists.txt:
455         * Source/webrtc: Updated.
456         * Source/webrtc/audio/utility/channel_mixer.cc: Added cstring.h include.
457         * Source/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h: Added memoty.h include.
458         * libwebrtc.xcodeproj/project.pbxproj:
459
460 2020-04-01  Youenn Fablet  <youenn@apple.com>
461
462         Use kVTVideoEncoderSpecification_RequiredLowLatency instead of kVTVideoEncoderList_EncoderID
463         https://bugs.webkit.org/show_bug.cgi?id=209800
464
465         Reviewed by Eric Carlson.
466
467         For recent OS versions, disable use of VCP.
468         Instead, use VTB compression session with kVTVideoEncoderSpecification_RequiredLowLatency set to true.
469         We keep MacOS code path checking frame size for public builds running on devices without hardware encoders.
470
471         * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
472         * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
473         (-[RTCVideoEncoderH264 encode:codecSpecificInfo:frameTypes:]):
474         (-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
475         (isStandardFrameSize): Deleted.
476
477 2020-03-27  youenn fablet  <youenn@apple.com>
478
479         Bump boringssl version to M82
480         https://bugs.webkit.org/show_bug.cgi?id=209538
481
482         Reviewed by Eric Carlson.
483
484         * CMakeLists.txt:
485         * Source/third_party/boringssl: Updated.
486         * WebKit/0001-Tweaking-boringssl-include-of-internal.h.patch: Removed.
487         * libwebrtc.xcodeproj/project.pbxproj:
488
489 2020-03-26  Alexey Proskuryakov  <ap@apple.com>
490
491         REGRESSION(r259042): It creates some test failures (Requested by youenn on #webkit).
492         Roll back the patch.
493
494 2020-03-26  youenn fablet  <youenn@apple.com>
495
496         Bump boringssl version to M82
497         https://bugs.webkit.org/show_bug.cgi?id=209538
498
499         Reviewed by Eric Carlson.
500
501         * CMakeLists.txt:
502         * Source/third_party/boringssl: Updated.
503         * WebKit/0001-Tweaking-boringssl-include-of-internal.h.patch: Removed.
504         * libwebrtc.xcodeproj/project.pbxproj:
505
506 2020-03-25  youenn fablet  <youenn@apple.com>
507
508         Bump opus to M82
509         https://bugs.webkit.org/show_bug.cgi?id=209540
510
511         Reviewed by Eric Carlson.
512
513         * Source/third_party/opus: Updated.
514
515 2020-03-25  youenn fablet  <youenn@apple.com>
516
517         Bump libyuv to M82
518         https://bugs.webkit.org/show_bug.cgi?id=209539
519
520         Reviewed by Eric Carlson.
521
522         * Source/third_party/libyuv: Updated.
523
524 2020-03-25  youenn fablet  <youenn@apple.com>
525
526         Bump rnnoise to M82
527         https://bugs.webkit.org/show_bug.cgi?id=209541
528
529         Reviewed by Eric Carlson.
530
531         * CMakeLists.txt:
532         * Source/third_party/rnnoise: Updated.
533         * libwebrtc.xcodeproj/project.pbxproj:
534
535 2020-03-19  Alex Christensen  <achristensen@webkit.org>
536
537         Cherry pick usrsctp commit 790a7a2555aefb392a5a69923f1e9d17b4968467
538         https://bugs.webkit.org/show_bug.cgi?id=209204
539         <rdar://problem/59362671>
540
541         Reviewed by Youenn Fablet.
542
543         * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_auth.c:
544         * Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_pcb.c:
545
546 2020-03-17  Carlos Alberto Lopez Perez  <clopez@igalia.com>
547
548         [CMake] libopus 1.1 its enough for building WebKitGTK with ENABLE_WEB_RTC
549         https://bugs.webkit.org/show_bug.cgi?id=209209
550
551         Reviewed by Konstantin Tokarev.
552
553         Ubuntu 18.04 ships libopus 1.1.2 which its enough for building with -DENABLE_WEB_RTC=ON
554
555         * CMakeLists.txt:
556
557 2020-03-13  Konstantin Tokarev  <annulen@yandex.ru>
558
559         [CMake] Eleminate mismatches between Find* module names and variables they set
560         https://bugs.webkit.org/show_bug.cgi?id=208948
561
562         Reviewed by Michael Catanzaro.
563
564         * CMakeLists.txt:
565         * cmake/FindAlsaLib.cmake:
566         * cmake/FindLibEvent.cmake:
567         * cmake/FindLibOpus.cmake: Renamed from Source/ThirdParty/libwebrtc/cmake/FindOpus.cmake.
568         * cmake/FindLibVpx.cmake: Renamed from Source/ThirdParty/libwebrtc/cmake/FindVpx.cmake.
569
570 2020-03-02  Alan Coon  <alancoon@apple.com>
571
572         Add new Mac target numbers
573         https://bugs.webkit.org/show_bug.cgi?id=208398
574
575         Reviewed by Alexey Proskuryakov.
576
577         * Configurations/Base.xcconfig:
578         * Configurations/DebugRelease.xcconfig:
579         * Configurations/Version.xcconfig:
580         * Configurations/WebKitTargetConditionals.xcconfig:
581
582 2020-02-09  Keith Rollin  <krollin@apple.com>
583
584         Re-enable LTO for ARM builds
585         https://bugs.webkit.org/show_bug.cgi?id=207402
586         <rdar://problem/49190767>
587
588         Reviewed by Sam Weinig.
589
590         Bug 190758 re-enabled LTO for Production builds for x86-family CPUs.
591         Enabling it for ARM was left out due to a compiler issue. That issue
592         has been fixed, and so now we can re-enable LTO for ARM.
593
594         * Configurations/Base.xcconfig:
595
596 2020-02-03  youenn fablet  <youenn@apple.com>
597
598         Make sure RTCVideoEncoderH264 generate a keyframe even if the frame that was supposed to be a key frame was dropped
599         https://bugs.webkit.org/show_bug.cgi?id=207108
600
601         Reviewed by Eric Carlson.
602
603         Add a parameter telling whether a frame to be encoded should be a key frame.
604         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.
605         This ensures that keyframe sending is not delayed in case encoding is dropping or failing to encode frames.
606
607         * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
608         (-[RTCVideoEncoderH264 initWithCodecInfo:]):
609         (-[RTCVideoEncoderH264 encode:codecSpecificInfo:frameTypes:]):
610         (-[RTCVideoEncoderH264 frameWasEncoded:flags:sampleBuffer:codecSpecificInfo:width:height:renderTimeMs:timestamp:rotation:isKeyFrameRequired:]):
611
612 2020-01-20  youenn fablet  <youenn@apple.com>
613
614         Setting kVTCompressionPropertyKey_DataRateLimits on RTCVideoEncoderH264 fails
615         https://bugs.webkit.org/show_bug.cgi?id=206402
616
617         Reviewed by Eric Carlson.
618
619         Add helper routine dedicated to setting VTB/VCP array value properties.
620         Logging shows the bitrate is then set appropriately.
621
622         * Source/webrtc/sdk/objc/components/video_codec/helpers.cc:
623         * Source/webrtc/sdk/objc/components/video_codec/helpers.h:
624
625 2020-01-06  youenn fablet  <youenn@apple.com>
626
627         Implement RTC VTB encoders in GPUProcess
628         https://bugs.webkit.org/show_bug.cgi?id=205713
629
630         Reviewed by Eric Carlson.
631
632         Add support for remote video encoders created and used through simple routines.
633         Add factory to create video encoders implemented elsewhere than in WebRTC backend.
634         This is used for H264 encoders.
635
636         * Configurations/libwebrtc.iOS.exp:
637         * Configurations/libwebrtc.iOSsim.exp:
638         * Configurations/libwebrtc.mac.exp:
639         * Source/webrtc/sdk/WebKit/WebKitEncoder.h: Added.
640         (webrtc::WebKitRTPFragmentationHeader::value):
641         (webrtc::WebKitEncodedFrameInfo::decode):
642         (webrtc::WebKitEncodedFrameInfo::encode const):
643         (webrtc::WebKitRTPFragmentationHeader::WebKitRTPFragmentationHeader):
644         (webrtc::WebKitRTPFragmentationHeader::encode const):
645         (webrtc::WebKitRTPFragmentationHeader::decode):
646         * Source/webrtc/sdk/WebKit/WebKitEncoder.mm: Added.
647         (webrtc::VideoEncoderFactoryWithSimulcast::CreateVideoEncoder):
648         (webrtc::videoEncoderCallbacks):
649         (webrtc::setVideoEncoderCallbacks):
650         (webrtc::RemoteVideoEncoder::RemoteVideoEncoder):
651         (webrtc::RemoteVideoEncoder::InitEncode):
652         (webrtc::RemoteVideoEncoder::Release):
653         (webrtc::RemoteVideoEncoder::Encode):
654         (webrtc::RemoteVideoEncoder::SetRates):
655         (webrtc::RemoteVideoEncoder::GetEncoderInfo const):
656         (webrtc::RemoteVideoEncoder::RegisterEncodeCompleteCallback):
657         (webrtc::RemoteVideoEncoder::encodeComplete):
658         (webrtc::createLocalEncoder):
659         (webrtc::releaseLocalEncoder):
660         (webrtc::initializeLocalEncoder):
661         (webrtc::encodeLocalEncoderFrame):
662         (webrtc::setLocalEncoderRates):
663         * Source/webrtc/sdk/WebKit/WebKitUtilities.h:
664         * Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
665         * libwebrtc.xcodeproj/project.pbxproj:
666
667 2020-01-01  youenn fablet  <youenn@apple.com>
668
669         Implement transceiver setCodecPreferences
670         https://bugs.webkit.org/show_bug.cgi?id=190840
671         <rdar://problem/45496326>
672
673         Reviewed by Eric Carlson.
674
675         * Configurations/libwebrtc.iOS.exp:
676         * Configurations/libwebrtc.iOSsim.exp:
677         * Configurations/libwebrtc.mac.exp:
678
679 2019-12-31  youenn fablet  <youenn@apple.com>
680
681         Implement RTC VTB decoders in GPUProcess
682         https://bugs.webkit.org/show_bug.cgi?id=205607
683
684         Reviewed by Eric Carlson.
685
686         Expose remote decoder abilities with C like functions.
687         This allows WebProcess to implement IPC-based decoders.
688         Expose VTB H264 decoder as C like functions.
689         This allows GPU process to instantiate wasily H2664 decoders.
690
691         * Configurations/libwebrtc.iOS.exp:
692         * Configurations/libwebrtc.iOSsim.exp:
693         * Configurations/libwebrtc.mac.exp:
694         * Source/webrtc/sdk/WebKit/WebKitUtilities.h:
695         * Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
696         (webrtc::videoDecoderCallbacks):
697         (webrtc::setVideoDecoderCallbacks):
698         (webrtc::RemoteVideoDecoder::RemoteVideoDecoder):
699         (webrtc::RemoteVideoDecoder::decodeComplete):
700         (webrtc::RemoteVideoDecoder::InitDecode):
701         (webrtc::RemoteVideoDecoder::Decode):
702         (webrtc::RemoteVideoDecoder::RegisterDecodeCompleteCallback):
703         (webrtc::RemoteVideoDecoder::Release):
704         (webrtc::RemoteVideoDecoderFactory::RemoteVideoDecoderFactory):
705         (webrtc::RemoteVideoDecoderFactory::GetSupportedFormats const):
706         (webrtc::RemoteVideoDecoderFactory::CreateVideoDecoder):
707         (webrtc::createWebKitDecoderFactory):
708         (webrtc::createLocalDecoder):
709         (webrtc::releaseLocalDecoder):
710         (webrtc::decodeFrame):
711         * Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH264.h:
712         * Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH264.mm:
713         (-[RTCVideoDecoderH264 decode:missingFrames:codecSpecificInfo:renderTimeMs:]):
714         (-[RTCVideoDecoderH264 decodeData:size:timeStamp:]):
715
716 2019-12-30  youenn fablet  <youenn@apple.com>
717
718         Do not build yasm for iOS and iOS simulator
719         https://bugs.webkit.org/show_bug.cgi?id=205556
720         <rdar://problem/58159497>
721
722         Reviewed by Eric Carlson.
723
724         We want to stop compiling yasm for iOS/iOS simulator but we do not have a good way to do so right now.
725         Instead, compile a dummy main_noop.c for iOS/iOS simulator and build the executable with it.
726         This executable wil anyway not be used on these platforms.
727
728         * Configurations/yasm.xcconfig:
729         * Source/third_party/yasm/main_noop.c: Added.
730         (main):
731         * libwebrtc.xcodeproj/project.pbxproj:
732
733 2019-12-23  Commit Queue  <commit-queue@webkit.org>
734
735         Unreviewed, rolling out r253884.
736         https://bugs.webkit.org/show_bug.cgi?id=205565
737
738         Broke production builds (Requested by ap on #webkit).
739
740         Reverted changeset:
741
742         "Do not build yasm for iOS and iOS simulator"
743         https://bugs.webkit.org/show_bug.cgi?id=205556
744         https://trac.webkit.org/changeset/253884
745
746 2019-12-23  youenn fablet  <youenn@apple.com>
747
748         Do not build yasm for iOS and iOS simulator
749         https://bugs.webkit.org/show_bug.cgi?id=205556
750         <rdar://problem/58159497>
751
752         Reviewed by Eric Carlson.
753
754         Now that we no longer need yasm for iOS simulator, we can stop building it for iOS and iOS simulator.
755         We can also remove the hack to run yasm.
756
757         * Configurations/yasm.xcconfig:
758         * libwebrtc.xcodeproj/project.pbxproj:
759
760 2019-12-22  youenn fablet  <youenn@apple.com>
761
762         Compile libwebrtc without hardware acceleration for iOS simulator
763         https://bugs.webkit.org/show_bug.cgi?id=205491
764
765         Reviewed by Alex Christensen.
766
767         Use c routines instead of optimized versions for iOS simulator.
768
769         * Configurations/libvpx.xcconfig:
770         * Source/third_party/libvpx/source/config/mac/x64/vp8_rtcd.h:
771         * 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.
772         * Source/third_party/libvpx/source/config/mac/x64/vpx_config.h:
773         * Source/third_party/libvpx/source/config/mac/x64/vpx_dsp_rtcd.h:
774         * 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.
775         * Source/third_party/libvpx/source/libvpx/vpx_ports/system_state.h:
776         * libwebrtc.xcodeproj/project.pbxproj:
777
778 2019-12-08  youenn fablet  <youenn@apple.com>
779
780         Add more logging to physical socket server when a socket file descriptor is invalid
781         https://bugs.webkit.org/show_bug.cgi?id=204948
782
783         Reviewed by Darin Adler.
784
785         * Source/webrtc/rtc_base/physical_socket_server.cc:
786
787 2019-11-15  Philippe Normand  <pnormand@igalia.com>
788
789         Unreviewed, GTK/WPE Debug build fix after r252472.
790
791         * CMakeLists.txt:
792
793 2019-11-07  Youenn Fablet  <youenn@apple.com> and Thibault Saunier <tsaunier@igalia.com>
794
795         Update libwebrtc to M78
796         https://bugs.webkit.org/show_bug.cgi?id=203897
797
798         Reviewed by Eric Carlson.
799
800         * webrtc: Updated
801
802 2019-11-04  Youenn Fablet  <youenn@apple.com>
803
804         Update libwebrtc third-party boringssl to M78
805         https://bugs.webkit.org/show_bug.cgi?id=202731
806
807         Reviewed by Alex Christensen.
808
809         * CMakeLists.txt:
810         * Source/third_party/boringssl: Updated.
811         * libwebrtc.xcodeproj/project.pbxproj:
812
813 2019-11-04  youenn fablet  <youenn@apple.com>
814
815         Unreviewed.
816         Revert https://trac.webkit.org/changeset/251980 since commit queue actually succeeded to land it previously.
817
818         * Source/third_party/yasm-1.3.0: removed.
819
820 2019-11-04  youenn fablet  <youenn@apple.com>
821
822         Rename yasm-1.3.0 folder to yasm
823         https://bugs.webkit.org/show_bug.cgi?id=202725
824
825         Reviewed by Eric Carlson.
826
827         To align with upstream repository.
828
829         * Configurations/yasm.xcconfig:
830         * Source/third_party/yasm: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/yasm-1.3.0.
831         * libwebrtc.xcodeproj/project.pbxproj:
832
833 2019-10-18  youenn fablet  <youenn@apple.com>
834
835         Update libwebrtc third-party abseilcpp to M78
836         https://bugs.webkit.org/show_bug.cgi?id=202726
837         <rdar://problem/56147823>
838
839         Unreviewed.
840
841         * Source/third_party/abseil-cpp/absl/strings/string_view.h:
842         (absl::string_view::CheckLengthInternal):
843         Build fix for debug bots.
844
845 2019-10-17  Youenn Fablet  <youenn@apple.com>
846
847         Add libwebrtc third-party pfft
848         https://bugs.webkit.org/show_bug.cgi?id=202733
849
850         Reviewed by Eric Carlson.
851
852         Initial check-in of pfft which is now used in libwebrtc.
853
854         * Source/third_party/pffft: Added.
855
856 2019-10-10  Youenn Fablet  <youenn@apple.com>
857
858         Update libwebrtc third-party jsoncpp to M78
859         https://bugs.webkit.org/show_bug.cgi?id=202729
860
861         Reviewed by Eric Carlson.
862
863         * Source/third_party/jsoncpp: Updated.
864
865 2019-10-10  youenn fablet  <youenn@apple.com>
866
867         Rename yasm-1.3.0 folder to yasm
868         https://bugs.webkit.org/show_bug.cgi?id=202725
869
870         Reviewed by Eric Carlson.
871
872         To align with upstream repository.
873
874         * Configurations/yasm.xcconfig:
875         * Source/third_party/yasm: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/yasm-1.3.0.
876         * libwebrtc.xcodeproj/project.pbxproj:
877
878 2019-10-10  Youenn Fablet  <youenn@apple.com>
879
880         Update libwebrtc third-party abseilcpp to M78
881         https://bugs.webkit.org/show_bug.cgi?id=202726
882
883         Reviewed by Alex Christensen.
884
885         * CMakeLists.txt: Remove optional.cc.
886         * Source/third_party/abseil-cpp: Updated.
887         * libwebrtc.xcodeproj/project.pbxproj: Remove optional.cc.
888
889 2019-10-10  Youenn Fablet  <youenn@apple.com>
890
891         Update libwebrtc third-party opus to M78
892         https://bugs.webkit.org/show_bug.cgi?id=202728
893
894         Reviewed by Alex Christensen.
895
896         * Source/third_party/opus: Updated.
897
898 2019-10-10  Youenn Fablet  <youenn@apple.com>
899
900         Update libwebrtc third-arty libyuv to M78
901         https://bugs.webkit.org/show_bug.cgi?id=202727
902
903         Reviewed by Alex Christensen.
904
905         libyuv
906
907         * Source/third_party/libyuv: Updated.
908
909 2019-10-04  youenn fablet  <youenn@apple.com>
910
911         Allow to suspend RTCPeerConnection when not connected
912         https://bugs.webkit.org/show_bug.cgi?id=202403
913
914         Reviewed by Chris Dumez.
915
916         Export rtc::TimeMillis()
917
918         * Configurations/libwebrtc.iOS.exp:
919         * Configurations/libwebrtc.iOSsim.exp:
920         * Configurations/libwebrtc.mac.exp:
921
922 2019-09-11  Youenn Fablet  <youenn@apple.com>
923
924         Disable DTLS1.0
925         https://bugs.webkit.org/show_bug.cgi?id=201679
926
927         Reviewed by Alex Christensen.
928
929         * Source/webrtc/rtc_base/opensslstreamadapter.cc:
930         Set minimum version to DTLS1.2 when DTLS1.2 is supported.
931         This makes sure any client will never downgrade to DTLS1.0.
932
933 2019-08-29  Keith Rollin  <krollin@apple.com>
934
935         Update .xcconfig symbols to reflect the current set of past and future product versions.
936         https://bugs.webkit.org/show_bug.cgi?id=200720
937         <rdar://problem/54305032>
938
939         Reviewed by Alex Christensen.
940
941         Remove version symbols related to old OS's we no longer support,
942         ensure that version symbols are defined for OS's we do support.
943
944         * Configurations/Base.xcconfig:
945         * Configurations/DebugRelease.xcconfig:
946         * Configurations/Version.xcconfig:
947
948 2019-08-29  Keith Rollin  <krollin@apple.com>
949
950         Remove support for macOS < 10.13 (part 3)
951         https://bugs.webkit.org/show_bug.cgi?id=201224
952         <rdar://problem/54795934>
953
954         Reviewed by Darin Adler.
955
956         Remove symbols in WebKitTargetConditionals.xcconfig related to macOS
957         10.13, including WK_MACOS_1013 and WK_MACOS_BEFORE_1013, and suffixes
958         like _MACOS_SINCE_1013.
959
960         * Configurations/WebKitTargetConditionals.xcconfig:
961
962 2019-08-15  Youenn Fablet  <youenn@apple.com>
963
964         Make mock libwebrtc tests run with unified plan
965         https://bugs.webkit.org/show_bug.cgi?id=200713
966
967         Reviewed by Alex Christensen.
968
969         * Configurations/libwebrtc.iOS.exp:
970         * Configurations/libwebrtc.iOSsim.exp:
971         * Configurations/libwebrtc.mac.exp:
972
973 2019-08-14  Keith Rollin  <krollin@apple.com>
974
975         Remove support for macOS < 10.13
976         https://bugs.webkit.org/show_bug.cgi?id=200694
977         <rdar://problem/54278851>
978
979         Reviewed by Youenn Fablet.
980
981         Update conditionals that reference __MAC_OS_X_VERSION_MIN_REQUIRED and
982         __MAC_OS_X_VERSION_MAX_ALLOWED, assuming that they both have values >=
983         101300. This means that expressions like
984         "__MAC_OS_X_VERSION_MIN_REQUIRED < 101300" are always False and
985         "__MAC_OS_X_VERSION_MIN_REQUIRED >= 101300" are always True.
986
987         * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
988         * WebKit/libwebrtc.diff:
989
990 2019-08-13  Youenn Fablet  <youenn@apple.com>
991
992         User Agent and SessionID should be given to NetworkRTCProvider to set up the correct proxy information
993         https://bugs.webkit.org/show_bug.cgi?id=200583
994
995         Reviewed by Eric Carlson.
996
997         Export of some symbols.
998
999         * Configurations/libwebrtc.iOS.exp:
1000         * Configurations/libwebrtc.iOSsim.exp:
1001         * Configurations/libwebrtc.mac.exp:
1002
1003 2019-08-02  Youenn Fablet  <youenn@apple.com>
1004
1005         Add build check for libwebrtc ObjectiveC names
1006         https://bugs.webkit.org/show_bug.cgi?id=200365
1007
1008         Reviewed by Eric Carlson.
1009
1010         Only allow ObjectiveC names starting with WK_RTC.
1011
1012         * libwebrtc.xcodeproj/project.pbxproj:
1013
1014 2019-08-02  Commit Queue  <commit-queue@webkit.org>
1015
1016         Unreviewed, rolling out r248156.
1017         https://bugs.webkit.org/show_bug.cgi?id=200393
1018
1019         It broke internal bots (Requested by youenn on #webkit).
1020
1021         Reverted changeset:
1022
1023         "Add build check for libwebrtc ObjectiveC names"
1024         https://bugs.webkit.org/show_bug.cgi?id=200365
1025         https://trac.webkit.org/changeset/248156
1026
1027 2019-08-02  Youenn Fablet  <youenn@apple.com>
1028
1029         Add build check for libwebrtc ObjectiveC names
1030         https://bugs.webkit.org/show_bug.cgi?id=200365
1031
1032         Reviewed by Eric Carlson.
1033
1034         Only allow ObjectiveC names starting with WK_RTC.
1035
1036         * libwebrtc.xcodeproj/project.pbxproj:
1037
1038 2019-08-01  Loïc Yhuel  <loic.yhuel@softathome.com>
1039
1040         Fix libwebrtc build with Linux 5.2 headers
1041         https://bugs.webkit.org/show_bug.cgi?id=200342
1042
1043         Reviewed by Eric Carlson.
1044
1045         We need to include linux/sockios.h for SIOCGSTAMP.
1046         Take upstream fix from https://bugs.chromium.org/p/webrtc/issues/detail?id=10677.
1047
1048         * Source/webrtc/rtc_base/physicalsocketserver.cc:
1049
1050 2019-07-31  Youenn Fablet  <youenn@apple.com>
1051
1052         ObjC RTCCVPixelBuffer should be prefixed to not conflict with other apps
1053         https://bugs.webkit.org/show_bug.cgi?id=200289
1054         <rdar://problem/49554670>
1055
1056         Reviewed by Darin Adler.
1057
1058         * Source/webrtc/sdk/objc/components/video_frame_buffer/RTCCVPixelBuffer.h:
1059
1060 2019-07-17  Youenn Fablet  <youenn@apple.com>
1061
1062         Use VCP SPI in case creation of a compression session with VTB for 'h264.rtvc' fails
1063         https://bugs.webkit.org/show_bug.cgi?id=199863
1064         <rdar://problem/52922217>
1065
1066         Reviewed by Darin Adler.
1067
1068         Calling VTCompressionSessionCreate with kVTVideoEncoderList_EncoderID "com.apple.videotoolbox.videoencoder.h264.rtvc"
1069         fails on some platforms. In such a case, use VCP SPI if available as a fallback.
1070         Covered by exisiting webrtc tests on these specific platforms.
1071
1072         * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
1073         (-[RTCSingleVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
1074
1075 2019-07-15  Youenn Fablet  <youenn@apple.com>
1076
1077         Enable a debug WebRTC mode without any encryption
1078         https://bugs.webkit.org/show_bug.cgi?id=199177
1079         <rdar://problem/52074986>
1080
1081         Reviewed by Eric Carlson.
1082
1083         * Configurations/libwebrtc.iOS.exp:
1084         * Configurations/libwebrtc.iOSsim.exp:
1085         * Configurations/libwebrtc.mac.exp:
1086
1087 2019-06-28  Dean Jackson  <dino@apple.com>
1088
1089         unable to build WebRTC for iOS Simulator
1090         https://bugs.webkit.org/show_bug.cgi?id=199337
1091         <rdar://problem/52020841>
1092
1093         Reviewed by Tim Horton.
1094
1095         Run the compiled yasm with DYLD_ROOT_PATH=/
1096         in order to convince dyld that it can load
1097         the simulator binary on macOS.
1098
1099         * libwebrtc.xcodeproj/project.pbxproj:
1100
1101 2019-06-27  Beth Dakin  <bdakin@apple.com>
1102
1103         Upstream use of MACCATALYST
1104         https://bugs.webkit.org/show_bug.cgi?id=199245
1105         rdar://problem/51687723
1106
1107         Reviewed by Tim Horton.
1108
1109         * Configurations/SDKVariant.xcconfig:
1110
1111 2019-06-25  Youenn Fablet  <youenn@apple.com>
1112
1113         Close sockets with too high file descriptor
1114         https://bugs.webkit.org/show_bug.cgi?id=199116
1115
1116         Reviewed by Eric Carlson.
1117
1118         * Source/webrtc/rtc_base/physicalsocketserver.cc:
1119         * WebKit/0001-Close-sockets-with-file-descriptors-above-FD_SETSIZE.patch: Added.
1120
1121 2019-06-21  Youenn Fablet  <youenn@apple.com>
1122
1123         Make sure to check for file descriptor value before using FD_CLR
1124         https://bugs.webkit.org/show_bug.cgi?id=199097
1125         <rdar://problem/51479074>
1126
1127         Reviewed by Eric Carlson.
1128
1129         * Source/webrtc/rtc_base/physicalsocketserver.cc:
1130         * WebKit/0001-fix-fd-clr.patch: Added.
1131
1132 2019-06-12  Youenn Fablet  <youenn@apple.com>
1133
1134         Make sure libwebrtc ObjC codec interfaces do not conflict
1135         https://bugs.webkit.org/show_bug.cgi?id=198782
1136         <rdar://problem/51503247>
1137
1138         Reviewed by Eric Carlson.
1139
1140         Rename some ObjC interfaces that we are now using in libwebrtc.
1141
1142         * Source/webrtc/sdk/objc/api/video_codec/RTCVideoDecoderVP8.h:
1143         * Source/webrtc/sdk/objc/api/video_codec/RTCWrappedNativeVideoDecoder.h:
1144         * Source/webrtc/sdk/objc/api/video_codec/RTCWrappedNativeVideoEncoder.h:
1145         * libwebrtc.xcodeproj/project.pbxproj:
1146
1147 2019-06-10  Youenn Fablet  <youenn@apple.com>
1148
1149         Call was negotiated with H264 Base Profile 42e01f but encoded in High Profile
1150         https://bugs.webkit.org/show_bug.cgi?id=195124
1151         <rdar://problem/48453085>
1152
1153         Reviewed by Eric Carlson.
1154
1155         Use VTB directly instead of VCP when baseline is requested.
1156         For platforms supporting the VCP-in-VTB API, use VCP for high profile, VTB for baseline.
1157         For platforms not supporting the VCP-in-VTB API, use regular VTB for both baseline and high profile.
1158         On MacOS, if VTB session creation fails, use VCP as a fallback.
1159         Keep VTB-only code path for non internal builds.
1160
1161         * Source/webrtc/sdk/WebKit/EncoderUtilities.h: Removed.
1162         * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
1163         * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
1164         (-[RTCSingleVideoEncoderH264 initWithCodecInfo:simulcastIndex:]):
1165         (-[RTCSingleVideoEncoderH264 hasCompressionSession]):
1166         (-[RTCSingleVideoEncoderH264 encode:codecSpecificInfo:frameTypes:]):
1167         (-[RTCSingleVideoEncoderH264 resetCompressionSessionIfNeededWithFrame:]):
1168         (-[RTCSingleVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
1169         (-[RTCSingleVideoEncoderH264 configureCompressionSession]):
1170         (-[RTCSingleVideoEncoderH264 destroyCompressionSession]):
1171         (-[RTCSingleVideoEncoderH264 setEncoderBitrateBps:]):
1172         * Source/webrtc/sdk/objc/components/video_codec/helpers.cc:
1173         * Source/webrtc/sdk/objc/components/video_codec/helpers.h:
1174
1175 2019-05-28  Youenn Fablet  <youenn@apple.com>
1176
1177         createAnswer() SDP Rejected by setLocalDescription()
1178         https://bugs.webkit.org/show_bug.cgi?id=195930
1179         <rdar://problem/49030489>
1180
1181         Reviewed by Eric Carlson.
1182
1183         Make sure to check packetization mode parameter when matching H264 video codec.
1184
1185         * Source/webrtc/media/base/codec.cc:
1186         * WebKit/0001-fix-195930.patch: Added.
1187
1188 2019-05-09  Andy Estes  <aestes@apple.com>
1189
1190         Fix 32-bit watchOS engineering builds after r244726.
1191
1192         Unreviewed.
1193
1194         * Configurations/DebugRelease.xcconfig:
1195
1196 2019-05-03  Youenn Fablet  <youenn@apple.com>
1197
1198         Do not require log_to_stderr for WebRTC logging through WebKit
1199         https://bugs.webkit.org/show_bug.cgi?id=197560
1200
1201         Reviewed by Eric Carlson.
1202
1203         * Source/webrtc/rtc_base/logging.cc:
1204
1205 2019-04-29  Alex Christensen  <achristensen@webkit.org>
1206
1207         <rdar://problem/50299396> Fix internal High Sierra build
1208         https://bugs.webkit.org/show_bug.cgi?id=197388
1209
1210         * Configurations/Base.xcconfig:
1211
1212 2019-04-28  Andy Estes  <aestes@apple.com>
1213
1214         Fix the watchOS engineering build.
1215
1216         * Makefile: Set OTHER_OPTIONS to build libwebrtc's boringssl target on watchOS, which is a
1217         dependency for TestWebKitAPI's TCPServer.
1218
1219 2019-04-26  Jessie Berlin  <jberlin@webkit.org>
1220
1221         Add new mac target numbers
1222         https://bugs.webkit.org/show_bug.cgi?id=197313
1223
1224         Reviewed by Alex Christensen.
1225
1226         * Configurations/Version.xcconfig:
1227         * Configurations/WebKitTargetConditionals.xcconfig:
1228
1229 2019-04-25  Youenn Fablet  <youenn@apple.com>
1230
1231         Make sure sockets file descriptors are in the correct range
1232         https://bugs.webkit.org/show_bug.cgi?id=197301
1233         <rdar://problem/48389381>
1234
1235         Reviewed by Chris Dumez.
1236
1237         * Source/webrtc/rtc_base/physicalsocketserver.cc:
1238         * WebKit/0001-fix-197301.patch: Added.
1239
1240 2019-04-25  Alex Christensen  <achristensen@webkit.org>
1241
1242         Start using C++17
1243         https://bugs.webkit.org/show_bug.cgi?id=197131
1244
1245         Reviewed by Darin Adler.
1246
1247         * Configurations/Base.xcconfig:
1248
1249 2019-04-23  Alex Christensen  <achristensen@webkit.org>
1250
1251         Add unit tests for WKWebView.serverTrust
1252         https://bugs.webkit.org/show_bug.cgi?id=197202
1253
1254         Reviewed by Youenn Fablet.
1255
1256         * libwebrtc.xcodeproj/project.pbxproj:
1257         Move boringssl files from libwebrtc target to boringssl target.
1258         Also, add pkcs7 files to boringssl static library.
1259
1260 2019-04-08  Justin Fan  <justin_fan@apple.com>
1261
1262         [Web GPU] Fix Web GPU experimental feature on iOS
1263         https://bugs.webkit.org/show_bug.cgi?id=196632
1264
1265         Reviewed by Myles C. Maxfield.
1266
1267         Add conditionals for iOS 11.
1268
1269         * Configurations/WebKitTargetConditionals.xcconfig:
1270
1271 2019-04-04  Youenn Fablet  <youenn@apple.com>
1272
1273         Log the error if VideoProcessing library cannot be dlopen
1274         https://bugs.webkit.org/show_bug.cgi?id=196609
1275
1276         Reviewed by Eric Carlson.
1277
1278         * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.cpp:
1279         (webrtc::initVideoProcessingVPModuleInitialize):
1280
1281 2019-04-03  Youenn Fablet  <youenn@apple.com>
1282
1283         Add logging and ASSERTs to investigate issue with VPModuleInitialize
1284         https://bugs.webkit.org/show_bug.cgi?id=196573
1285
1286         Reviewed by Eric Carlson.
1287
1288         Expand macros directly to add some logging.
1289         Removed the dispatch_once since VPModuleInitialize is already called in one.
1290
1291         * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.cpp:
1292         (webrtc::initVideoProcessingVPModuleInitialize):
1293
1294 2019-04-03  Youenn Fablet  <youenn@apple.com>
1295
1296         Remove unneeded libwebrtc files
1297         https://bugs.webkit.org/show_bug.cgi?id=196553
1298
1299         Reviewed by Eric Carlson.
1300
1301         * Source/third_party/boringssl/src/fuzz: Removed.
1302         * Source/third_party/protobuf/csharp/keys: Removed.
1303
1304 2019-04-03  Youenn Fablet  <youenn@apple.com>
1305
1306         Adopt new VCP SPI
1307         https://bugs.webkit.org/show_bug.cgi?id=193357
1308         <rdar://problem/43656651>
1309
1310         Reviewed by Eric Carlson.
1311
1312        Enable VCP through VTB API with specific encoder id.
1313
1314         * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.cpp:
1315         * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
1316         * Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
1317         (webrtc::setApplicationStatus):
1318         * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
1319         (-[RTCSingleVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
1320
1321 2019-04-02  Thibault Saunier  <tsaunier@igalia.com>
1322
1323         [GSteamer][WebRTC] Fix building libwebrtc on ARM
1324         https://bugs.webkit.org/show_bug.cgi?id=196157
1325
1326         Reviewed by Philippe Normand.
1327
1328         Making sure neon files are built as required
1329
1330         * CMakeLists.txt:
1331
1332 2019-03-22  Keith Rollin  <krollin@apple.com>
1333
1334         Enable ThinLTO support in Production builds
1335         https://bugs.webkit.org/show_bug.cgi?id=190758
1336         <rdar://problem/45413233>
1337
1338         Reviewed by Daniel Bates.
1339
1340         Enable building with Thin LTO in Production when using Xcode 10.2 or
1341         later. This change results in a 1.45% progression in PLT5. Full
1342         Production build times increase about 2-3%. Incremental build times
1343         are more severely affected, and so LTO is not enabled for local
1344         engineering builds.
1345
1346         LTO is enabled only on macOS for now, until rdar://problem/49013399,
1347         which affects ARM builds, is fixed.
1348
1349         To change the LTO setting when building locally:
1350
1351         - If building with `make`, specify WK_LTO_MODE={none,thin,full} on the
1352           command line.
1353         - If building with `build-webkit`, specify --lto-mode={none,thin,full}
1354           on the command line.
1355         - If building with `build-root`, specify --lto={none,thin,full} on the
1356           command line.
1357         - If building with Xcode, create a LocalOverrides.xcconfig file at the
1358           top level of your repository directory (if needed) and define
1359           WK_LTO_MODE to full, thin, or none.
1360
1361         * Configurations/Base.xcconfig:
1362
1363 2019-03-13  Keith Rollin  <krollin@apple.com>
1364
1365         Add support for new StagedFrameworks layout
1366         https://bugs.webkit.org/show_bug.cgi?id=195543
1367
1368         Reviewed by Alexey Proskuryakov.
1369
1370         When creating the WebKit layout for out-of-band Safari/WebKit updates,
1371         use an optional path prefix when called for.
1372
1373         * Configurations/Base.xcconfig:
1374
1375 2019-03-13  Youenn Fablet  <youenn@apple.com>
1376
1377         Enable libwebrtc logging control through WebCore
1378         https://bugs.webkit.org/show_bug.cgi?id=195658
1379
1380         Reviewed by Eric Carlson.
1381
1382         Add a callback to get access to libwebrtc log messages.
1383
1384         * Configurations/libwebrtc.iOS.exp:
1385         * Configurations/libwebrtc.iOSsim.exp:
1386         * Configurations/libwebrtc.mac.exp:
1387         * Source/webrtc/rtc_base/logging.cc:
1388         * Source/webrtc/rtc_base/logging.h:
1389
1390 2019-03-07  Youenn Fablet  <youenn@apple.com>
1391
1392         Skip compilation of unused audio device files for Mac and iOS
1393         https://bugs.webkit.org/show_bug.cgi?id=195412
1394
1395         Reviewed by Eric Carlson.
1396
1397         Stop compiling audio_device_mac.cc, audio_mixer_manager_mac.cc and voice_processing_audio_unit.mm
1398         as unused in WebKit.
1399         * libwebrtc.xcodeproj/project.pbxproj:
1400
1401 2019-02-23  Keith Miller  <keith_miller@apple.com>
1402
1403         Add new mac target numbers
1404         https://bugs.webkit.org/show_bug.cgi?id=194955
1405
1406         Reviewed by Tim Horton.
1407
1408         * Configurations/Base.xcconfig:
1409         * Configurations/DebugRelease.xcconfig:
1410
1411 2019-02-20  Andy Estes  <aestes@apple.com>
1412
1413         [Xcode] Add SDKVariant.xcconfig to various Xcode projects
1414         https://bugs.webkit.org/show_bug.cgi?id=194869
1415
1416         Rubber-stamped by Jer Noble.
1417
1418         * libwebrtc.xcodeproj/project.pbxproj:
1419
1420 2019-02-04  David Kilzer  <ddkilzer@apple.com>
1421
1422         vp8e_mr_alloc_mem() leaks LOWER_RES_FRAME_INFO if second memory allocation fails
1423         <https://webkit.org/b/194265>
1424
1425         Reviewed by Youenn Fablet.
1426
1427         * Source/third_party/libvpx/source/libvpx/vp8/vp8_cx_iface.c:
1428         (vp8e_mr_alloc_mem):
1429         - Initialize `res` to VPX_CODEC_OK instead of 0.
1430         - Return early if first calloc() fails instead of trying the
1431           second calloc().  The function would crash dereferencing
1432           nullptr in `shared_mem_loc->mb_info` otherwise.
1433         - Call free(shared_mem_loc) if the second call to calloc()
1434           fails.  This fixes the leak.
1435         * WebKit/0003-libwebrtc-fix-vp8e_mr_alloc_mem-leak.diff: Add.
1436
1437 2019-01-30  Commit Queue  <commit-queue@webkit.org>
1438
1439         Unreviewed, rolling out r240665.
1440         https://bugs.webkit.org/show_bug.cgi?id=194039
1441
1442         "Better to postpone SPI adoption" (Requested by youenn on
1443         #webkit).
1444
1445         Reverted changeset:
1446
1447         "Adopt new VCP SPI"
1448         https://bugs.webkit.org/show_bug.cgi?id=193357
1449         https://trac.webkit.org/changeset/240665
1450
1451 2019-01-29  Youenn Fablet  <youenn@apple.com>
1452
1453         Adopt new VCP SPI
1454         https://bugs.webkit.org/show_bug.cgi?id=193357
1455         <rdar://problem/43656651>
1456
1457         Reviewed by Eric Carlson.
1458
1459         Enable VCP through VTB API with specific encoder id.
1460         If encoder id is not supported, fallback to VCP.
1461         A specific routine is added to check for encoder id presence.
1462
1463         * Source/webrtc/sdk/WebKit/EncoderUtilities.h:
1464         * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.cpp:
1465         * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
1466         * Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
1467         (webrtc::setApplicationStatus):
1468         * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
1469         (-[RTCSingleVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
1470
1471 2019-01-25  Keith Rollin  <krollin@apple.com>
1472
1473         Update WebKitAdditions.xcconfig with correct order of variable definitions
1474         https://bugs.webkit.org/show_bug.cgi?id=193793
1475         <rdar://problem/47532439>
1476
1477         Reviewed by Alex Christensen.
1478
1479         XCBuild changes the way xcconfig variables are evaluated. In short,
1480         all config file assignments are now considered in part of the
1481         evaluation. When using the new build system and an .xcconfig file
1482         contains multiple assignments of the same build setting:
1483
1484         - Later assignments using $(inherited) will inherit from earlier
1485           assignments in the xcconfig file.
1486         - Later assignments not using $(inherited) will take precedence over
1487           earlier assignments. An assignment to a more general setting will
1488           mask an earlier assignment to a less general setting. For example,
1489           an assignment without a condition ('FOO = bar') will completely mask
1490           an earlier assignment with a condition ('FOO[sdk=macos*] = quux').
1491
1492         This affects some of our .xcconfig files, in that sometimes platform-
1493         or sdk-specific definitions appear before the general definitions.
1494         Under the new evaluations rules, the general definitions alway take
1495         effect because they always overwrite the more-specific definitions. The
1496         solution is to swap the order, so that the general definitions are
1497         established first, and then conditionally overwritten by the
1498         more-specific definitions.
1499
1500         * Configurations/Version.xcconfig:
1501
1502 2019-01-22  Youenn Fablet  <youenn@apple.com>
1503
1504         Resync libwebrtc with latest M72 branch
1505         https://bugs.webkit.org/show_bug.cgi?id=193693
1506
1507         Reviewed by Eric Carlson.
1508
1509         Update libwebrtc up to latest M72 branch to fix some identified issues:
1510         - Bad bandwidth estimation in case of multiple transceivers
1511         - mid handling for legacy endpoints
1512         - msid handling for updating mediastreams accordingly.
1513
1514         * Source/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe.cc:
1515         * Source/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe.h:
1516         * Source/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc:
1517         * Source/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control_unittest.cc:
1518         * Source/webrtc/modules/congestion_controller/send_side_congestion_controller_unittest.cc:
1519         * Source/webrtc/pc/jsepsessiondescription_unittest.cc:
1520         * Source/webrtc/pc/mediasession.cc:
1521         * Source/webrtc/pc/mediasession_unittest.cc:
1522         * Source/webrtc/pc/peerconnection.cc:
1523         * Source/webrtc/pc/peerconnection.h:
1524         * Source/webrtc/pc/peerconnection_jsep_unittest.cc:
1525         * Source/webrtc/pc/peerconnection_media_unittest.cc:
1526         * Source/webrtc/pc/peerconnection_rtp_unittest.cc:
1527         * Source/webrtc/pc/sessiondescription.cc:
1528         * Source/webrtc/pc/sessiondescription.h:
1529         * Source/webrtc/pc/webrtcsdp.cc:
1530         * Source/webrtc/pc/webrtcsdp_unittest.cc:
1531         * Source/webrtc/system_wrappers/include/metrics.h:
1532         * Source/webrtc/video/BUILD.gn:
1533
1534 2019-01-18  Jer Noble  <jer.noble@apple.com>
1535
1536         SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds
1537         https://bugs.webkit.org/show_bug.cgi?id=189553
1538
1539         Reviewed by Tim Horton.
1540
1541         * Configurations/Base.xcconfig:
1542         * Configurations/SDKVariant.xcconfig: Added.
1543
1544 2019-01-17  Truitt Savell  <tsavell@apple.com>
1545
1546         Unreviewed, rolling out r240124.
1547
1548         This commit broke an internal build.
1549
1550         Reverted changeset:
1551
1552         "SDK_VARIANT build destinations should be separate from non-
1553         SDK_VARIANT builds"
1554         https://bugs.webkit.org/show_bug.cgi?id=189553
1555         https://trac.webkit.org/changeset/240124
1556
1557 2019-01-17  Jer Noble  <jer.noble@apple.com>
1558
1559         SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds
1560         https://bugs.webkit.org/show_bug.cgi?id=189553
1561
1562         Reviewed by Tim Horton.
1563
1564         * Configurations/Base.xcconfig:
1565         * Configurations/SDKVariant.xcconfig: Added.
1566
1567 2019-01-16  David Kilzer  <ddkilzer@apple.com>
1568
1569         clang-tidy: Fix unnecessary copy/ref churn of for loop variables in libwebrtc
1570         <https://webkit.org/b/193498>
1571
1572         Reviewed by Youenn Fablet.
1573
1574         Fix unwanted copying/ref churn of loop variables by making them
1575         const references.
1576
1577         * Source/webrtc/modules/bitrate_controller/loss_based_bandwidth_estimation.cc:
1578         * Source/webrtc/modules/rtp_rtcp/source/rtcp_receiver.cc:
1579         * Source/webrtc/p2p/base/mdns_message.cc:
1580         * Source/webrtc/p2p/base/port.cc:
1581         * Source/webrtc/p2p/base/stunrequest.cc:
1582         * Source/webrtc/pc/jseptransportcontroller.cc:
1583         * Source/webrtc/pc/peerconnection.cc:
1584         * Source/webrtc/pc/rtcstatscollector.cc:
1585         * Source/webrtc/pc/rtpreceiver.cc:
1586         * Source/webrtc/pc/rtptransceiver.cc:
1587         * Source/webrtc/pc/statscollector.cc:
1588         * Source/webrtc/pc/trackmediainfomap.cc:
1589         * Source/webrtc/rtc_base/filerotatingstream.cc:
1590         * Source/webrtc/rtc_base/opensslsessioncache.cc:
1591         * Source/webrtc/video/receive_statistics_proxy.cc:
1592         * WebKit/0002-libwebrtc-fix-unnecessary-copy-of-for-loop-variables.diff: Added.
1593
1594 2019-01-15  David Kilzer  <ddkilzer@apple.com>
1595
1596         REGRESSION (r239510): Remove duplicate copy of srtpsession.cc from 'webrtcpcrtc' target in Xcode project
1597
1598         Fixes the following Xcode warning:
1599
1600             warning: Skipping duplicate build file in Compile Sources build phase: Source/ThirdParty/libwebrtc/Source/webrtc/pc/srtpsession.cc (in target 'webrtcpcrtc')
1601
1602         * libwebrtc.xcodeproj/project.pbxproj: Remove duplicate copy of
1603         srtpsession.cc from 'webrtcpcrtc' target.
1604
1605 2019-01-10  Youenn Fablet  <youenn@apple.com>
1606
1607         VPModuleInitialize should be called when VCP is enabled
1608         https://bugs.webkit.org/show_bug.cgi?id=193299
1609
1610         Reviewed by Eric Carlson.
1611
1612         Add the necessary include to make sure ENABLE_VCP_ENCODER is defined appropriately.
1613
1614         * Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
1615
1616 2018-12-22  Dan Bernstein  <mitz@apple.com>
1617
1618         Fixed Apple production builds.
1619
1620         * Configurations/Base.xcconfig: Exclude the Source/third_party/boringssl/src/util
1621           subdirectory, which contains binaries, from installsrc. Its contents are not used for
1622           building any of the targets in the project.
1623
1624 2018-12-21  Youenn Fablet  <youenn@apple.com> and Alejandro G. Castro  <alex@igalia.com>
1625
1626         Resync BoringSSL to M72
1627         https://bugs.webkit.org/show_bug.cgi?id=192860
1628
1629         Reviewed by Eric Carlson.
1630
1631         * Source/third_party/boringssl: Resynced to Chrome M72 branch.
1632
1633 2018-12-21  Youenn Fablet  <youenn@apple.com>
1634
1635         Resync opus to M72
1636         https://bugs.webkit.org/show_bug.cgi?id=192867
1637
1638         Reviewed by Alex Christensen.
1639
1640         * Configurations/opus.xcconfig: Updated compilation flag.
1641         * Source/third_party/opus: Resynced to Chrome M72 branch.
1642
1643 2018-12-21  Youenn Fablet  <youenn@apple.com>
1644
1645         Resync libsrtp to M72
1646         https://bugs.webkit.org/show_bug.cgi?id=192861
1647
1648         Reviewed by Eric Carlson.
1649
1650         * Source/third_party/libsrtp/: Resynced to Chrome M72 branch.
1651
1652 2018-12-21  Youenn Fablet  <youenn@apple.com>
1653
1654         Use kVTCompressionPropertyKey_Usage instead of kVTVideoEncoderSpecification_Usage
1655         https://bugs.webkit.org/show_bug.cgi?id=192885
1656
1657         Reviewed by Eric Carlson.
1658
1659         When VCP is enabled, use kVTCompressionPropertyKey_Usage as this is
1660         kVTVideoEncoderSpecification_Usage no longer works to activate VCP on iOS.
1661         Tested manually.
1662
1663         * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
1664         (-[RTCSingleVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
1665         (-[RTCSingleVideoEncoderH264 configureCompressionSession]):
1666
1667 2018-12-19  Youenn Fablet  <youenn@apple.com>
1668
1669         Refresh usrsctplib to M72
1670         https://bugs.webkit.org/show_bug.cgi?id=192863
1671
1672         Reviewed by Alex Christensen.
1673
1674         * Source/third_party/usrsctp/: Resynced to Chrome M72 branch.
1675
1676 2018-12-19  Youenn Fablet  <youenn@apple.com>
1677
1678         Refresh libyuv to M72
1679         https://bugs.webkit.org/show_bug.cgi?id=192864
1680
1681         Reviewed by Alex Christensen.
1682
1683         * Source/third_party/libyuv: Resynced.
1684
1685 2018-12-19  Youenn Fablet  <youenn@apple.com>
1686
1687         Resync libwebrtc with M72 branch
1688         https://bugs.webkit.org/show_bug.cgi?id=192858
1689
1690         Reviewed by Eric Carlson.
1691
1692         Merge changes made upstream.
1693         Some of these changes improve support of unified plan and backward compatiblity.
1694
1695         * Source/webrtc/api/candidate.cc:
1696         * Source/webrtc/api/candidate.h:
1697         * Source/webrtc/api/rtpreceiverinterface.h:
1698         * Source/webrtc/api/umametrics.h:
1699         * Source/webrtc/media/engine/webrtcvideoengine.cc:
1700         * Source/webrtc/media/engine/webrtcvideoengine_unittest.cc:
1701         * Source/webrtc/modules/audio_processing/agc2/agc2_common.h:
1702         * Source/webrtc/modules/desktop_capture/desktop_and_cursor_composer.cc:
1703         * Source/webrtc/modules/video_coding/BUILD.gn:
1704         * Source/webrtc/modules/video_coding/codecs/vp9/svc_config.cc:
1705         * Source/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator.cc:
1706         * Source/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator.h:
1707         * Source/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator_unittest.cc:
1708         * Source/webrtc/modules/video_coding/codecs/vp9/test/vp9_impl_unittest.cc:
1709         * Source/webrtc/modules/video_coding/codecs/vp9/vp9.cc:
1710         * Source/webrtc/modules/video_coding/video_codec_initializer.cc:
1711         * Source/webrtc/modules/video_coding/video_codec_initializer_unittest.cc:
1712         * Source/webrtc/p2p/base/p2ptransportchannel_unittest.cc:
1713         * Source/webrtc/p2p/base/port.cc:
1714         * Source/webrtc/p2p/base/port.h:
1715         * Source/webrtc/p2p/base/portallocator.cc:
1716         * Source/webrtc/p2p/client/basicportallocator.cc:
1717         * Source/webrtc/p2p/client/basicportallocator_unittest.cc:
1718         * Source/webrtc/pc/peerconnection.cc:
1719         * Source/webrtc/pc/peerconnection.h:
1720         * Source/webrtc/pc/peerconnection_integrationtest.cc:
1721         * Source/webrtc/pc/peerconnectioninternal.h:
1722         * Source/webrtc/pc/statscollector.cc:
1723         * Source/webrtc/pc/statscollector.h:
1724         * Source/webrtc/pc/test/fakepeerconnectionbase.h:
1725         * Source/webrtc/pc/test/fakepeerconnectionforstats.h:
1726         * Source/webrtc/pc/test/mockpeerconnectionobservers.h:
1727         (webrtc::MockStatsObserver::OnComplete):
1728         (webrtc::MockStatsObserver::TrackIds const):
1729         * Source/webrtc/pc/webrtcsdp_unittest.cc:
1730         * Source/webrtc/rtc_base/fake_mdns_responder.h:
1731         (webrtc::FakeMdnsResponder::GetMappedAddressForName const):
1732         * Source/webrtc/rtc_base/fakenetwork.h:
1733         (rtc::FakeNetworkManager::CreateMdnsResponder):
1734         (rtc::FakeNetworkManager::GetMdnsResponderForTesting const):
1735         * Source/webrtc/video/video_send_stream_impl.cc:
1736         * Source/webrtc/video/video_stream_encoder.cc:
1737
1738 2018-12-15  Youenn Fablet  <youenn@apple.com>
1739
1740         Make RTCRtpSender.setParameters to activate specific encodings
1741         https://bugs.webkit.org/show_bug.cgi?id=192732
1742
1743         Reviewed by Eric Carlson.
1744
1745         * Configurations/libwebrtc.iOS.exp:
1746         * Configurations/libwebrtc.iOSsim.exp:
1747         * Configurations/libwebrtc.mac.exp:
1748
1749 2018-12-14  Youenn Fablet  <youenn@apple.com>
1750
1751         kVTVideoEncoderSpecification_Usage should not be set if VCP is not enabled
1752         https://bugs.webkit.org/show_bug.cgi?id=192716
1753
1754         Reviewed by Eric Carlson.
1755
1756         https://trac.webkit.org/changeset/239220 sets the usage value for all platforms, but we should only enable it for VCP.
1757         * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
1758         (-[RTCSingleVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
1759
1760 2018-12-14  Youenn Fablet  <youenn@apple.com>
1761
1762         Set kVTVideoEncoderSpecification_Usage both when creating the compression session and once created
1763         https://bugs.webkit.org/show_bug.cgi?id=192700
1764
1765         Reviewed by Eric Carlson.
1766
1767         Previously we were setting the usage value once the compression session is created.
1768         We now also set it at creation time.
1769
1770         * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
1771         (-[RTCSingleVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
1772
1773 2018-12-12  Youenn Fablet  <youenn@apple.com>
1774
1775         Recycling the m section should work if it was rejected remotely
1776         https://bugs.webkit.org/show_bug.cgi?id=192636
1777
1778         Reviewed by Eric Carlson.
1779
1780         Changes merged from https://webrtc.googlesource.com/src.git/+/5c72e71e14cfa76a2d1b0979d6b918abe187c208
1781
1782         * Source/webrtc/pc/mediasession.cc:
1783         * Source/webrtc/pc/mediasession.h:
1784         * Source/webrtc/pc/mediasession_unittest.cc:
1785         * Source/webrtc/pc/peerconnection.cc:
1786         * Source/webrtc/pc/peerconnection_jsep_unittest.cc:
1787
1788 2018-12-07  Youenn Fablet  <youenn@apple.com>
1789
1790         Update libwebrtc up to 2fb890f08c
1791         https://bugs.webkit.org/show_bug.cgi?id=192517
1792
1793         Reviewed by Eric Carlson.
1794
1795         Merge changes to track libwebrtc M72.
1796
1797         * Source/webrtc/DEPS:
1798         * Source/webrtc/api/audio/echo_canceller3_config.h:
1799         * Source/webrtc/api/rtp_headers.h:
1800         * Source/webrtc/api/video/encoded_frame.h:
1801         * Source/webrtc/api/video/encoded_image.h:
1802         * Source/webrtc/call/rtp_transport_controller_send_interface.h:
1803         * Source/webrtc/call/video_receive_stream.h:
1804         * Source/webrtc/call/video_send_stream.h:
1805         * Source/webrtc/common_types.h:
1806         (webrtc::RtcpStatistics::RtcpStatistics):
1807         (webrtc::RtcpStatisticsCallback::~RtcpStatisticsCallback):
1808         * Source/webrtc/logging/rtc_event_log/rtc_event_log_impl.cc:
1809         * Source/webrtc/media/engine/webrtcvideoengine.cc:
1810         * Source/webrtc/modules/audio_coding/BUILD.gn:
1811         * Source/webrtc/modules/audio_coding/neteq/neteq_unittest.cc:
1812         * Source/webrtc/modules/audio_processing/aec3/BUILD.gn:
1813         * Source/webrtc/modules/audio_processing/aec3/aec_state.cc:
1814         * Source/webrtc/modules/audio_processing/aec3/api_call_jitter_metrics.cc: Removed.
1815         * Source/webrtc/modules/audio_processing/aec3/api_call_jitter_metrics.h: Removed.
1816         * Source/webrtc/modules/audio_processing/aec3/api_call_jitter_metrics_unittest.cc: Removed.
1817         * Source/webrtc/modules/audio_processing/aec3/echo_canceller3.cc:
1818         * Source/webrtc/modules/audio_processing/aec3/echo_canceller3.h:
1819         * Source/webrtc/modules/audio_processing/aec3/filter_analyzer.cc:
1820         * Source/webrtc/modules/audio_processing/aec3/filter_analyzer.h:
1821         * Source/webrtc/modules/audio_processing/aec3/suppression_gain.cc:
1822         * Source/webrtc/modules/rtp_rtcp/BUILD.gn:
1823         * Source/webrtc/modules/rtp_rtcp/include/receive_statistics.h:
1824         * Source/webrtc/modules/rtp_rtcp/include/rtcp_statistics.h: Removed.
1825         * Source/webrtc/modules/rtp_rtcp/include/rtp_rtcp.h:
1826         * Source/webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h:
1827         * Source/webrtc/modules/rtp_rtcp/source/rtcp_receiver.h:
1828         * Source/webrtc/modules/rtp_rtcp/source/rtp_header_extension_map.cc:
1829         * Source/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.cc:
1830         * Source/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h:
1831         (webrtc::HdrMetadataExtension::ValueSize):
1832         * Source/webrtc/modules/rtp_rtcp/source/rtp_packet_received.cc:
1833         * Source/webrtc/modules/rtp_rtcp/source/rtp_packet_unittest.cc:
1834         * Source/webrtc/modules/rtp_rtcp/source/rtp_utility.cc:
1835         * Source/webrtc/modules/video_coding/codecs/test/videocodec_test_libvpx.cc:
1836         * Source/webrtc/modules/video_coding/codecs/vp9/test/vp9_impl_unittest.cc:
1837         * Source/webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc:
1838         * Source/webrtc/modules/video_coding/codecs/vp9/vp9_impl.h:
1839         * Source/webrtc/modules/video_coding/encoded_frame.h:
1840         (webrtc::VCMEncodedFrame::video_timing_mutable):
1841         (webrtc::VCMEncodedFrame::SetCodecSpecific):
1842         * Source/webrtc/modules/video_coding/frame_buffer2.cc:
1843         * Source/webrtc/modules/video_coding/frame_buffer2.h:
1844         * Source/webrtc/modules/video_coding/frame_buffer2_unittest.cc:
1845         * Source/webrtc/modules/video_coding/frame_object.cc:
1846         * Source/webrtc/modules/video_coding/rtp_frame_reference_finder.cc:
1847         * Source/webrtc/p2p/base/p2ptransportchannel.cc:
1848         * Source/webrtc/p2p/base/p2ptransportchannel_unittest.cc:
1849         * Source/webrtc/p2p/base/port.cc:
1850         * Source/webrtc/p2p/base/port.h:
1851         * Source/webrtc/p2p/client/basicportallocator.cc:
1852         * Source/webrtc/p2p/client/basicportallocator.h:
1853         * Source/webrtc/p2p/client/basicportallocator_unittest.cc:
1854         * Source/webrtc/pc/peerconnection.cc:
1855         * Source/webrtc/pc/rtcstats_integrationtest.cc:
1856         * Source/webrtc/pc/test/peerconnectiontestwrapper.cc:
1857         * Source/webrtc/pc/test/peerconnectiontestwrapper.h:
1858         * Source/webrtc/rtc_base/stringize_macros.h:
1859         * Source/webrtc/sdk/objc/components/video_codec/nalu_rewriter_unittest.cc: Removed.
1860         * Source/webrtc/test/fuzzers/rtp_packet_fuzzer.cc:
1861         * Source/webrtc/tools_webrtc/ios/internal.client.webrtc/iOS64_Perf.json:
1862         * Source/webrtc/tools_webrtc/ios/internal.tryserver.webrtc/ios_arm64_perf.json:
1863         * Source/webrtc/tools_webrtc/whitespace.txt:
1864         * Source/webrtc/video/report_block_stats.h:
1865         * Source/webrtc/video/rtp_video_stream_receiver.cc:
1866         * Source/webrtc/video/video_receive_stream.cc:
1867
1868 2018-12-07  Youenn Fablet  <youenn@apple.com>
1869
1870         Update libwebrtc up to 0d007d7c4f
1871         https://bugs.webkit.org/show_bug.cgi?id=192316
1872         <rdar://problem/46563726>
1873
1874         Unreviewed.
1875
1876         * Source/webrtc/data/voice_engine/stereo_rtp_files/rtpplay.exe: Removed.
1877         Unneeded file.
1878
1879 2018-12-07  Youenn Fablet  <youenn@apple.com>
1880
1881         Update libwebrtc up to 0d007d7c4f
1882         https://bugs.webkit.org/show_bug.cgi?id=192316
1883
1884         Reviewed by Eric Carlson.
1885
1886         Updating to latest libwebrtc will allows cherry-picking important bug fixes.
1887
1888         * Configurations/libwebrtc.iOS.exp:
1889         * Configurations/libwebrtc.iOSsim.exp:
1890         * Configurations/libwebrtc.mac.exp:
1891         * Source/third_party/abseil-cpp: refreshed.
1892         * Source/webrtc: refreshed.
1893         * WebKit/0001-libwebrtc-changes.patch: Removed.
1894         * libwebrtc.xcodeproj/project.pbxproj:
1895
1896 2018-12-01  Thibault Saunier  <tsaunier@igalia.com>
1897
1898         [GStreamer][WebRTC] Build opus decoder support in libwebrtc
1899         https://bugs.webkit.org/show_bug.cgi?id=192226
1900
1901         Reviewed by Philippe Normand.
1902
1903         Somehow that was overlooked at some point (it used to work).
1904
1905         * CMakeLists.txt:
1906
1907 2018-11-27  Thibault Saunier  <tsaunier@igalia.com>
1908
1909         [GStreamer][WebRTC] Use LibWebRTC provided vp8 decoders and encoders
1910         https://bugs.webkit.org/show_bug.cgi?id=191861
1911
1912         Reviewed by Philippe Normand.
1913
1914         * CMakeLists.txt: Build LibVPX vp8 encoder and decoders.
1915
1916 2018-11-14  Youenn Fablet  <youenn@apple.com>
1917
1918         Convert libwebrtc error types to DOM exceptions
1919         https://bugs.webkit.org/show_bug.cgi?id=191590
1920
1921         Reviewed by Alex Christensen.
1922
1923         * Configurations/libwebrtc.iOS.exp:
1924         * Configurations/libwebrtc.iOSsim.exp:
1925         * Configurations/libwebrtc.mac.exp:
1926
1927 2018-11-14  Youenn Fablet  <youenn@apple.com>
1928
1929         Add support for transport and peerConnection stats
1930         https://bugs.webkit.org/show_bug.cgi?id=191592
1931
1932         Reviewed by Alex Christensen.
1933
1934         * Configurations/libwebrtc.iOS.exp:
1935         * Configurations/libwebrtc.iOSsim.exp:
1936         * Configurations/libwebrtc.mac.exp:
1937
1938 2018-11-07  Youenn Fablet  <youenn@apple.com>
1939
1940         webrtc/datachannel/basic-tcp.html will crash with an invalid crash
1941         https://bugs.webkit.org/show_bug.cgi?id=178285
1942         <rdar://problem/34985374>
1943
1944         Reviewed by Eric Carlson.
1945
1946         Reintroduce change made to libwebrtc and erroneously removed when refreshing libwebrtc.
1947
1948         * Source/webrtc/rtc_base/physicalsocketserver.cc:
1949
1950 2018-10-30  Alexey Proskuryakov  <ap@apple.com>
1951
1952         Clean up some obsolete MAX_ALLOWED macros
1953         https://bugs.webkit.org/show_bug.cgi?id=190916
1954
1955         Reviewed by Tim Horton.
1956
1957         * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
1958
1959 2018-10-29  Youenn Fablet  <youenn@apple.com>
1960
1961         Handle MDNS resolution of candidates through libwebrtc directly
1962         https://bugs.webkit.org/show_bug.cgi?id=190681
1963
1964         Reviewed by Eric Carlson.
1965
1966         * Configurations/libwebrtc.iOS.exp:
1967         * Configurations/libwebrtc.iOSsim.exp:
1968         * Configurations/libwebrtc.mac.exp:
1969
1970 2018-10-23  Ryan Haddad  <ryanhaddad@apple.com>
1971
1972         Unreviewed, rolling out r237261.
1973
1974         The layout test for this change crashes under GuardMalloc.
1975
1976         Reverted changeset:
1977
1978         "Handle MDNS resolution of candidates through libwebrtc
1979         directly"
1980         https://bugs.webkit.org/show_bug.cgi?id=190681
1981         https://trac.webkit.org/changeset/237261
1982
1983 2018-10-18  Youenn Fablet  <youenn@apple.com>
1984
1985         Handle MDNS resolution of candidates through libwebrtc directly
1986         https://bugs.webkit.org/show_bug.cgi?id=190681
1987
1988         Reviewed by Eric Carlson.
1989
1990         * Configurations/libwebrtc.iOS.exp:
1991         * Configurations/libwebrtc.iOSsim.exp:
1992         * Configurations/libwebrtc.mac.exp:
1993
1994 2018-10-17  Youenn Fablet  <youenn@apple.com>
1995
1996         Remove unneeded .rej files from libwebrtc
1997         https://bugs.webkit.org/show_bug.cgi?id=190670
1998
1999         Reviewed by Mark Lam.
2000
2001         * Source/third_party/boringssl/src/.github/PULL_REQUEST_TEMPLATE.rej: Removed.
2002         * Source/third_party/boringssl/src/third_party/googletest/.gitignore.rej: Removed.
2003
2004 2018-10-17  Youenn Fablet  <youenn@apple.com>
2005
2006         REGRESSION (r237075): webrtc/video-replace-muted-track.html is Crashing
2007         https://bugs.webkit.org/show_bug.cgi?id=190646
2008
2009         Reviewed by Eric Carlson.
2010
2011         Do not use VCP pixel buffer pool at all.
2012         RealtimeOutgoingVideoSource makes sure to send the frame in the right format.
2013         Tested by ensuring test no longer crashes.
2014
2015         * Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:
2016         (-[RTCSingleVideoEncoderH264 resetCompressionSessionIfNeededWithFrame:]):
2017         (-[RTCSingleVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
2018
2019 2018-10-16  Youenn Fablet  <youenn@apple.com>
2020
2021         Support RTCConfiguration.certificates
2022         https://bugs.webkit.org/show_bug.cgi?id=190603
2023
2024         Reviewed by Eric Carlson.
2025
2026         * Configurations/libwebrtc.iOS.exp:
2027         * Configurations/libwebrtc.iOSsim.exp:
2028         * Configurations/libwebrtc.mac.exp:
2029
2030 2018-10-16  Alejandro G. Castro  <alex@igalia.com>
2031
2032         [GTK][WPE] Make libwebrtc compile using the system opus library
2033         https://bugs.webkit.org/show_bug.cgi?id=190573
2034
2035         Reviewed by Philippe Normand.
2036
2037         We found some situations where gstreamer gets confused when it
2038         tries to use opus because it finds opus symbols compiled for
2039         liwebrtc. We are going to try the option to use the system opus
2040         library also for libwebrtc.
2041
2042         * CMakeLists.txt: Added opus dependency.
2043         * cmake/FindOpus.cmake: Added the hints to find the opus library
2044         in the compilation.
2045
2046 2018-10-15  Youenn Fablet  <youenn@apple.com>
2047
2048         RTCPeerConnection.generateCertificate is not a function
2049         https://bugs.webkit.org/show_bug.cgi?id=173541
2050         <rdar://problem/32638029>
2051
2052         Reviewed by Eric Carlson.
2053
2054         * Configurations/libwebrtc.iOS.exp:
2055         * Configurations/libwebrtc.iOSsim.exp:
2056         * Configurations/libwebrtc.mac.exp:
2057
2058 2018-10-12  Ryan Haddad  <ryanhaddad@apple.com>
2059
2060         Unreviewed build fix, remove executable file imported with r237075.
2061
2062         * Source/webrtc/data/voice_engine/stereo_rtp_files/rtpplay.exe: Removed.
2063
2064 2018-10-12  Youenn Fablet  <youenn@apple.com> and Alejandro G. Castro  <alex@igalia.com>
2065
2066         Refresh libwebrtc up to 343f4144be
2067         https://bugs.webkit.org/show_bug.cgi?id=190361
2068
2069         Reviewed by Chris Dumez.
2070
2071         * Configurations/libwebrtc.iOS.exp:
2072         * Configurations/libwebrtc.iOSsim.exp:
2073         * Configurations/libwebrtc.mac.exp:
2074         * Configurations/libwebrtc.xcconfig:
2075         * Source/webrtc: Resynced.
2076         * WebKit/0001-Updating-webrtc.patch: Removed.
2077         * libwebrtc.xcodeproj/project.pbxproj:
2078
2079 2018-10-09  Youenn Fablet  <youenn@apple.com>
2080
2081         Add support for IceCandidate stats
2082         https://bugs.webkit.org/show_bug.cgi?id=190329
2083
2084         Reviewed by Eric Carlson.
2085
2086         Export new stats kType values.
2087
2088         * Configurations/libwebrtc.iOS.exp:
2089         * Configurations/libwebrtc.iOSsim.exp:
2090         * Configurations/libwebrtc.mac.exp:
2091
2092 2018-10-06  Dan Bernstein  <mitz@apple.com>
2093
2094         [Xcode] Never build yasm with ASAN
2095         https://bugs.webkit.org/show_bug.cgi?id=190327
2096
2097         Reviewed by Youenn Fablet.
2098
2099         * Configurations/yasm.xcconfig: Set WK_ASAN_DISALLOWED to YES.
2100
2101 2018-10-06  Dan Bernstein  <mitz@apple.com>
2102
2103         Fixed iOS device production builds after r236896.
2104
2105         * Configurations/yasm.xcconfig: Excluding all sources when building for an iOS device meant
2106           that nothing got built, which caused the install action to fail when it tried to copy
2107           the built product. Just put things back the way they were for now.
2108
2109 2018-10-06  Dan Bernstein  <mitz@apple.com>
2110
2111         [Xcode] Don’t install yasm and don’t compile it in iOS device builds
2112         https://bugs.webkit.org/show_bug.cgi?id=190326
2113
2114         Reviewed by Youenn Fablet.
2115
2116         * Configurations/yasm.xcconfig: Set SKIP_INSTALL to YES, and excluded all source files when
2117           targeting iOS devices.
2118
2119 2018-10-04  Dan Bernstein  <mitz@apple.com>
2120
2121         Fixed engineering builds using the Apple internal SDK as well as building with older
2122         versions of Xcode.
2123
2124         * Configurations/yasm.xcconfig: Migrated some build settings that were defined at the target
2125           level in the project file. Some didn’t make sense to migrate, because they could be
2126           inherited, or because they were warnings that were then being negated by OTHER_CFLAGS.
2127         * libwebrtc.xcodeproj/project.pbxproj:
2128
2129 2018-10-03  Dan Bernstein  <mitz@apple.com>
2130
2131         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”
2132
2133         * libwebrtc.xcodeproj/project.pbxproj: Removed Makefile.inc from the yasm target’s Compile
2134           Sources build phase.
2135
2136 2018-10-03  Youenn Fablet  <youenn@apple.com>
2137
2138         Add VP8 support to WebRTC
2139         https://bugs.webkit.org/show_bug.cgi?id=189976
2140
2141         Reviewed by Eric Carlson.
2142
2143         Add support for conditional VP8 support for both encoding and decoding.
2144         This boolean is used by WebCore based on the new VP8 runtime flag.
2145
2146         Enable yasm compilation as a dependency of libvpx.
2147
2148         Compilation is done without using SSE4/AVX2 optimizations.
2149
2150         * Configurations/libvpx.xcconfig: Added.
2151         * Configurations/libwebrtc.iOS.exp:
2152         * Configurations/libwebrtc.iOSsim.exp:
2153         * Configurations/libwebrtc.mac.exp:
2154         * Configurations/libwebrtc.xcconfig:
2155         * Configurations/libwebrtcpcrtc.xcconfig:
2156         * Source/third_party/libvpx/run_yasm_webkit.py: Added.
2157         * Source/third_party/libvpx/source/config/mac/x64/vpx_config.asm:
2158         * Source/third_party/libvpx/source/config/mac/x64/vpx_config.h:
2159         * Source/third_party/libvpx/source/config/mac/x64/vpx_dsp_rtcd.h:
2160         * Source/webrtc/sdk/WebKit/WebKitUtilities.h:
2161         * Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
2162         (webrtc::createWebKitEncoderFactory):
2163         (webrtc::createWebKitDecoderFactory):
2164         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodecFactory.h:
2165         * libwebrtc.xcodeproj/project.pbxproj:
2166
2167 2018-10-03  Dan Bernstein  <mitz@apple.com>
2168
2169         libwebrtc part of [Xcode] Update some build settings as recommended by Xcode 10
2170         https://bugs.webkit.org/show_bug.cgi?id=190250
2171
2172         Reviewed by Andy Estes.
2173
2174         * Configurations/Base.xcconfig: Removed a duplicate reference to x_all.c and let Xcode
2175           update LastUpgradeCheck.
2176
2177         * libwebrtc.xcodeproj/project.pbxproj: Enabled CLANG_WARN_INFINITE_RECURSION,
2178           CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF, CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED, and
2179           CLANG_WARN_SUSPICIOUS_MOVE. Other warnings that Xcode 10 recommended were incompatible
2180           with one or more source files in the project.
2181
2182 2018-10-03  Youenn Fablet  <youenn@apple.com>
2183
2184         Enable H264 simulcast
2185         https://bugs.webkit.org/show_bug.cgi?id=190167
2186
2187         Reviewed by Eric Carlson.
2188
2189         Rename .m files to .mm to enable C++ compilation of included header files.
2190         Rename RTCH264VideoEncoder to RTCSingleH264Encoder.
2191         Implement a new RTCH264VideoEncoder that spawns as many RTCSingleH264Encoder as needed for simulcast.
2192         Update ObjC API to allow passing simulcast parameters to/from RTCH264VideoEncoder.
2193
2194         * Configurations/libwebrtc.iOS.exp:
2195         * Configurations/libwebrtc.iOSsim.exp:
2196         * Configurations/libwebrtc.mac.exp:
2197         * Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCDefaultVideoDecoderFactory.mm: Renamed from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCDefaultVideoDecoderFactory.m.
2198         * Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCDefaultVideoEncoderFactory.mm: Renamed from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCDefaultVideoEncoderFactory.m.
2199         * Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodec+Private.h:
2200         * Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodecH264.mm:
2201         (-[RTCCodecSpecificInfoH264 nativeCodecSpecificInfo]):
2202         * Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoEncoderSettings.mm:
2203         (-[RTCVideoEncoderSettings initWithNativeVideoCodec:]):
2204         * Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCWrappedNativeVideoEncoder.mm:
2205         (-[RTCWrappedNativeVideoEncoder setBitrate:framerate:]):
2206         (-[RTCWrappedNativeVideoEncoder setRateAllocation:framerate:]):
2207         * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
2208         (-[RTCSingleVideoEncoderH264 initWithCodecInfo:simulcastIndex:]):
2209         (-[RTCSingleVideoEncoderH264 startEncodeWithSettings:numberOfCores:]):
2210         (-[RTCSingleVideoEncoderH264 encode:codecSpecificInfo:frameTypes:]):
2211         (-[RTCSingleVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
2212         (-[RTCSingleVideoEncoderH264 scalingSettings]):
2213         (-[RTCSingleVideoEncoderH264 setRateAllocation:framerate:]):
2214         (-[RTCVideoEncoderH264 initWithCodecInfo:]):
2215         (-[RTCVideoEncoderH264 setCallback:]):
2216         (-[RTCVideoEncoderH264 startEncodeWithSettings:numberOfCores:]):
2217         (-[RTCVideoEncoderH264 releaseEncoder]):
2218         (-[RTCVideoEncoderH264 encode:codecSpecificInfo:frameTypes:]):
2219         (-[RTCVideoEncoderH264 setRateAllocation:framerate:]):
2220         (-[RTCVideoEncoderH264 implementationName]):
2221         (-[RTCVideoEncoderH264 scalingSettings]):
2222         (-[RTCVideoEncoderH264 setBitrate:framerate:]):
2223         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodec.h:
2224         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodecH264.h:
2225         * Source/webrtc/sdk/objc/Framework/Native/src/objc_video_encoder_factory.mm:
2226         * libwebrtc.xcodeproj/project.pbxproj:
2227
2228 2018-09-29  Youenn Fablet  <youenn@apple.com>
2229
2230         Add yasm as third party tool for libwebrtc compilation
2231         https://bugs.webkit.org/show_bug.cgi?id=190025
2232
2233         Reviewed by Eric Carlson.
2234
2235         Add yasm source code and build the yasm executable as it is needed for libvpx compilation.
2236
2237         * Source/third_party/yasm-1.3.0: Added.
2238         * libwebrtc.xcodeproj/project.pbxproj:
2239
2240 2018-09-28  David Fenton  <david_fenton@apple.com>
2241
2242         Unreviewed, rolling out r236620.
2243
2244         broke internal Mac and iOS builds
2245
2246         Reverted changeset:
2247
2248         "Add yasm as third party tool for libwebrtc compilation"
2249         https://bugs.webkit.org/show_bug.cgi?id=190025
2250         https://trac.webkit.org/changeset/236620
2251
2252 2018-09-28  Youenn Fablet  <youenn@apple.com>
2253
2254         Add yasm as third party tool for libwebrtc compilation
2255         https://bugs.webkit.org/show_bug.cgi?id=190025
2256
2257         Reviewed by Eric Carlson.
2258
2259         Add yasm source code and build the yasm executable as it is needed for libvpx compilation.
2260
2261         * Source/third_party/yasm-1.3.0: Added.
2262         * libwebrtc.xcodeproj/project.pbxproj:
2263
2264 2018-09-27  Ryan Haddad  <ryanhaddad@apple.com>
2265
2266         Unreviewed, rolling out r236557.
2267
2268         Really roll out r236557 this time because it breaks internal
2269         builds.
2270
2271         Reverted changeset:
2272
2273         "Add VP8 support to WebRTC"
2274         https://bugs.webkit.org/show_bug.cgi?id=189976
2275         https://trac.webkit.org/changeset/236557
2276
2277 2018-09-27  Commit Queue  <commit-queue@webkit.org>
2278
2279         Unreviewed, rolling out r236558.
2280         https://bugs.webkit.org/show_bug.cgi?id=190044
2281
2282          236557  Broke internal builds (Requested by ryanhaddad on
2283         #webkit).
2284
2285         Reverted changeset:
2286
2287         "Unreviewed build fix, remove *.o files that were committed in
2288         r236557."
2289         https://trac.webkit.org/changeset/236558
2290
2291 2018-09-27  Ryan Haddad  <ryanhaddad@apple.com>
2292
2293         Unreviewed build fix, remove *.o files that were committed in r236557.
2294
2295         * Source/third_party/libvpx/source/libvpx/vp8/common/x86/copy_sse2.asm.o: Removed.
2296         * Source/third_party/libvpx/source/libvpx/vp8/common/x86/copy_sse3.asm.o: Removed.
2297         * Source/third_party/libvpx/source/libvpx/vp8/common/x86/dequantize_mmx.asm.o: Removed.
2298         * Source/third_party/libvpx/source/libvpx/vp8/common/x86/idctllm_mmx.asm.o: Removed.
2299         * Source/third_party/libvpx/source/libvpx/vp8/common/x86/idctllm_sse2.asm.o: Removed.
2300         * Source/third_party/libvpx/source/libvpx/vp8/common/x86/iwalsh_sse2.asm.o: Removed.
2301         * Source/third_party/libvpx/source/libvpx/vp8/common/x86/loopfilter_block_sse2_x86_64.asm.o: Removed.
2302         * Source/third_party/libvpx/source/libvpx/vp8/common/x86/loopfilter_sse2.asm.o: Removed.
2303         * Source/third_party/libvpx/source/libvpx/vp8/common/x86/mfqe_sse2.asm.o: Removed.
2304         * Source/third_party/libvpx/source/libvpx/vp8/common/x86/recon_mmx.asm.o: Removed.
2305         * Source/third_party/libvpx/source/libvpx/vp8/common/x86/recon_sse2.asm.o: Removed.
2306         * Source/third_party/libvpx/source/libvpx/vp8/common/x86/subpixel_mmx.asm.o: Removed.
2307         * Source/third_party/libvpx/source/libvpx/vp8/common/x86/subpixel_sse2.asm.o: Removed.
2308         * Source/third_party/libvpx/source/libvpx/vp8/common/x86/subpixel_ssse3.asm.o: Removed.
2309
2310 2018-09-27  Youenn Fablet  <youenn@apple.com>
2311
2312         Add VP8 support to WebRTC
2313         https://bugs.webkit.org/show_bug.cgi?id=189976
2314
2315         Reviewed by Eric Carlson.
2316
2317         Add support for conditional VP8 support for both encoding and decoding.
2318         This boolean is used by WebCore based on the new VP8 runtime flag.
2319
2320         Compilation is done without using SSE4/AVX2 optimizations.
2321
2322         * Configurations/libvpx.xcconfig: Added.
2323         * Configurations/libwebrtc.iOS.exp:
2324         * Configurations/libwebrtc.iOSsim.exp:
2325         * Configurations/libwebrtc.mac.exp:
2326         * Configurations/libwebrtc.xcconfig:
2327         * Configurations/libwebrtcpcrtc.xcconfig:
2328         * Source/third_party/libvpx/run_yasm_webkit.py: Added.
2329         * Source/third_party/libvpx/source/config/mac/x64/vpx_config.asm:
2330         * Source/third_party/libvpx/source/config/mac/x64/vpx_config.h:
2331         * Source/third_party/libvpx/source/config/mac/x64/vpx_dsp_rtcd.h:
2332         * Source/webrtc/sdk/WebKit/WebKitUtilities.h:
2333         * Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
2334         (webrtc::createWebKitEncoderFactory):
2335         (webrtc::createWebKitDecoderFactory):
2336         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodecFactory.h:
2337         * libwebrtc.xcodeproj/project.pbxproj:
2338
2339 2018-09-26  Ryan Haddad  <ryanhaddad@apple.com>
2340
2341         Unreviewed, rolling out r236498.
2342
2343         This wasn't intentionally committed
2344
2345         Reverted changeset:
2346
2347         "Import libvpx source code"
2348         https://bugs.webkit.org/show_bug.cgi?id=189954
2349         https://trac.webkit.org/changeset/236498
2350
2351 2018-09-25  Youenn Fablet  <youenn@apple.com>
2352
2353         Import libvpx source code
2354         https://bugs.webkit.org/show_bug.cgi?id=189954
2355
2356         Reviewed by Eric Carlson.
2357
2358         * Source/third_party/libvpx: Added.
2359         * .gitignore: Added.
2360
2361 2018-09-25  Ryan Haddad  <ryanhaddad@apple.com>
2362
2363         Import libvpx source code
2364         https://bugs.webkit.org/show_bug.cgi?id=189954
2365
2366         Another unreviewed build fix attempt.
2367
2368         * Source/third_party/libvpx/source/libvpx/VPX.framework: Remove unneeded folder.
2369
2370 2018-09-25  Youenn Fablet  <youenn@apple.com>
2371
2372         Import libvpx source code
2373         https://bugs.webkit.org/show_bug.cgi?id=189954
2374
2375         Unreviewed, internal build fix.
2376
2377         * Source/third_party/libvpx/source/libvpx/_iosbuild: Removed.
2378         Folder is unneeded.
2379
2380 2018-09-25  Youenn Fablet  <youenn@apple.com>
2381
2382         Import libvpx source code
2383         https://bugs.webkit.org/show_bug.cgi?id=189954
2384
2385         Reviewed by Eric Carlson.
2386
2387         * Source/third_party/libvpx: Added.
2388         * .gitignore: Added.
2389
2390 2018-09-24  Youenn Fablet  <youenn@apple.com>
2391
2392         Enable conversion of libwebrtc internal frames as CVPixelBuffer
2393         https://bugs.webkit.org/show_bug.cgi?id=189892
2394
2395         Reviewed by Eric Carlson.
2396
2397         Renamed encoder/decoder factory creation routine.
2398         Make pixelBufferFromFrame take a function to create a CVPixelBuffer
2399         if the frame does not wrap one.
2400         Initialize the CVPixelBuffer with libwebrtc internal frame.
2401
2402         * Configurations/libwebrtc.iOS.exp:
2403         * Configurations/libwebrtc.iOSsim.exp:
2404         * Configurations/libwebrtc.mac.exp:
2405         * Source/webrtc/sdk/WebKit/WebKitUtilities.h:
2406         * Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
2407         (webrtc::createWebKitEncoderFactory):
2408         (webrtc::createWebKitDecoderFactory):
2409         (webrtc::CopyVideoFrameToPixelBuffer):
2410         (webrtc::pixelBufferFromFrame):
2411         (webrtc::createVideoToolboxEncoderFactory): Deleted.
2412         (webrtc::createVideoToolboxDecoderFactory): Deleted.
2413
2414 2018-09-21  Thibault Saunier  <tsaunier@igalia.com>
2415
2416         [libwebrtc] Allow IP mismatch for local connections on localhost
2417         https://bugs.webkit.org/show_bug.cgi?id=189828
2418
2419         Reviewed by Alejandro G. Castro.
2420
2421         The rest of the code allows it, but there was an unecessary assert
2422
2423         See Bug 187302
2424
2425         * Source/webrtc/p2p/base/tcpport.cc:
2426
2427 2018-09-18  Youenn Fablet  <youenn@apple.com>
2428
2429         Implement RTCRtpReceiver getContributingSources/getSynchronizationSources
2430         https://bugs.webkit.org/show_bug.cgi?id=189671
2431
2432         Reviewed by Eric Carlson.
2433
2434         * Configurations/libwebrtc.iOS.exp:
2435         * Configurations/libwebrtc.iOSsim.exp:
2436         * Configurations/libwebrtc.mac.exp:
2437
2438 2018-09-17  Youenn Fablet  <youenn@apple.com>
2439
2440         Build fix after https://trac.webkit.org/changeset/236070
2441         https://bugs.webkit.org/show_bug.cgi?id=189635
2442         <rdar://problem/44361849>
2443
2444         Unreviewed.
2445         Fix for iOS internal builds.
2446
2447         * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
2448         (-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
2449
2450 2018-09-17  Youenn Fablet  <youenn@apple.com>
2451
2452         Enable VCP for iOS and reenable it for MacOS
2453         https://bugs.webkit.org/show_bug.cgi?id=189635
2454         <rdar://problem/43621029>
2455
2456         Unreviewed, build fix for iOS simulator.
2457
2458         * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
2459
2460 2018-09-17  Youenn Fablet  <youenn@apple.com>
2461
2462         Enable VCP for iOS and reenable it for MacOS
2463         https://bugs.webkit.org/show_bug.cgi?id=189635
2464         <rdar://problem/43621029>
2465
2466         Reviewed by Eric Carlson.
2467
2468         Make sure VCP API is used to set encoding session parameters.
2469
2470         * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
2471         * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
2472         (-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
2473         * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/helpers.cc:
2474         * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/helpers.h:
2475
2476 2018-09-07  Youenn Fablet  <youenn@apple.com>
2477
2478         Add support for unified plan transceivers
2479         https://bugs.webkit.org/show_bug.cgi?id=189390
2480
2481         Reviewed by Eric Carlson.
2482
2483         Expose more symbols.
2484         * Configurations/libwebrtc.iOS.exp:
2485         * Configurations/libwebrtc.iOSsim.exp:
2486         * Configurations/libwebrtc.mac.exp:
2487
2488 2018-09-05  Youenn Fablet  <youenn@apple.com>
2489
2490         Expose RTCRtpSender.setParameters
2491         https://bugs.webkit.org/show_bug.cgi?id=189307
2492
2493         Reviewed by Eric Carlson.
2494
2495         * Configurations/libwebrtc.iOS.exp:
2496         * Configurations/libwebrtc.iOSsim.exp:
2497         * Configurations/libwebrtc.mac.exp:
2498
2499 2018-08-29  David Kilzer  <ddkilzer@apple.com>
2500
2501         Remove empty directories from from svn.webkit.org repository
2502         <https://webkit.org/b/189081>
2503
2504         * Source/webrtc/base: Removed.
2505         * Source/webrtc/media/devices: Removed.
2506         * Source/webrtc/modules/audio_conference_mixer: Removed.
2507         * Source/webrtc/modules/remote_bitrate_estimator/include/mock: Removed.
2508         * Source/webrtc/system_wrappers/test: Removed.
2509         * Source/webrtc/test/testsupport/mac: Removed.
2510         * Source/webrtc/voice_engine: Removed.
2511
2512 2018-08-28  David Kilzer  <ddkilzer@apple.com>
2513
2514         [libwebrtc] Remove references to Source/webrtc/modules/audio_coding/codecs/isac/main/source/fft.h
2515
2516         Found by tidy-Xcode-project-file script (see Bug 188754).
2517
2518         * libwebrtc.xcodeproj/project.pbxproj:
2519         (Source/webrtc/modules/audio_coding/codecs/isac/main/source/fft.h):
2520         Remove references to this file since it doesn't exist.
2521
2522 2018-08-28  Youenn Fablet  <youenn@apple.com>
2523
2524         Reenable -Wexit-time-destructors -and Wglobal-constructors in libwebrtc
2525         https://bugs.webkit.org/show_bug.cgi?id=189036
2526
2527         Reviewed by Geoffrey Garen.
2528
2529         Renable these compilation warnings and introduce rtc::NeverDestroyed as helper.
2530
2531         * Configurations/Base.xcconfig:
2532         * Source/webrtc/modules/audio_processing/agc2/rnn_vad/spectral_features_internal.cc:
2533         * Source/webrtc/modules/congestion_controller/bbr/bbr_network_controller.cc:
2534         * Source/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc:
2535         * Source/webrtc/pc/peerconnection.cc:
2536         * Source/webrtc/rtc_base/flags.h:
2537         * Source/webrtc/rtc_base/logging.cc:
2538         * Source/webrtc/rtc_base/never_destroyed.h: Added.
2539         (rtc::NeverDestroyed::NeverDestroyed):
2540         (rtc::NeverDestroyed::operator T&):
2541         (rtc::NeverDestroyed::get):
2542         (rtc::NeverDestroyed::operator const T& const):
2543         (rtc::NeverDestroyed::get const):
2544         (rtc::NeverDestroyed::storagePointer const):
2545         (rtc::makeNeverDestroyed):
2546         * Source/webrtc/rtc_base/virtualsocketserver.cc:
2547         * Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodec.mm:
2548         * Source/webrtc/system_wrappers/source/clock.cc:
2549         * Source/webrtc/system_wrappers/source/runtime_enabled_features_default.cc:
2550         * libwebrtc.xcodeproj/project.pbxproj:
2551
2552 2018-08-27  Keith Rollin  <krollin@apple.com>
2553
2554         Unreviewed build fix -- disable LTO for production builds
2555
2556         * Configurations/Base.xcconfig:
2557
2558 2018-08-27  Keith Rollin  <krollin@apple.com>
2559
2560         Build system support for LTO
2561         https://bugs.webkit.org/show_bug.cgi?id=187785
2562         <rdar://problem/42353132>
2563
2564         Reviewed by Dan Bernstein.
2565
2566         Update Base.xcconfig and DebugRelease.xcconfig to optionally enable
2567         LTO.
2568
2569         * Configurations/Base.xcconfig:
2570         * Configurations/DebugRelease.xcconfig:
2571
2572 2018-08-23  youenn fablet  <youennf@gmail.com>
2573
2574         Remove libwebrtc unneeded .exe file.
2575         Unreviewed.
2576
2577         * Source/webrtc/data/voice_engine/stereo_rtp_files/rtpplay.exe: Removed.
2578
2579 2018-08-23  Youenn Fablet  <youenn@apple.com> and Alejandro G. Castro  <alex@igalia.com>
2580
2581         Update libwebrtc up to 984f1a80c0
2582         https://bugs.webkit.org/show_bug.cgi?id=188745
2583         <rdar://problem/43539177>
2584
2585         Reviewed by Eric Carlson.
2586
2587         Update libwebrtc main code.
2588         Update exported symbols and related applied modifications.
2589
2590         * CMakeLists.txt:
2591         * Configurations/libwebrtc.iOS.exp:
2592         * Configurations/libwebrtc.iOSsim.exp:
2593         * Configurations/libwebrtc.mac.exp:
2594         * Configurations/libwebrtc.xcconfig:
2595         * Source/webrtc: refreshed
2596         * WebKit/0001-Updating-webrtc.patch: Added.
2597         * WebKit/0001-Adapting-libwebrtc-H264-codec.patch: Removed.
2598         * WebKit/0001-Disable-SIGPIPE-for-WebRTC-sockets.patch: Removed.
2599         * WebKit/0001-Update-RTCVideoEncoderH264.mm-for-WebKit.patch: Removed.
2600         * WebKit/0001-Using-VCP.patch: Removed.
2601         * WebKit/0003-Fixing-VP8-files.patch: Removed.
2602         * WebKit/0004-Removing-parameter-names-from-files-included-from-We.patch: Removed.
2603         * WebKit/0005-Fix-RTC_FATAL.patch: Removed.
2604         * WebKit/0006-Disabling-VP8.patch: Removed.
2605         * WebKit/0007-Fix-RTC_STRINGIZE.patch: Removed.
2606         * WebKit/0008-Fix-sanitizer.patch: Removed.
2607         * WebKit/0009-Remove-dispatch_set_target_queue.patch: Removed.
2608         * WebKit/0010-Fix-RTCVideoEncoderH264-CVPixelBuffer-leak.patch: Removed.
2609         * WebKit/0011-Fix-AudioDeviceID-array-leak.patch: Removed.
2610         * WebKit/0012-Add-WK-prefix-to-Objective-C-classes-and-protocols.patch: Removed.
2611         * WebKit/0013-Fix-SafeSetError-use-after-move.patch: Removed.
2612         * libwebrtc.xcodeproj/project.pbxproj:
2613
2614 2018-08-21  Youenn Fablet  <youenn@apple.com>
2615
2616         Update some libwebrtc third party libraries as per libwebrtc 984f1a80c0c
2617         https://bugs.webkit.org/show_bug.cgi?id=188751
2618
2619         Reviewed by Eric Carlson.
2620
2621         Added rnnoise and abseil which will be used by latest libwebrtc.
2622         Updated libyuv as it is also required by latest libwebrtc.
2623
2624         * Source/third_party/abseil-cpp: Added.
2625         * Source/third_party/libyuv: Refreshed.
2626         * Source/third_party/rnnoise: Added.
2627
2628 2018-08-06  David Kilzer  <ddkilzer@apple.com>
2629
2630         [libwebrtc] SafeSetError() in peerconnection.cc contains use-after-move of webrtc::RTCError variable
2631         <https://webkit.org/b/188337>
2632         <rdar://problem/42882908>
2633
2634         Reviewed by Eric Carlson.
2635
2636         * Source/webrtc/pc/peerconnection.cc:
2637         (webrtc::SafeSetError): Make static since it's not used outside
2638         this translation unit.
2639         (webrtc::SafeSetError): Ditto.  Change first argument to
2640         webrtc::RTCError&& to prevent unnecessary copying of std::move()
2641         argument.  Fix bug by saving value of `error.ok()` before moving
2642         to `*error_out`.
2643         * WebKit/0013-Fix-SafeSetError-use-after-move.patch: Add patch.
2644
2645 2018-08-03  Alex Christensen  <achristensen@webkit.org>
2646
2647         Fix spelling of "overridden"
2648         https://bugs.webkit.org/show_bug.cgi?id=188315
2649
2650         Reviewed by Darin Adler.
2651
2652         * Source/webrtc/p2p/client/basicportallocator.h:
2653
2654 2018-07-24  Thibault Saunier  <tsaunier@igalia.com>
2655
2656         [WPE][GTK] Implement PeerConnection API on top of libwebrtc
2657         https://bugs.webkit.org/show_bug.cgi?id=186932
2658
2659         Reviewed by Philippe Normand.
2660
2661         * CMakeLists.txt: Properly set our build as `WEBRTC_WEBKIT_BUILD`
2662
2663 2018-07-19  Youenn Fablet  <youenn@apple.com>
2664
2665         PlatformThread::Run does not need to log the fact that it is running
2666         https://bugs.webkit.org/show_bug.cgi?id=187801i
2667         <rdar://problem/40331421>
2668
2669         Reviewed by Chris Dumez.
2670
2671         * Source/webrtc/rtc_base/platform_thread.cc:
2672
2673 2018-07-14  Kocsen Chung  <kocsen_chung@apple.com>
2674
2675         Ensure WebKit stack is ad-hoc signed
2676         https://bugs.webkit.org/show_bug.cgi?id=187667
2677
2678         Reviewed by Alexey Proskuryakov.
2679
2680         * Configurations/Base.xcconfig:
2681
2682 2018-07-13  David Kilzer  <ddkilzer@apple.com>
2683
2684         libwebrtc.dylib Objective-C classes conflict with third-party frameworks
2685         <https://webkit.org/b/187653>
2686
2687         Reviewed by Alex Christensen.
2688
2689         * Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
2690         - Manually add an attribute to change the class name.
2691
2692         * Source/webrtc/sdk/objc/Framework/Classes/Common/RTCUIApplicationStatusObserver.h:
2693         * Source/webrtc/sdk/objc/Framework/Classes/Metal/RTCMTLI420Renderer.h:
2694         * Source/webrtc/sdk/objc/Framework/Classes/Metal/RTCMTLNV12Renderer.h:
2695         * Source/webrtc/sdk/objc/Framework/Classes/Metal/RTCMTLRenderer.h:
2696         * Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCDtmfSender+Private.h:
2697         * Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoRendererAdapter.h:
2698         * Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCWrappedNativeVideoDecoder.h:
2699         * Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCWrappedNativeVideoEncoder.h:
2700         * Source/webrtc/sdk/objc/Framework/Classes/UI/RTCEAGLVideoView.m:
2701         * Source/webrtc/sdk/objc/Framework/Classes/Video/RTCAVFoundationVideoCapturerInternal.h:
2702         * Source/webrtc/sdk/objc/Framework/Classes/Video/RTCDefaultShader.h:
2703         * Source/webrtc/sdk/objc/Framework/Classes/Video/RTCI420TextureCache.h:
2704         * Source/webrtc/sdk/objc/Framework/Classes/Video/RTCNV12TextureCache.h:
2705         * Source/webrtc/sdk/objc/Framework/Classes/Video/objc_frame_buffer.h:
2706         * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/objc_video_decoder_factory.h:
2707         * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/objc_video_encoder_factory.h:
2708         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAVFoundationVideoSource.h:
2709         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAudioSession.h:
2710         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAudioSessionConfiguration.h:
2711         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAudioSource.h:
2712         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAudioTrack.h:
2713         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCCameraPreviewView.h:
2714         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCCameraVideoCapturer.h:
2715         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCConfiguration.h:
2716         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCDataChannel.h:
2717         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCDataChannelConfiguration.h:
2718         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCDispatcher.h:
2719         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCDtmfSender.h:
2720         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCEAGLVideoView.h:
2721         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFileLogger.h:
2722         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFileVideoCapturer.h:
2723         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCIceCandidate.h:
2724         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCIceServer.h:
2725         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCIntervalRange.h:
2726         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCLegacyStatsReport.h:
2727         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMTLNSVideoView.h:
2728         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMTLVideoView.h:
2729         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaConstraints.h:
2730         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaSource.h:
2731         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaStream.h:
2732         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaStreamTrack.h:
2733         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMetricsSampleInfo.h:
2734         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCNSGLVideoView.h:
2735         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnection.h:
2736         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnectionFactory.h:
2737         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnectionFactoryOptions.h:
2738         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpCodecParameters.h:
2739         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpEncodingParameters.h:
2740         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpParameters.h:
2741         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpReceiver.h:
2742         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpSender.h:
2743         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCSessionDescription.h:
2744         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCapturer.h:
2745         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodec.h:
2746         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodecFactory.h:
2747         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodecH264.h:
2748         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoDecoderVP8.h:
2749         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoDecoderVP9.h:
2750         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoEncoderVP8.h:
2751         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoEncoderVP9.h:
2752         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoFrame.h:
2753         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoFrameBuffer.h:
2754         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoRenderer.h:
2755         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoSource.h:
2756         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoTrack.h:
2757         * Source/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoViewShading.h:
2758         - Apply two shell scripts (see bug) to add an attribute to
2759           change the name of all classes and protocols.
2760
2761         * WebKit/0012-Add-WK-prefix-to-Objective-C-classes-and-protocols.patch: Add.
2762
2763 2018-07-13  David Kilzer  <ddkilzer@apple.com>
2764
2765         REGRESSION (r233155): Remove last references to click_annotate.cc and rtpcat.cc
2766
2767         * libwebrtc.xcodeproj/project.pbxproj: Let Xcode have its way
2768         with the project file by removing orphaned entries.
2769
2770 2018-07-13  David Kilzer  <ddkilzer@apple.com>
2771
2772         REGRESSION (r222476): Add missing semi-colons to EXPORTED_SYMBOLS_FILE variables
2773
2774         * Configurations/libwebrtc.xcconfig:
2775         (EXPORTED_SYMBOLS_FILE): Add missing semi-colons.
2776
2777 2018-07-06  Youenn Fablet  <youenn@apple.com>
2778
2779         libWebRTC GetThreadCpuTimeNanos() leaks mach_ports
2780         https://bugs.webkit.org/show_bug.cgi?id=187403
2781         <rdar://problem/41741599>
2782
2783         Reviewed by Simon Fraser.
2784
2785         * Source/webrtc/rtc_base/cpu_time.cc: Call mach_port_deallocate to
2786         to ensure mach_port is deleted.
2787         * libwebrtc.xcodeproj/project.pbxproj: Stop compiling this file since
2788         this is not used except by libwebrtc tests.
2789
2790 2018-07-04  Thibault Saunier  <tsaunier@igalia.com>
2791
2792         [libwebrtc] Allow IP mismatch for local connections on localhost
2793         https://bugs.webkit.org/show_bug.cgi?id=187302
2794
2795         Reviewed by Youenn Fablet.
2796
2797         The rest of the code allows it, but there was an unecessary assert
2798
2799         * Source/webrtc/p2p/base/tcpport.cc:
2800
2801 2018-06-26  Yusuke Suzuki  <utatane.tea@gmail.com>
2802
2803         [GTK][WPE] Remove gflags from libwebrtc build
2804         https://bugs.webkit.org/show_bug.cgi?id=187078
2805
2806         Reviewed by Alejandro G. Castro.
2807
2808         gflags is used only in libyuv unit tests. So the Apple ports do not build & link it.
2809         GTK and WPE can do the same thing: not building gflags. By doing so, we can achieve
2810         the following results.
2811
2812         1. Remove static initializers defined for gflags.
2813         2. Reduce binary size.
2814
2815         * CMakeLists.txt:
2816
2817 2018-06-25  Keith Rollin  <krollin@apple.com>
2818
2819         Adjust webrtc library for LTO
2820         https://bugs.webkit.org/show_bug.cgi?id=186952
2821         <rdar://problem/41387815>
2822
2823         Reviewed by Youenn Fablet.
2824
2825         There are a number of files in webrtc that have main() functions (in
2826         particular, rtpcat.cc and click_annotate.cc). When compiling with LTO,
2827         these symbols are exposed to each other, leading to the following
2828         build failure:
2829
2830             Ld libwebrtc.dylib
2831             duplicate symbol _main in:
2832             ld: 1 duplicate symbol for architecture x86_64
2833             clang: error: linker command failed with exit code 1 (use -v to see invocation)
2834             ** BUILD FAILED **
2835
2836         Address this by removing the indicated files from the build.
2837
2838         * libwebrtc.xcodeproj/project.pbxproj:
2839
2840 2018-06-14  Youenn Fablet  <youenn@apple.com>
2841
2842         Activate -Wexit-time-destructors -and Wglobal-constructors in libwebrtc
2843         https://bugs.webkit.org/show_bug.cgi?id=186615
2844
2845         Reviewed by Darin Adler.
2846
2847         Update xcconfig files to activate these compile flags.
2848         Also enable -Wthread-safety since libwebrtc code is using some related attributes.
2849         Update libwebrtc code base to accomodate these flags.
2850
2851         * Configurations/libwebrtc.xcconfig:
2852         * Configurations/opus.xcconfig:
2853         * Configurations/usrsctp.xcconfig:
2854         * Source/webrtc/modules/audio_processing/beamformer/array_util.h:
2855         (webrtc::DegreesToRadians): Make function constexpr.
2856         * Source/webrtc/modules/rtp_rtcp/source/rtp_utility.cc:
2857         Make sure the destructor is never called.
2858         * Source/webrtc/rtc_base/logging.cc:
2859         Update code to move streams_ from a static class member to a regular static function variable.
2860         * Source/webrtc/rtc_base/logging.h:
2861         * Source/webrtc/system_wrappers/source/clock.cc:
2862         Make sure the destructor is never called.
2863
2864 2018-06-14  Youenn Fablet  <youenn@apple.com>
2865
2866         Eliminate static initializers in libwebrtc.dylib
2867         https://bugs.webkit.org/show_bug.cgi?id=186570
2868         <rdar://problem/41054874>
2869
2870         Reviewed by Darin Adler.
2871
2872         * Source/webrtc/rtc_base/flags.h:
2873         Fix memory corruption error by having the actual flag value be static.
2874
2875 2018-06-13  Youenn Fablet  <youenn@apple.com>
2876
2877         Eliminate static initializers in libwebrtc.dylib
2878         https://bugs.webkit.org/show_bug.cgi?id=186570
2879
2880         Reviewed by Darin Adler.
2881
2882         * Source/webrtc/rtc_base/flags.h: Changed macro to create the static into a function.
2883         * Source/webrtc/rtc_base/logging.cc: Ditto.
2884         Made sure that the scope is created on instantiation of the first Log instance that might use it.
2885         * Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodec.mm:
2886         * Source/webrtc/system_wrappers/source/runtime_enabled_features_default.cc:
2887
2888 2018-06-09  Dan Bernstein  <mitz@apple.com>
2889
2890         [Xcode] Clean up and modernize some build setting definitions
2891         https://bugs.webkit.org/show_bug.cgi?id=186463
2892
2893         Reviewed by Sam Weinig.
2894
2895         * Configurations/Base.xcconfig: Removed definition for macOS 10.11.
2896         * Configurations/DebugRelease.xcconfig: Ditto.
2897         * Configurations/Version.xcconfig: Removed definitions for macOS 10.10 and 10.11, and added
2898           definitions for later versions.
2899         * Configurations/WebKitTargetConditionals.xcconfig: Removed definitions for macOS 10.11.
2900         * Configurations/opus.xcconfig: Simplified the definition of SSE4_FLAG now that macOS 10.12
2901           is the earliest supported version.
2902
2903 2018-06-09  Dan Bernstein  <mitz@apple.com>
2904
2905         Added missing file references to the Configuration group.
2906
2907         * libwebrtc.xcodeproj/project.pbxproj:
2908
2909 2018-06-07  Darin Adler  <darin@apple.com>
2910
2911         [Cocoa] Minor ARC tidying of libwebrtc
2912         https://bugs.webkit.org/show_bug.cgi?id=186396
2913
2914         Reviewed by Dan Bernstein.
2915
2916         * Configurations/Base.xcconfig: Set CLANG_ENABLE_OBJC_ARC here as we will eventually be
2917         doing in all the various Base.xcconfig files as we make progress on conversion.
2918
2919         * Configurations/libwebrtc.xcconfig: Removed override of CLANG_ENABLE_OBJC_ARC here and
2920         also removed five other redundant settings that match Base.xcconfig.
2921
2922         * libwebrtc.xcodeproj/project.pbxproj: Removed explicit -fobjc-arc that was set on
2923         one particular source file, since that's already the default for the project.
2924
2925 2018-06-04  Youenn Fablet  <youenn@apple.com>
2926
2927         [WK1] Add an option to restrict communication to localhost sockets
2928         https://bugs.webkit.org/show_bug.cgi?id=186249
2929
2930         Reviewed by Eric Carlson.
2931
2932         Export new symbols used for WK1.
2933
2934         * Configurations/libwebrtc.iOS.exp:
2935         * Configurations/libwebrtc.iOSsim.exp:
2936         * Configurations/libwebrtc.mac.exp:
2937
2938 2018-05-31  David Kilzer  <ddkilzer@apple.com>
2939
2940         Fix leak of AudioDeviceID array due to an early return in AudioDeviceMac::GetNumberDevices()
2941         <https://webkit.org/b/186152>
2942         <rdar://problem/40692824>
2943
2944         Reviewed by Alex Christensen.
2945
2946         * Source/webrtc/modules/audio_device/mac/audio_device_mac.cc:
2947         Use std::make_unique<> so that memory is allocated and
2948         deallocated automatically.  Remove manual calls to free().
2949         * WebKit/0011-Fix-AudioDeviceID-array-leak.patch: Add.
2950
2951 2018-05-30  David Kilzer  <ddkilzer@apple.com>
2952
2953         Fix leak of a CVPixelBufferRef due to early rerturn in -[RTCVideoEncoderH264 encode:codecSpecificInfo:frameTypes:]
2954         <https://webkit.org/b/186114>
2955         <rdar://problem/40668097>
2956
2957         Reviewed by Eric Carlson.
2958
2959         * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
2960         (-[RTCVideoEncoderH264 encode:codecSpecificInfo:frameTypes:]):
2961         Call CVBufferRelease(pixelBuffer) before early return to free
2962         it.
2963         * WebKit/0010-Fix-RTCVideoEncoderH264-CVPixelBuffer-leak.patch: Add.
2964
2965 2018-05-27  David Kilzer  <ddkilzer@apple.com>
2966
2967         [iOS] Fix warnings about leaks found by clang static analyzer
2968         <https://webkit.org/b/186009>
2969         <rdar://problem/40574267>
2970
2971         Reviewed by Daniel Bates.
2972
2973         * Source/third_party/opus/src/src/opus_compare.c:
2974         * Source/third_party/opus/src/src/opus_demo.c:
2975         (main):
2976         - Free allocated memory on early returns.
2977         * Source/third_party/usrsctp/usrsctplib/user_mbuf.c:
2978         (clust_constructor_dup):
2979         (mb_ctor_clust):
2980         - Free allocated memory if `m` is NULL.
2981         * Source/third_party/usrsctp/usrsctplib/user_socket.c:
2982         (usrsctp_connect): Free `sa` memory if getsockaddr() returns an
2983         error, but still allocates memory for `sa`.
2984         * WebKit/patch-opus.diff: Add patch for opus changes.
2985         * WebKit/patch-usrsctp: Rename empty file to patch-usrsctp.diff.
2986         * WebKit/patch-usrsctp.diff: Add patch for usrsctp changes.
2987         * libwebrtc.xcodeproj/project.pbxproj: Remove opus_compare.c,
2988         opus_demo.c, and repacketizer_demo.c from opus target.  This
2989         code is for stand-alone tools, and although it may be removed
2990         during dead code linking, we don't need to spend time compiling
2991         it.
2992
2993 2018-05-07  Youenn Fablet  <youenn@apple.com>
2994
2995         Activate ARC for libwebrtc Objective C files
2996         https://bugs.webkit.org/show_bug.cgi?id=185324
2997
2998         Reviewed by David Kilzer.
2999
3000         Revert changes made to libwebrtc to accomodate from not using ARC.
3001         Use ARC for all libwebrtc objective C files.
3002
3003         Remove no longer needed export symbols and stop compiling the related files.
3004
3005         * Configurations/libwebrtc.iOS.exp:
3006         * Configurations/libwebrtc.iOSsim.exp:
3007         * Configurations/libwebrtc.mac.exp:
3008         * Configurations/libwebrtc.xcconfig:
3009         * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
3010         * Source/webrtc/sdk/objc/Framework/Classes/Video/RTCCVPixelBuffer.mm:
3011         (-[RTCCVPixelBuffer dealloc]):
3012         * Source/webrtc/sdk/objc/Framework/Classes/Video/objc_frame_buffer.mm:
3013         (webrtc::ObjCFrameBuffer::~ObjCFrameBuffer):
3014         * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoDecoderH264.mm:
3015         (-[RTCVideoDecoderH264 dealloc]):
3016         (-[RTCVideoDecoderH264 setCallback:]):
3017         (-[RTCVideoDecoderH264 releaseDecoder]):
3018         * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
3019         (-[RTCVideoEncoderH264 dealloc]):
3020         (-[RTCVideoEncoderH264 setCallback:]):
3021         (-[RTCVideoEncoderH264 releaseEncoder]):
3022         * libwebrtc.xcodeproj/project.pbxproj:
3023
3024 2018-05-02  Youenn Fablet  <youenn@apple.com>
3025
3026         Disable VCP for iOS until it is fully working
3027         https://bugs.webkit.org/show_bug.cgi?id=185201
3028         <rdar://problem/39773857>
3029
3030         Reviewed by Eric Carlson.
3031
3032         Disable VCP for iOS unconditionally.
3033         Add check to getkVTVideoEncoderSpecification_Usage to not set this property if not defined as it is optional soft linked.
3034         Replace use of VTSessionSetProperty by CompressionSessionSetProperty as the latter is a macro
3035         that works for both VT and VCP.
3036
3037         * Source/webrtc/sdk/WebKit/EncoderUtilities.h:
3038         * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
3039         * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
3040         (-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
3041         (-[RTCVideoEncoderH264 configureCompressionSession]):
3042         (-[RTCVideoEncoderH264 setEncoderBitrateBps:]):
3043         (-[RTCVideoEncoderH264 frameWasEncoded:flags:sampleBuffer:codecSpecificInfo:width:height:renderTimeMs:timestamp:rotation:]):
3044         * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/helpers.cc:
3045         * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/helpers.h:
3046
3047 2018-04-30  Youenn Fablet  <youenn@apple.com>
3048
3049         Mandate H264 hardware encoder for Mac in libwebrtc
3050         https://bugs.webkit.org/show_bug.cgi?id=184835
3051
3052         Reviewed by Eric Carlson.
3053
3054         Tested manually through console traces that hardware VCP encoder code path is actually used instead of software VCP encoder code path.
3055
3056         * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
3057         (-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
3058         * WebKit/0001-Update-RTCVideoEncoderH264.mm-for-WebKit.patch: Added to cover this change and changes made in bug 184668 and 183961.
3059
3060 2018-04-20  Commit Queue  <commit-queue@webkit.org>
3061
3062         Unreviewed, rolling out r230862.
3063         https://bugs.webkit.org/show_bug.cgi?id=184855
3064
3065         it is making some tests to time out on bots (Requested by
3066         youenn on #webkit).
3067
3068         Reverted changeset:
3069
3070         "Mandate H264 hardware encoder for Mac in libwebrtc"
3071         https://bugs.webkit.org/show_bug.cgi?id=184835
3072         https://trac.webkit.org/changeset/230862
3073
3074 2018-04-20  Youenn Fablet  <youenn@apple.com>
3075
3076         Mandate H264 hardware encoder for Mac in libwebrtc
3077         https://bugs.webkit.org/show_bug.cgi?id=184835
3078
3079         Reviewed by Eric Carlson.
3080
3081         Tested manually through console traces that hardware VCP encoder code path is actually used instead of software VCP encoder code path.
3082
3083         * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
3084         (-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
3085         * WebKit/0001-Update-RTCVideoEncoderH264.mm-for-WebKit.patch: Added to cover this change and changes made in bug 184668 and 183961.
3086
3087 2018-04-19  David Kilzer  <ddkilzer@apple.com>
3088
3089         Enable Objective-C weak references
3090         <https://webkit.org/b/184789>
3091         <rdar://problem/39571716>
3092
3093         Reviewed by Dan Bernstein.
3094
3095         * Configurations/Base.xcconfig:
3096         (CLANG_ENABLE_OBJC_WEAK): Enable.
3097
3098 2018-04-16  Youenn Fablet  <youenn@apple.com>
3099
3100         Set H264 VT encoder usage to 1
3101         https://bugs.webkit.org/show_bug.cgi?id=184668
3102
3103         Reviewed by Eric Carlson.
3104
3105         * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
3106         (-[RTCVideoEncoderH264 configureCompressionSession]):
3107
3108 2018-04-10  Youenn Fablet  <youenn@apple.com>
3109
3110         webrtc/datachannel/basic-tcp.html will crash with an invalid crash
3111         https://bugs.webkit.org/show_bug.cgi?id=178285
3112         <rdar://problem/34985374>
3113
3114         Reviewed by Eric Carlson.
3115
3116         Disable SIGPIPE for WebRTC sockets on Mac as well.
3117
3118         * Source/webrtc/rtc_base/physicalsocketserver.cc:
3119         * WebKit/0001-Disable-SIGPIPE-for-WebRTC-sockets.patch: Added.
3120
3121 2018-04-09  Youenn Fablet  <youenn@apple.com>
3122
3123         Use special software encoder mode in case there is no VCP not hardware encoder
3124         https://bugs.webkit.org/show_bug.cgi?id=183961
3125
3126         Reviewed by Eric Carlson.
3127
3128         In case a compression session is not using a hardware encoder and VCP is not active
3129         use a specific mode if the resolution is standard.
3130
3131         * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.cpp:
3132         * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
3133
3134 2018-04-05  Alejandro G. Castro  <alex@igalia.com>
3135
3136         [GTK] Add CMake package search for vpx and libevent libraries
3137         https://bugs.webkit.org/show_bug.cgi?id=184257
3138
3139         Reviewed by Michael Catanzaro.
3140
3141         Add new cmake search files for libevent, vpx and alsa-lib, this
3142         makes a cleaner detection of the libraries.
3143
3144         * CMakeLists.txt: Use the new cmake find files to detect the
3145         package and add a better error message when the library is not
3146         there.
3147         * Source/cmake/FindAlsaLib.cmake: Added.
3148         * Source/cmake/FindLibEvent.cmake: Added.
3149         * Source/cmake/FindVpx.cmake: Added.
3150
3151 2018-04-03  Youenn Fablet  <youenn@apple.com>
3152
3153         RealtimeOutgoingVideoSourceMac should pass a ObjCFrameBuffer buffer
3154         https://bugs.webkit.org/show_bug.cgi?id=184281
3155         rdar://problem/39153262
3156
3157         Reviewed by Jer Noble.
3158
3159         Introduce a routine to create the wrapper around native pixel buffers as expected by the new libwebrtc H264 encoder.
3160
3161         * Configurations/libwebrtc.iOS.exp:
3162         * Configurations/libwebrtc.iOSsim.exp:
3163         * Configurations/libwebrtc.mac.exp:
3164         * Source/webrtc/sdk/WebKit/WebKitUtilities.h:
3165         * Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
3166         (webrtc::pixelBufferToFrame):
3167
3168 2018-04-02  Alejandro G. Castro  <alex@igalia.com>
3169
3170         Unreviewed fixing GTK port X86 32bits compilation after r230152.
3171
3172         * CMakeLists.txt:
3173
3174 2018-04-02  Alejandro G. Castro  <alex@igalia.com>
3175
3176         Unreviewed fixing GTK port ARM compilation after r230152.
3177
3178         * CMakeLists.txt: Properly avoid SSE implementations for ARM.
3179
3180 2018-04-02  Alejandro G. Castro  <alex@igalia.com>
3181
3182         [GTK] Make libwebrtc backend buildable for GTK  port
3183         https://bugs.webkit.org/show_bug.cgi?id=178860
3184
3185         Reviewed by Youenn Fablet.
3186
3187         Modified the cmake file and added some assembly code to the
3188         boringssl compilation required for the linux compilation generated
3189         by libwebrtc.
3190
3191         * CMakeLists.txt: This cmake file was unused so we have modified
3192         it completely to make it work for our port. It was originally
3193         generated from the libwebrtc json file but not anymore. We could
3194         change its structure at some point but current one seems a good
3195         option for the moment.
3196         * Source/webrtc/base/task_queue_libevent.cc: We use system
3197         libevent for the moment so we needed to adapt the includes in this file.
3198         * Source/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc:
3199         Readded lines removed by mistake in a previous commit.
3200
3201 2018-03-26  Youenn Fablet  <youennf@gmail.com>
3202
3203         Make VCP encoder usage conditional on using internal SDK
3204         https://bugs.webkit.org/show_bug.cgi?id=184009
3205
3206         Reviewed by Eric Carlson.
3207
3208         * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
3209
3210 2018-03-23  Youenn Fablet  <youenn@apple.com>
3211
3212         Add support for VCP encoder on MacOS and iOS
3213         Build fix.
3214
3215         Unreviewed.
3216
3217         * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.cpp:
3218
3219 2018-03-23  Youenn Fablet  <youenn@apple.com>
3220
3221         Add support for VCP encoder on MacOS and iOS
3222         https://bugs.webkit.org/show_bug.cgi?id=183924
3223
3224         Reviewed by Eric Carlson.
3225
3226         Soft-Link VideoProcessing functions and use them in H264 encoder.
3227         This is conditional on recent MacOS and iOS platforms.
3228
3229         * Source/webrtc/sdk/WebKit/EncoderUtilities.h: Added.
3230         * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.cpp: Added.
3231         * Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h: Added.
3232         * Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
3233         (webrtc::createVideoToolboxEncoderFactory):
3234         * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
3235         (-[RTCVideoEncoderH264 encode:codecSpecificInfo:frameTypes:]):
3236         (-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
3237         (-[RTCVideoEncoderH264 destroyCompressionSession]):
3238         * WebKit/0001-Using-VCP.patch: Added.
3239         * libwebrtc.xcodeproj/project.pbxproj:
3240
3241 2018-03-23  David Kilzer  <ddkilzer@apple.com>
3242
3243         Stop using dispatch_set_target_queue()
3244         <https://webkit.org/b/183908>
3245         <rdar://problem/33553533>
3246
3247         Reviewed by Daniel Bates.
3248
3249         * Source/webrtc/rtc_base/task_queue_gcd.cc: Remove use of
3250         dispatch_set_target_queue() by changing dispatch_queue_create()
3251         to dispatch_queue_create_with_target().
3252         * WebKit/0009-Remove-dispatch_set_target_queue.patch: Add patch.
3253         Filed this to track upstreaming the change:
3254         <https://bugs.chromium.org/p/webrtc/issues/detail?id=9055>
3255         * WebKit/patch-libwebrtc: Delete empty patch file.
3256
3257 2018-03-23  Youenn Fablet  <youenn@apple.com>
3258
3259         Use libwebrtc ObjectiveC H264 encoder and decoder
3260         https://bugs.webkit.org/show_bug.cgi?id=183912
3261
3262         Reviewed by Eric Carlson.
3263
3264         Add utilities inside libwebrtc to be used by WebKit:
3265         - Create ObjectiveC encoder/decoder factories
3266         - Notify of application status to invalidate encoders/decoders when in background
3267         Implement RTCUIApplicationStatusObserver as a simple boolean that is set by WebCore.
3268         This allows limiting the changes made to libwebrtc codec implementations.
3269
3270         Minor modifications done to libwebrtc to fix compilation.
3271         Add Block_copy/Block_release to codec callbacks.
3272
3273         * Configurations/libwebrtc.iOS.exp:
3274         * Configurations/libwebrtc.iOSsim.exp:
3275         * Configurations/libwebrtc.mac.exp:
3276         * Source/webrtc/sdk/WebKit/WebKitUtilities.h: Added.
3277         * Source/webrtc/sdk/WebKit/WebKitUtilities.mm: Added.
3278         (+[RTCUIApplicationStatusObserver sharedInstance]):
3279         (+[RTCUIApplicationStatusObserver prepareForUse]):
3280         (-[RTCUIApplicationStatusObserver setActive]):
3281         (-[RTCUIApplicationStatusObserver setInactive]):
3282         (-[RTCUIApplicationStatusObserver isApplicationActive]):
3283         (webrtc::setApplicationStatus):
3284         (webrtc::createVideoToolboxEncoderFactory):
3285         (webrtc::createVideoToolboxDecoderFactory):
3286         (webrtc::setH264HardwareEncoderAllowed):
3287         (webrtc::isH264HardwareEncoderAllowed):
3288         (webrtc::pixelBufferFromFrame):
3289         * Source/webrtc/sdk/objc/Framework/Classes/Video/RTCCVPixelBuffer.mm:
3290         (-[RTCCVPixelBuffer dealloc]):
3291         * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoDecoderH264.mm:
3292         (-[RTCVideoDecoderH264 dealloc]):
3293         (-[RTCVideoDecoderH264 setCallback:]):
3294         (-[RTCVideoDecoderH264 releaseDecoder]):
3295         * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
3296         (-[RTCVideoEncoderH264 dealloc]):
3297         (-[RTCVideoEncoderH264 setCallback:]):
3298         (-[RTCVideoEncoderH264 releaseEncoder]):
3299         (-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
3300         * WebKit/0001-Adapting-libwebrtc-H264-codec.patch: Added.
3301         * libwebrtc.xcodeproj/project.pbxproj:
3302
3303 2018-03-22  Commit Queue  <commit-queue@webkit.org>
3304
3305         Unreviewed, rolling out r229876.
3306         https://bugs.webkit.org/show_bug.cgi?id=183929
3307
3308         Some webrtc tests are timing out on iOS simulator (Requested
3309         by youenn on #webkit).
3310
3311         Reverted changeset:
3312
3313         "Use libwebrtc ObjectiveC H264 encoder and decoder"
3314         https://bugs.webkit.org/show_bug.cgi?id=183912
3315         https://trac.webkit.org/changeset/229876
3316
3317 2018-03-22  Youenn Fablet  <youenn@apple.com>
3318
3319         Use libwebrtc ObjectiveC H264 encoder and decoder
3320         https://bugs.webkit.org/show_bug.cgi?id=183912
3321
3322         Reviewed by Eric Carlson.
3323
3324         Add utilities inside libwebrtc to be used by WebKit:
3325         - Create ObjectiveC encoder/decoder factories
3326         - Notify of application status to invalidate encoders/decoders when in background
3327         Implement RTCUIApplicationStatusObserver as a simple boolean that is set by WebCore.
3328         This allows limiting the changes made to libwebrtc codec implementations.
3329
3330         Minor modifications done to libwebrtc to fix compilation.
3331         Add Block_copy/Block_release to codec callbacks.
3332
3333         * Configurations/libwebrtc.iOS.exp:
3334         * Configurations/libwebrtc.iOSsim.exp:
3335         * Configurations/libwebrtc.mac.exp:
3336         * Source/webrtc/sdk/WebKit/WebKitUtilities.h: Added.
3337         * Source/webrtc/sdk/WebKit/WebKitUtilities.mm: Added.
3338         (+[RTCUIApplicationStatusObserver sharedInstance]):
3339         (+[RTCUIApplicationStatusObserver prepareForUse]):
3340         (-[RTCUIApplicationStatusObserver setActive]):
3341         (-[RTCUIApplicationStatusObserver setInactive]):
3342         (-[RTCUIApplicationStatusObserver isApplicationActive]):
3343         (webrtc::setApplicationStatus):
3344         (webrtc::createVideoToolboxEncoderFactory):
3345         (webrtc::createVideoToolboxDecoderFactory):
3346         (webrtc::setH264HardwareEncoderAllowed):
3347         (webrtc::isH264HardwareEncoderAllowed):
3348         (webrtc::pixelBufferFromFrame):
3349         * Source/webrtc/sdk/objc/Framework/Classes/Video/RTCCVPixelBuffer.mm:
3350         (-[RTCCVPixelBuffer dealloc]):
3351         * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoDecoderH264.mm:
3352         (-[RTCVideoDecoderH264 dealloc]):
3353         (-[RTCVideoDecoderH264 setCallback:]):
3354         (-[RTCVideoDecoderH264 releaseDecoder]):
3355         * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
3356         (-[RTCVideoEncoderH264 dealloc]):
3357         (-[RTCVideoEncoderH264 setCallback:]):
3358         (-[RTCVideoEncoderH264 releaseEncoder]):
3359         (-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
3360         * WebKit/0001-Adapting-libwebrtc-H264-codec.patch: Added.
3361         * libwebrtc.xcodeproj/project.pbxproj:
3362
3363 2018-03-14  Youenn Fablet  <youenn@apple.com>
3364
3365         Update libwebrtc up to 36af4e9614f707f733eb2340fae66d6325aaac5b
3366         https://bugs.webkit.org/show_bug.cgi?id=183481
3367
3368         Reviewed by Eric Carlson.
3369
3370         * Configurations/libwebrtc.iOS.exp:
3371         * Configurations/libwebrtc.iOSsim.exp:
3372         * Configurations/libwebrtc.mac.exp:
3373         * Source/webrtc/: refreshed
3374         * libwebrtc.xcodeproj/project.pbxproj:
3375
3376 2018-03-12  Tim Horton  <timothy_horton@apple.com>
3377
3378         Stop using SDK conditionals to control feature definitions
3379         https://bugs.webkit.org/show_bug.cgi?id=183430
3380         <rdar://problem/38251619>
3381
3382         Reviewed by Dan Bernstein.
3383
3384         * Configurations/WebKitTargetConditionals.xcconfig: Renamed.
3385         * Configurations/opus.xcconfig:
3386
3387 2018-03-12  Youenn Fablet  <youenn@apple.com>
3388
3389         Remove empty cpp files in Source/ThirdParty/libwebrtc
3390         https://bugs.webkit.org/show_bug.cgi?id=183529
3391
3392         Unreviewed.
3393         Removing further empty files.
3394
3395         * Source/webrtc/modules/audio_conference_mixer/BUILD.gn: Removed.
3396         * Source/webrtc/modules/audio_conference_mixer/DEPS: Removed.
3397         * Source/webrtc/modules/audio_conference_mixer/OWNERS: Removed.
3398         * Source/webrtc/modules/video_coding/codecs/OWNERS: Removed.
3399         * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/decoder.mm: Removed.
3400         * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.mm: Removed.
3401         * Source/webrtc/sdk/objc/Framework/UnitTests/RTCMTLVideoViewTests.mm: Removed.
3402
3403 2018-03-12  youenn fablet  <youenn@apple.com>
3404
3405         Remove empty cpp files in Source/ThirdParty/libwebrtc
3406         https://bugs.webkit.org/show_bug.cgi?id=183529
3407
3408         Unreviewed.
3409
3410         * libwebrtc.xcodeproj/project.pbxproj: fix the build.
3411
3412 2018-03-09  Youenn Fablet  <youenn@apple.com>
3413
3414         Remove empty cpp files in Source/ThirdParty/libwebrtc
3415         https://bugs.webkit.org/show_bug.cgi?id=183529
3416
3417         Reviewed by Eric Carlson.
3418
3419         * Source/third_party/boringssl/boringssl_unittest.cc: Removed.
3420         * Source/third_party/boringssl/src/ssl/ssl_privkey_cc.cc: Removed.
3421         * Source/webrtc/common_audio/fir_filter.cc: Removed.
3422         * Source/webrtc/config.cc: Removed.
3423         * Source/webrtc/logging/rtc_event_log/rtc_event_log_helper_thread.cc: Removed.
3424         * Source/webrtc/modules/audio_coding/audio_network_adaptor/audio_network_adaptor.cc: Removed.
3425         * Source/webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory_internal.cc: Removed.
3426         * Source/webrtc/modules/audio_coding/codecs/builtin_audio_encoder_factory_internal.cc: Removed.
3427         * Source/webrtc/modules/audio_coding/codecs/ilbc/test/empty.cc: Removed.
3428         * Source/webrtc/modules/audio_coding/codecs/isac/empty.cc: Removed.
3429         * Source/webrtc/modules/audio_coding/neteq/audio_decoder_impl.cc: Removed.
3430         * Source/webrtc/modules/audio_coding/neteq/test/NETEQTEST_DummyRTPpacket.cc: Removed.
3431         * Source/webrtc/modules/audio_coding/neteq/test/NETEQTEST_RTPpacket.cc: Removed.
3432         * Source/webrtc/modules/audio_coding/neteq/test/RTPchange.cc: Removed.
3433         * Source/webrtc/modules/audio_coding/neteq/test/RTPencode.cc: Removed.
3434         * Source/webrtc/modules/audio_coding/neteq/test/RTPjitter.cc: Removed.
3435         * Source/webrtc/modules/audio_coding/neteq/test/RTPtimeshift.cc: Removed.
3436         * Source/webrtc/modules/audio_conference_mixer/source/audio_conference_mixer_impl.cc: Removed.
3437         * Source/webrtc/modules/audio_conference_mixer/source/audio_frame_manipulator.cc: Removed.
3438         * Source/webrtc/modules/audio_conference_mixer/source/time_scheduler.cc: Removed.
3439         * Source/webrtc/modules/audio_conference_mixer/test/audio_conference_mixer_unittest.cc: Removed.
3440         * Source/webrtc/modules/audio_device/test/audio_device_test_api.cc: Removed.
3441         * Source/webrtc/modules/audio_processing/aec3/decimator_by_4.cc: Removed.
3442         * Source/webrtc/modules/audio_processing/aec3/decimator_by_4_unittest.cc: Removed.
3443         * Source/webrtc/modules/audio_processing/agc2/digital_gain_applier.cc: Removed.
3444         * Source/webrtc/modules/audio_processing/residual_echo_detector_complexity_unittest.cc: Removed.
3445         * Source/webrtc/modules/congestion_controller/acknowledge_bitrate_estimator.cc: Removed.
3446         * Source/webrtc/modules/congestion_controller/congestion_controller.cc: Removed.
3447         * Source/webrtc/modules/congestion_controller/congestion_controller_unittest.cc: Removed.
3448         * Source/webrtc/modules/desktop_capture/resolution_change_detector.cc: Removed.
3449         * Source/webrtc/modules/video_coding/codecs/test/plot_videoprocessor_integrationtest.cc: Removed.
3450         * Source/webrtc/modules/video_coding/codecs/test/predictive_packet_manipulator.cc: Removed.
3451         * Source/webrtc/modules/video_coding/codecs/tools/video_quality_measurement.cc: Removed.
3452         * Source/webrtc/modules/video_coding/sequence_number_util_unittest.cc: Removed.
3453         * Source/webrtc/p2p/base/dtlstransportchannel.cc: Removed.
3454         * Source/webrtc/p2p/base/dtlstransportchannel_unittest.cc: Removed.
3455         * Source/webrtc/p2p/base/transportcontroller.cc: Removed.
3456         * Source/webrtc/p2p/base/transportcontroller_unittest.cc: Removed.
3457         * Source/webrtc/p2p/quic/quicconnectionhelper.cc: Removed.
3458         * Source/webrtc/p2p/quic/quicconnectionhelper_unittest.cc: Removed.
3459         * Source/webrtc/p2p/quic/quicsession.cc: Removed.
3460         * Source/webrtc/p2p/quic/quicsession_unittest.cc: Removed.
3461         * Source/webrtc/p2p/quic/quictransport.cc: Removed.
3462         * Source/webrtc/p2p/quic/quictransport_unittest.cc: Removed.
3463         * Source/webrtc/p2p/quic/quictransportchannel.cc: Removed.
3464         * Source/webrtc/p2p/quic/quictransportchannel_unittest.cc: Removed.
3465         * Source/webrtc/p2p/quic/reliablequicstream.cc: Removed.
3466         * Source/webrtc/p2p/quic/reliablequicstream_unittest.cc: Removed.
3467         * Source/webrtc/pc/quicdatachannel.cc: Removed.
3468         * Source/webrtc/pc/quicdatachannel_unittest.cc: Removed.
3469         * Source/webrtc/pc/quicdatatransport.cc: Removed.
3470         * Source/webrtc/pc/quicdatatransport_unittest.cc: Removed.
3471         * Source/webrtc/pc/webrtcsession.cc: Removed.
3472         * Source/webrtc/pc/webrtcsession_unittest.cc: Removed.
3473         * Source/webrtc/sdk/android/src/jni/androidnetworkmonitor_jni.cc: Removed.
3474         * Source/webrtc/sdk/android/src/jni/audio_jni.cc: Removed.
3475         * Source/webrtc/sdk/android/src/jni/filevideocapturer_jni.cc: Removed.
3476         * Source/webrtc/sdk/android/src/jni/media_jni.cc: Removed.
3477         * Source/webrtc/sdk/android/src/jni/native_handle_impl.cc: Removed.
3478         * Source/webrtc/sdk/android/src/jni/null_audio_jni.cc: Removed.
3479         * Source/webrtc/sdk/android/src/jni/null_media_jni.cc: Removed.
3480         * Source/webrtc/sdk/android/src/jni/null_video_jni.cc: Removed.
3481         * Source/webrtc/sdk/android/src/jni/ownedfactoryandthreads.cc: Removed.
3482         * Source/webrtc/sdk/android/src/jni/peerconnection_jni.cc: Removed.
3483         * Source/webrtc/sdk/android/src/jni/rtcstatscollectorcallbackwrapper.cc: Removed.
3484         * Source/webrtc/sdk/android/src/jni/video_jni.cc: Removed.
3485         * Source/webrtc/system_wrappers/source/atomic32_darwin.cc: Removed.
3486         * Source/webrtc/system_wrappers/source/atomic32_non_darwin_unix.cc: Removed.
3487         * Source/webrtc/system_wrappers/source/atomic32_win.cc: Removed.
3488         * Source/webrtc/system_wrappers/source/logcat_trace_context.cc: Removed.
3489         * Source/webrtc/system_wrappers/source/trace_impl.cc: Removed.
3490         * Source/webrtc/system_wrappers/source/trace_posix.cc: Removed.
3491         * Source/webrtc/system_wrappers/source/trace_win.cc: Removed.
3492         * Source/webrtc/test/testsupport/isolated_output.cc: Removed.
3493         * Source/webrtc/test/testsupport/isolated_output_unittest.cc: Removed.
3494         * Source/webrtc/test/testsupport/trace_to_stderr.cc: Removed.
3495         * Source/webrtc/tools/agc/activity_metric.cc: Removed.
3496         * Source/webrtc/tools/converter/converter.cc: Removed.
3497         * Source/webrtc/tools/converter/rgba_to_i420_converter.cc: Removed.
3498         * Source/webrtc/tools/event_log_visualizer/analyzer.cc: Removed.
3499         * Source/webrtc/tools/event_log_visualizer/main.cc: Removed.
3500         * Source/webrtc/tools/event_log_visualizer/plot_base.cc: Removed.
3501         * Source/webrtc/tools/event_log_visualizer/plot_protobuf.cc: Removed.
3502         * Source/webrtc/tools/event_log_visualizer/plot_python.cc: Removed.
3503         * Source/webrtc/tools/force_mic_volume_max/force_mic_volume_max.cc: Removed.
3504         * Source/webrtc/tools/frame_analyzer/frame_analyzer.cc: Removed.
3505         * Source/webrtc/tools/frame_analyzer/reference_less_video_analysis.cc: Removed.
3506         * Source/webrtc/tools/frame_analyzer/reference_less_video_analysis_lib.cc: Removed.
3507         * Source/webrtc/tools/frame_analyzer/reference_less_video_analysis_unittest.cc: Removed.
3508         * Source/webrtc/tools/frame_analyzer/video_quality_analysis.cc: Removed.
3509         * Source/webrtc/tools/frame_analyzer/video_quality_analysis_unittest.cc: Removed.
3510         * Source/webrtc/tools/frame_editing/frame_editing.cc: Removed.
3511         * Source/webrtc/tools/frame_editing/frame_editing_lib.cc: Removed.
3512         * Source/webrtc/tools/frame_editing/frame_editing_unittest.cc: Removed.
3513         * Source/webrtc/tools/network_tester/config_reader.cc: Removed.
3514         * Source/webrtc/tools/network_tester/network_tester_unittest.cc: Removed.
3515         * Source/webrtc/tools/network_tester/packet_logger.cc: Removed.
3516         * Source/webrtc/tools/network_tester/packet_sender.cc: Removed.
3517         * Source/webrtc/tools/network_tester/server.cc: Removed.
3518         * Source/webrtc/tools/network_tester/test_controller.cc: Removed.
3519         * Source/webrtc/tools/psnr_ssim_analyzer/psnr_ssim_analyzer.cc: Removed.
3520         * Source/webrtc/tools/simple_command_line_parser.cc: Removed.
3521         * Source/webrtc/tools/simple_command_line_parser_unittest.cc: Removed.
3522         * Source/webrtc/video/vie_encoder.cc: Removed.
3523         * Source/webrtc/video/vie_encoder_unittest.cc: Removed.
3524         * Source/webrtc/voice_engine/coder.cc: Removed.
3525         * Source/webrtc/voice_engine/file_player.cc: Removed.
3526         * Source/webrtc/voice_engine/file_player_unittests.cc: Removed.
3527         * Source/webrtc/voice_engine/file_recorder.cc: Removed.
3528         * Source/webrtc/voice_engine/output_mixer.cc: Removed.
3529         * Source/webrtc/voice_engine/statistics.cc: Removed.
3530         * Source/webrtc/voice_engine/test/auto_test/automated_mode.cc: Removed.
3531         * Source/webrtc/voice_engine/test/auto_test/fakes/conference_transport.cc: Removed.
3532         * Source/webrtc/voice_engine/test/auto_test/fakes/loudest_filter.cc: Removed.
3533         * Source/webrtc/voice_engine/test/auto_test/fixtures/after_initialization_fixture.cc: Removed.
3534         * Source/webrtc/voice_engine/test/auto_test/fixtures/after_streaming_fixture.cc: Removed.
3535         * Source/webrtc/voice_engine/test/auto_test/fixtures/before_initialization_fixture.cc: Removed.
3536         * Source/webrtc/voice_engine/test/auto_test/fixtures/before_streaming_fixture.cc: Removed.
3537         * Source/webrtc/voice_engine/test/auto_test/standard/codec_before_streaming_test.cc: Removed.
3538         * Source/webrtc/voice_engine/test/auto_test/standard/codec_test.cc: Removed.
3539         * Source/webrtc/voice_engine/test/auto_test/standard/dtmf_test.cc: Removed.
3540         * Source/webrtc/voice_engine/test/auto_test/standard/rtp_rtcp_before_streaming_test.cc: Removed.
3541         * Source/webrtc/voice_engine/test/auto_test/standard/rtp_rtcp_extensions.cc: Removed.
3542         * Source/webrtc/voice_engine/test/auto_test/standard/rtp_rtcp_test.cc: Removed.
3543         * Source/webrtc/voice_engine/test/auto_test/voe_conference_test.cc: Removed.
3544         * Source/webrtc/voice_engine/test/auto_test/voe_standard_test.cc: Removed.
3545         * Source/webrtc/voice_engine/voe_codec_impl.cc: Removed.
3546         * Source/webrtc/voice_engine/voe_codec_unittest.cc: Removed.
3547         * Source/webrtc/voice_engine/voe_file_impl.cc: Removed.
3548         * Source/webrtc/voice_engine/voe_network_impl.cc: Removed.
3549         * Source/webrtc/voice_engine/voe_network_unittest.cc: Removed.
3550         * Source/webrtc/voice_engine/voe_rtp_rtcp_impl.cc: Removed.
3551         * Source/webrtc/voice_engine/voice_engine_fixture.cc: Removed.
3552
3553 2018-03-07  Youenn Fablet  <youenn@apple.com>
3554
3555         Update to libwebrtc revision 4e70a72571dd26b85c2385e9c618e343428df5d3
3556         https://bugs.webkit.org/show_bug.cgi?id=180843
3557
3558         Unreviewed.
3559         Removed empty unused files.
3560
3561         * Source/webrtc/audio/test/low_bandwidth_audio_test.h: Removed.
3562         * Source/webrtc/config.h: Removed.
3563         * Source/webrtc/logging/rtc_event_log/rtc_event_log_helper_thread.h: Removed.
3564         * Source/webrtc/media/engine/webrtccommon.h: Removed.
3565         * Source/webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory_internal.h: Removed.
3566         * Source/webrtc/modules/audio_coding/codecs/builtin_audio_encoder_factory_internal.h: Removed.
3567         * Source/webrtc/modules/audio_coding/neteq/audio_decoder_impl.h: Removed.
3568         * Source/webrtc/modules/audio_coding/neteq/test/NETEQTEST_DummyRTPpacket.h: Removed.
3569         * Source/webrtc/modules/audio_coding/neteq/test/NETEQTEST_RTPpacket.h: Removed.
3570         * Source/webrtc/modules/audio_coding/neteq/test/PayloadTypes.h: Removed.
3571         * Source/webrtc/modules/audio_conference_mixer/include/audio_conference_mixer.h: Removed.
3572         * Source/webrtc/modules/audio_conference_mixer/include/audio_conference_mixer_defines.h: Removed.
3573         * Source/webrtc/modules/audio_conference_mixer/source/audio_conference_mixer_impl.h: Removed.
3574         * Source/webrtc/modules/audio_conference_mixer/source/audio_frame_manipulator.h: Removed.
3575         * Source/webrtc/modules/audio_conference_mixer/source/memory_pool.h: Removed.
3576         * Source/webrtc/modules/audio_conference_mixer/source/memory_pool_posix.h: Removed.
3577         * Source/webrtc/modules/audio_conference_mixer/source/memory_pool_win.h: Removed.
3578         * Source/webrtc/modules/audio_conference_mixer/source/time_scheduler.h: Removed.
3579         * Source/webrtc/modules/audio_device/test/audio_device_test_defines.h: Removed.
3580         * Source/webrtc/modules/audio_processing/aec3/decimator_by_4.h: Removed.
3581         * Source/webrtc/modules/audio_processing/agc2/digital_gain_applier.h: Removed.
3582         * Source/webrtc/modules/congestion_controller/acknowledge_bitrate_estimator.h: Removed.
3583         * Source/webrtc/modules/congestion_controller/include/congestion_controller.h: Removed.
3584         * Source/webrtc/modules/desktop_capture/resolution_change_detector.h: Removed.
3585         * Source/webrtc/modules/remote_bitrate_estimator/include/mock/mock_remote_bitrate_observer.h: Removed.
3586         * Source/webrtc/modules/video_coding/codecs/test/predictive_packet_manipulator.h: Removed.
3587         * Source/webrtc/modules/video_coding/sequence_number_util.h: Removed.
3588         * Source/webrtc/p2p/base/candidate.h: Removed.
3589         * Source/webrtc/p2p/base/dtlstransportchannel.h: Removed.
3590         * Source/webrtc/p2p/base/faketransportcontroller.h: Removed.
3591         * Source/webrtc/p2p/base/transportcontroller.h: Removed.
3592         * Source/webrtc/p2p/quic/quicconnectionhelper.h: Removed.
3593         * Source/webrtc/p2p/quic/quicsession.h: Removed.
3594         * Source/webrtc/p2p/quic/quictransport.h: Removed.
3595         * Source/webrtc/p2p/quic/quictransportchannel.h: Removed.
3596         * Source/webrtc/p2p/quic/reliablequicstream.h: Removed.
3597         * Source/webrtc/pc/quicdatachannel.h: Removed.
3598         * Source/webrtc/pc/quicdatatransport.h: Removed.
3599         * Source/webrtc/pc/test/mock_webrtcsession.h: Removed.
3600         * Source/webrtc/pc/webrtcsession.h: Removed.
3601         * Source/webrtc/sdk/android/src/jni/audio_jni.h: Removed.
3602         * Source/webrtc/sdk/android/src/jni/media_jni.h: Removed.
3603         * Source/webrtc/sdk/android/src/jni/native_handle_impl.h: Removed.
3604         * Source/webrtc/sdk/android/src/jni/ownedfactoryandthreads.h: Removed.
3605         * Source/webrtc/sdk/android/src/jni/rtcstatscollectorcallbackwrapper.h: Removed.
3606         * Source/webrtc/sdk/android/src/jni/video_jni.h: Removed.
3607         * Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCFileVideoCapturer.h: Removed.
3608         * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/decoder.h: Removed.
3609         * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.h: Removed.
3610         * Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/videocodecfactory.h: Removed.
3611         * Source/webrtc/system_wrappers/include/fix_interlocked_exchange_pointer_win.h: Removed.
3612         * Source/webrtc/system_wrappers/include/logcat_trace_context.h: Removed.
3613         * Source/webrtc/system_wrappers/include/static_instance.h: Removed.
3614         * Source/webrtc/system_wrappers/include/trace.h: Removed.
3615         * Source/webrtc/system_wrappers/source/trace_impl.h: Removed.
3616         * Source/webrtc/system_wrappers/source/trace_posix.h: Removed.
3617         * Source/webrtc/system_wrappers/source/trace_win.h: Removed.
3618         * Source/webrtc/test/testsupport/isolated_output.h: Removed.
3619         * Source/webrtc/test/testsupport/mock/mock_frame_writer.h: Removed.
3620         * Source/webrtc/test/testsupport/trace_to_stderr.h: Removed.
3621         * Source/webrtc/tools/converter/converter.h: Removed.
3622         * Source/webrtc/tools/event_log_visualizer/analyzer.h: Removed.
3623         * Source/webrtc/tools/event_log_visualizer/plot_base.h: Removed.
3624         * Source/webrtc/tools/event_log_visualizer/plot_protobuf.h: Removed.
3625         * Source/webrtc/tools/event_log_visualizer/plot_python.h: Removed.
3626         * Source/webrtc/tools/frame_analyzer/reference_less_video_analysis_lib.h: Removed.
3627         * Source/webrtc/tools/frame_analyzer/video_quality_analysis.h: Removed.
3628         * Source/webrtc/tools/frame_editing/frame_editing_lib.h: Removed.
3629         * Source/webrtc/tools/network_tester/config_reader.h: Removed.
3630         * Source/webrtc/tools/network_tester/packet_logger.h: Removed.
3631         * Source/webrtc/tools/network_tester/packet_sender.h: Removed.
3632         * Source/webrtc/tools/network_tester/test_controller.h: Removed.
3633         * Source/webrtc/tools/simple_command_line_parser.h: Removed.
3634         * Source/webrtc/video/vie_encoder.h: Removed.
3635         * Source/webrtc/video_receive_stream.h: Removed.
3636         * Source/webrtc/video_send_stream.h: Removed.
3637         * Source/webrtc/voice_engine/coder.h: Removed.
3638         * Source/webrtc/voice_engine/file_player.h: Removed.
3639         * Source/webrtc/voice_engine/file_recorder.h: Removed.
3640         * Source/webrtc/voice_engine/include/voe_codec.h: Removed.
3641         * Source/webrtc/voice_engine/include/voe_file.h: Removed.
3642         * Source/webrtc/voice_engine/include/voe_network.h: Removed.
3643         * Source/webrtc/voice_engine/include/voe_rtp_rtcp.h: Removed.
3644         * Source/webrtc/voice_engine/mock/mock_voe_observer.h: Removed.
3645         * Source/webrtc/voice_engine/monitor_module.h: Removed.
3646         * Source/webrtc/voice_engine/output_mixer.h: Removed.
3647         * Source/webrtc/voice_engine/statistics.h: Removed.
3648         * Source/webrtc/voice_engine/test/auto_test/automated_mode.h: Removed.
3649         * Source/webrtc/voice_engine/test/auto_test/fakes/conference_transport.h: Removed.
3650         * Source/webrtc/voice_engine/test/auto_test/fakes/loudest_filter.h: Removed.
3651         * Source/webrtc/voice_engine/test/auto_test/fixtures/after_initialization_fixture.h: Removed.
3652         * Source/webrtc/voice_engine/test/auto_test/fixtures/after_streaming_fixture.h: Removed.
3653         * Source/webrtc/voice_engine/test/auto_test/fixtures/before_initialization_fixture.h: Removed.
3654         * Source/webrtc/voice_engine/test/auto_test/fixtures/before_streaming_fixture.h: Removed.
3655         * Source/webrtc/voice_engine/test/auto_test/voe_standard_test.h: Removed.
3656         * Source/webrtc/voice_engine/test/auto_test/voe_test_common.h: Removed.
3657         * Source/webrtc/voice_engine/test/auto_test/voe_test_defines.h: Removed.
3658         * Source/webrtc/voice_engine/voe_codec_impl.h: Removed.
3659         * Source/webrtc/voice_engine/voe_file_impl.h: Removed.
3660         * Source/webrtc/voice_engine/voe_network_impl.h: Removed.
3661         * Source/webrtc/voice_engine/voe_rtp_rtcp_impl.h: Removed.
3662         * Source/webrtc/voice_engine/voice_engine_fixture.h: Removed.
3663
3664 2018-03-07  Youenn Fablet  <youenn@apple.com>
3665
3666         Update to libwebrtc revision 4e70a72571dd26b85c2385e9c618e343428df5d3
3667         https://bugs.webkit.org/show_bug.cgi?id=180843
3668
3669         Unreviewed.
3670         Removed folder as it is now unused.
3671
3672         * Source/webrtc/base: Removed.
3673
3674 2017-12-18  Youenn Fablet  <youenn@apple.com>
3675
3676         Update to libwebrtc revision 4e70a72571dd26b85c2385e9c618e343428df5d3
3677         https://bugs.webkit.org/show_bug.cgi?id=180843
3678
3679         Reviewed by Eric Carlson.
3680
3681         Updated libwebrtc as follows:
3682         - Boringssl
3683             - https://boringssl.googlesource.com/boringssl/
3684             - fc9c67599d9bdeb2e0467085133b81a8e28f77a4
3685         - Libwebrtc
3686             - https://webrtc.googlesource.com/src
3687             - 4e70a72571dd26b85c2385e9c618e343428df5d3
3688             - Libsrtp
3689                 - 1d45b8e599dc2db6ea3ae22dbc94a8c504652423
3690                 - https://chromium.googlesource.com/chromium/deps/libsrtp.git
3691             - Libyuv
3692                 - 12c904a97c81c3ef4cab0fc8fb1f0485b4ec4e8c
3693                 - https://chromium.googlesource.com/libyuv/libyuv.git
3694             - Usrsctp
3695                 - f4819e1b177f7bfdd761c147f5a649b9f1a78c06
3696                 - https://github.com/sctplab/usrsctp.git
3697
3698         Below files have been modified to adapt for WebKit.
3699         Patches for various parts are kept in WebKit folder.
3700         In addition to these changes, VTB codecs and factories used by WebKit
3701         are now added inside libwebrtc in webrtc/sdk/WebKit.
3702         Future refactoring should consolidate these files.
3703
3704         Not updated the following folders that are not used right now:
3705         - Source/third_party/boringssl/linux-x86_64
3706         - Source/third_party/boringssl/mac-x86
3707         - Source/webrtc/data
3708         - Source/third_party/boringssl/src/fuzz
3709
3710         * Configurations/libwebrtc.iOS.exp:
3711         * Configurations/libwebrtc.iOSsim.exp:
3712         * Configurations/libwebrtc.mac.exp:
3713         * Configurations/libwebrtc.xcconfig:
3714         * Configurations/libwebrtcpcrtc.xcconfig:
3715         * Source/third_party/boringssl/src/crypto/fipsmodule/aes/aes.c:
3716         * Source/third_party/usrsctp/usrsctplib/netinet/sctp_input.c:
3717         (sctp_process_cookie_existing):
3718         * Source/third_party/usrsctp/usrsctplib/netinet/sctp_output.c:
3719         * Source/third_party/usrsctp/usrsctplib/netinet/sctp_pcb.c:
3720         * Source/third_party/usrsctp/usrsctplib/user_atomic.h:
3721         * Source/webrtc/api/array_view.h:
3722         (rtc::impl::ArrayViewBase::ArrayViewBase):
3723         * Source/webrtc/api/audio_codecs/ilbc/audio_encoder_ilbc.cc:
3724         * Source/webrtc/api/datachannelinterface.h:
3725         (webrtc::DataChannelObserver::OnBufferedAmountChange):
3726         * Source/webrtc/api/jsep.h:
3727         (webrtc::SessionDescriptionInterface::RemoveCandidates):
3728         * Source/webrtc/api/mediastreaminterface.h:
3729         (webrtc::VideoTrackInterface::set_content_hint):
3730         (webrtc::AudioSourceInterface::SetVolume):
3731         (webrtc::AudioSourceInterface::RegisterAudioObserver):
3732         (webrtc::AudioSourceInterface::UnregisterAudioObserver):
3733         (webrtc::AudioSourceInterface::AddSink):
3734         (webrtc::AudioSourceInterface::RemoveSink):
3735         (webrtc::AudioTrackInterface::GetSignalLevel):
3736         * Source/webrtc/api/mediatypes.cc:
3737         * Source/webrtc/api/peerconnectioninterface.h:
3738         (webrtc::PeerConnectionInterface::AddTransceiver):
3739         (webrtc::PeerConnectionInterface::CreateSender):
3740         (webrtc::PeerConnectionInterface::GetStats):
3741         (webrtc::PeerConnectionInterface::CreateOffer):
3742         (webrtc::PeerConnectionInterface::CreateAnswer):
3743         (webrtc::PeerConnectionInterface::SetRemoteDescription):
3744         (webrtc::PeerConnectionInterface::UpdateIce):
3745         (webrtc::PeerConnectionInterface::SetConfiguration):
3746         (webrtc::PeerConnectionInterface::RemoveIceCandidates):
3747         (webrtc::PeerConnectionInterface::SetBitrateAllocationStrategy):
3748         (webrtc::PeerConnectionInterface::SetAudioPlayout):
3749         (webrtc::PeerConnectionInterface::SetAudioRecording):
3750         (webrtc::PeerConnectionInterface::StartRtcEventLog):
3751         (webrtc::PeerConnectionObserver::OnIceCandidatesRemoved):
3752         (webrtc::PeerConnectionObserver::OnIceConnectionReceivingChange):
3753         (webrtc::PeerConnectionObserver::OnAddTrack):
3754         (webrtc::PeerConnectionObserver::OnRemoveTrack):
3755         (webrtc::PeerConnectionFactoryInterface::CreateVideoSource):
3756         * Source/webrtc/api/umametrics.h:
3757         (webrtc::MetricsObserverInterface::IncrementEnumCounter):
3758         * Source/webrtc/api/video_codecs/video_decoder.h:
3759         (webrtc::DecodedImageCallback::Decoded):
3760         (webrtc::DecodedImageCallback::ReceivedDecodedReferenceFrame):
3761         (webrtc::DecodedImageCallback::ReceivedDecodedFrame):
3762         * Source/webrtc/api/video_codecs/video_encoder.h:
3763         (webrtc::EncodedImageCallback::OnDroppedFrame):
3764         * Source/webrtc/common_video/include/frame_callback.h:
3765         (webrtc::EncodedFrameObserver::OnEncodeTiming):
3766         * Source/webrtc/common_video/video_frame_buffer.cc:
3767         * Source/webrtc/logging/rtc_event_log/rtc_event_log.h:
3768         (webrtc::RtcEventLog::Create):
3769         * Source/webrtc/media/base/mediachannel.h:
3770         (cricket::DataMediaChannel::GetStats):
3771         (cricket::DataMediaChannel::OnNetworkRouteChanged):
3772         * Source/webrtc/media/engine/internaldecoderfactory.cc:
3773         * Source/webrtc/media/engine/internalencoderfactory.cc:
3774         * Source/webrtc/modules/audio_coding/acm2/audio_coding_module.cc:
3775         * Source/webrtc/modules/audio_coding/acm2/rent_a_codec.cc:
3776         * Source/webrtc/modules/audio_coding/codecs/cng/audio_encoder_cng.cc:
3777         * Source/webrtc/modules/audio_coding/codecs/ilbc/audio_encoder_ilbc.cc:
3778         * Source/webrtc/modules/audio_coding/neteq/tools/neteq_rtpplay.cc:
3779         * Source/webrtc/modules/audio_coding/neteq/tools/neteq_test.cc:
3780         * Source/webrtc/modules/audio_coding/neteq/tools/rtp_file_source.cc:
3781         * Source/webrtc/modules/audio_device/android/audio_device_template.h:
3782         * Source/webrtc/modules/audio_device/android/audio_record_jni.cc:
3783         * Source/webrtc/modules/audio_device/include/audio_device.h:
3784         (webrtc::AudioDeviceModule::SetRecordingChannel):
3785         (webrtc::AudioDeviceModule::RecordingChannel const):
3786         (webrtc::AudioDeviceModule::SetRecordingSampleRate):
3787         (webrtc::AudioDeviceModule::RecordingSampleRate const):
3788         (webrtc::AudioDeviceModule::SetPlayoutSampleRate):
3789         (webrtc::AudioDeviceModule::PlayoutSampleRate const):
3790         (webrtc::AudioDeviceModule::SetLoudspeakerStatus):
3791         (webrtc::AudioDeviceModule::GetLoudspeakerStatus const):
3792         * Source/webrtc/modules/audio_processing/test/py_quality_assessment/quality_assessment/fake_polqa.cc:
3793         * Source/webrtc/modules/audio_processing/test/wav_based_simulator.cc:
3794         * Source/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers.cc:
3795         * Source/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers.h:
3796         (webrtc::DefaultTemporalLayersChecker::BufferState::BufferState):
3797         * Source/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers_unittest.cc:
3798         * Source/webrtc/modules/video_coding/codecs/vp8/include/vp8.h:
3799         * Source/webrtc/modules/video_coding/codecs/vp8/include/vp8_common_types.h:
3800         * Source/webrtc/modules/video_coding/codecs/vp8/include/vp8_globals.h:
3801         * Source/webrtc/modules/video_coding/codecs/vp8/screenshare_layers.cc:
3802         * Source/webrtc/modules/video_coding/codecs/vp8/screenshare_layers.h:
3803         * Source/webrtc/modules/video_coding/codecs/vp8/screenshare_layers_unittest.cc:
3804         * Source/webrtc/modules/video_coding/codecs/vp8/simulcast_rate_allocator.cc:
3805         * Source/webrtc/modules/video_coding/codecs/vp8/simulcast_rate_allocator.h:
3806         * Source/webrtc/modules/video_coding/codecs/vp8/simulcast_unittest.cc:
3807         * Source/webrtc/modules/video_coding/codecs/vp8/temporal_layers.h:
3808         (webrtc::TemporalLayers::FrameConfig::operator== const):
3809         (webrtc::TemporalLayers::FrameConfig::operator!= const):
3810         (webrtc::TemporalLayersChecker::~TemporalLayersChecker):
3811         (webrtc::TemporalLayersChecker::BufferState::BufferState):
3812         * Source/webrtc/modules/video_coding/codecs/vp8/test/vp8_impl_unittest.cc:
3813         * Source/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc:
3814         * Source/webrtc/modules/video_coding/codecs/vp8/vp8_impl.h:
3815         * Source/webrtc/modules/video_coding/codecs/vp8/vp8_noop.cc:
3816         * Source/webrtc/modules/video_coding/qp_parser.cc:
3817         * Source/webrtc/modules/video_coding/video_codec_initializer.cc:
3818         * Source/webrtc/ortc/ortcfactory.cc:
3819         * Source/webrtc/ortc/rtpparametersconversion.cc:
3820         * Source/webrtc/p2p/base/icetransportinternal.h:
3821         (cricket::IceTransportInternal::SetIceProtocolType):
3822         * Source/webrtc/p2p/base/port.h:
3823         (cricket::Port::HandleConnectionDestroyed):
3824         * Source/webrtc/p2p/base/stun.h:
3825         (cricket::StunAttribute::SetOwner):
3826         * Source/webrtc/p2p/base/stunrequest.h:
3827         (cricket::StunRequest::Prepare):
3828         (cricket::StunRequest::OnResponse):
3829         (cricket::StunRequest::OnErrorResponse):
3830         * Source/webrtc/rtc_base/checks.h:
3831         * Source/webrtc/rtc_base/flags.cc:
3832         * Source/webrtc/rtc_base/location.h:
3833         * Source/webrtc/rtc_base/messagehandler.h:
3834         (rtc::FunctorMessageHandler::OnMessage):
3835         * Source/webrtc/rtc_base/network.h:
3836         (rtc::NetworkManager::GetAnyAddressNetworks):
3837         * Source/webrtc/rtc_base/numerics/safe_conversions.h:
3838         (rtc::saturated_cast):
3839         * Source/webrtc/rtc_base/numerics/safe_conversions_impl.h:
3840         * Source/webrtc/rtc_base/opensslidentity.cc:
3841         * Source/webrtc/rtc_base/sanitizer.h:
3842         (rtc_AsanPoison):
3843         (rtc_AsanUnpoison):
3844         (rtc_MsanMarkUninitialized):
3845         (rtc_MsanCheckInitialized):
3846         * Source/webrtc/rtc_base/socketserver.h:
3847         (rtc::SocketServer::SetMessageQueue):
3848         * Source/webrtc/rtc_base/stream.h:
3849         (rtc::StreamInterface::ConsumeReadData):
3850         (rtc::StreamInterface::ConsumeWriteBuffer):
3851         * Source/webrtc/rtc_base/stringize_macros.h:
3852         * Source/webrtc/sdk/WebKit/VideoToolBoxDecoderFactory.cpp: Added.
3853         (webrtc::VideoToolboxVideoDecoderFactory::~VideoToolboxVideoDecoderFactory):
3854         (webrtc::VideoToolboxVideoDecoderFactory::Add):
3855         (webrtc::VideoToolboxVideoDecoderFactory::Remove):
3856         (webrtc::VideoToolboxVideoDecoderFactory::SetActive):
3857         (webrtc::VideoToolboxVideoDecoderFactory::CreateVideoDecoder):
3858         (webrtc::CreateH264Format):
3859         (webrtc::VideoToolboxVideoDecoderFactory::GetSupportedFormats const):
3860         * Source/webrtc/sdk/WebKit/VideoToolBoxDecoderFactory.h: Renamed from Source/WebCore/platform/mediastream/libwebrtc/VideoToolBoxDecoderFactory.h.
3861         * Source/webrtc/sdk/WebKit/VideoToolBoxEncoderFactory.cpp: Added.
3862         (webrtc::VideoToolboxVideoEncoderFactory::~VideoToolboxVideoEncoderFactory):
3863         (webrtc::VideoToolboxVideoEncoderFactory::Add):
3864         (webrtc::VideoToolboxVideoEncoderFactory::Remove):
3865         (webrtc::VideoToolboxVideoEncoderFactory::SetActive):
3866         (webrtc::CreateH264Format):
3867         (webrtc::VideoToolboxVideoEncoderFactory::GetSupportedFormats const):
3868         (webrtc::VideoToolboxVideoEncoderFactory::QueryVideoEncoder const):
3869         (webrtc::VideoToolboxVideoEncoderFactory::CreateVideoEncoder):
3870         * Source/webrtc/sdk/WebKit/VideoToolBoxEncoderFactory.h: Renamed from Source/WebCore/platform/mediastream/libwebrtc/VideoToolBoxEncoderFactory.h.
3871         * Source/webrtc/sdk/WebKit/decoder.h: Added.
3872         (webrtc::H264VideoToolboxDecoder::SetActive):
3873         * Source/webrtc/sdk/WebKit/decoder.mm: Added.
3874         (webrtc::H264VideoToolboxDecoder::H264VideoToolboxDecoder):
3875         (webrtc::H264VideoToolboxDecoder::~H264VideoToolboxDecoder):
3876         (webrtc::H264VideoToolboxDecoder::ClearFactory):
3877         (webrtc::H264VideoToolboxDecoder::InitDecode):
3878         (webrtc::H264VideoToolboxDecoder::Decode):
3879         * Source/webrtc/sdk/WebKit/encoder.h: Copied from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.h.
3880         (webrtc::H264VideoToolboxEncoder::ClearFactory):
3881         (webrtc::H264VideoToolboxEncoder::SetActive):
3882         * Source/webrtc/sdk/WebKit/encoder.mm: Copied from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm.
3883         (internal::CreateCFDictionary):
3884         (internal::CFStringToString):
3885         (internal::SetVTSessionProperty):
3886         (internal::FrameEncodeParams::FrameEncodeParams):
3887         (internal::CopyVideoFrameToPixelBuffer):
3888         (internal::CreatePixelBuffer):
3889         (internal::VTCompressionOutputCallback):
3890         (internal::ExtractProfile):
3891         (webrtc::H264VideoToolboxEncoder::H264VideoToolboxEncoder):
3892         (webrtc::H264VideoToolboxEncoder::~H264VideoToolboxEncoder):
3893         (webrtc::H264VideoToolboxEncoder::InitEncode):
3894         (webrtc::H264VideoToolboxEncoder::Encode):
3895         * Source/webrtc/sdk/WebKit/encoder_vcp.h: Renamed from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.h.
3896         (webrtc::H264VideoToolboxEncoderVCP::ClearFactory):
3897         * Source/webrtc/sdk/WebKit/encoder_vcp.mm: Renamed from Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm.
3898         (internal::SetVTSessionProperty):
3899         (internal::CopyVideoFrameToPixelBuffer):
3900         (internal::CreatePixelBuffer):
3901         (internal::ExtractProfile):
3902         (webrtc::H264VideoToolboxEncoderVCP::H264VideoToolboxEncoderVCP):
3903         (webrtc::H264VideoToolboxEncoderVCP::Encode):
3904         * Source/webrtc/test/rtp_file_reader.cc:
3905         * Source/webrtc/voice_engine/utility.cc:
3906         * WebKit/0001-Tweaking-boringssl-include-of-internal.h.patch: Renamed from Source/ThirdParty/libwebrtc/WebKit/patch-boringssl.
3907         * WebKit/0002-Fixing-usrctp-library-compilation-errors.patch: Added.
3908         * WebKit/0003-Fixing-VP8-files.patch: Added.
3909         * WebKit/0004-Removing-parameter-names-from-files-included-from-We.patch: Added.
3910         * WebKit/0005-Fix-RTC_FATAL.patch: Added.
3911         * WebKit/0006-Disabling-VP8.patch: Added.
3912         * WebKit/0007-Fix-RTC_STRINGIZE.patch: Added.