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