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