RESOLVED FIXED 190361
Refresh libwebrtc up to 343f4144be
https://bugs.webkit.org/show_bug.cgi?id=190361
Summary Refresh libwebrtc up to 343f4144be
youenn fablet
Reported 2018-10-08 11:07:17 PDT
This will allow getting improvements related to addTransceiver and MDNS candidate handling.
Attachments
patch (6.75 MB, patch)
2018-10-08 11:11 PDT, youenn fablet
no flags
patch (6.82 MB, patch)
2018-10-08 15:11 PDT, youenn fablet
no flags
patch (6.82 MB, patch)
2018-10-08 17:54 PDT, youenn fablet
no flags
patch (6.83 MB, patch)
2018-10-08 18:24 PDT, youenn fablet
no flags
patch (6.83 MB, patch)
2018-10-08 19:17 PDT, youenn fablet
no flags
patch (6.83 MB, patch)
2018-10-08 21:27 PDT, youenn fablet
ews-watchlist: commit-queue-
Archive of layout-test-results from ews102 for mac-sierra (2.33 MB, application/zip)
2018-10-08 23:08 PDT, EWS Watchlist
no flags
patch (6.83 MB, patch)
2018-10-09 09:03 PDT, youenn fablet
no flags
patch (6.83 MB, patch)
2018-10-09 10:55 PDT, youenn fablet
no flags
GTK and WPE compilation patch (19.58 KB, patch)
2018-10-10 06:45 PDT, Alejandro G. Castro
no flags
GTK and WPE compilation patch (15.33 KB, patch)
2018-10-11 03:36 PDT, Alejandro G. Castro
no flags
Merged patch (7.02 MB, patch)
2018-10-11 11:36 PDT, youenn fablet
no flags
patch (7.02 MB, patch)
2018-10-11 12:19 PDT, youenn fablet
no flags
patch (7.02 MB, patch)
2018-10-11 12:54 PDT, youenn fablet
cdumez: review+
commit-queue: commit-queue-
youenn fablet
Comment 1 2018-10-08 11:11:45 PDT
EWS Watchlist
Comment 2 2018-10-08 12:49:25 PDT
Attachment 351793 [details] did not pass style-queue: ERROR: Source/WebCore/testing/MockLibWebRTCPeerConnection.cpp:333: Code inside a namespace should not be indented. [whitespace/indent] [4] Total errors found: 1 in 1666 files If any of these errors are false positives, please file a bug against check-webkit-style.
youenn fablet
Comment 3 2018-10-08 15:11:21 PDT
EWS Watchlist
Comment 4 2018-10-08 15:33:31 PDT
Attachment 351821 [details] did not pass style-queue: ERROR: Source/WebCore/testing/MockLibWebRTCPeerConnection.cpp:333: Code inside a namespace should not be indented. [whitespace/indent] [4] Total errors found: 1 in 1668 files If any of these errors are false positives, please file a bug against check-webkit-style.
youenn fablet
Comment 5 2018-10-08 17:54:44 PDT
EWS Watchlist
Comment 6 2018-10-08 18:17:28 PDT
Attachment 351839 [details] did not pass style-queue: ERROR: Source/WebCore/testing/MockLibWebRTCPeerConnection.cpp:333: Code inside a namespace should not be indented. [whitespace/indent] [4] Total errors found: 1 in 1668 files If any of these errors are false positives, please file a bug against check-webkit-style.
youenn fablet
Comment 7 2018-10-08 18:24:40 PDT
EWS Watchlist
Comment 8 2018-10-08 18:47:54 PDT
Attachment 351842 [details] did not pass style-queue: ERROR: Source/WebCore/testing/MockLibWebRTCPeerConnection.cpp:333: Code inside a namespace should not be indented. [whitespace/indent] [4] Total errors found: 1 in 1674 files If any of these errors are false positives, please file a bug against check-webkit-style.
youenn fablet
Comment 9 2018-10-08 19:17:12 PDT
EWS Watchlist
Comment 10 2018-10-08 19:39:57 PDT
Attachment 351847 [details] did not pass style-queue: ERROR: Source/WebCore/testing/MockLibWebRTCPeerConnection.cpp:333: Code inside a namespace should not be indented. [whitespace/indent] [4] Total errors found: 1 in 1674 files If any of these errors are false positives, please file a bug against check-webkit-style.
youenn fablet
Comment 11 2018-10-08 21:27:08 PDT
EWS Watchlist
Comment 12 2018-10-08 21:50:21 PDT
Attachment 351855 [details] did not pass style-queue: ERROR: Source/WebCore/testing/MockLibWebRTCPeerConnection.cpp:333: Code inside a namespace should not be indented. [whitespace/indent] [4] Total errors found: 1 in 1675 files If any of these errors are false positives, please file a bug against check-webkit-style.
EWS Watchlist
Comment 13 2018-10-08 23:08:52 PDT
Comment on attachment 351855 [details] patch Attachment 351855 [details] did not pass mac-ews (mac): Output: https://webkit-queues.webkit.org/results/9499967 New failing tests: platform/mac/webrtc/captureCanvas-webrtc-software-encoder.html
EWS Watchlist
Comment 14 2018-10-08 23:08:54 PDT
Created attachment 351862 [details] Archive of layout-test-results from ews102 for mac-sierra The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews102 Port: mac-sierra Platform: Mac OS X 10.12.6
youenn fablet
Comment 15 2018-10-09 09:03:11 PDT
youenn fablet
Comment 16 2018-10-09 10:55:05 PDT
EWS Watchlist
Comment 17 2018-10-09 11:17:48 PDT
Attachment 351896 [details] did not pass style-queue: ERROR: Source/WebCore/testing/MockLibWebRTCPeerConnection.cpp:333: Code inside a namespace should not be indented. [whitespace/indent] [4] Total errors found: 1 in 1675 files If any of these errors are false positives, please file a bug against check-webkit-style.
Alejandro G. Castro
Comment 18 2018-10-10 06:45:26 PDT
Created attachment 351956 [details] GTK and WPE compilation patch Basically the changes are: - add and remove files - a couple of additions we always do for libevent external and stringutils - modifications of the code for gstreamer factories (timestamps continue to change: thibault check this) - rtc_base/logging.cc apparently was old in the patch, got the version of the file for 343f4144be to make it compile - absl/strings/string_view.h gcc does not allow multiple lines for constexpr in the version that I use, it is just a assert so I basically leave it for clang
Thibault Saunier
Comment 19 2018-10-10 07:05:17 PDT
(In reply to Alejandro G. Castro from comment #18) > Created attachment 351956 [details] > GTK and WPE compilation patch > > Basically the changes are: > - add and remove files > - a couple of additions we always do for libevent external and stringutils > - modifications of the code for gstreamer factories (timestamps continue > to change: thibault check this) No problem from what I can see.
youenn fablet
Comment 20 2018-10-10 07:57:49 PDT
Some comments below. We need logging.cc to keep these changes until libwebrtc updates them to remove static initializers warning. Is there a way to update the version I uploaded to make it compile in GTK? (In reply to Alejandro G. Castro from comment #18) > Created attachment 351956 [details] > GTK and WPE compilation patch > > Basically the changes are: > - add and remove files Ideally, we would just have that to do. > - a couple of additions we always do for libevent external and stringutils Can they be upstreamed to libwebrtc? > - modifications of the code for gstreamer factories (timestamps continue > to change: thibault check this) > - rtc_base/logging.cc apparently was old in the patch, got the version of > the file for 343f4144be to make it compile I kept some of WebKit specific logging.cc changes as this is required to remove some static initializer warnings in Mac/iOS ports. Libwebrtc is working on fixing these but has not fully finalized. > - absl/strings/string_view.h gcc does not allow multiple lines for > constexpr in the version that I use, it is just a assert so I basically > leave it for clang Is there a diff of these changes somewhere? Can we upstream them to libwebrtc?
Alejandro G. Castro
Comment 21 2018-10-10 23:25:37 PDT
(In reply to youenn fablet from comment #20) > Some comments below. > We need logging.cc to keep these changes until libwebrtc updates them to > remove static initializers warning. Is there a way to update the version I > uploaded to make it compile in GTK? > Yep, you can basically add an ifdef to these 2 lines: 114 static std::once_flag callLogCriticalScopeOnce; 115 std::call_once(callLogCriticalScopeOnce,[] { logCriticalScope(); }); > (In reply to Alejandro G. Castro from comment #18) > > Created attachment 351956 [details] > > GTK and WPE compilation patch > > > > Basically the changes are: > > - add and remove files > > Ideally, we would just have that to do. > I agree, changes are really small now, hopefully we can remove all of them sooner than later. > > - a couple of additions we always do for libevent external and stringutils > > Can they be upstreamed to libwebrtc? > I doubt we can, as you can see in the patch: one is to allow using an external libevent and the other is because libwebrtc uses tolower, we disallow that function in WebKit. I proposed to add more conditions to the ifdef in the previous patch for WebKit but it seems too much just to compile the library. > > - modifications of the code for gstreamer factories (timestamps continue > > to change: thibault check this) > > - rtc_base/logging.cc apparently was old in the patch, got the version of > > the file for 343f4144be to make it compile > > I kept some of WebKit specific logging.cc changes as this is required to > remove some static initializer warnings in Mac/iOS ports. Libwebrtc is > working on fixing these but has not fully finalized. > I understand, we can just remove two of the lines removed upstream or add an ifdef to them. > > - absl/strings/string_view.h gcc does not allow multiple lines for > > constexpr in the version that I use, it is just a assert so I basically > > leave it for clang > > Is there a diff of these changes somewhere? > Can we upstream them to libwebrtc? The change is in the patch, I guess they don't support compiling with gcc, or maybe there is a way to allow this in the compilation. This is the new abseil library, not even libwebrtc, we can check with them in more detail.
Alejandro G. Castro
Comment 22 2018-10-11 03:32:06 PDT
(In reply to Alejandro G. Castro from comment #21) > (In reply to youenn fablet from comment #20) > > > - absl/strings/string_view.h gcc does not allow multiple lines for > > > constexpr in the version that I use, it is just a assert so I basically > > > leave it for clang > > > > Is there a diff of these changes somewhere? > > Can we upstream them to libwebrtc? > > The change is in the patch, I guess they don't support compiling with gcc, > or maybe there is a way to allow this in the compilation. This is the new > abseil library, not even libwebrtc, we can check with them in more detail. This is actually a bug in the library :-), we got a version with the problem in it, it explains clearly how to use it in the code: // ABSL_ASSERT() // // In C++11, `assert` can't be used portably within constexpr functions. // ABSL_ASSERT functions as a runtime assert but works in C++11 constexpr // functions. Example: // // constexpr double Divide(double a, double b) { // return ABSL_ASSERT(b != 0), a / b; // } // // This macro is inspired by // https://akrzemi1.wordpress.com/2017/05/18/asserts-in-constexpr-functions/ It is already fixed in abseil-cpp master so I'm going to upload the exact code to the patch.
Alejandro G. Castro
Comment 23 2018-10-11 03:36:59 PDT
Created attachment 352033 [details] GTK and WPE compilation patch New version of the compilation patch for GTK and WPE: - Solves the ABSEIL_ASSERT with the code upstream. - rtc_base/logging.cc removes just the 2 lines that cause problems in the compilation, it seems safe until we can update.
youenn fablet
Comment 24 2018-10-11 11:36:15 PDT
Created attachment 352061 [details] Merged patch
youenn fablet
Comment 25 2018-10-11 12:19:03 PDT
EWS Watchlist
Comment 26 2018-10-11 12:43:18 PDT
Attachment 352064 [details] did not pass style-queue: ERROR: Source/WebCore/testing/MockLibWebRTCPeerConnection.cpp:333: Code inside a namespace should not be indented. [whitespace/indent] [4] Total errors found: 1 in 1677 files If any of these errors are false positives, please file a bug against check-webkit-style.
youenn fablet
Comment 27 2018-10-11 12:54:45 PDT
EWS Watchlist
Comment 28 2018-10-11 13:17:27 PDT
Attachment 352067 [details] did not pass style-queue: ERROR: Source/WebCore/testing/MockLibWebRTCPeerConnection.cpp:333: Code inside a namespace should not be indented. [whitespace/indent] [4] Total errors found: 1 in 1677 files If any of these errors are false positives, please file a bug against check-webkit-style.
Chris Dumez
Comment 29 2018-10-12 11:14:31 PDT
Comment on attachment 352067 [details] patch rs=me
WebKit Commit Bot
Comment 30 2018-10-12 12:57:11 PDT
Comment on attachment 352067 [details] patch Rejecting attachment 352067 [details] from commit-queue. Failed to run "['/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch', '--status-host=webkit-queues.webkit.org', '--bot-id=webkit-cq-01', 'land-attachment', '--force-clean', '--non-interactive', '--parent-command=commit-queue', 352067, '--port=mac']" exit_code: 2 cwd: /Volumes/Data/EWS/WebKit Last 5000 characters of output: ce/webrtc/video/end_to_end_tests/multi_stream_tester.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/end_to_end_tests/multi_stream_tests.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/end_to_end_tests/network_state_tests.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/end_to_end_tests/probing_tests.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/end_to_end_tests/receive_time_tests.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/end_to_end_tests/retransmission_tests.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/end_to_end_tests/rtp_rtcp_tests.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/end_to_end_tests/ssrc_tests.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/end_to_end_tests/stats_tests.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/end_to_end_tests/transport_feedback_tests.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/full_stack_tests.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/overuse_frame_detector.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/picture_id_tests.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/quality_scaling_tests.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/quality_threshold.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/quality_threshold.h M Source/ThirdParty/libwebrtc/Source/webrtc/video/receive_statistics_proxy.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/receive_statistics_proxy.h M Source/ThirdParty/libwebrtc/Source/webrtc/video/receive_statistics_proxy_unittest.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/replay.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/rtp_streams_synchronizer.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/rtp_streams_synchronizer.h M Source/ThirdParty/libwebrtc/Source/webrtc/video/rtp_video_stream_receiver.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/rtp_video_stream_receiver.h M Source/ThirdParty/libwebrtc/Source/webrtc/video/rtp_video_stream_receiver_unittest.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/screenshare_loopback.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/send_delay_stats.h M Source/ThirdParty/libwebrtc/Source/webrtc/video/send_delay_stats_unittest.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/send_statistics_proxy.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/send_statistics_proxy.h M Source/ThirdParty/libwebrtc/Source/webrtc/video/send_statistics_proxy_unittest.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/stats_counter.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/sv_loopback.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/transport_adapter.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/transport_adapter.h M Source/ThirdParty/libwebrtc/Source/webrtc/video/video_analyzer.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/video_analyzer.h M Source/ThirdParty/libwebrtc/Source/webrtc/video/video_loopback.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/video_quality_observer.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/video_quality_test.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/video_quality_test.h M Source/ThirdParty/libwebrtc/Source/webrtc/video/video_receive_stream.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/video_receive_stream.h M Source/ThirdParty/libwebrtc/Source/webrtc/video/video_receive_stream_unittest.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/video_send_stream.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/video_send_stream.h M Source/ThirdParty/libwebrtc/Source/webrtc/video/video_send_stream_impl.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/video_send_stream_impl.h M Source/ThirdParty/libwebrtc/Source/webrtc/video/video_send_stream_impl_unittest.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/video_send_stream_tests.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/video_stream_decoder.h M Source/ThirdParty/libwebrtc/Source/webrtc/video/video_stream_decoder_impl.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/video_stream_encoder.cc M Source/ThirdParty/libwebrtc/Source/webrtc/video/video_stream_encoder_unittest.cc M Source/ThirdParty/libwebrtc/Source/webrtc/webrtc.gni M Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj M Source/WebCore/ChangeLog ERROR from SVN: Item is out of date: File '/trunk/Source/WebCore/ChangeLog' is out of date W: 4081d3cc069a1d4a559a73b15c5995854c4c0af9 and refs/remotes/origin/master differ, using rebase: :040000 040000 36e803d77c73702312f685641ad4f3961c785f20 7b9daf9ec3bcf63a1a0600e3152d4144df6297c3 M Source Current branch master is up to date. ERROR: Not all changes have been committed into SVN, however the committed ones (if any) seem to be successfully integrated into the working tree. Please see the above messages for details. Failed to run "['git', 'svn', 'dcommit', '--rmdir']" exit_code: 1 cwd: /Volumes/Data/EWS/WebKit Updating OpenSource Current branch master is up to date. Full output: https://webkit-queues.webkit.org/results/9554705
youenn fablet
Comment 31 2018-10-12 13:46:08 PDT
Radar WebKit Bug Importer
Comment 32 2018-10-12 13:47:45 PDT
youenn fablet
Comment 33 2018-10-12 14:27:57 PDT
GTK bot seems to have issues at link time. ../../Source/ThirdParty/libwebrtc/Source/webrtc/api/rtpsenderinterface.h:33: error: undefined reference to 'vtable for webrtc::RtpSenderInterface' /usr/bin/ld.gold: the vtable symbol may be undefined because the class is missing its key function ../../Source/ThirdParty/libwebrtc/Source/webrtc/api/rtpsenderinterface.h:85: error: undefined reference to 'vtable for webrtc::RtpSenderInterface' /usr/bin/ld.gold: the vtable symbol may be undefined because the class is missing its key function lib/libwebrtc.a(lib/../Source/ThirdParty/libwebrtc/CMakeFiles/webrtc.dir/Source/webrtc/pc/rtpsender.cc.o):rtpsender.cc:vtable for rtc::RefCountedObject<webrtc::RtpSenderInternal>: error: undefined reference to 'webrtc::RtpSenderInterface::init_send_encodings() const' lib/libwebrtc.a(lib/../Source/ThirdParty/libwebrtc/CMakeFiles/webrtc.dir/Source/webrtc/pc/rtpsender.cc.o):rtpsender.cc:vtable for rtc::RefCountedObject<webrtc::RtpSenderInternal>: error: undefined reference to 'webrtc::RtpSenderInterface::SetFrameEncryptor(rtc::scoped_refptr<webrtc::FrameEncryptorInterface>)' lib/libwebrtc.a(lib/../Source/ThirdParty/libwebrtc/CMakeFiles/webrtc.dir/Source/webrtc/pc/rtpsender.cc.o):rtpsender.cc:vtable for rtc::RefCountedObject<webrtc::RtpSenderInternal>: error: undefined reference to 'webrtc::RtpSenderInterface::GetFrameEncryptor() const' lib/libwebrtc.a(lib/../Source/ThirdParty/libwebrtc/CMakeFiles/webrtc.dir/Source/webrtc/pc/rtpsender.cc.o):rtpsender.cc:vtable for webrtc::RtpSenderInternal: error: undefined reference to 'webrtc::RtpSenderInterface::init_send_encodings() const' lib/libwebrtc.a(lib/../Source/ThirdParty/libwebrtc/CMakeFiles/webrtc.dir/Source/webrtc/pc/rtpsender.cc.o):rtpsender.cc:vtable for webrtc::RtpSenderInternal: error: undefined reference to 'webrtc::RtpSenderInterface::SetFrameEncryptor(rtc::scoped_refptr<webrtc::FrameEncryptorInterface>)' lib/libwebrtc.a(lib/../Source/ThirdParty/libwebrtc/CMakeFiles/webrtc.dir/Source/webrtc/pc/rtpsender.cc.o):rtpsender.cc:vtable for webrtc::RtpSenderInternal: error: undefined reference to 'webrtc::RtpSenderInterface::GetFrameEncryptor() const' collect2: error: ld returned 1 exit status
Ryan Haddad
Comment 34 2018-10-12 14:28:50 PDT
youenn fablet
Comment 35 2018-10-12 14:32:35 PDT
youenn fablet
Comment 36 2018-10-12 14:32:48 PDT
(In reply to Ryan Haddad from comment #34) > Committed http://trac.webkit.org/projects/webkit/changeset/237076 to fix > internal builds. Thanks Ryan!
youenn fablet
Comment 37 2018-10-12 14:33:14 PDT
(In reply to youenn fablet from comment #36) > (In reply to Ryan Haddad from comment #34) > > Committed http://trac.webkit.org/projects/webkit/changeset/237076 to fix > > internal builds. > > Thanks Ryan! I think I need to beef up style checker...
Note You need to log in before you can comment on or make changes to this bug.