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