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