Enable use of rtc::SystemTimeNanos() provided by Chromium
This is the third CL out of three to enable overriding of the function SystemTimeNanos() in rtc_base/system_time.cc When WebRTC is built as part of Chromium the rtc::SystemTimeNanos() function provided by Chromium will be used. This is controlled by the build argument rtc_exclude_system_time which directly maps to the macro WEBRTC_EXCLUDE_SYSTEM_TIME. By doing this we are making sure that the WebRTC and Chromium clocks are the same. Bug: chromium:516700 Change-Id: If7f749c4aadefb1cfc07ba4c7e3f45dc6c31118b Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208223 Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33337}
This commit is contained in:
parent
dac39c5b1e
commit
dfe19719e5
@ -407,6 +407,10 @@ rtc_library("timeutils") {
|
|||||||
":stringutils",
|
":stringutils",
|
||||||
"system:rtc_export",
|
"system:rtc_export",
|
||||||
]
|
]
|
||||||
|
if (rtc_exclude_system_time) {
|
||||||
|
defines = [ "WEBRTC_EXCLUDE_SYSTEM_TIME" ]
|
||||||
|
}
|
||||||
|
|
||||||
libs = []
|
libs = []
|
||||||
if (is_win) {
|
if (is_win) {
|
||||||
libs += [ "winmm.lib" ]
|
libs += [ "winmm.lib" ]
|
||||||
|
|||||||
@ -8,6 +8,10 @@
|
|||||||
* be found in the AUTHORS file in the root of the source tree.
|
* be found in the AUTHORS file in the root of the source tree.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// If WEBRTC_EXCLUDE_SYSTEM_TIME is set, an implementation of
|
||||||
|
// rtc::SystemTimeNanos() must be provided externally.
|
||||||
|
#ifndef WEBRTC_EXCLUDE_SYSTEM_TIME
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
#include <limits>
|
#include <limits>
|
||||||
@ -90,3 +94,4 @@ int64_t SystemTimeNanos() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
} // namespace rtc
|
} // namespace rtc
|
||||||
|
#endif // WEBRTC_EXCLUDE_SYSTEM_TIME
|
||||||
|
|||||||
@ -136,6 +136,12 @@ rtc_executable("frame_analyzer") {
|
|||||||
"//third_party/abseil-cpp/absl/flags:parse",
|
"//third_party/abseil-cpp/absl/flags:parse",
|
||||||
"//third_party/abseil-cpp/absl/strings",
|
"//third_party/abseil-cpp/absl/strings",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
if (build_with_chromium) {
|
||||||
|
# When building from Chromium, WebRTC's metrics and field trial
|
||||||
|
# implementations need to be replaced by the Chromium ones.
|
||||||
|
deps += [ "//third_party/webrtc_overrides:webrtc_component" ]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# TODO(bugs.webrtc.org/11474): Enable this on win if needed. For now it
|
# TODO(bugs.webrtc.org/11474): Enable this on win if needed. For now it
|
||||||
|
|||||||
@ -63,7 +63,7 @@ declare_args() {
|
|||||||
# will tell the pre-processor to remove the default definition of the
|
# will tell the pre-processor to remove the default definition of the
|
||||||
# SystemTimeNanos() which is defined in rtc_base/system_time.cc. In
|
# SystemTimeNanos() which is defined in rtc_base/system_time.cc. In
|
||||||
# that case a new implementation needs to be provided.
|
# that case a new implementation needs to be provided.
|
||||||
rtc_exclude_system_time = false
|
rtc_exclude_system_time = build_with_chromium
|
||||||
|
|
||||||
# Setting this to false will require the API user to pass in their own
|
# Setting this to false will require the API user to pass in their own
|
||||||
# SSLCertificateVerifier to verify the certificates presented from a
|
# SSLCertificateVerifier to verify the certificates presented from a
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user