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