aboutsummaryrefslogtreecommitdiff
path: root/call/BUILD.gn
diff options
context:
space:
mode:
authorErik Språng <sprang@webrtc.org>2018-03-14 10:47:02 +0100
committerCommit Bot <commit-bot@chromium.org>2018-03-14 10:22:50 +0000
commit31a12c557dcd84a31f9c3f2d8858d9646c2a3135 (patch)
treeba2f0abe2721b754cdde9e412e39aabccb04a09d /call/BUILD.gn
parente10675a66657580a68ad2b2b3604b740e8a8d81b (diff)
downloadwebrtc-31a12c557dcd84a31f9c3f2d8858d9646c2a3135.tar.gz
Add ability to emulate degraded network in Call via field trial
This is especially useful in Chrome, allowing use to emulate network conditions in incoming or outgoing media without the need for platform specific tools or hacks. It also doesn't interfere with the rest of the network traffic. Also includes some refactorings. Bug: webrtc:8910 Change-Id: I2656a2d4218acbe7f8ffd669de19a02275735438 Reviewed-on: https://webrtc-review.googlesource.com/33013 Commit-Queue: Erik Språng <sprang@webrtc.org> Reviewed-by: Stefan Holmer <stefan@webrtc.org> Reviewed-by: Philip Eliasson <philipel@webrtc.org> Cr-Commit-Position: refs/heads/master@{#22418}
Diffstat (limited to 'call/BUILD.gn')
-rw-r--r--call/BUILD.gn47
1 files changed, 47 insertions, 0 deletions
diff --git a/call/BUILD.gn b/call/BUILD.gn
index b9a6dc1cad..e447d3765c 100644
--- a/call/BUILD.gn
+++ b/call/BUILD.gn
@@ -143,6 +143,8 @@ rtc_static_library("call") {
"call.cc",
"callfactory.cc",
"callfactory.h",
+ "degraded_call.cc",
+ "degraded_call.h",
"flexfec_receive_stream_impl.cc",
"flexfec_receive_stream_impl.h",
]
@@ -155,6 +157,7 @@ rtc_static_library("call") {
deps = [
":bitrate_allocator",
":call_interfaces",
+ ":fake_network",
":rtp_interfaces",
":rtp_receiver",
":rtp_sender",
@@ -184,6 +187,7 @@ rtc_static_library("call") {
"../rtc_base:safe_minmax",
"../rtc_base:sequenced_task_checker",
"../system_wrappers",
+ "../system_wrappers:field_trial_api",
"../system_wrappers:metrics_api",
"../video",
]
@@ -213,6 +217,29 @@ rtc_source_set("video_stream_api") {
]
}
+rtc_source_set("fake_network") {
+ sources = [
+ "fake_network_pipe.cc",
+ "fake_network_pipe.h",
+ ]
+ deps = [
+ ":call_interfaces",
+ "..:typedefs",
+ "..:webrtc_common",
+ "../api:transport_api",
+ "../modules:module_api",
+ "../modules/rtp_rtcp",
+ "../rtc_base:rtc_base_approved",
+ "../rtc_base:sequenced_task_checker",
+ "../system_wrappers",
+ ]
+
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+ suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
+ }
+}
+
if (rtc_include_tests) {
rtc_source_set("call_tests") {
testonly = true
@@ -340,4 +367,24 @@ if (rtc_include_tests) {
"//test:test_support",
]
}
+
+ rtc_test("fake_network_unittests") {
+ deps = [
+ ":call_interfaces",
+ ":fake_network",
+ "../modules/rtp_rtcp",
+ "../rtc_base:rtc_base_approved",
+ "../system_wrappers",
+ "../test:test_common",
+ "../test:test_main",
+ "//testing/gtest",
+ ]
+ sources = [
+ "test/fake_network_pipe_unittest.cc",
+ ]
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+ suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
+ }
+ }
}