Fix circular dependencies between optional, array_view, and rtc_base.

This splits things out of rtc_base and makes dependencies explicit.

Bug: webrtc:6828
Change-Id: Id521896c3c43595349021c857bec216e429a0c8d
Reviewed-on: https://webrtc-review.googlesource.com/32780
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21264}
This commit is contained in:
Patrik Höglund 2017-12-13 16:05:42 +01:00 committed by Commit Bot
parent 62a8b620bd
commit a8005cfd8b
55 changed files with 330 additions and 147 deletions

View file

@ -87,6 +87,7 @@ rtc_static_library("libjingle_peerconnection_api") {
":optional",
":rtc_stats_api",
":video_frame_api",
"../rtc_base:checks",
"audio_codecs:audio_codecs_api",
# Basically, don't add stuff here. You might break sensitive downstream
@ -185,6 +186,7 @@ rtc_source_set("rtc_stats_api") {
]
deps = [
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
]
}
@ -220,6 +222,7 @@ rtc_source_set("video_frame_api") {
]
deps = [
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
]
}
@ -232,6 +235,7 @@ rtc_source_set("video_frame_api_i420") {
deps = [
":video_frame_api",
"$rtc_libyuv_dir",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"../system_wrappers",
]
@ -242,7 +246,8 @@ rtc_source_set("array_view") {
"array_view.h",
]
deps = [
"../rtc_base:rtc_base_approved",
"../rtc_base:checks",
"../rtc_base:type_traits",
]
}
@ -253,7 +258,8 @@ rtc_source_set("optional") {
]
deps = [
":array_view",
"../rtc_base:rtc_base_approved",
"../rtc_base:checks",
"../rtc_base:sanitizer",
]
}
@ -325,6 +331,7 @@ if (rtc_include_tests) {
":libjingle_peerconnection_api",
"../api:peerconnection_and_implicit_call_api",
"../media:rtc_media_base",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
]
if (!build_with_chromium && is_clang) {
@ -356,6 +363,7 @@ if (rtc_include_tests) {
":libjingle_peerconnection_test_api",
":optional",
":ortc_api",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"../rtc_base:rtc_base_tests_utils",
"../test:test_support",

View file

@ -29,7 +29,9 @@ rtc_source_set("audio_codecs_api") {
"..:array_view",
"..:optional",
"../..:webrtc_common",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:sanitizer",
]
}

View file

@ -27,6 +27,7 @@ rtc_source_set("video_codecs_api") {
"..:video_frame_api",
"../..:webrtc_common",
"../../common_video",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
]
}

View file

@ -54,6 +54,7 @@ rtc_static_library("audio") {
"../modules/pacing:pacing",
"../modules/remote_bitrate_estimator:remote_bitrate_estimator",
"../modules/rtp_rtcp",
"../rtc_base:checks",
"../rtc_base:rtc_base",
"../rtc_base:rtc_base_approved",
"../rtc_base:rtc_task_queue",
@ -113,6 +114,7 @@ if (rtc_include_tests) {
"../rtc_base:rtc_base_approved",
"../rtc_base:rtc_base_tests_utils",
"../rtc_base:rtc_task_queue",
"../rtc_base:safe_compare",
"../system_wrappers:system_wrappers",
"../test:audio_codec_mocks",
"../test:rtp_test_utils",

View file

@ -23,6 +23,7 @@ rtc_static_library("audio_frame_operations") {
"../..:webrtc_common",
"../../modules:module_api",
"../../modules/audio_coding:audio_format_conversion",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
]
}
@ -36,6 +37,7 @@ if (rtc_include_tests) {
deps = [
":audio_frame_operations",
"../../modules:module_api",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../test:test_support",
"//testing/gtest",

View file

@ -73,6 +73,7 @@ rtc_source_set("rtp_receiver") {
"../api:optional",
"../modules/rtp_rtcp",
"../modules/rtp_rtcp:rtp_rtcp_format",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
]
}
@ -98,6 +99,7 @@ rtc_source_set("bitrate_allocator") {
]
deps = [
"../modules/bitrate_controller",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"../rtc_base:sequenced_task_checker",
"../system_wrappers",
@ -142,6 +144,7 @@ rtc_static_library("call") {
"../modules/rtp_rtcp",
"../modules/rtp_rtcp:rtp_rtcp_format",
"../modules/utility",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"../rtc_base:rtc_task_queue",
"../rtc_base:sequenced_task_checker",
@ -216,6 +219,7 @@ if (rtc_include_tests) {
"../modules/rtp_rtcp:mock_rtp_rtcp",
"../modules/rtp_rtcp:rtp_rtcp_format",
"../modules/utility:mock_process_thread",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"../system_wrappers",
"../test:audio_codec_mocks",
@ -249,6 +253,7 @@ if (rtc_include_tests) {
"../modules/audio_coding",
"../modules/audio_mixer:audio_mixer_impl",
"../modules/rtp_rtcp",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"../system_wrappers",
"../system_wrappers:metrics_default",

View file

@ -63,6 +63,7 @@ rtc_static_library("common_audio") {
":sinc_resampler",
"..:webrtc_common",
"../api:optional",
"../rtc_base:checks",
"../rtc_base:gtest_prod",
"../rtc_base:rtc_base_approved",
"../system_wrappers",
@ -222,8 +223,10 @@ rtc_source_set("common_audio_c") {
":common_audio_c_arm_asm",
":common_audio_cc",
"..:webrtc_common",
"../rtc_base:checks",
"../rtc_base:compile_assert_c",
"../rtc_base:rtc_base_approved",
"../rtc_base:sanitizer",
"../system_wrappers",
"../system_wrappers:cpu_features_api",
]
@ -272,6 +275,7 @@ rtc_source_set("fir_filter_factory") {
]
deps = [
":fir_filter",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"../system_wrappers:cpu_features_api",
]
@ -302,6 +306,7 @@ if (current_cpu == "x86" || current_cpu == "x64") {
deps = [
":fir_filter",
":sinc_resampler",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"../system_wrappers",
]
@ -341,6 +346,7 @@ if (rtc_build_with_neon) {
deps = [
":fir_filter",
":sinc_resampler",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"../system_wrappers",
]
@ -380,6 +386,7 @@ if (rtc_build_with_neon) {
}
deps = [
":common_audio_c",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
]
}
@ -440,6 +447,7 @@ if (rtc_include_tests) {
":fir_filter_factory",
":sinc_resampler",
"..:webrtc_common",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"../rtc_base:rtc_base_tests_utils",
"../system_wrappers:cpu_features_api",

View file

@ -112,7 +112,9 @@ if (is_android) {
apk_name = "AppRTCMobileTest"
android_manifest = "androidtests/AndroidManifest.xml"
java_files = [ "androidtests/src/org/appspot/apprtc/test/PeerConnectionClientTest.java" ]
java_files = [
"androidtests/src/org/appspot/apprtc/test/PeerConnectionClientTest.java",
]
apk_under_test = ":AppRTCMobile"
@ -500,6 +502,7 @@ if (is_linux || is_win) {
}
deps = [
"../api:video_frame_api_i420",
"../rtc_base:checks",
]
if (is_win) {
sources += [
@ -715,6 +718,7 @@ if (!build_with_chromium) {
deps = [
"../p2p:libstunprober",
"../p2p:rtc_p2p",
"../rtc_base:checks",
"../rtc_base:rtc_base",
"../rtc_base:rtc_base_approved",
"../system_wrappers:field_trial_default",

View file

@ -78,7 +78,9 @@ rtc_source_set("rtc_event_log_api") {
"../modules/audio_coding:audio_network_adaptor_config",
"../modules/remote_bitrate_estimator:remote_bitrate_estimator",
"../modules/rtp_rtcp:rtp_rtcp_format",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"../system_wrappers",
]
# TODO(eladalon): Remove this.
@ -106,6 +108,7 @@ rtc_static_library("rtc_event_log_impl") {
"../modules/audio_coding:audio_network_adaptor",
"../modules/remote_bitrate_estimator:remote_bitrate_estimator",
"../modules/rtp_rtcp:rtp_rtcp_format",
"../rtc_base:checks",
"../rtc_base:protobuf_utils",
"../rtc_base:rtc_base_approved",
"../rtc_base:rtc_task_queue",
@ -148,6 +151,7 @@ if (rtc_enable_protobuf) {
"../modules/remote_bitrate_estimator:remote_bitrate_estimator",
"../modules/rtp_rtcp",
"../modules/rtp_rtcp:rtp_rtcp_format",
"../rtc_base:checks",
"../rtc_base:protobuf_utils",
"../rtc_base:rtc_base_approved",
"../system_wrappers",
@ -185,6 +189,7 @@ if (rtc_enable_protobuf) {
"../modules/audio_coding:audio_network_adaptor",
"../modules/remote_bitrate_estimator:remote_bitrate_estimator",
"../modules/rtp_rtcp:rtp_rtcp_format",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"../rtc_base:rtc_base_tests_utils",
"../system_wrappers:metrics_default",
@ -208,6 +213,7 @@ if (rtc_enable_protobuf) {
":rtc_event_log_parser",
"../modules/rtp_rtcp",
"../modules/rtp_rtcp:rtp_rtcp_format",
"../rtc_base:checks",
"../rtc_base:protobuf_utils",
"../rtc_base:rtc_base_approved",
"../system_wrappers:field_trial_default",
@ -233,6 +239,7 @@ if (rtc_enable_protobuf) {
"../:webrtc_common",
"../call:video_stream_api",
"../modules/rtp_rtcp:rtp_rtcp_format",
"../rtc_base:checks",
"../rtc_base:protobuf_utils",
"../rtc_base:rtc_base_approved",
@ -257,6 +264,7 @@ if (rtc_enable_protobuf) {
":rtc_event_log_api",
":rtc_event_log_impl",
":rtc_event_log_proto",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
]
if (!build_with_chromium && is_clang) {

View file

@ -54,7 +54,10 @@ rtc_source_set("rtc_h264_profile_id") {
rtc_static_library("rtc_media_base") {
defines = []
libs = []
deps = []
deps = [
"../rtc_base:checks",
"../rtc_base:sanitizer",
]
public_deps = []
sources = [
"base/adaptedvideotracksource.cc",
@ -130,6 +133,7 @@ rtc_static_library("rtc_audio_video") {
"../api:video_frame_api_i420",
"../call:call_interfaces",
"../modules/video_coding:video_coding_utility",
"../rtc_base:checks",
"../system_wrappers:field_trial_api",
"../system_wrappers:metrics_api",
]
@ -343,6 +347,7 @@ if (rtc_include_tests) {
"../modules/rtp_rtcp:rtp_rtcp_format",
"../modules/video_coding:video_coding_utility",
"../p2p:rtc_p2p",
"../rtc_base:checks",
]
sources = [
"base/fakemediaengine.h",
@ -434,6 +439,7 @@ if (rtc_include_tests) {
"../api:video_frame_api_i420",
"../pc:rtc_pc",
"../pc:rtc_pc_base",
"../rtc_base:checks",
"../test:field_trial",
]
sources = [

View file

@ -50,7 +50,9 @@ rtc_static_library("audio_format_conversion") {
"../../api:array_view",
"../../api:optional",
"../../api/audio_codecs:audio_codecs_api",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:sanitizer",
]
}
@ -63,6 +65,7 @@ rtc_static_library("rent_a_codec") {
"acm2/rent_a_codec.h",
]
deps = [
"../../rtc_base:checks",
"../../api:array_view",
"../../api:optional",
"../../api/audio_codecs:audio_codecs_api",
@ -129,6 +132,7 @@ rtc_static_library("audio_coding") {
}
deps = audio_coding_deps + [
"../../rtc_base:checks",
"../../system_wrappers:metrics_api",
"..:module_api",
"../../api:array_view",
@ -196,6 +200,7 @@ rtc_static_library("red") {
deps = [
"../../api/audio_codecs:audio_codecs_api",
"../../common_audio",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
]
}
@ -219,6 +224,7 @@ rtc_static_library("g711") {
":legacy_encoded_audio_frame",
"../..:webrtc_common",
"../../api/audio_codecs:audio_codecs_api",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
]
public_deps = [
@ -258,6 +264,7 @@ rtc_static_library("g722") {
"../..:webrtc_common",
"../../api/audio_codecs:audio_codecs_api",
"../../api/audio_codecs/g722:audio_encoder_g722_config",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
]
public_deps = [
@ -299,6 +306,7 @@ rtc_static_library("ilbc") {
"../../api/audio_codecs:audio_codecs_api",
"../../api/audio_codecs/ilbc:audio_encoder_ilbc_config",
"../../common_audio",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
]
public_deps = [
@ -455,7 +463,9 @@ rtc_source_set("ilbc_c") {
"../..:webrtc_common",
"../../api/audio_codecs:audio_codecs_api",
"../../common_audio",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:sanitizer",
]
}
@ -469,6 +479,7 @@ rtc_static_library("isac_common") {
deps = [
"../..:webrtc_common",
"../../api/audio_codecs:audio_codecs_api",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
]
}
@ -559,6 +570,7 @@ rtc_static_library("isac_c") {
":isac_common",
"../..:webrtc_common",
"../../common_audio",
"../../rtc_base:checks",
"../../rtc_base:compile_assert_c",
"../../rtc_base:rtc_base_approved",
]
@ -665,8 +677,10 @@ rtc_source_set("isac_fix_c") {
"../..:webrtc_common",
"../../api/audio_codecs:audio_codecs_api",
"../../common_audio",
"../../rtc_base:checks",
"../../rtc_base:compile_assert_c",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:sanitizer",
"../../system_wrappers:cpu_features_api",
]
@ -741,6 +755,7 @@ if (rtc_build_with_neon) {
deps = [
":isac_fix_common",
"../../common_audio",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
]
}
@ -766,6 +781,7 @@ rtc_static_library("pcm16b") {
":legacy_encoded_audio_frame",
"../..:webrtc_common",
"../../api/audio_codecs:audio_codecs_api",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
]
public_deps = [
@ -802,6 +818,7 @@ rtc_static_library("webrtc_opus") {
"../../api/audio_codecs:audio_codecs_api",
"../../api/audio_codecs/opus:audio_encoder_opus_config",
"../../common_audio",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_numerics",
"../../system_wrappers:field_trial_api",
@ -839,6 +856,7 @@ rtc_source_set("webrtc_opus_c") {
deps = [
"../..:webrtc_common",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
]
}
@ -912,6 +930,7 @@ rtc_static_library("audio_network_adaptor") {
"../../api/audio_codecs:audio_codecs_api",
"../../common_audio",
"../../logging:rtc_event_log_api",
"../../rtc_base:checks",
"../../rtc_base:protobuf_utils",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers",
@ -1026,8 +1045,10 @@ rtc_static_library("neteq") {
"../../api:optional",
"../../api/audio_codecs:audio_codecs_api",
"../../common_audio",
"../../rtc_base:checks",
"../../rtc_base:gtest_prod",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:sanitizer",
"../../system_wrappers:field_trial_api",
"../../system_wrappers:metrics_api",
]
@ -1066,6 +1087,7 @@ rtc_source_set("neteq_tools_minimal") {
"../../api:optional",
"../../api/audio_codecs:audio_codecs_api",
"../../api/audio_codecs:builtin_audio_decoder_factory",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../rtp_rtcp",
]
@ -1101,6 +1123,7 @@ rtc_source_set("neteq_test_tools") {
"../..:webrtc_common",
"../../api:array_view",
"../../common_audio",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_base_tests_utils",
"../../test:rtp_test_utils",
@ -1149,6 +1172,7 @@ rtc_source_set("neteq_tools") {
"../../api:array_view",
"../../api:optional",
"../../api/audio_codecs:audio_codecs_api",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../rtp_rtcp",
"../rtp_rtcp:rtp_rtcp_format",
@ -1172,6 +1196,7 @@ rtc_source_set("neteq_input_audio_tools") {
deps = [
"../..:webrtc_common",
"../../common_audio",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
]
}
@ -1193,6 +1218,7 @@ if (rtc_enable_protobuf) {
deps = [
":neteq_tools_minimal",
"../../logging:rtc_event_log_parser",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../rtp_rtcp",
"../rtp_rtcp:rtp_rtcp_format",
@ -1359,6 +1385,7 @@ if (rtc_include_tests) {
defines = audio_coding_defines
deps = audio_coding_deps + [
"../../rtc_base:checks",
":audio_coding",
":neteq_tools",
"../../api/audio_codecs:audio_codecs_api",
@ -1493,6 +1520,7 @@ if (rtc_include_tests) {
defines = []
deps = [
"..:module_api",
"../../rtc_base:checks",
]
sources = [
"neteq/tools/neteq_rtpplay.cc",
@ -1601,6 +1629,7 @@ if (rtc_include_tests) {
"../..:webrtc_common",
"../../api/audio_codecs:audio_codecs_api",
"../../api/audio_codecs:builtin_audio_decoder_factory",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers",
"../../test:test_support",
@ -1626,6 +1655,7 @@ if (rtc_include_tests) {
"..:module_api",
"../..:webrtc_common",
"../../api/audio_codecs:builtin_audio_decoder_factory",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../test:test_support",
"//testing/gtest",
@ -1680,6 +1710,7 @@ if (rtc_include_tests) {
]
deps = [
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers:system_wrappers_default",
"../../test:rtp_test_utils",
@ -1757,6 +1788,7 @@ if (rtc_include_tests) {
":neteq_quality_test_support",
":neteq_tools",
"../..:webrtc_common",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers:system_wrappers_default",
"../../test:test_main",
@ -1792,6 +1824,7 @@ if (rtc_include_tests) {
":g711",
":neteq",
":neteq_quality_test_support",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../test:test_main",
"//testing/gtest",
@ -2075,10 +2108,12 @@ if (rtc_include_tests) {
"../../common_audio",
"../../common_audio:mock_common_audio",
"../../logging:rtc_event_log_api",
"../../rtc_base:checks",
"../../rtc_base:protobuf_utils",
"../../rtc_base:rtc_base",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_base_tests_utils",
"../../rtc_base:sanitizer",
"../../system_wrappers",
"../../system_wrappers:cpu_features_api",
"../../test:audio_codec_mocks",

View file

@ -76,6 +76,7 @@ if (rtc_include_internal_audio_device && is_ios) {
deps = [
":audio_device_generic",
"../../api:array_view",
"../../rtc_base:checks",
"../../rtc_base:gtest_prod",
"../../rtc_base:rtc_base",
"../../sdk:audio_objc",
@ -101,6 +102,7 @@ rtc_source_set("audio_device_generic") {
"../..:webrtc_common",
"../../api:array_view",
"../../common_audio",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_task_queue",
"../../system_wrappers",
@ -329,6 +331,7 @@ if (rtc_include_tests) {
":mock_audio_device",
"../../api:array_view",
"../../api:optional",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers",
"../../test:test_support",

View file

@ -39,6 +39,7 @@ rtc_static_library("audio_mixer_impl") {
"../../api:array_view",
"../../api:audio_mixer_api",
"../../audio/utility:audio_frame_operations",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers",
"../audio_processing",
@ -59,6 +60,7 @@ rtc_static_library("audio_frame_manipulator") {
deps = [
"..:module_api",
"../../audio/utility:audio_frame_operations",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
]
}
@ -83,6 +85,7 @@ if (rtc_include_tests) {
"../../api:array_view",
"../../api:audio_mixer_api",
"../../audio/utility:audio_frame_operations",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_task_queue",
"../../test:test_support",

View file

@ -229,8 +229,10 @@ rtc_static_library("audio_processing") {
"../../api:array_view",
"../../api:optional",
"../../audio/utility:audio_frame_operations",
"../../rtc_base:checks",
"../../rtc_base:gtest_prod",
"../../rtc_base:protobuf_utils",
"../../rtc_base:sanitizer",
"../../system_wrappers:cpu_features_api",
"../../system_wrappers:metrics_api",
"../audio_coding:isac",
@ -340,6 +342,7 @@ rtc_source_set("audio_processing_c") {
deps = [
"../..:webrtc_common",
"../../common_audio",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers:cpu_features_api",
]
@ -402,7 +405,9 @@ rtc_source_set("aec_core") {
":audio_processing_statistics",
"../..:webrtc_common",
"../../common_audio:common_audio",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:sanitizer",
"../../system_wrappers:cpu_features_api",
"../../system_wrappers:metrics_api",
]
@ -580,6 +585,7 @@ if (rtc_include_tests) {
"../../api:array_view",
"../../api:optional",
"../../common_audio:common_audio",
"../../rtc_base:checks",
"../../rtc_base:gtest_prod",
"../../rtc_base:protobuf_utils",
"../../rtc_base:rtc_base",
@ -733,6 +739,7 @@ if (rtc_include_tests) {
"../../api:array_view",
"../../common_audio:common_audio",
"../../modules:module_api",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
]
}
@ -758,6 +765,7 @@ if (rtc_include_tests) {
":audioproc_test_utils",
"../../api:optional",
"../../common_audio:common_audio",
"../../rtc_base:checks",
"../../rtc_base:protobuf_utils",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_task_queue",
@ -792,6 +800,7 @@ if (rtc_include_tests) {
"../../api:array_view",
"../../api:optional",
"../../common_audio",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers",
"../../test:test_support",
@ -844,6 +853,7 @@ if (rtc_include_tests) {
":audio_processing",
":audioproc_test_utils",
"../../common_audio:common_audio",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers:metrics_default",
]

View file

@ -74,6 +74,7 @@ if (rtc_enable_protobuf) {
deps = [
"../../../modules:module_api",
"../../../rtc_base:checks",
"../../../rtc_base:protobuf_utils",
"../../../rtc_base:rtc_base_approved",
"../../../rtc_base:rtc_task_queue",

View file

@ -47,6 +47,7 @@ rtc_static_library("lib") {
"../../../..:webrtc_common",
"../../../../api:array_view",
"../../../../common_audio",
"../../../../rtc_base:checks",
"../../../../rtc_base:rtc_base_approved",
]
visibility = [ ":*" ] # Only targets in this file can depend on this.

View file

@ -117,6 +117,7 @@ rtc_executable("fake_polqa") {
output_name = "py_quality_assessment/quality_assessment/fake_polqa"
deps = [
"../../../..:webrtc_common",
"../../../../rtc_base:checks",
"../../../../rtc_base:rtc_base_approved",
]
}

View file

@ -51,6 +51,8 @@ rtc_static_library("congestion_controller") {
"../..:webrtc_common",
"../../api:optional",
"../../logging:rtc_event_log_api",
"../../rtc_base:checks",
"../../rtc_base:rate_limiter",
"../../rtc_base:rtc_base",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_numerics",
@ -87,6 +89,7 @@ if (rtc_include_tests) {
deps = [
":congestion_controller",
":mock_congestion_controller",
"../../rtc_base:checks",
"../../rtc_base:rtc_base",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_base_tests_utils",

View file

@ -28,6 +28,7 @@ rtc_static_library("primitives") {
deps = [
"../..:webrtc_common",
"../../rtc_base:checks",
"../../rtc_base:rtc_base", # TODO(kjellander): Cleanup in bugs.webrtc.org/3806.
]
}
@ -37,7 +38,9 @@ if (rtc_include_tests) {
testonly = true
sources = []
deps = []
deps = [
"../../rtc_base:checks",
]
if (rtc_desktop_capture_supported) {
deps += [
":desktop_capture_mock",
@ -86,6 +89,7 @@ if (rtc_include_tests) {
":desktop_capture_mock",
":primitives",
"../..:webrtc_common",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers:cpu_features_api",
"../../test:test_support",
@ -125,6 +129,7 @@ if (rtc_include_tests) {
deps = [
":primitives",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers",
]
@ -174,6 +179,7 @@ if (is_mac) {
deps = [
":desktop_capture_generic",
":primitives",
"../../rtc_base:checks",
"../../rtc_base:rtc_base",
"../../rtc_base:rtc_base_approved",
"../../sdk:common_objc",
@ -328,6 +334,7 @@ rtc_static_library("desktop_capture_generic") {
":primitives",
"../..:webrtc_common",
"../../api:refcountedbase",
"../../rtc_base:checks",
"../../rtc_base:rtc_base", # TODO(kjellander): Cleanup in bugs.webrtc.org/3806.
"../../system_wrappers",
"../../system_wrappers:cpu_features_api",

View file

@ -37,6 +37,7 @@ rtc_static_library("pacing") {
"../../:webrtc_common",
"../../api:optional",
"../../logging:rtc_event_log_api",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers",
"../../system_wrappers:field_trial_api",
@ -60,6 +61,7 @@ if (rtc_include_tests) {
]
deps = [
":pacing",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_base_tests_utils",
"../../system_wrappers",

View file

@ -49,6 +49,7 @@ rtc_static_library("remote_bitrate_estimator") {
"../../api:optional",
"../../modules:module_api",
"../../modules/rtp_rtcp:rtp_rtcp_format",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers",
"../../system_wrappers:field_trial_api",
@ -140,6 +141,7 @@ if (rtc_include_tests) {
"..:module_api",
"../..:webrtc_common",
"../../api:optional",
"../../rtc_base:checks",
"../../rtc_base:gtest_prod",
"../../rtc_base:rtc_base",
"../../rtc_base:rtc_base_approved",
@ -204,6 +206,7 @@ if (rtc_include_tests) {
":bwe_simulator_lib",
":remote_bitrate_estimator",
"../..:webrtc_common",
"../../rtc_base:checks",
"../../rtc_base:rtc_base",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers",

View file

@ -87,6 +87,7 @@ rtc_source_set("rtp_rtcp_format") {
"../../api:optional",
"../../api/audio_codecs:audio_codecs_api",
"../../common_video",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers",
]
@ -198,7 +199,9 @@ rtc_static_library("rtp_rtcp") {
"../../api/audio_codecs:audio_codecs_api",
"../../common_video",
"../../logging:rtc_event_log_api",
"../../rtc_base:checks",
"../../rtc_base:gtest_prod",
"../../rtc_base:rate_limiter",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_numerics",
"../../rtc_base:sequenced_task_checker",
@ -238,6 +241,7 @@ rtc_source_set("rtcp_transceiver") {
"../../api:array_view",
"../../api:optional",
"../../api:transport_api",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_task_queue",
"../../rtc_base:weak_ptr",
@ -255,6 +259,7 @@ rtc_source_set("fec_test_helper") {
":rtp_rtcp",
":rtp_rtcp_format",
"..:module_api",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
]
@ -278,6 +283,7 @@ rtc_source_set("mock_rtp_rtcp") {
":rtp_rtcp_format",
"..:module_api",
"../../api:optional",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../test:test_support",
]
@ -399,6 +405,8 @@ if (rtc_include_tests) {
"../../call:rtp_receiver",
"../../common_video:common_video",
"../../logging:rtc_event_log_api",
"../../rtc_base:checks",
"../../rtc_base:rate_limiter",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_base_tests_utils",
"../../rtc_base:rtc_task_queue",

View file

@ -34,6 +34,7 @@ rtc_static_library("utility") {
"../..:webrtc_common",
"../../audio/utility:audio_frame_operations",
"../../common_audio",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_task_queue",
"../../system_wrappers",

View file

@ -125,6 +125,7 @@ if (!build_with_chromium) {
deps = [
":video_capture_module",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers",
]

View file

@ -103,6 +103,7 @@ rtc_static_library("video_coding") {
"../../api:video_frame_api_i420",
"../../call:video_stream_api",
"../../common_video",
"../../rtc_base:checks",
"../../rtc_base:rtc_base",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_numerics",
@ -172,6 +173,7 @@ rtc_source_set("video_coding_utility") {
"../../api/video_codecs:video_codecs_api",
"../../common_video",
"../../modules/rtp_rtcp",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_numerics",
"../../rtc_base:rtc_task_queue",
@ -198,6 +200,7 @@ rtc_static_library("webrtc_h264") {
"../../api:video_frame_api_i420",
"../../api/video_codecs:video_codecs_api",
"../../media:rtc_media_base",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers:metrics_api",
]
@ -239,6 +242,7 @@ rtc_static_library("webrtc_i420") {
"../..:webrtc_common",
"../../api:video_frame_api_i420",
"../../common_video:common_video",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers",
]
@ -301,6 +305,7 @@ rtc_static_library("webrtc_vp8") {
"../../api:optional",
"../../api/video_codecs:video_codecs_api",
"../../common_video",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_numerics",
"../../rtc_base:sequenced_task_checker",
@ -339,6 +344,7 @@ rtc_static_library("webrtc_vp9") {
":video_coding_utility",
"..:module_api",
"../../common_video",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers",
]
@ -392,6 +398,7 @@ if (rtc_include_tests) {
"../../api:video_frame_api",
"../../api:video_frame_api_i420",
"../../common_video:common_video",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../test:test_support",
]
@ -427,6 +434,7 @@ if (rtc_include_tests) {
"../../api:video_frame_api_i420",
"../../api/video_codecs:video_codecs_api",
"../../common_video:common_video",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_task_queue",
"../../rtc_base:sequenced_task_checker",
@ -485,6 +493,7 @@ if (rtc_include_tests) {
"../../common_video",
"../../media:rtc_audio_video",
"../../media:rtc_media_base",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_base_tests_utils",
"../../system_wrappers",
@ -594,6 +603,7 @@ if (rtc_include_tests) {
"../../api:video_frame_api_i420",
"../../api/video_codecs:video_codecs_api",
"../../common_video:common_video",
"../../rtc_base:checks",
"../../rtc_base:rtc_base",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_numerics",

View file

@ -31,6 +31,7 @@ rtc_static_library("video_processing") {
"../../common_audio",
"../../common_video",
"../../modules/utility",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers:cpu_features_api",
]

View file

@ -47,6 +47,7 @@ rtc_static_library("ortc") {
"../pc:peerconnection",
"../pc:rtc_pc",
"../pc:rtc_pc_base",
"../rtc_base:checks",
"../rtc_base:rtc_base",
"../rtc_base:rtc_base_approved",
]

View file

@ -91,6 +91,7 @@ rtc_static_library("rtc_p2p") {
"../api:libjingle_peerconnection_api",
"../api:optional",
"../api:ortc_api",
"../rtc_base:checks",
"../rtc_base:rtc_base",
"../system_wrappers:field_trial_api",
]
@ -175,6 +176,7 @@ if (rtc_include_tests) {
":rtc_p2p",
"../api:fakemetricsobserver",
"../api:ortc_api",
"../rtc_base:checks",
"../rtc_base:rtc_base",
"../rtc_base:rtc_base_approved",
"../rtc_base:rtc_base_tests_utils",
@ -199,6 +201,7 @@ rtc_static_library("libstunprober") {
deps = [
":rtc_p2p",
"..:webrtc_common",
"../rtc_base:checks",
"../rtc_base:rtc_base",
]
}
@ -214,6 +217,7 @@ if (rtc_include_tests) {
":libstunprober",
":p2p_test_utils",
":rtc_p2p",
"../rtc_base:checks",
"../rtc_base:rtc_base",
"../rtc_base:rtc_base_tests_utils",
"//testing/gmock",

View file

@ -75,6 +75,7 @@ rtc_static_library("rtc_pc_base") {
"../media:rtc_h264_profile_id",
"../media:rtc_media_base",
"../p2p:rtc_p2p",
"../rtc_base:checks",
"../rtc_base:rtc_base",
"../rtc_base:rtc_task_queue",
]
@ -182,6 +183,7 @@ rtc_static_library("peerconnection") {
"../media:rtc_data",
"../media:rtc_media_base",
"../p2p:rtc_p2p",
"../rtc_base:checks",
"../rtc_base:rtc_base",
"../rtc_base:rtc_base_approved",
"../stats",
@ -289,6 +291,7 @@ if (rtc_include_tests) {
"../media:rtc_media_tests_utils",
"../p2p:p2p_test_utils",
"../p2p:rtc_p2p",
"../rtc_base:checks",
"../rtc_base:rtc_base",
"../rtc_base:rtc_base_approved",
"../rtc_base:rtc_base_tests_main",
@ -342,6 +345,7 @@ if (rtc_include_tests) {
"../media:rtc_media_tests_utils",
"../modules/audio_device:audio_device",
"../p2p:p2p_test_utils",
"../rtc_base:checks",
"../rtc_base:rtc_base",
"../rtc_base:rtc_base_approved",
"../rtc_base:rtc_base_tests_utils",
@ -436,6 +440,7 @@ if (rtc_include_tests) {
deps = [
":peerconnection",
":rtc_pc_base",
"../rtc_base:checks",
]
if (is_android) {
deps += [ ":android_black_magic" ]

View file

@ -89,6 +89,49 @@ rtc_source_set("rtc_base_approved") {
}
}
rtc_source_set("checks") {
sources = [
"checks.cc",
"checks.h",
]
deps = [
":safe_compare",
"..:webrtc_common",
]
}
rtc_source_set("type_traits") {
sources = [
"type_traits.h",
]
}
rtc_source_set("sanitizer") {
sources = [
"sanitizer.h",
]
}
rtc_source_set("safe_compare") {
sources = [
"numerics/safe_compare.h",
]
deps = [
":type_traits",
]
}
rtc_source_set("rate_limiter") {
sources = [
"rate_limiter.cc",
"rate_limiter.h",
]
deps = [
":rtc_base_approved",
"../system_wrappers",
]
}
# The subset of rtc_base approved for use outside of libjingle.
rtc_source_set("rtc_base_approved_generic") {
visibility = [
@ -97,13 +140,14 @@ rtc_source_set("rtc_base_approved_generic") {
":weak_ptr_unittests",
]
# TODO(kjellander): Remove (bugs.webrtc.org/7480)
# Enabling GN check triggers a cyclic dependency caused by rate_limiter.cc:
# :rtc_base_approved -> ../system_wrappers -> :rtc_base_approved
check_includes = false
cflags = []
defines = []
libs = []
deps = []
deps = [
":checks",
":safe_compare",
":type_traits",
]
sources = [
"arraysize.h",
@ -122,8 +166,6 @@ rtc_source_set("rtc_base_approved_generic") {
"bytebuffer.cc",
"bytebuffer.h",
"byteorder.h",
"checks.cc",
"checks.h",
"constructormagic.h",
"copyonwritebuffer.cc",
"copyonwritebuffer.h",
@ -145,7 +187,6 @@ rtc_source_set("rtc_base_approved_generic") {
"numerics/histogram_percentile_counter.h",
"numerics/mod_ops.h",
"numerics/moving_max_counter.h",
"numerics/safe_compare.h",
"numerics/safe_conversions.h",
"numerics/safe_conversions_impl.h",
"numerics/safe_minmax.h",
@ -162,8 +203,6 @@ rtc_source_set("rtc_base_approved_generic") {
"race_checker.h",
"random.cc",
"random.h",
"rate_limiter.cc",
"rate_limiter.h",
"rate_statistics.cc",
"rate_statistics.h",
"ratetracker.cc",
@ -171,7 +210,6 @@ rtc_source_set("rtc_base_approved_generic") {
"refcount.h",
"refcountedobject.h",
"refcounter.h",
"sanitizer.h",
"scoped_ref_ptr.h",
"string_to_number.cc",
"string_to_number.h",
@ -191,10 +229,13 @@ rtc_source_set("rtc_base_approved_generic") {
"timeutils.cc",
"timeutils.h",
"trace_event.h",
"type_traits.h",
]
deps += [ "..:webrtc_common" ]
deps += [
"..:webrtc_common",
"../api:array_view",
"../api:optional",
]
if (is_android) {
libs += [ "log" ]
@ -350,6 +391,7 @@ rtc_source_set("rtc_task_queue_api") {
rtc_source_set("rtc_task_queue_impl") {
deps = [
":checks",
":rtc_base_approved",
":rtc_task_queue_api",
]
@ -385,6 +427,7 @@ rtc_static_library("sequenced_task_checker") {
"sequenced_task_checker_impl.h",
]
deps = [
":checks",
":rtc_base_approved",
":rtc_task_queue",
]
@ -410,7 +453,9 @@ rtc_static_library("rtc_numerics") {
"numerics/sequence_number_util.h",
]
deps = [
":checks",
":rtc_base_approved",
":safe_compare",
"../api:optional",
]
}
@ -480,6 +525,7 @@ rtc_static_library("rtc_base_generic") {
libs = []
defines = []
deps = [
":checks",
"..:webrtc_common",
"../api:optional",
]
@ -797,6 +843,7 @@ rtc_source_set("rtc_base_tests_utils") {
configs += [ ":rtc_base_tests_utils_warnings_config" ]
public_configs = [ ":rtc_base_tests_utils_exported_config" ]
deps = [
":checks",
":rtc_base",
"../test:field_trial",
"../test:test_support",
@ -841,6 +888,7 @@ if (rtc_include_tests) {
"socketaddress_unittest.cc",
]
deps = [
":checks",
":rtc_base",
":rtc_base_tests_main",
":rtc_base_tests_utils",
@ -900,11 +948,14 @@ if (rtc_include_tests) {
"virtualsocket_unittest.cc",
]
deps = [
":checks",
":rate_limiter",
":rtc_base",
":rtc_base_approved",
":rtc_base_tests_main",
":rtc_base_tests_utils",
":rtc_task_queue",
":safe_compare",
"../api:array_view",
"../system_wrappers:system_wrappers",
"../test:test_support",
@ -933,6 +984,7 @@ if (rtc_include_tests) {
"sequenced_task_checker_unittest.cc",
]
deps = [
":checks",
":rtc_base_approved",
":rtc_base_tests_main",
":rtc_task_queue",
@ -1025,6 +1077,7 @@ if (rtc_include_tests) {
]
}
deps = [
":checks",
":rtc_base_tests_main",
":rtc_base_tests_utils",
"../api:optional",

View file

@ -30,8 +30,15 @@
#include <windows.h>
#endif
#if defined(WEBRTC_WIN)
#define LAST_SYSTEM_ERROR (::GetLastError())
#elif defined(__native_client__) && __native_client__
#define LAST_SYSTEM_ERROR (0)
#elif defined(WEBRTC_POSIX)
#define LAST_SYSTEM_ERROR (errno)
#endif // WEBRTC_WIN
#include "rtc_base/checks.h"
#include "rtc_base/logging.h"
#if defined(_MSC_VER)
// Warning C4722: destructor never returns, potential memory leak.
@ -115,7 +122,7 @@ void FatalMessage::Init(const char* file, int line) {
<< std::endl
<< "#" << std::endl
<< "# Fatal error in " << file << ", line " << line << std::endl
<< "# last system error: " << RTC_LAST_SYSTEM_ERROR << std::endl
<< "# last system error: " << LAST_SYSTEM_ERROR << std::endl
<< "# ";
}

View file

@ -13,7 +13,7 @@
#include "rtc_base/constructormagic.h"
#if defined(WEBRTC_WIN)
#include "rtc_base/win32.h" // NOLINT: consider this a system header.
#include <windows.h>
#elif defined(WEBRTC_POSIX)
#include <pthread.h>
#else

View file

@ -11,9 +11,9 @@
#include "rtc_base/file.h"
#include <io.h>
#include "rtc_base/win32.h"
#include <windows.h>
#include <limits> // NOLINT: win32.h should be considered a system header
#include <limits>
#include "rtc_base/checks.h"

View file

@ -13,13 +13,15 @@
#include <string>
#if !defined(WEBRTC_WIN)
#if defined(WEBRTC_WIN)
#include <windows.h>
#else
#include <dirent.h>
#include <stdio.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#endif
#endif // WEBRTC_WIN
#include "rtc_base/checks.h"
#include "rtc_base/constructormagic.h"

View file

@ -15,9 +15,10 @@
#include <string.h>
#include "rtc_base/checks.h"
#include "rtc_base/stringutils.h"
#if defined(WEBRTC_WIN)
#include "rtc_base/win32.h"
#include <windows.h>
#include <shellapi.h>
#endif

View file

@ -341,22 +341,16 @@ inline bool LogCheckLevel(LoggingSeverity sev) {
RTC_LOG_GLE_EX(sev, err)
#define RTC_LOG_ERR(sev) \
RTC_LOG_GLE(sev)
#define RTC_LAST_SYSTEM_ERROR \
(::GetLastError())
#elif defined(__native_client__) && __native_client__
#define RTC_LOG_ERR_EX(sev, err) \
RTC_LOG(sev)
#define RTC_LOG_ERR(sev) \
RTC_LOG(sev)
#define RTC_LAST_SYSTEM_ERROR \
(0)
#elif defined(WEBRTC_POSIX)
#define RTC_LOG_ERR_EX(sev, err) \
RTC_LOG_ERRNO_EX(sev, err)
#define RTC_LOG_ERR(sev) \
RTC_LOG_ERRNO(sev)
#define RTC_LAST_SYSTEM_ERROR \
(errno)
#endif // WEBRTC_WIN
#define RTC_LOG_TAG(sev, tag) \

View file

@ -9,7 +9,7 @@
*/
#if defined(WEBRTC_WIN)
#include "rtc_base/win32.h"
#include <windows.h>
#include <shellapi.h>
#include <shlobj.h>
#include <tchar.h>

View file

@ -19,7 +19,6 @@
#if defined(WEBRTC_POSIX)
#include <string.h>
#include <errno.h>
#include <fcntl.h>
#if defined(WEBRTC_USE_EPOLL)
// "poll" will be used to wait for the signal dispatcher.
@ -40,6 +39,8 @@
#undef SetPort
#endif
#include <errno.h>
#include <algorithm>
#include <map>
@ -53,6 +54,14 @@
#include "rtc_base/timeutils.h"
#include "rtc_base/win32socketinit.h"
#if defined(WEBRTC_WIN)
#define LAST_SYSTEM_ERROR (::GetLastError())
#elif defined(__native_client__) && __native_client__
#define LAST_SYSTEM_ERROR (0)
#elif defined(WEBRTC_POSIX)
#define LAST_SYSTEM_ERROR (errno)
#endif // WEBRTC_WIN
#if defined(WEBRTC_POSIX)
#include <netinet/tcp.h> // for TCP_NODELAY
#define IP_MTU 14 // Until this is integrated from linux/in.h to netinet/in.h
@ -525,7 +534,7 @@ void PhysicalSocket::OnResolveResult(AsyncResolverInterface* resolver) {
}
void PhysicalSocket::UpdateLastError() {
SetError(RTC_LAST_SYSTEM_ERROR);
SetError(LAST_SYSTEM_ERROR);
}
void PhysicalSocket::MaybeRemapSendError() {

View file

@ -10,6 +10,8 @@
#include "rtc_base/platform_file.h"
#include "rtc_base/stringutils.h"
#if defined(WEBRTC_WIN)
#include <io.h>
#else

View file

@ -15,7 +15,7 @@
#include <string>
#if defined(WEBRTC_WIN)
#include "rtc_base/win32.h"
#include <windows.h>
#endif
namespace rtc {

View file

@ -29,7 +29,7 @@
#include "rtc_base/timeutils.h"
#if defined(WEBRTC_WIN)
#include "rtc_base/win32.h"
#include <windows.h>
#define fileno _fileno
#endif

View file

@ -19,6 +19,7 @@
#if defined(WEBRTC_WIN)
#include <malloc.h>
#include <wchar.h>
#include <windows.h>
#define alloca _alloca
#endif // WEBRTC_WIN
@ -295,6 +296,43 @@ struct Traits<wchar_t> {
#endif // WEBRTC_WIN
///////////////////////////////////////////////////////////////////////////////
// UTF helpers (Windows only)
///////////////////////////////////////////////////////////////////////////////
#if defined(WEBRTC_WIN)
inline std::wstring ToUtf16(const char* utf8, size_t len) {
int len16 = ::MultiByteToWideChar(CP_UTF8, 0, utf8, static_cast<int>(len),
nullptr, 0);
wchar_t* ws = STACK_ARRAY(wchar_t, len16);
::MultiByteToWideChar(CP_UTF8, 0, utf8, static_cast<int>(len), ws, len16);
return std::wstring(ws, len16);
}
inline std::wstring ToUtf16(const std::string& str) {
return ToUtf16(str.data(), str.length());
}
inline std::string ToUtf8(const wchar_t* wide, size_t len) {
int len8 = ::WideCharToMultiByte(CP_UTF8, 0, wide, static_cast<int>(len),
nullptr, 0, nullptr, nullptr);
char* ns = STACK_ARRAY(char, len8);
::WideCharToMultiByte(CP_UTF8, 0, wide, static_cast<int>(len), ns, len8,
nullptr, nullptr);
return std::string(ns, len8);
}
inline std::string ToUtf8(const wchar_t* wide) {
return ToUtf8(wide, wcslen(wide));
}
inline std::string ToUtf8(const std::wstring& wstr) {
return ToUtf8(wstr.data(), wstr.length());
}
#endif // WEBRTC_WIN
// Replaces all occurrences of "search" with "replace".
void replace_substrs(const char *search,
size_t search_len,

View file

@ -311,66 +311,6 @@ int inet_pton_v6(const char* src, void* dst) {
return 1;
}
//
// Unix time is in seconds relative to 1/1/1970. So we compute the windows
// FILETIME of that time/date, then we add/subtract in appropriate units to
// convert to/from unix time.
// The units of FILETIME are 100ns intervals, so by multiplying by or dividing
// by 10000000, we can convert to/from seconds.
//
// FileTime = UnixTime*10000000 + FileTime(1970)
// UnixTime = (FileTime-FileTime(1970))/10000000
//
void FileTimeToUnixTime(const FILETIME& ft, time_t* ut) {
RTC_DCHECK(nullptr != ut);
// FILETIME has an earlier date base than time_t (1/1/1970), so subtract off
// the difference.
SYSTEMTIME base_st;
memset(&base_st, 0, sizeof(base_st));
base_st.wDay = 1;
base_st.wMonth = 1;
base_st.wYear = 1970;
FILETIME base_ft;
SystemTimeToFileTime(&base_st, &base_ft);
ULARGE_INTEGER base_ul, current_ul;
memcpy(&base_ul, &base_ft, sizeof(FILETIME));
memcpy(&current_ul, &ft, sizeof(FILETIME));
// Divide by big number to convert to seconds, then subtract out the 1970
// base date value.
const ULONGLONG RATIO = 10000000;
*ut = static_cast<time_t>((current_ul.QuadPart - base_ul.QuadPart) / RATIO);
}
void UnixTimeToFileTime(const time_t& ut, FILETIME* ft) {
RTC_DCHECK(nullptr != ft);
// FILETIME has an earlier date base than time_t (1/1/1970), so add in
// the difference.
SYSTEMTIME base_st;
memset(&base_st, 0, sizeof(base_st));
base_st.wDay = 1;
base_st.wMonth = 1;
base_st.wYear = 1970;
FILETIME base_ft;
SystemTimeToFileTime(&base_st, &base_ft);
ULARGE_INTEGER base_ul;
memcpy(&base_ul, &base_ft, sizeof(FILETIME));
// Multiply by big number to convert to 100ns units, then add in the 1970
// base date value.
const ULONGLONG RATIO = 10000000;
ULARGE_INTEGER current_ul;
current_ul.QuadPart = base_ul.QuadPart + static_cast<int64_t>(ut) * RATIO;
memcpy(ft, &current_ul, sizeof(FILETIME));
}
bool Utf8ToWindowsFilename(const std::string& utf8, std::wstring* filename) {
// TODO: Integrate into fileutils.h
// TODO: Handle wide and non-wide cases via TCHAR?

View file

@ -46,50 +46,9 @@ namespace rtc {
const char* win32_inet_ntop(int af, const void *src, char* dst, socklen_t size);
int win32_inet_pton(int af, const char* src, void *dst);
inline std::wstring ToUtf16(const char* utf8, size_t len) {
int len16 = ::MultiByteToWideChar(CP_UTF8, 0, utf8, static_cast<int>(len),
nullptr, 0);
wchar_t* ws = STACK_ARRAY(wchar_t, len16);
::MultiByteToWideChar(CP_UTF8, 0, utf8, static_cast<int>(len), ws, len16);
return std::wstring(ws, len16);
}
inline std::wstring ToUtf16(const std::string& str) {
return ToUtf16(str.data(), str.length());
}
inline std::string ToUtf8(const wchar_t* wide, size_t len) {
int len8 = ::WideCharToMultiByte(CP_UTF8, 0, wide, static_cast<int>(len),
nullptr, 0, nullptr, nullptr);
char* ns = STACK_ARRAY(char, len8);
::WideCharToMultiByte(CP_UTF8, 0, wide, static_cast<int>(len), ns, len8,
nullptr, nullptr);
return std::string(ns, len8);
}
inline std::string ToUtf8(const wchar_t* wide) {
return ToUtf8(wide, wcslen(wide));
}
inline std::string ToUtf8(const std::wstring& wstr) {
return ToUtf8(wstr.data(), wstr.length());
}
// Convert FILETIME to time_t
void FileTimeToUnixTime(const FILETIME& ft, time_t* ut);
// Convert time_t to FILETIME
void UnixTimeToFileTime(const time_t& ut, FILETIME * ft);
// Convert a Utf8 path representation to a non-length-limited Unicode pathname.
bool Utf8ToWindowsFilename(const std::string& utf8, std::wstring* filename);
// Convert a FILETIME to a UInt64
inline uint64_t ToUInt64(const FILETIME& ft) {
ULARGE_INTEGER r = {{ft.dwLowDateTime, ft.dwHighDateTime}};
return r.QuadPart;
}
enum WindowsMajorVersions {
kWindows2000 = 5,
kWindowsVista = 6,

View file

@ -26,15 +26,6 @@ class Win32Test : public testing::Test {
}
};
TEST_F(Win32Test, FileTimeToUInt64Test) {
FILETIME ft;
ft.dwHighDateTime = 0xBAADF00D;
ft.dwLowDateTime = 0xFEED3456;
uint64_t expected = 0xBAADF00DFEED3456;
EXPECT_EQ(expected, ToUInt64(ft));
}
TEST_F(Win32Test, IPv6AddressCompression) {
IPAddress ipv6;

View file

@ -235,6 +235,7 @@ if (!build_with_chromium) {
"../modules/audio_coding:audio_network_adaptor",
"../modules/audio_coding:neteq_tools",
"../modules/rtp_rtcp:rtp_rtcp_format",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"../rtc_base:rtc_numerics",
@ -340,6 +341,7 @@ if (rtc_include_tests) {
"$rtc_libyuv_dir",
"../common_video:common_video",
"../rtc_base",
"../rtc_base:checks",
"../test:test_main",
"//testing/gtest",
]

View file

@ -43,6 +43,7 @@ if (rtc_enable_protobuf) {
":network_tester_packet_proto",
"../../api:optional",
"../../p2p",
"../../rtc_base:checks",
"../../rtc_base:protobuf_utils",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_task_queue",

View file

@ -68,6 +68,7 @@ if (is_ios || is_mac) {
]
deps = [
"../rtc_base:checks",
"../rtc_base:rtc_base",
]
configs += [ "..:common_objc" ]
@ -105,6 +106,7 @@ if (is_ios || is_mac) {
deps = [
":common_objc",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
]
@ -138,6 +140,7 @@ if (is_ios || is_mac) {
"../api:video_frame_api_i420",
"../common_video",
"../media:rtc_media_base",
"../rtc_base:checks",
"../rtc_base:rtc_base",
]
@ -195,6 +198,7 @@ if (is_ios || is_mac) {
"../api:optional",
"../common_video",
"../media:rtc_media_base",
"../rtc_base:checks",
"../rtc_base:rtc_base",
]
@ -259,6 +263,7 @@ if (is_ios || is_mac) {
deps = [
":video_objc",
"../api:video_frame_api",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
]
configs += [ "..:common_objc" ]
@ -515,6 +520,7 @@ if (is_ios || is_mac) {
"../media:rtc_media_base",
"../modules:module_api",
"../pc:peerconnection",
"../rtc_base:checks",
"../rtc_base:rtc_base",
]
}
@ -770,6 +776,7 @@ if (is_ios || is_mac) {
"$rtc_libyuv_dir",
"../api:video_frame_api_i420",
"../common_video",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
]
@ -794,6 +801,7 @@ if (is_ios || is_mac) {
"../common_video",
"../modules:module_api",
"../modules/video_coding:webrtc_h264",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
]
if (!build_with_chromium && is_clang) {
@ -829,6 +837,7 @@ if (is_ios || is_mac) {
"../modules:module_api",
"../modules/video_coding:video_coding_utility",
"../modules/video_coding:webrtc_h264",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"../system_wrappers",
]

View file

@ -81,6 +81,7 @@ rtc_source_set("base_jni") {
":generated_external_classes_jni",
"../../api:libjingle_peerconnection_api",
"../../api:optional",
"../../rtc_base:checks",
"../../rtc_base:rtc_base",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers:metrics_api",
@ -231,6 +232,7 @@ rtc_static_library("video_jni") {
"../../modules/video_coding:video_coding_utility",
"../../modules/video_coding:webrtc_vp8",
"../../modules/video_coding:webrtc_vp9",
"../../rtc_base:checks",
"../../rtc_base:rtc_base",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_task_queue",
@ -395,6 +397,7 @@ rtc_static_library("peerconnection_jni") {
"../../modules/audio_device:audio_device",
"../../modules/utility:utility",
"../../pc:peerconnection",
"../../rtc_base:checks",
"../../rtc_base:rtc_base",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_task_queue",

View file

@ -58,6 +58,7 @@ if (rtc_include_tests) {
":rtc_stats",
":rtc_stats_test_utils",
"../api:rtc_stats_api",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"../rtc_base:rtc_base_tests_main",
"../rtc_base:rtc_base_tests_utils",

View file

@ -56,6 +56,7 @@ rtc_static_library("system_wrappers") {
"..:webrtc_common",
"../api:optional",
"../modules:module_api_public",
"../rtc_base:checks",
]
if (is_android) {
@ -132,6 +133,7 @@ rtc_source_set("metrics_api") {
]
deps = [
"..:webrtc_common",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
]
}

View file

@ -67,6 +67,7 @@ rtc_source_set("video_test_common") {
"../common_video",
"../media:rtc_media_base",
"../modules/video_capture:video_capture_module",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"../rtc_base:rtc_task_queue",
"../system_wrappers",
@ -94,6 +95,7 @@ rtc_source_set("rtp_test_utils") {
"../api:array_view",
"../modules/rtp_rtcp",
"../modules/rtp_rtcp:rtp_rtcp_format",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"//testing/gtest",
]
@ -230,6 +232,7 @@ if (rtc_include_tests) {
"../api:video_frame_api",
"../api:video_frame_api_i420",
"../common_video",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"../system_wrappers",
"//testing/gmock",
@ -374,6 +377,7 @@ if (is_ios) {
]
deps = [
"..:webrtc_common",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"../sdk:common_objc",
]
@ -395,6 +399,7 @@ rtc_source_set("fileutils") {
deps = [
"..:webrtc_common",
"../api:optional",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
]
if (is_ios) {
@ -458,6 +463,7 @@ rtc_source_set("fileutils_unittests") {
":fileutils",
":test_support",
"../api:optional",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"//testing/gmock",
"//testing/gtest",
@ -498,6 +504,7 @@ rtc_source_set("single_threaded_task_queue") {
"single_threaded_task_queue.h",
]
deps = [
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
]
}
@ -517,6 +524,7 @@ rtc_source_set("fake_audio_device") {
"../api:array_view",
"../common_audio:common_audio",
"../modules/audio_device:audio_device",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"../system_wrappers",
]
@ -595,6 +603,7 @@ rtc_source_set("test_common") {
"../modules/video_coding:webrtc_h264",
"../modules/video_coding:webrtc_vp8",
"../modules/video_coding:webrtc_vp9",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"../rtc_base:rtc_task_queue",
"../rtc_base:sequenced_task_checker",
@ -676,6 +685,7 @@ rtc_source_set("test_renderer_generic") {
"../common_video",
"../media:rtc_media_base",
"../modules/media_file",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"//testing/gtest",
]

View file

@ -151,6 +151,7 @@ webrtc_fuzzer_test("ulpfec_generator_fuzzer") {
"../../modules/rtp_rtcp",
"../../modules/rtp_rtcp:fec_test_helper",
"../../modules/rtp_rtcp:rtp_rtcp_format",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
]
}
@ -196,6 +197,7 @@ webrtc_fuzzer_test("rtcp_receiver_fuzzer") {
]
deps = [
"../../modules/rtp_rtcp",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers:system_wrappers",
]
@ -246,6 +248,7 @@ rtc_static_library("audio_decoder_fuzzer") {
"../../api:optional",
"../../api/audio_codecs:audio_codecs_api",
"../../modules/rtp_rtcp:rtp_rtcp_format",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
]
}
@ -357,6 +360,7 @@ webrtc_fuzzer_test("residual_echo_detector_fuzzer") {
]
deps = [
"../../modules/audio_processing:audio_processing",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
]
}
@ -426,6 +430,7 @@ webrtc_fuzzer_test("audio_processing_fuzzer") {
"../../api:optional",
"../../modules:module_api",
"../../modules/audio_processing",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
]
}

View file

@ -64,6 +64,7 @@ rtc_static_library("video") {
"../call:rtp_interfaces",
"../call:video_stream_api",
"../modules/rtp_rtcp:rtp_rtcp_format",
"../rtc_base:checks",
"../system_wrappers:field_trial_api",
"../system_wrappers:metrics_api",
@ -113,6 +114,7 @@ if (rtc_include_tests) {
"../modules/video_coding:webrtc_h264",
"../modules/video_coding:webrtc_vp8",
"../modules/video_coding:webrtc_vp9",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"../rtc_base:rtc_base_tests_utils",
"../rtc_base:rtc_task_queue",
@ -219,6 +221,7 @@ if (rtc_include_tests) {
"../common_video",
"../logging:rtc_event_log_api",
"../modules/rtp_rtcp",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"../system_wrappers",
"../system_wrappers:metrics_default",
@ -289,6 +292,8 @@ if (rtc_include_tests) {
"../modules/video_coding:webrtc_h264",
"../modules/video_coding:webrtc_vp8",
"../modules/video_coding:webrtc_vp9",
"../rtc_base:checks",
"../rtc_base:rate_limiter",
"../rtc_base:rtc_base_approved",
"../rtc_base:rtc_base_tests_utils",
"../rtc_base:rtc_numerics",

View file

@ -76,6 +76,8 @@ rtc_static_library("voice_engine") {
"../modules/rtp_rtcp",
"../modules/rtp_rtcp:rtp_rtcp_format",
"../modules/utility",
"../rtc_base:checks",
"../rtc_base:rate_limiter",
"../rtc_base:rtc_base_approved",
"../rtc_base:rtc_task_queue",
"../system_wrappers",
@ -113,6 +115,7 @@ if (rtc_include_tests) {
"../modules/rtp_rtcp:rtp_rtcp_format",
"../modules/utility",
"../modules/video_capture:video_capture",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"../rtc_base:rtc_base_tests_utils",
"../system_wrappers",