Skip to content

Commit c686535

Browse files
youennfphiln
authored andcommitted
Update libwebrtc up to M120
https://bugs.webkit.org/show_bug.cgi?id=265987 rdar://problem/119302684 Reviewed by Jean-Yves Avenard. Update libwebrtc while retaining specific changes, in particular the ones related to HEVC. We stick to the newly deprecated DSN resolver API and will do the switch in https://bugs.webkit.org/show_bug.cgi?id=265791. We introduce a new libwebrtc.debug.exp since some symbols are only enabled when RTC_DHECK is on. Covered by existing tests. * Source/ThirdParty/libwebrtc/Configurations/libwebrtc.exp: * Source/ThirdParty/libwebrtc/Source/webrtc: Resynced. * Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj: * Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCRtpReceiverBackend.cpp: (WebCore::fillRTCRtpContributingSource): * Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCRtpTransformableFrame.cpp: (WebCore::LibWebRTCRtpTransformableFrame::audioMetadata const): * Source/WebCore/platform/libwebrtc/LibWebRTCVPXVideoEncoder.cpp: (WebCore::createInternalEncoder): * Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCDav1dDecoder.cpp: (WebCore::Dav1dDecoder::Decode): * Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp: * Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.h: * Source/WebKit/Configurations/WebKit.xcconfig: * Source/WebKit/NetworkProcess/webrtc/LibWebRTCSocketClient.cpp: (WebKit::LibWebRTCSocketClient::LibWebRTCSocketClient): * Source/WebKit/WebProcess/Network/webrtc/LibWebRTCProvider.cpp: * Source/WebKit/WebProcess/Network/webrtc/LibWebRTCResolver.h: * Source/WebKit/WebProcess/Network/webrtc/LibWebRTCSocketFactory.cpp: * Source/WebKit/WebProcess/Network/webrtc/LibWebRTCSocketFactory.h: Canonical link: https://commits.webkit.org/271863@main
1 parent f519f64 commit c686535

1,344 files changed

Lines changed: 52300 additions & 50942 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
__ZNK6webrtc32webrtc_sequence_checker_internal19SequenceCheckerImpl19ExpectationToStringEv
2+
__ZN3rtc18webrtc_checks_impl22UnreachableCodeReachedEPKci
3+
__ZN3rtc17AsyncPacketSocketC2Ev

Source/ThirdParty/libwebrtc/Source/webrtc/.gn

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,4 @@ default_args = {
7474
# Chromium fix resolves the problem.
7575
fuchsia_sdk_readelf_exec =
7676
"//third_party/llvm-build/Release+Asserts/bin/llvm-readelf"
77-
fuchsia_target_api_level = 9
78-
79-
use_cxx17 = false
8077
}
Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,2 @@
11
[style]
22
based_on_style = pep8
3-
indent_width = 2
4-
column_limit = 80

Source/ThirdParty/libwebrtc/Source/webrtc/.vpython3

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,28 @@ wheel: <
8383
version: "version:3.20.0"
8484
>
8585
wheel: <
86-
name: "infra/python/wheels/requests-py2_py3"
87-
version: "version:2.13.0"
86+
name: "infra/python/wheels/requests-py3"
87+
version: "version:2.31.0"
88+
>
89+
wheel: <
90+
name: "infra/python/wheels/idna-py2_py3"
91+
version: "version:2.8"
92+
>
93+
wheel: <
94+
name: "infra/python/wheels/urllib3-py2_py3"
95+
version: "version:1.26.6"
96+
>
97+
wheel: <
98+
name: "infra/python/wheels/certifi-py2_py3"
99+
version: "version:2020.11.8"
100+
>
101+
wheel: <
102+
name: "infra/python/wheels/charset_normalizer-py3"
103+
version: "version:2.0.4"
104+
>
105+
wheel: <
106+
name: "infra/python/wheels/brotli/${vpython_platform}"
107+
version: "version:1.0.9"
88108
>
89109

90110
# Used by:

Source/ThirdParty/libwebrtc/Source/webrtc/AUTHORS

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ Maksim Sisov <msisov@igalia.com>
7979
Maxim Pavlov <pavllovmax@gmail.com>
8080
Maxim Potapov <vopatop.skam@gmail.com>
8181
Michael Iedema <michael@kapsulate.com>
82+
Michael Klingbeil <klingm@amazon.com>
8283
Michał Zarach <michalzaq12@gmail.com>
8384
Michel Promonet <michel.promonet.1@gmail.com>
8485
Miguel Paris <mparisdiaz@gmail.com>
@@ -87,6 +88,7 @@ Mike Wei <Mike.WeiB@gmail.com>
8788
Min Wang <mingewang@gmail.com>
8889
Mike Woodworth <mike@divergentmedia.com>
8990
Mo Zanaty <mzanaty@cisco.com>
91+
Mohamed Risaldar UT <mohamed.ut@travancoreanalytics.com>
9092
Nico Schlumprecht <me@github.nico.onl>
9193
Niek van der Maas <mail@niekvandermaas.nl>
9294
Olivier Crête <olivier.crete@ocrete.ca>
@@ -101,9 +103,11 @@ Raman Budny <budnyjj@gmail.com>
101103
Ramprakash Jelari <ennajelari@gmail.com>
102104
Riku Voipio <riku.voipio@linaro.org>
103105
Robert Bares <robert@bares.me>
106+
Robert Mader <robert.mader@collabora.com>
104107
Robert Mader <robert.mader@posteo.de>
105108
Robert Nagy <robert.nagy@gmail.com>
106109
Ryan Yoakum <ryoakum@skobalt.com>
110+
Samuel Attard <samuel.r.attard@gmail.com>
107111
Sarah Thompson <sarah@telergy.com>
108112
Satender Saroha <ssaroha@yahoo.com>
109113
Saul Kravitz <Saul.Kravitz@celera.com>
@@ -128,6 +132,7 @@ Xiaohong Xu <freemine@yeah.net>
128132
Xiaolei Yu <dreifachstein@gmail.com>
129133
Xinchao Tian <tianxinchao@360.cn>
130134
Yaowen Guo <albertguo88@gmail.com>
135+
Youfa <vsyfar@gmail.com>
131136
Yura Yaroshevich <yura.yaroshevich@gmail.com>
132137
Yuriy Pavlyshak <yuriy@appear.in>
133138
Yusuke Suzuki <utatane.tea@gmail.com>

Source/ThirdParty/libwebrtc/Source/webrtc/BUILD.gn

Lines changed: 21 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ if (rtc_enable_protobuf) {
3030
if (is_android) {
3131
import("//build/config/android/config.gni")
3232
import("//build/config/android/rules.gni")
33+
import("//third_party/jni_zero/jni_zero.gni")
3334
}
3435

3536
if (!build_with_chromium) {
@@ -62,13 +63,14 @@ if (!build_with_chromium) {
6263
"modules/remote_bitrate_estimator:rtp_to_text",
6364
"modules/rtp_rtcp:test_packet_masks_metrics",
6465
"modules/video_capture:video_capture_internal_impl",
66+
"modules/video_coding:video_codec_perf_tests",
6567
"net/dcsctp:dcsctp_unittests",
66-
"pc:peer_connection_mediachannel_split_unittests",
6768
"pc:peerconnection_unittests",
6869
"pc:rtc_pc_unittests",
6970
"pc:slow_peer_connection_unittests",
7071
"pc:svc_tests",
7172
"rtc_tools:rtp_generator",
73+
"rtc_tools:video_encoder",
7274
"rtc_tools:video_replay",
7375
"stats:rtc_stats_unittests",
7476
"system_wrappers:system_wrappers_unittests",
@@ -101,17 +103,13 @@ if (!build_with_chromium) {
101103
}
102104
if (rtc_enable_protobuf) {
103105
deps += [
104-
"audio:low_bandwidth_audio_perf_test",
105106
"logging:rtc_event_log_rtp_dump",
106107
"tools_webrtc/perf:webrtc_dashboard_upload",
107108
]
108109
}
109110
if ((is_linux || is_chromeos) && rtc_use_pipewire) {
110111
deps += [ "modules/desktop_capture:shared_screencast_stream_test" ]
111112
}
112-
if (is_fuchsia) {
113-
deps += [ ":fuchsia_perf_tests" ]
114-
}
115113
}
116114
if (target_os == "android") {
117115
deps += [ "tools_webrtc:binary_version_check" ]
@@ -141,6 +139,14 @@ config("common_inherited_config") {
141139
cflags = []
142140
ldflags = []
143141

142+
if (rtc_jni_generator_legacy_symbols) {
143+
defines += [ "RTC_JNI_GENERATOR_LEGACY_SYMBOLS" ]
144+
}
145+
146+
if (rtc_objc_prefix != "") {
147+
defines += [ "RTC_OBJC_TYPE_PREFIX=${rtc_objc_prefix}" ]
148+
}
149+
144150
if (rtc_dlog_always_on) {
145151
defines += [ "DLOG_ALWAYS_ON" ]
146152
}
@@ -296,6 +302,10 @@ config("common_config") {
296302
defines += [ "RTC_ENABLE_VP9" ]
297303
}
298304

305+
if (rtc_use_h265) {
306+
defines += [ "RTC_ENABLE_H265" ]
307+
}
308+
299309
if (rtc_include_dav1d_in_internal_decoder_factory) {
300310
defines += [ "RTC_DAV1D_IN_INTERNAL_DECODER_FACTORY" ]
301311
}
@@ -316,6 +326,10 @@ config("common_config") {
316326
defines += [ "WEBRTC_ABSL_MUTEX" ]
317327
}
318328

329+
if (rtc_enable_libevent) {
330+
defines += [ "WEBRTC_ENABLE_LIBEVENT" ]
331+
}
332+
319333
if (rtc_disable_logging) {
320334
defines += [ "RTC_DISABLE_LOGGING" ]
321335
}
@@ -453,7 +467,7 @@ config("common_config") {
453467
]
454468
}
455469

456-
if (use_fuzzing_engine && optimize_for_fuzzing) {
470+
if (use_fuzzing_engine) {
457471
# Used in Chromium's overrides to disable logging
458472
defines += [ "WEBRTC_UNSAFE_FUZZER_MODE" ]
459473
}
@@ -592,6 +606,7 @@ if (rtc_include_tests && !build_with_chromium) {
592606
"call:fake_network_pipe_unittests",
593607
"p2p:libstunprober_unittests",
594608
"p2p:rtc_p2p_unittests",
609+
"rtc_base:async_dns_resolver_unittests",
595610
"rtc_base:callback_list_unittests",
596611
"rtc_base:rtc_base_approved_unittests",
597612
"rtc_base:rtc_base_unittests",
@@ -733,24 +748,6 @@ if (rtc_include_tests && !build_with_chromium) {
733748
}
734749
}
735750

736-
if (is_fuchsia) {
737-
rtc_test("fuchsia_perf_tests") {
738-
testonly = true
739-
deps = [
740-
#TODO(fxbug.dev/115601) - Enable when fixed
741-
"call:call_perf_tests",
742-
"modules/audio_coding:audio_coding_perf_tests",
743-
"modules/audio_processing:audio_processing_perf_tests",
744-
"pc:peerconnection_perf_tests",
745-
"test:test_main",
746-
"video:video_full_stack_tests",
747-
"video:video_pc_full_stack_tests",
748-
]
749-
750-
data = webrtc_perf_tests_resources
751-
}
752-
}
753-
754751
rtc_test("webrtc_nonparallel_tests") {
755752
testonly = true
756753
deps = [ "rtc_base:rtc_base_nonparallel_tests" ]
@@ -809,8 +806,5 @@ group("poison_default_task_queue") {
809806
group("poison_default_echo_detector") {
810807
}
811808

812-
group("poison_rtc_json") {
813-
}
814-
815809
group("poison_software_video_codecs") {
816810
}

0 commit comments

Comments
 (0)