webrtc_m130/pc/BUILD.gn

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

1405 lines
40 KiB
Plaintext
Raw Normal View History

# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
Reland of Moving webrtc.gni up one level from build/ (patchset #1 id:1 of https://codereview.webrtc.org/2657563002/ ) Reason for revert: Starting to work on a fix (it seems that there are third_party dependencies that depends on the path to the webrtc.gni file) Original issue's description: > Revert of Moving webrtc.gni up one level from build/ (patchset #1 id:1 of https://codereview.webrtc.org/2651543003/ ) > > Reason for revert: > This was causing the following failure: https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Builder/builds/838/steps/generate_build_files/logs/stdio > > Original issue's description: > > Moving webrtc.gni up one level from build/ > > > > BUG=webrtc:7030 > > > > Review-Url: https://codereview.webrtc.org/2651543003 > > Cr-Commit-Position: refs/heads/master@{#16241} > > Committed: https://chromium.googlesource.com/external/webrtc/+/35a32700fc9b5d932ddbd528c12f59c3274e4774 > > TBR=kjellander@webrtc.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=webrtc:7030 > > Review-Url: https://codereview.webrtc.org/2657563002 > Cr-Commit-Position: refs/heads/master@{#16244} > Committed: https://chromium.googlesource.com/external/webrtc/+/69dc7dbe247ead087f3bae0eb7e23f27f0de1ec3 TBR=kjellander@webrtc.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=webrtc:7030 Review-Url: https://codereview.webrtc.org/2654773002 Cr-Commit-Position: refs/heads/master@{#16247}
2017-01-24 06:58:22 -08:00
import("../webrtc.gni")
if (is_android) {
import("//build/config/android/config.gni")
import("//build/config/android/rules.gni")
}
group("pc") {
deps = [ ":rtc_pc" ]
}
config("rtc_pc_config") {
defines = []
if (rtc_enable_sctp) {
defines += [ "WEBRTC_HAVE_SCTP" ]
}
}
rtc_library("proxy") {
sources = [
"proxy.cc",
"proxy.h",
]
deps = [
"../api:scoped_refptr",
"../api/task_queue",
"../rtc_base:rtc_base_approved",
"../rtc_base:threading",
"../rtc_base/system:rtc_export",
]
}
rtc_library("rtc_pc_base") {
Revert "Revert "GN rtc_* templates: Set default visibility to webrtc_root + "/*""" This reverts commit c73e1f437889d882cbf2987f7fb3a029a6150613. Reason for revert: The problem with failed deps in chrome content/renderer had already been fixed in https://webrtc-review.googlesource.com/c/src/+/38660 Original change's description: > Revert "GN rtc_* templates: Set default visibility to webrtc_root + "/*"" > > This reverts commit 588c548657b3ddf76e7b3f241263eef7f5799f16. > > Reason for revert: > > Breaks Chrome FYI: > > /b/c/b/Linux_Builder/src/buildtools/linux64/gn gen //out/Release --check > -> returned 1 > ERROR at //build/split_static_library.gni:12:5: Dependency not allowed. > static_library(target_name) { > ^---------------------------- > The item //content/renderer:renderer > can not depend on //third_party/webrtc/media:rtc_internal_video_codecs > because it is not in //third_party/webrtc/media:rtc_internal_video_codecs's visibility list: [ > //third_party/webrtc/* > //third_party/webrtc_overrides/* > ] > > https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.webrtc.fyi%2FLinux_Builder%2F23560%2F%2B%2Frecipes%2Fsteps%2Fgenerate_build_files%2F0%2Fstdout > > Original change's description: > > GN rtc_* templates: Set default visibility to webrtc_root + "/*" > > > > This means that by default, targets are visible to everything under > > the WebRTC root, but not visible to anything else. > > > > API targets are manually tagged with visibility "*", so that targets > > outside the WebRTC tree can see them. > > > > BUG=webrtc:8254 > > > > Change-Id: Icdbee6e0d22d93240ff2fb530c8f9dc48e351509 > > Reviewed-on: https://webrtc-review.googlesource.com/24140 > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > > Commit-Queue: Karl Wiberg <kwiberg@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#21548} > > TBR=mbonadei@webrtc.org,kwiberg@webrtc.org > > Change-Id: I06620ce3d6f67482935c22efa231dd6cab91625a > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: webrtc:8254 > Reviewed-on: https://webrtc-review.googlesource.com/38760 > Reviewed-by: Per Kjellander <perkj@webrtc.org> > Commit-Queue: Per Kjellander <perkj@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#21555} TBR=mbonadei@webrtc.org,kwiberg@webrtc.org,perkj@webrtc.org Change-Id: I6f720078ce21bd172e0a6471bae8c4c011e4a657 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:8254 Reviewed-on: https://webrtc-review.googlesource.com/38860 Reviewed-by: Per Kjellander <perkj@webrtc.org> Commit-Queue: Per Kjellander <perkj@webrtc.org> Cr-Commit-Position: refs/heads/master@{#21558}
2018-01-10 15:54:53 +00:00
visibility = [ "*" ]
defines = []
sources = [
"channel.cc",
"channel.h",
"channel_interface.h",
"channel_manager.cc",
"channel_manager.h",
"dtls_srtp_transport.cc",
"dtls_srtp_transport.h",
"dtls_transport.cc",
"dtls_transport.h",
"external_hmac.cc",
"external_hmac.h",
"ice_transport.cc",
"ice_transport.h",
"jsep_transport.cc",
"jsep_transport.h",
"jsep_transport_collection.cc",
"jsep_transport_collection.h",
"jsep_transport_controller.cc",
"jsep_transport_controller.h",
"media_session.cc",
"media_session.h",
"media_stream_proxy.h",
"media_stream_track_proxy.h",
"peer_connection_factory_proxy.h",
"peer_connection_proxy.h",
"rtcp_mux_filter.cc",
"rtcp_mux_filter.h",
"rtp_media_utils.cc",
"rtp_media_utils.h",
"rtp_receiver_proxy.h",
"rtp_sender_proxy.h",
"rtp_transport.cc",
"rtp_transport.h",
"rtp_transport_internal.h",
Reland "Reland "Refactor SCTP data channels to use DataChannelTransportInterface."" This is a reland of 487f9a17e426fd14bb06b13e861071b3f15d119b Original change's description: > Reland "Refactor SCTP data channels to use DataChannelTransportInterface." > > Also clears SctpTransport before deleting JsepTransport. > > SctpTransport is ref-counted, but the underlying transport is deleted when > JsepTransport clears the rtp_dtls_transport. This results in crashes when > usrsctp attempts to send outgoing packets through a dangling pointer to the > underlying transport. > > Clearing SctpTransport before DtlsTransport removes the pointer to the > underlying transport before it becomes invalid. > > This fixes a crash in chromium's web platform tests (see > https://chromium-review.googlesource.com/c/chromium/src/+/1776711). > > Original change's description: > > Refactor SCTP data channels to use DataChannelTransportInterface. > > > > This change moves SctpTransport to be owned by JsepTransport, which now > > holds a DataChannelTransport implementation for SCTP when it is used for > > data channels. > > > > This simplifies negotiation and fallback to SCTP. Negotiation can now > > use a composite DataChannelTransport, just as negotiation for RTP uses a > > composite RTP transport. > > > > PeerConnection also has one fewer way it needs to manage data channels. > > It now handles SCTP and datagram- or media-transport-based data channels > > the same way. > > > > There are a few leaky abstractions left. For example, PeerConnection > > calls Start() on the SctpTransport at a particular point in negotiation, > > but does not need to call this for other transports. Similarly, PC > > exposes an interface to the SCTP transport directly to the user; there > > is no equivalent for other transports. > > Bug: webrtc:9719 > Change-Id: I64e94b88afb119fdbf5f22750f88c8a084d53937 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151981 > Reviewed-by: Benjamin Wright <benwright@webrtc.org> > Reviewed-by: Steve Anton <steveanton@webrtc.org> > Commit-Queue: Benjamin Wright <benwright@webrtc.org> > Commit-Queue: Bjorn Mellem <mellem@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#29120} Bug: webrtc:9719 Change-Id: I28481a3de64a3506bc57748106383eeba4ef205c Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152740 Reviewed-by: Artem Titov <titovartem@webrtc.org> Reviewed-by: Benjamin Wright <benwright@webrtc.org> Reviewed-by: Seth Hampson <shampson@webrtc.org> Commit-Queue: Bjorn Mellem <mellem@webrtc.org> Cr-Commit-Position: refs/heads/master@{#29290}
2019-09-23 14:53:54 -07:00
"sctp_data_channel_transport.cc",
"sctp_data_channel_transport.h",
"sctp_transport.cc",
"sctp_transport.h",
Reland "Reland "Refactor SCTP data channels to use DataChannelTransportInterface."" This is a reland of 487f9a17e426fd14bb06b13e861071b3f15d119b Original change's description: > Reland "Refactor SCTP data channels to use DataChannelTransportInterface." > > Also clears SctpTransport before deleting JsepTransport. > > SctpTransport is ref-counted, but the underlying transport is deleted when > JsepTransport clears the rtp_dtls_transport. This results in crashes when > usrsctp attempts to send outgoing packets through a dangling pointer to the > underlying transport. > > Clearing SctpTransport before DtlsTransport removes the pointer to the > underlying transport before it becomes invalid. > > This fixes a crash in chromium's web platform tests (see > https://chromium-review.googlesource.com/c/chromium/src/+/1776711). > > Original change's description: > > Refactor SCTP data channels to use DataChannelTransportInterface. > > > > This change moves SctpTransport to be owned by JsepTransport, which now > > holds a DataChannelTransport implementation for SCTP when it is used for > > data channels. > > > > This simplifies negotiation and fallback to SCTP. Negotiation can now > > use a composite DataChannelTransport, just as negotiation for RTP uses a > > composite RTP transport. > > > > PeerConnection also has one fewer way it needs to manage data channels. > > It now handles SCTP and datagram- or media-transport-based data channels > > the same way. > > > > There are a few leaky abstractions left. For example, PeerConnection > > calls Start() on the SctpTransport at a particular point in negotiation, > > but does not need to call this for other transports. Similarly, PC > > exposes an interface to the SCTP transport directly to the user; there > > is no equivalent for other transports. > > Bug: webrtc:9719 > Change-Id: I64e94b88afb119fdbf5f22750f88c8a084d53937 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151981 > Reviewed-by: Benjamin Wright <benwright@webrtc.org> > Reviewed-by: Steve Anton <steveanton@webrtc.org> > Commit-Queue: Benjamin Wright <benwright@webrtc.org> > Commit-Queue: Bjorn Mellem <mellem@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#29120} Bug: webrtc:9719 Change-Id: I28481a3de64a3506bc57748106383eeba4ef205c Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152740 Reviewed-by: Artem Titov <titovartem@webrtc.org> Reviewed-by: Benjamin Wright <benwright@webrtc.org> Reviewed-by: Seth Hampson <shampson@webrtc.org> Commit-Queue: Bjorn Mellem <mellem@webrtc.org> Cr-Commit-Position: refs/heads/master@{#29290}
2019-09-23 14:53:54 -07:00
"sctp_utils.cc",
"sctp_utils.h",
"srtp_filter.cc",
"srtp_filter.h",
"srtp_session.cc",
"srtp_session.h",
"srtp_transport.cc",
"srtp_transport.h",
"transport_stats.cc",
"transport_stats.h",
"used_ids.h",
"video_track_source_proxy.cc",
"video_track_source_proxy.h",
]
deps = [
Reland "Reland "Version 2 "Refactoring DataContentDescription class""" This reverts commit 46afbf9481fbcc939c998c898ca1031ce41cc6b1. Reason for revert: Tightened protocol name handling. Original change's description: > Revert "Reland "Version 2 "Refactoring DataContentDescription class""" > > This reverts commit 37f2b43274a0d718de53a4cfcf02226356edcf6e. > > Reason for revert: fuzzer failures > > Original change's description: > > Reland "Version 2 "Refactoring DataContentDescription class"" > > > > This is a reland of 14b2758726879d21671a21291dfed8fb4fd5c21c > > > > Original change's description: > > > Version 2 "Refactoring DataContentDescription class" > > > > > > (substantial changes since version 1) > > > > > > This CL splits the cricket::DataContentDescription class into > > > two classes: cricket::RtpDataContentDescription (used for RTP data) > > > and cricket::SctpDataContentDescription (used for SCTP only). > > > > > > SctpDataContentDescription no longer inherits from > > > MediaContentDescriptionImpl, and no longer contains "codecs". > > > > > > Due to usage of internal interfaces by consumers, shimming the old > > > DataContentDescription API is needed. > > > > > > A new cricket::DataContentDescription class is defined, which is > > > a shim over RtpDataContentDescription and SctpDataContentDescription. > > > It exposes as little functionality as possible, but supports the > > > concerned consumer's usage > > > > > > Design document: > > > https://docs.google.com/document/d/1H5LfQxJA2ikMWTQ8FZ3_GAmaXM7knfVQWiSz6ph8VQ0/edit# > > > > > > Version 1 reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132700 > > > Bug: webrtc:10358 Change-Id: Ia9fb8f4679e082e3d18fbbb6b03fc13a08e06110 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/136581 Reviewed-by: Henrik Boström <hbos@webrtc.org> Reviewed-by: Steve Anton <steveanton@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#27933}
2019-05-13 13:36:16 +02:00
":media_protocol_names",
":proxy",
":session_description",
":simulcast_description",
"../api:array_view",
Reland "Use the new DNS resolver API in PeerConnection" This reverts commit 5a40b3710545edfd8a634341df3de26f57d79281. Reason for revert: Fixed the bug and ran layout tests. Original change's description: > Revert "Use the new DNS resolver API in PeerConnection" > > This reverts commit acf8ccb3c9f001b0ed749aca52b2d436d66f9586. > > Reason for revert: Speculative revert for https://ci.chromium.org/ui/p/chromium/builders/try/win10_chromium_x64_rel_ng/b8851745102358680592/overview. > > Original change's description: > > Use the new DNS resolver API in PeerConnection > > > > Bug: webrtc:12598 > > Change-Id: I5a14058e7f28c993ed927749df7357c715ba83fb > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212961 > > Reviewed-by: Niels Moller <nisse@webrtc.org> > > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#33561} > > # Not skipping CQ checks because original CL landed > 1 day ago. > > TBR=hta@webrtc.org > > Bug: webrtc:12598 > Change-Id: Idc9853cb569849c49052f9cbd865614710fff979 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/213188 > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#33591} # Not skipping CQ checks because original CL landed > 1 day ago. Bug: webrtc:12598 Change-Id: Ief7867f2f23de66504877cdab1b23a11df2d5de4 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/214120 Commit-Queue: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Tommi <tommi@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33647}
2021-04-08 07:25:04 +00:00
"../api:async_dns_resolver",
"../api:audio_options_api",
"../api:call_api",
"../api:function_view",
"../api:ice_transport_factory",
"../api:libjingle_peerconnection_api",
"../api:media_stream_interface",
"../api:packet_socket_factory",
"../api:priority",
"../api:rtc_error",
"../api:rtp_headers",
"../api:rtp_parameters",
"../api:rtp_parameters",
"../api:rtp_transceiver_direction",
"../api:scoped_refptr",
"../api:sequence_checker",
"../api/crypto:options",
"../api/rtc_event_log",
"../api/task_queue",
"../api/transport:datagram_transport_interface",
"../api/transport:enums",
"../api/transport:sctp_transport_factory_interface",
"../api/video:builtin_video_bitrate_allocator_factory",
"../api/video:video_bitrate_allocator_factory",
"../api/video:video_frame",
"../api/video:video_rtp_headers",
"../api/video_codecs:video_codecs_api",
"../call:call_interfaces",
"../call:rtp_interfaces",
"../call:rtp_receiver",
"../common_video",
"../common_video:common_video",
"../logging:ice_log",
"../media:rtc_data_sctp_transport_internal",
"../media:rtc_media_base",
"../media:rtc_media_config",
"../media:rtc_sdp_video_format_utils",
"../modules/rtp_rtcp:rtp_rtcp",
"../modules/rtp_rtcp:rtp_rtcp_format",
"../p2p:rtc_p2p",
"../rtc_base",
"../rtc_base:callback_list",
"../rtc_base:checks",
"../rtc_base:rtc_task_queue",
"../rtc_base:socket",
Reland "Refactor rtc_base build targets." This is a reland of 69241a93fb14f6527a26d5c94dde879013012d2a Fix: The problem was related to NO_MAIN_THREAD_WRAPPING, which affects https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/rtc_base/thread.cc;l=257-263;drc=7acc2d9fe3a6e3c4d8881d2bdfc9b8968a724cd5. The original CL didn't attach the definition of the macro NO_MAIN_THREAD_WRAPPING when building for Chromium (which doesn't have to be related to //rtc_base anymore but to //rtc_base:threading). Original change's description: > Refactor rtc_base build targets. > > The "//rtc_base:rtc_base" build target has historically been one of the > biggest targets in the WebRTC build. Big targets are the main source of > circular dependencies and non-API types leakage. > > This CL is a step forward into splitting "//rtc_base:rtc_base" into > smaller targets (as originally started in 2018). > > The only non-automated changes are (like re-wiring the build system): > * The creation of //rtc_base/async_resolver.{h,cc} which allows to > break a circular dependency (is has been extracted from > //rtc_base/net_helpers.{h,cc}). > * The creation of //rtc_base/internal/default_socket_server.{h,cc} to > break another circular dependency. > > Bug: webrtc:9987 > Change-Id: I0c8f5e7efe2c8fd8e6bffa0d6dd2dd494cf3df02 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196903 > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#32941} Bug: webrtc:9987 Change-Id: I7cdf49d2aac8357f1f50f90010bf2c2f62fa19f6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202021 Reviewed-by: Niels Moller <nisse@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33001}
2021-01-15 10:41:01 +01:00
"../rtc_base:socket_address",
"../rtc_base:stringutils",
Reland "Refactor rtc_base build targets." This is a reland of 69241a93fb14f6527a26d5c94dde879013012d2a Fix: The problem was related to NO_MAIN_THREAD_WRAPPING, which affects https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/rtc_base/thread.cc;l=257-263;drc=7acc2d9fe3a6e3c4d8881d2bdfc9b8968a724cd5. The original CL didn't attach the definition of the macro NO_MAIN_THREAD_WRAPPING when building for Chromium (which doesn't have to be related to //rtc_base anymore but to //rtc_base:threading). Original change's description: > Refactor rtc_base build targets. > > The "//rtc_base:rtc_base" build target has historically been one of the > biggest targets in the WebRTC build. Big targets are the main source of > circular dependencies and non-API types leakage. > > This CL is a step forward into splitting "//rtc_base:rtc_base" into > smaller targets (as originally started in 2018). > > The only non-automated changes are (like re-wiring the build system): > * The creation of //rtc_base/async_resolver.{h,cc} which allows to > break a circular dependency (is has been extracted from > //rtc_base/net_helpers.{h,cc}). > * The creation of //rtc_base/internal/default_socket_server.{h,cc} to > break another circular dependency. > > Bug: webrtc:9987 > Change-Id: I0c8f5e7efe2c8fd8e6bffa0d6dd2dd494cf3df02 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196903 > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#32941} Bug: webrtc:9987 Change-Id: I7cdf49d2aac8357f1f50f90010bf2c2f62fa19f6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202021 Reviewed-by: Niels Moller <nisse@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33001}
2021-01-15 10:41:01 +01:00
"../rtc_base:threading",
"../rtc_base/network:sent_packet",
"../rtc_base/synchronization:mutex",
"../rtc_base/system:file_wrapper",
"../rtc_base/system:no_unique_address",
"../rtc_base/system:rtc_export",
"../rtc_base/task_utils:pending_task_safety_flag",
"../rtc_base/task_utils:to_queued_task",
"../rtc_base/third_party/base64",
"../rtc_base/third_party/sigslot",
"../system_wrappers:field_trial",
"../system_wrappers:metrics",
]
absl_deps = [
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/base:core_headers",
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
if (rtc_build_libsrtp) {
deps += [ "//third_party/libsrtp" ]
}
public_configs = [ ":rtc_pc_config" ]
}
rtc_source_set("session_description") {
visibility = [ "*" ]
sources = [
"session_description.cc",
"session_description.h",
]
deps = [
":media_protocol_names",
":simulcast_description",
"../api:libjingle_peerconnection_api",
"../api:rtp_parameters",
"../api:rtp_transceiver_direction",
"../media:rtc_media_base",
"../p2p:rtc_p2p",
"../rtc_base:checks",
"../rtc_base:socket_address",
"../rtc_base/system:rtc_export",
]
absl_deps = [
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/memory:memory",
]
}
rtc_source_set("simulcast_description") {
visibility = [ "*" ]
sources = [
"simulcast_description.cc",
"simulcast_description.h",
]
deps = [
"../rtc_base:checks",
"../rtc_base:socket_address",
"../rtc_base/system:rtc_export",
]
}
rtc_source_set("rtc_pc") {
Revert "Revert "GN rtc_* templates: Set default visibility to webrtc_root + "/*""" This reverts commit c73e1f437889d882cbf2987f7fb3a029a6150613. Reason for revert: The problem with failed deps in chrome content/renderer had already been fixed in https://webrtc-review.googlesource.com/c/src/+/38660 Original change's description: > Revert "GN rtc_* templates: Set default visibility to webrtc_root + "/*"" > > This reverts commit 588c548657b3ddf76e7b3f241263eef7f5799f16. > > Reason for revert: > > Breaks Chrome FYI: > > /b/c/b/Linux_Builder/src/buildtools/linux64/gn gen //out/Release --check > -> returned 1 > ERROR at //build/split_static_library.gni:12:5: Dependency not allowed. > static_library(target_name) { > ^---------------------------- > The item //content/renderer:renderer > can not depend on //third_party/webrtc/media:rtc_internal_video_codecs > because it is not in //third_party/webrtc/media:rtc_internal_video_codecs's visibility list: [ > //third_party/webrtc/* > //third_party/webrtc_overrides/* > ] > > https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.webrtc.fyi%2FLinux_Builder%2F23560%2F%2B%2Frecipes%2Fsteps%2Fgenerate_build_files%2F0%2Fstdout > > Original change's description: > > GN rtc_* templates: Set default visibility to webrtc_root + "/*" > > > > This means that by default, targets are visible to everything under > > the WebRTC root, but not visible to anything else. > > > > API targets are manually tagged with visibility "*", so that targets > > outside the WebRTC tree can see them. > > > > BUG=webrtc:8254 > > > > Change-Id: Icdbee6e0d22d93240ff2fb530c8f9dc48e351509 > > Reviewed-on: https://webrtc-review.googlesource.com/24140 > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > > Commit-Queue: Karl Wiberg <kwiberg@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#21548} > > TBR=mbonadei@webrtc.org,kwiberg@webrtc.org > > Change-Id: I06620ce3d6f67482935c22efa231dd6cab91625a > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: webrtc:8254 > Reviewed-on: https://webrtc-review.googlesource.com/38760 > Reviewed-by: Per Kjellander <perkj@webrtc.org> > Commit-Queue: Per Kjellander <perkj@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#21555} TBR=mbonadei@webrtc.org,kwiberg@webrtc.org,perkj@webrtc.org Change-Id: I6f720078ce21bd172e0a6471bae8c4c011e4a657 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:8254 Reviewed-on: https://webrtc-review.googlesource.com/38860 Reviewed-by: Per Kjellander <perkj@webrtc.org> Commit-Queue: Per Kjellander <perkj@webrtc.org> Cr-Commit-Position: refs/heads/master@{#21558}
2018-01-10 15:54:53 +00:00
visibility = [ "*" ]
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove.
deps = [
":rtc_pc_base",
"../media:rtc_audio_video",
]
}
rtc_library("media_protocol_names") {
Reland "Reland "Version 2 "Refactoring DataContentDescription class""" This reverts commit 46afbf9481fbcc939c998c898ca1031ce41cc6b1. Reason for revert: Tightened protocol name handling. Original change's description: > Revert "Reland "Version 2 "Refactoring DataContentDescription class""" > > This reverts commit 37f2b43274a0d718de53a4cfcf02226356edcf6e. > > Reason for revert: fuzzer failures > > Original change's description: > > Reland "Version 2 "Refactoring DataContentDescription class"" > > > > This is a reland of 14b2758726879d21671a21291dfed8fb4fd5c21c > > > > Original change's description: > > > Version 2 "Refactoring DataContentDescription class" > > > > > > (substantial changes since version 1) > > > > > > This CL splits the cricket::DataContentDescription class into > > > two classes: cricket::RtpDataContentDescription (used for RTP data) > > > and cricket::SctpDataContentDescription (used for SCTP only). > > > > > > SctpDataContentDescription no longer inherits from > > > MediaContentDescriptionImpl, and no longer contains "codecs". > > > > > > Due to usage of internal interfaces by consumers, shimming the old > > > DataContentDescription API is needed. > > > > > > A new cricket::DataContentDescription class is defined, which is > > > a shim over RtpDataContentDescription and SctpDataContentDescription. > > > It exposes as little functionality as possible, but supports the > > > concerned consumer's usage > > > > > > Design document: > > > https://docs.google.com/document/d/1H5LfQxJA2ikMWTQ8FZ3_GAmaXM7knfVQWiSz6ph8VQ0/edit# > > > > > > Version 1 reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132700 > > > Bug: webrtc:10358 Change-Id: Ia9fb8f4679e082e3d18fbbb6b03fc13a08e06110 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/136581 Reviewed-by: Henrik Boström <hbos@webrtc.org> Reviewed-by: Steve Anton <steveanton@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#27933}
2019-05-13 13:36:16 +02:00
sources = [
"media_protocol_names.cc",
"media_protocol_names.h",
]
}
rtc_library("peerconnection") {
Revert "Revert "GN rtc_* templates: Set default visibility to webrtc_root + "/*""" This reverts commit c73e1f437889d882cbf2987f7fb3a029a6150613. Reason for revert: The problem with failed deps in chrome content/renderer had already been fixed in https://webrtc-review.googlesource.com/c/src/+/38660 Original change's description: > Revert "GN rtc_* templates: Set default visibility to webrtc_root + "/*"" > > This reverts commit 588c548657b3ddf76e7b3f241263eef7f5799f16. > > Reason for revert: > > Breaks Chrome FYI: > > /b/c/b/Linux_Builder/src/buildtools/linux64/gn gen //out/Release --check > -> returned 1 > ERROR at //build/split_static_library.gni:12:5: Dependency not allowed. > static_library(target_name) { > ^---------------------------- > The item //content/renderer:renderer > can not depend on //third_party/webrtc/media:rtc_internal_video_codecs > because it is not in //third_party/webrtc/media:rtc_internal_video_codecs's visibility list: [ > //third_party/webrtc/* > //third_party/webrtc_overrides/* > ] > > https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.webrtc.fyi%2FLinux_Builder%2F23560%2F%2B%2Frecipes%2Fsteps%2Fgenerate_build_files%2F0%2Fstdout > > Original change's description: > > GN rtc_* templates: Set default visibility to webrtc_root + "/*" > > > > This means that by default, targets are visible to everything under > > the WebRTC root, but not visible to anything else. > > > > API targets are manually tagged with visibility "*", so that targets > > outside the WebRTC tree can see them. > > > > BUG=webrtc:8254 > > > > Change-Id: Icdbee6e0d22d93240ff2fb530c8f9dc48e351509 > > Reviewed-on: https://webrtc-review.googlesource.com/24140 > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > > Commit-Queue: Karl Wiberg <kwiberg@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#21548} > > TBR=mbonadei@webrtc.org,kwiberg@webrtc.org > > Change-Id: I06620ce3d6f67482935c22efa231dd6cab91625a > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: webrtc:8254 > Reviewed-on: https://webrtc-review.googlesource.com/38760 > Reviewed-by: Per Kjellander <perkj@webrtc.org> > Commit-Queue: Per Kjellander <perkj@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#21555} TBR=mbonadei@webrtc.org,kwiberg@webrtc.org,perkj@webrtc.org Change-Id: I6f720078ce21bd172e0a6471bae8c4c011e4a657 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:8254 Reviewed-on: https://webrtc-review.googlesource.com/38860 Reviewed-by: Per Kjellander <perkj@webrtc.org> Commit-Queue: Per Kjellander <perkj@webrtc.org> Cr-Commit-Position: refs/heads/master@{#21558}
2018-01-10 15:54:53 +00:00
visibility = [ "*" ]
cflags = []
sources = [
"data_channel_controller.cc",
"data_channel_controller.h",
"data_channel_utils.cc",
"data_channel_utils.h",
"ice_server_parsing.cc",
"ice_server_parsing.h",
"jsep_ice_candidate.cc",
"jsep_session_description.cc",
"local_audio_source.cc",
"local_audio_source.h",
"media_stream_observer.cc",
"media_stream_observer.h",
"peer_connection.cc",
"peer_connection.h",
"peer_connection_factory.cc",
"peer_connection_factory.h",
"peer_connection_internal.h",
"rtc_stats_collector.cc",
"rtc_stats_collector.h",
"rtc_stats_traversal.cc",
"rtc_stats_traversal.h",
"sctp_data_channel.cc",
"sctp_data_channel.h",
"sdp_offer_answer.cc", # TODO: Make separate target when not circular
"sdp_offer_answer.h", # dependent on peerconnection.h
"sdp_serializer.cc",
"sdp_serializer.h",
"sdp_utils.cc",
"sdp_utils.h",
"stats_collector.cc",
"stats_collector.h",
"stream_collection.h",
"track_media_info_map.cc",
"track_media_info_map.h",
"webrtc_sdp.cc",
"webrtc_sdp.h",
"webrtc_session_description_factory.cc",
"webrtc_session_description_factory.h",
]
deps = [
":audio_rtp_receiver",
":audio_track",
":connection_context",
":dtmf_sender",
":jitter_buffer_delay",
":media_protocol_names",
":media_stream",
":peer_connection_message_handler",
":proxy",
":remote_audio_source",
":rtc_pc_base",
":rtp_parameters_conversion",
":rtp_receiver",
":rtp_sender",
":rtp_transceiver",
":rtp_transmission_manager",
":sdp_state_provider",
":session_description",
":simulcast_description",
":stats_collector_interface",
":transceiver_list",
":usage_pattern",
":video_rtp_receiver",
":video_track",
":video_track_source",
"../api:array_view",
Reland "Use the new DNS resolver API in PeerConnection" This reverts commit 5a40b3710545edfd8a634341df3de26f57d79281. Reason for revert: Fixed the bug and ran layout tests. Original change's description: > Revert "Use the new DNS resolver API in PeerConnection" > > This reverts commit acf8ccb3c9f001b0ed749aca52b2d436d66f9586. > > Reason for revert: Speculative revert for https://ci.chromium.org/ui/p/chromium/builders/try/win10_chromium_x64_rel_ng/b8851745102358680592/overview. > > Original change's description: > > Use the new DNS resolver API in PeerConnection > > > > Bug: webrtc:12598 > > Change-Id: I5a14058e7f28c993ed927749df7357c715ba83fb > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212961 > > Reviewed-by: Niels Moller <nisse@webrtc.org> > > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#33561} > > # Not skipping CQ checks because original CL landed > 1 day ago. > > TBR=hta@webrtc.org > > Bug: webrtc:12598 > Change-Id: Idc9853cb569849c49052f9cbd865614710fff979 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/213188 > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#33591} # Not skipping CQ checks because original CL landed > 1 day ago. Bug: webrtc:12598 Change-Id: Ief7867f2f23de66504877cdab1b23a11df2d5de4 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/214120 Commit-Queue: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Tommi <tommi@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33647}
2021-04-08 07:25:04 +00:00
"../api:async_dns_resolver",
"../api:audio_options_api",
"../api:call_api",
"../api:callfactory_api",
Revert "Revert "Enables PeerConnectionFactory using external fec controller"" This reverts commit 00733015fafbbc61ddc12dfdc88b21a9fcd9d122. Reason for revert: The reason for a downstream test failure on the original commit and a workaround has been found. Solution is to keep a PeerConnectionFactory constructor implementation as the same as before. Original change's description: > Revert "Enables PeerConnectionFactory using external fec controller" > > This reverts commit 4f07bdb25567d8ef528311e0b50a62c61d543fc3. > > Reason for revert: Speculatively reverting, because downstream test is now hitting "PeerConnectionFactory.initialize was not called before creating a PeerConnectionFactory" error, even though it did call initialize. I don't see how any change in this CL could cause that, but it's the only CL on the blamelist, and it does modify PeerConnectionFactory.java > > Original change's description: > > Enables PeerConnectionFactory using external fec controller > > > > Bug: webrtc:8799 > > Change-Id: Ieb2cf6163b9a83844ab9ed4822b4a7f1db4c24b8 > > Reviewed-on: https://webrtc-review.googlesource.com/43961 > > Commit-Queue: Ying Wang <yinwa@webrtc.org> > > Reviewed-by: Stefan Holmer <stefan@webrtc.org> > > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> > > Reviewed-by: Niels Moller <nisse@webrtc.org> > > Reviewed-by: Sami Kalliomäki <sakal@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#22038} > > TBR=sakal@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org,stefan@webrtc.org,yinwa@webrtc.org > > Change-Id: I95868c35d6f9973e0ebf563814cd71d0fcbd433d > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: webrtc:8799 > Reviewed-on: https://webrtc-review.googlesource.com/54080 > Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org> > Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#22040} TBR=deadbeef@webrtc.org,sakal@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org,stefan@webrtc.org,yinwa@webrtc.org Bug: webrtc:8799 Change-Id: If9f3292bfcc739782967530c49f006d0abbc38a8 Reviewed-on: https://webrtc-review.googlesource.com/55400 Commit-Queue: Ying Wang <yinwa@webrtc.org> Reviewed-by: Ying Wang <yinwa@webrtc.org> Cr-Commit-Position: refs/heads/master@{#22100}
2018-02-20 12:50:27 +01:00
"../api:fec_controller_api",
"../api:frame_transformer_interface",
"../api:ice_transport_factory",
"../api:libjingle_logging_api",
"../api:libjingle_peerconnection_api",
"../api:media_stream_interface",
"../api:network_state_predictor_api",
"../api:packet_socket_factory",
"../api:priority",
"../api:rtc_error",
"../api:rtc_event_log_output_file",
"../api:rtc_stats_api",
"../api:rtp_parameters",
"../api:rtp_transceiver_direction",
"../api:scoped_refptr",
"../api:sequence_checker",
"../api/adaptation:resource_adaptation_api",
"../api/audio_codecs:audio_codecs_api",
"../api/crypto:frame_decryptor_interface",
"../api/crypto:options",
"../api/neteq:neteq_api",
"../api/rtc_event_log",
"../api/task_queue",
"../api/transport:bitrate_settings",
"../api/transport:datagram_transport_interface",
"../api/transport:enums",
"../api/transport:field_trial_based_config",
"../api/transport:network_control",
"../api/transport:sctp_transport_factory_interface",
"../api/transport:webrtc_key_value_config",
"../api/units:data_rate",
"../api/video:builtin_video_bitrate_allocator_factory",
"../api/video:video_bitrate_allocator_factory",
"../api/video:video_codec_constants",
"../api/video:video_frame",
"../api/video:video_rtp_headers",
Reland of Move video_encoder.h and video_decoder.h to /api and create GN targets for them (patchset #1 id:1 of https://codereview.webrtc.org/2794033002/ ) Reason for revert: Reland with temporary deprecated API to not break chromium and google3. Original issue's description: > Revert of Move video_encoder.h and video_decoder.h to /api and create GN targets for them (patchset #8 id:140001 of https://codereview.webrtc.org/2780943003/ ) > > Reason for revert: > Suspect of breaking Chrome FYI bots. > > See > https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Builder/builds/23065 > https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Builder > > Example logs: > ../../content/renderer/media/gpu/rtc_video_encoder_unittest.cc:18:46: fatal error: third_party/webrtc/video_encoder.h: No such file or directory > #include "third_party/webrtc/video_encoder.h" > ^ > > Original issue's description: > > Move video_encoder.h and video_decoder.h to /api and create GN targets for them > > > > BUG=webrtc:5881 > > # Because PRESUBMIT ignores LINT blacklist for moved files and these > > # headers have some not easy to resolve issues. > > NOPRESUBMIT=True > > > > Review-Url: https://codereview.webrtc.org/2780943003 > > Cr-Commit-Position: refs/heads/master@{#17511} > > Committed: https://chromium.googlesource.com/external/webrtc/+/c42f54057050c933008a49d57582577bfb9aed25 > > TBR=solenberg@webrtc.org,sprang@webrtc.org,ilnik@webrtc.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=webrtc:5881 > > Review-Url: https://codereview.webrtc.org/2794033002 > Cr-Commit-Position: refs/heads/master@{#17514} > Committed: https://chromium.googlesource.com/external/webrtc/+/716d7ac5c1ed6e392e264b34065800bbf03772b3 TBR=solenberg@webrtc.org,sprang@webrtc.org,guidou@webrtc.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=webrtc:5881 Review-Url: https://codereview.webrtc.org/2795163002 Cr-Commit-Position: refs/heads/master@{#17537}
2017-04-05 03:02:20 -07:00
"../api/video_codecs:video_codecs_api",
"../call:call_interfaces",
"../call:rtp_interfaces",
"../call:rtp_sender",
"../common_video",
"../logging:ice_log",
"../media:rtc_data_sctp_transport_internal",
"../media:rtc_media_base",
"../media:rtc_media_config",
"../modules/audio_processing:audio_processing_statistics",
"../modules/rtp_rtcp:rtp_rtcp_format",
"../p2p:rtc_p2p",
"../rtc_base",
"../rtc_base:callback_list",
"../rtc_base:checks",
Reland "Refactor rtc_base build targets." This is a reland of 69241a93fb14f6527a26d5c94dde879013012d2a Fix: The problem was related to NO_MAIN_THREAD_WRAPPING, which affects https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/rtc_base/thread.cc;l=257-263;drc=7acc2d9fe3a6e3c4d8881d2bdfc9b8968a724cd5. The original CL didn't attach the definition of the macro NO_MAIN_THREAD_WRAPPING when building for Chromium (which doesn't have to be related to //rtc_base anymore but to //rtc_base:threading). Original change's description: > Refactor rtc_base build targets. > > The "//rtc_base:rtc_base" build target has historically been one of the > biggest targets in the WebRTC build. Big targets are the main source of > circular dependencies and non-API types leakage. > > This CL is a step forward into splitting "//rtc_base:rtc_base" into > smaller targets (as originally started in 2018). > > The only non-automated changes are (like re-wiring the build system): > * The creation of //rtc_base/async_resolver.{h,cc} which allows to > break a circular dependency (is has been extracted from > //rtc_base/net_helpers.{h,cc}). > * The creation of //rtc_base/internal/default_socket_server.{h,cc} to > break another circular dependency. > > Bug: webrtc:9987 > Change-Id: I0c8f5e7efe2c8fd8e6bffa0d6dd2dd494cf3df02 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196903 > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#32941} Bug: webrtc:9987 Change-Id: I7cdf49d2aac8357f1f50f90010bf2c2f62fa19f6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202021 Reviewed-by: Niels Moller <nisse@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33001}
2021-01-15 10:41:01 +01:00
"../rtc_base:ip_address",
"../rtc_base:network_constants",
"../rtc_base:rtc_base_approved",
Reland "[PeerConnection] Use an OperationsChain in PeerConnection for async ops." This is a reland of 1dddaa1a84330091ca083c950ef2e24a85a48fc8 The regression that caused the original CL to be reverted was the fact that invoking SetLocalDescription() inside of the CreateOffer() callback was no longer executing synchronously and immediately. In this CL, the original CL is patched so that the CreateOffer() operation is marked as completed just before invoking the CreateOffer() callback (versus doing it just afterwards). This ensures that the OperationsChain is popped before the callback runs. The same applies for CreateAnswer(). See diff between Patch Set 1 (Original CL) and the latest Patch Set. Original change's description: > [PeerConnection] Use an OperationsChain in PeerConnection for async ops. > > For background, motivation, requirements and implementation notes, see > https://docs.google.com/document/d/1XLwNN2kUIGGTwz9LQ0NwJNkcybi9oKnynUEZB1jGA14/edit?usp=sharing > > Using the OperationsChain will unblock future CLs from chaining multiple > operations together such as implementing parameterless > setLocalDescription(). > > In this CL, the OperationsChain is used in existing signaling operations > with little intended side-effects. An operation that is chained onto an > empty OperationsChain will for instance execute immediately, and > SetLocalDescription() and SetRemoteDescription() are implemented as > "synchronous operations". > > The lifetime of the PeerConnection is not indended to change as a result > of this CL: All chained operations use a WeakPtr to the PC to ensure > use-after-free does not happen. > > There is one notable change though: CreateOffer() and CreateAnswer() will > asynchronously delay other signaling methods from executing until they > have completed. > > Drive-by fix: This CL also ensures that early failing > CreateOffer/CreateAnswer operation's observers are invoked if the > PeerConnection is destroyed while a PostCreateSessionDescriptionFailure > is pending. > > Bug: webrtc:11019 > Change-Id: I521333e41d20d9bbfb1e721609f2c9db2a5f93a9 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157305 > Reviewed-by: Steve Anton <steveanton@webrtc.org> > Commit-Queue: Henrik Boström <hbos@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#29605} TBR=steveanton@webrtc.org Bug: webrtc:11019 Change-Id: I57b4496e63378c91c24679ee496e21f5cb6a0e59 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158524 Commit-Queue: Henrik Boström <hbos@webrtc.org> Reviewed-by: Henrik Boström <hbos@webrtc.org> Cr-Commit-Position: refs/heads/master@{#29630}
2019-10-28 12:09:49 +01:00
"../rtc_base:rtc_operations_chain",
"../rtc_base:safe_minmax",
Reland "Refactor rtc_base build targets." This is a reland of 69241a93fb14f6527a26d5c94dde879013012d2a Fix: The problem was related to NO_MAIN_THREAD_WRAPPING, which affects https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/rtc_base/thread.cc;l=257-263;drc=7acc2d9fe3a6e3c4d8881d2bdfc9b8968a724cd5. The original CL didn't attach the definition of the macro NO_MAIN_THREAD_WRAPPING when building for Chromium (which doesn't have to be related to //rtc_base anymore but to //rtc_base:threading). Original change's description: > Refactor rtc_base build targets. > > The "//rtc_base:rtc_base" build target has historically been one of the > biggest targets in the WebRTC build. Big targets are the main source of > circular dependencies and non-API types leakage. > > This CL is a step forward into splitting "//rtc_base:rtc_base" into > smaller targets (as originally started in 2018). > > The only non-automated changes are (like re-wiring the build system): > * The creation of //rtc_base/async_resolver.{h,cc} which allows to > break a circular dependency (is has been extracted from > //rtc_base/net_helpers.{h,cc}). > * The creation of //rtc_base/internal/default_socket_server.{h,cc} to > break another circular dependency. > > Bug: webrtc:9987 > Change-Id: I0c8f5e7efe2c8fd8e6bffa0d6dd2dd494cf3df02 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196903 > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#32941} Bug: webrtc:9987 Change-Id: I7cdf49d2aac8357f1f50f90010bf2c2f62fa19f6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202021 Reviewed-by: Niels Moller <nisse@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33001}
2021-01-15 10:41:01 +01:00
"../rtc_base:socket_address",
"../rtc_base:threading",
Reland "[PeerConnection] Use an OperationsChain in PeerConnection for async ops." This is a reland of 1dddaa1a84330091ca083c950ef2e24a85a48fc8 The regression that caused the original CL to be reverted was the fact that invoking SetLocalDescription() inside of the CreateOffer() callback was no longer executing synchronously and immediately. In this CL, the original CL is patched so that the CreateOffer() operation is marked as completed just before invoking the CreateOffer() callback (versus doing it just afterwards). This ensures that the OperationsChain is popped before the callback runs. The same applies for CreateAnswer(). See diff between Patch Set 1 (Original CL) and the latest Patch Set. Original change's description: > [PeerConnection] Use an OperationsChain in PeerConnection for async ops. > > For background, motivation, requirements and implementation notes, see > https://docs.google.com/document/d/1XLwNN2kUIGGTwz9LQ0NwJNkcybi9oKnynUEZB1jGA14/edit?usp=sharing > > Using the OperationsChain will unblock future CLs from chaining multiple > operations together such as implementing parameterless > setLocalDescription(). > > In this CL, the OperationsChain is used in existing signaling operations > with little intended side-effects. An operation that is chained onto an > empty OperationsChain will for instance execute immediately, and > SetLocalDescription() and SetRemoteDescription() are implemented as > "synchronous operations". > > The lifetime of the PeerConnection is not indended to change as a result > of this CL: All chained operations use a WeakPtr to the PC to ensure > use-after-free does not happen. > > There is one notable change though: CreateOffer() and CreateAnswer() will > asynchronously delay other signaling methods from executing until they > have completed. > > Drive-by fix: This CL also ensures that early failing > CreateOffer/CreateAnswer operation's observers are invoked if the > PeerConnection is destroyed while a PostCreateSessionDescriptionFailure > is pending. > > Bug: webrtc:11019 > Change-Id: I521333e41d20d9bbfb1e721609f2c9db2a5f93a9 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157305 > Reviewed-by: Steve Anton <steveanton@webrtc.org> > Commit-Queue: Henrik Boström <hbos@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#29605} TBR=steveanton@webrtc.org Bug: webrtc:11019 Change-Id: I57b4496e63378c91c24679ee496e21f5cb6a0e59 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158524 Commit-Queue: Henrik Boström <hbos@webrtc.org> Reviewed-by: Henrik Boström <hbos@webrtc.org> Cr-Commit-Position: refs/heads/master@{#29630}
2019-10-28 12:09:49 +01:00
"../rtc_base:weak_ptr",
"../rtc_base/experiments:field_trial_parser",
"../rtc_base/network:sent_packet",
"../rtc_base/synchronization:mutex",
"../rtc_base/system:file_wrapper",
"../rtc_base/system:no_unique_address",
"../rtc_base/system:rtc_export",
"../rtc_base/system:unused",
"../rtc_base/task_utils:pending_task_safety_flag",
"../rtc_base/task_utils:to_queued_task",
"../rtc_base/third_party/base64",
"../rtc_base/third_party/sigslot",
"../stats",
"../system_wrappers",
"../system_wrappers:field_trial",
"../system_wrappers:metrics",
]
absl_deps = [
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("connection_context") {
sources = [
"connection_context.cc",
"connection_context.h",
]
deps = [
":rtc_pc_base",
"../api:callfactory_api",
"../api:libjingle_peerconnection_api",
"../api:media_stream_interface",
"../api:refcountedbase",
"../api:scoped_refptr",
"../api:sequence_checker",
"../api/neteq:neteq_api",
"../api/transport:field_trial_based_config",
"../api/transport:sctp_transport_factory_interface",
"../api/transport:webrtc_key_value_config",
"../media:rtc_data_sctp_transport_factory",
"../media:rtc_media_base",
"../p2p:rtc_p2p",
"../rtc_base",
"../rtc_base:checks",
Reland "Refactor rtc_base build targets." This is a reland of 69241a93fb14f6527a26d5c94dde879013012d2a Fix: The problem was related to NO_MAIN_THREAD_WRAPPING, which affects https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/rtc_base/thread.cc;l=257-263;drc=7acc2d9fe3a6e3c4d8881d2bdfc9b8968a724cd5. The original CL didn't attach the definition of the macro NO_MAIN_THREAD_WRAPPING when building for Chromium (which doesn't have to be related to //rtc_base anymore but to //rtc_base:threading). Original change's description: > Refactor rtc_base build targets. > > The "//rtc_base:rtc_base" build target has historically been one of the > biggest targets in the WebRTC build. Big targets are the main source of > circular dependencies and non-API types leakage. > > This CL is a step forward into splitting "//rtc_base:rtc_base" into > smaller targets (as originally started in 2018). > > The only non-automated changes are (like re-wiring the build system): > * The creation of //rtc_base/async_resolver.{h,cc} which allows to > break a circular dependency (is has been extracted from > //rtc_base/net_helpers.{h,cc}). > * The creation of //rtc_base/internal/default_socket_server.{h,cc} to > break another circular dependency. > > Bug: webrtc:9987 > Change-Id: I0c8f5e7efe2c8fd8e6bffa0d6dd2dd494cf3df02 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196903 > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#32941} Bug: webrtc:9987 Change-Id: I7cdf49d2aac8357f1f50f90010bf2c2f62fa19f6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202021 Reviewed-by: Niels Moller <nisse@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33001}
2021-01-15 10:41:01 +01:00
"../rtc_base:threading",
"../rtc_base/task_utils:to_queued_task",
]
}
rtc_library("peer_connection_message_handler") {
sources = [
"peer_connection_message_handler.cc",
"peer_connection_message_handler.h",
]
deps = [
":stats_collector_interface",
"../api:libjingle_peerconnection_api",
"../api:media_stream_interface",
"../api:rtc_error",
"../api:scoped_refptr",
"../api:sequence_checker",
"../rtc_base",
"../rtc_base:checks",
Reland "Refactor rtc_base build targets." This is a reland of 69241a93fb14f6527a26d5c94dde879013012d2a Fix: The problem was related to NO_MAIN_THREAD_WRAPPING, which affects https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/rtc_base/thread.cc;l=257-263;drc=7acc2d9fe3a6e3c4d8881d2bdfc9b8968a724cd5. The original CL didn't attach the definition of the macro NO_MAIN_THREAD_WRAPPING when building for Chromium (which doesn't have to be related to //rtc_base anymore but to //rtc_base:threading). Original change's description: > Refactor rtc_base build targets. > > The "//rtc_base:rtc_base" build target has historically been one of the > biggest targets in the WebRTC build. Big targets are the main source of > circular dependencies and non-API types leakage. > > This CL is a step forward into splitting "//rtc_base:rtc_base" into > smaller targets (as originally started in 2018). > > The only non-automated changes are (like re-wiring the build system): > * The creation of //rtc_base/async_resolver.{h,cc} which allows to > break a circular dependency (is has been extracted from > //rtc_base/net_helpers.{h,cc}). > * The creation of //rtc_base/internal/default_socket_server.{h,cc} to > break another circular dependency. > > Bug: webrtc:9987 > Change-Id: I0c8f5e7efe2c8fd8e6bffa0d6dd2dd494cf3df02 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196903 > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#32941} Bug: webrtc:9987 Change-Id: I7cdf49d2aac8357f1f50f90010bf2c2f62fa19f6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202021 Reviewed-by: Niels Moller <nisse@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33001}
2021-01-15 10:41:01 +01:00
"../rtc_base:threading",
]
}
rtc_library("usage_pattern") {
sources = [
"usage_pattern.cc",
"usage_pattern.h",
]
deps = [
"../api:libjingle_peerconnection_api",
"../rtc_base:logging",
"../system_wrappers:metrics",
]
}
rtc_library("rtp_transceiver") {
sources = [
"rtp_transceiver.cc",
"rtp_transceiver.h",
]
deps = [
":proxy",
":rtc_pc_base",
":rtp_parameters_conversion",
":rtp_receiver",
":rtp_sender",
":session_description",
"../api:array_view",
"../api:libjingle_peerconnection_api",
"../api:rtc_error",
"../api:rtp_parameters",
"../api:rtp_transceiver_direction",
"../api:scoped_refptr",
"../api:sequence_checker",
"../api/task_queue",
"../media:rtc_media_base",
"../rtc_base:checks",
"../rtc_base:logging",
"../rtc_base:macromagic",
"../rtc_base:refcount",
"../rtc_base:threading",
"../rtc_base/task_utils:pending_task_safety_flag",
"../rtc_base/task_utils:to_queued_task",
"../rtc_base/third_party/sigslot",
]
absl_deps = [
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("rtp_transmission_manager") {
sources = [
"rtp_transmission_manager.cc",
"rtp_transmission_manager.h",
]
deps = [
":audio_rtp_receiver",
":rtc_pc_base",
":rtp_receiver",
":rtp_sender",
":rtp_transceiver",
":stats_collector_interface",
":transceiver_list",
":usage_pattern",
":video_rtp_receiver",
"../api:libjingle_peerconnection_api",
"../api:media_stream_interface",
"../api:rtc_error",
"../api:rtp_parameters",
"../api:rtp_transceiver_direction",
"../api:scoped_refptr",
"../api:sequence_checker",
"../media:rtc_media_base",
"../rtc_base",
"../rtc_base:checks",
Reland "Refactor rtc_base build targets." This is a reland of 69241a93fb14f6527a26d5c94dde879013012d2a Fix: The problem was related to NO_MAIN_THREAD_WRAPPING, which affects https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/rtc_base/thread.cc;l=257-263;drc=7acc2d9fe3a6e3c4d8881d2bdfc9b8968a724cd5. The original CL didn't attach the definition of the macro NO_MAIN_THREAD_WRAPPING when building for Chromium (which doesn't have to be related to //rtc_base anymore but to //rtc_base:threading). Original change's description: > Refactor rtc_base build targets. > > The "//rtc_base:rtc_base" build target has historically been one of the > biggest targets in the WebRTC build. Big targets are the main source of > circular dependencies and non-API types leakage. > > This CL is a step forward into splitting "//rtc_base:rtc_base" into > smaller targets (as originally started in 2018). > > The only non-automated changes are (like re-wiring the build system): > * The creation of //rtc_base/async_resolver.{h,cc} which allows to > break a circular dependency (is has been extracted from > //rtc_base/net_helpers.{h,cc}). > * The creation of //rtc_base/internal/default_socket_server.{h,cc} to > break another circular dependency. > > Bug: webrtc:9987 > Change-Id: I0c8f5e7efe2c8fd8e6bffa0d6dd2dd494cf3df02 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196903 > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#32941} Bug: webrtc:9987 Change-Id: I7cdf49d2aac8357f1f50f90010bf2c2f62fa19f6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202021 Reviewed-by: Niels Moller <nisse@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33001}
2021-01-15 10:41:01 +01:00
"../rtc_base:threading",
"../rtc_base:weak_ptr",
"../rtc_base/third_party/sigslot",
]
absl_deps = [
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("transceiver_list") {
sources = [
"transceiver_list.cc",
"transceiver_list.h",
]
deps = [
":rtp_transceiver",
"../api:libjingle_peerconnection_api",
"../api:rtc_error",
"../api:rtp_parameters",
"../api:scoped_refptr",
"../api:sequence_checker",
"../rtc_base:checks",
"../rtc_base:macromagic",
"../rtc_base/system:no_unique_address",
]
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
}
rtc_library("rtp_receiver") {
sources = [
"rtp_receiver.cc",
"rtp_receiver.h",
]
deps = [
":media_stream",
":rtc_pc_base",
":video_track_source",
"../api:libjingle_peerconnection_api",
"../api:media_stream_interface",
"../api:rtp_parameters",
"../api:scoped_refptr",
"../api/crypto:frame_decryptor_interface",
"../api/video:video_frame",
"../media:rtc_media_base",
"../rtc_base:checks",
"../rtc_base:logging",
"../rtc_base:rtc_base",
"../rtc_base:rtc_base_approved",
Reland "Refactor rtc_base build targets." This is a reland of 69241a93fb14f6527a26d5c94dde879013012d2a Fix: The problem was related to NO_MAIN_THREAD_WRAPPING, which affects https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/rtc_base/thread.cc;l=257-263;drc=7acc2d9fe3a6e3c4d8881d2bdfc9b8968a724cd5. The original CL didn't attach the definition of the macro NO_MAIN_THREAD_WRAPPING when building for Chromium (which doesn't have to be related to //rtc_base anymore but to //rtc_base:threading). Original change's description: > Refactor rtc_base build targets. > > The "//rtc_base:rtc_base" build target has historically been one of the > biggest targets in the WebRTC build. Big targets are the main source of > circular dependencies and non-API types leakage. > > This CL is a step forward into splitting "//rtc_base:rtc_base" into > smaller targets (as originally started in 2018). > > The only non-automated changes are (like re-wiring the build system): > * The creation of //rtc_base/async_resolver.{h,cc} which allows to > break a circular dependency (is has been extracted from > //rtc_base/net_helpers.{h,cc}). > * The creation of //rtc_base/internal/default_socket_server.{h,cc} to > break another circular dependency. > > Bug: webrtc:9987 > Change-Id: I0c8f5e7efe2c8fd8e6bffa0d6dd2dd494cf3df02 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196903 > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#32941} Bug: webrtc:9987 Change-Id: I7cdf49d2aac8357f1f50f90010bf2c2f62fa19f6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202021 Reviewed-by: Niels Moller <nisse@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33001}
2021-01-15 10:41:01 +01:00
"../rtc_base:threading",
]
absl_deps = [
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("audio_rtp_receiver") {
sources = [
"audio_rtp_receiver.cc",
"audio_rtp_receiver.h",
]
deps = [
":audio_track",
":jitter_buffer_delay",
":media_stream",
":remote_audio_source",
":rtc_pc_base",
":rtp_receiver",
"../api:frame_transformer_interface",
"../api:libjingle_peerconnection_api",
"../api:media_stream_interface",
"../api:rtp_parameters",
"../api:scoped_refptr",
"../api:sequence_checker",
"../api/crypto:frame_decryptor_interface",
"../api/transport/rtp:rtp_source",
"../media:rtc_media_base",
"../rtc_base",
"../rtc_base:checks",
"../rtc_base:refcount",
Reland "Refactor rtc_base build targets." This is a reland of 69241a93fb14f6527a26d5c94dde879013012d2a Fix: The problem was related to NO_MAIN_THREAD_WRAPPING, which affects https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/rtc_base/thread.cc;l=257-263;drc=7acc2d9fe3a6e3c4d8881d2bdfc9b8968a724cd5. The original CL didn't attach the definition of the macro NO_MAIN_THREAD_WRAPPING when building for Chromium (which doesn't have to be related to //rtc_base anymore but to //rtc_base:threading). Original change's description: > Refactor rtc_base build targets. > > The "//rtc_base:rtc_base" build target has historically been one of the > biggest targets in the WebRTC build. Big targets are the main source of > circular dependencies and non-API types leakage. > > This CL is a step forward into splitting "//rtc_base:rtc_base" into > smaller targets (as originally started in 2018). > > The only non-automated changes are (like re-wiring the build system): > * The creation of //rtc_base/async_resolver.{h,cc} which allows to > break a circular dependency (is has been extracted from > //rtc_base/net_helpers.{h,cc}). > * The creation of //rtc_base/internal/default_socket_server.{h,cc} to > break another circular dependency. > > Bug: webrtc:9987 > Change-Id: I0c8f5e7efe2c8fd8e6bffa0d6dd2dd494cf3df02 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196903 > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#32941} Bug: webrtc:9987 Change-Id: I7cdf49d2aac8357f1f50f90010bf2c2f62fa19f6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202021 Reviewed-by: Niels Moller <nisse@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33001}
2021-01-15 10:41:01 +01:00
"../rtc_base:threading",
VideoRtpReceiver & AudioRtpReceiver threading fixes. For implementations where the signaling and worker threads are not the same thread, this significantly cuts down on Thread::Invoke()s that would block the signaling thread while waiting for the worker thread. For Audio and Video Rtp receivers, the following methods now do not block the signaling thread: * GetParameters * SetJitterBufferMinimumDelay * GetSources * SetFrameDecryptor / GetFrameDecryptor * SetDepacketizerToDecoderFrameTransformer Importantly this change also makes the track() accessor accessible directly from the application thread (bypassing the proxy) since for receiver objects, the track object is const. Other changes: * Remove RefCountedObject inheritance, use make_ref_counted instead. * Every member variable in the rtp receiver classes is now RTC_GUARDED * Stop() now fully clears up worker thread state, and Stop() is consistently called before destruction. This means that there's one thread hop instead of at least 4 before (sometimes more), per receiver. * OnChanged triggered volume for audio tracks is done asynchronously. * Deleted most of the JitterBufferDelay implementation. Turns out that it was largely unnecessary overhead and complexity. It seems that these two classes are copy/pasted to a large extent so further refactoring would be good in the future, as to not have to fix each issue twice. Bug: chromium:1184611 Change-Id: I1ba5c3abbd1b0571f7d12850d64004fd2d83e5e2 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218605 Commit-Queue: Tommi <tommi@webrtc.org> Reviewed-by: Markus Handell <handellm@webrtc.org> Cr-Commit-Position: refs/heads/master@{#34022}
2021-05-17 14:50:10 +02:00
"../rtc_base/system:no_unique_address",
"../rtc_base/task_utils:pending_task_safety_flag",
"../rtc_base/task_utils:to_queued_task",
]
absl_deps = [
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("video_rtp_receiver") {
sources = [
"video_rtp_receiver.cc",
"video_rtp_receiver.h",
]
deps = [
":jitter_buffer_delay",
":media_stream",
":rtc_pc_base",
":rtp_receiver",
":video_rtp_track_source",
":video_track",
"../api:frame_transformer_interface",
"../api:libjingle_peerconnection_api",
"../api:media_stream_interface",
"../api:rtp_parameters",
"../api:scoped_refptr",
"../api:sequence_checker",
"../api/crypto:frame_decryptor_interface",
"../api/transport/rtp:rtp_source",
"../api/video:recordable_encoded_frame",
"../api/video:video_frame",
"../media:rtc_media_base",
"../rtc_base",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
Reland "Refactor rtc_base build targets." This is a reland of 69241a93fb14f6527a26d5c94dde879013012d2a Fix: The problem was related to NO_MAIN_THREAD_WRAPPING, which affects https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/rtc_base/thread.cc;l=257-263;drc=7acc2d9fe3a6e3c4d8881d2bdfc9b8968a724cd5. The original CL didn't attach the definition of the macro NO_MAIN_THREAD_WRAPPING when building for Chromium (which doesn't have to be related to //rtc_base anymore but to //rtc_base:threading). Original change's description: > Refactor rtc_base build targets. > > The "//rtc_base:rtc_base" build target has historically been one of the > biggest targets in the WebRTC build. Big targets are the main source of > circular dependencies and non-API types leakage. > > This CL is a step forward into splitting "//rtc_base:rtc_base" into > smaller targets (as originally started in 2018). > > The only non-automated changes are (like re-wiring the build system): > * The creation of //rtc_base/async_resolver.{h,cc} which allows to > break a circular dependency (is has been extracted from > //rtc_base/net_helpers.{h,cc}). > * The creation of //rtc_base/internal/default_socket_server.{h,cc} to > break another circular dependency. > > Bug: webrtc:9987 > Change-Id: I0c8f5e7efe2c8fd8e6bffa0d6dd2dd494cf3df02 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196903 > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#32941} Bug: webrtc:9987 Change-Id: I7cdf49d2aac8357f1f50f90010bf2c2f62fa19f6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202021 Reviewed-by: Niels Moller <nisse@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33001}
2021-01-15 10:41:01 +01:00
"../rtc_base:threading",
VideoRtpReceiver & AudioRtpReceiver threading fixes. For implementations where the signaling and worker threads are not the same thread, this significantly cuts down on Thread::Invoke()s that would block the signaling thread while waiting for the worker thread. For Audio and Video Rtp receivers, the following methods now do not block the signaling thread: * GetParameters * SetJitterBufferMinimumDelay * GetSources * SetFrameDecryptor / GetFrameDecryptor * SetDepacketizerToDecoderFrameTransformer Importantly this change also makes the track() accessor accessible directly from the application thread (bypassing the proxy) since for receiver objects, the track object is const. Other changes: * Remove RefCountedObject inheritance, use make_ref_counted instead. * Every member variable in the rtp receiver classes is now RTC_GUARDED * Stop() now fully clears up worker thread state, and Stop() is consistently called before destruction. This means that there's one thread hop instead of at least 4 before (sometimes more), per receiver. * OnChanged triggered volume for audio tracks is done asynchronously. * Deleted most of the JitterBufferDelay implementation. Turns out that it was largely unnecessary overhead and complexity. It seems that these two classes are copy/pasted to a large extent so further refactoring would be good in the future, as to not have to fix each issue twice. Bug: chromium:1184611 Change-Id: I1ba5c3abbd1b0571f7d12850d64004fd2d83e5e2 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218605 Commit-Queue: Tommi <tommi@webrtc.org> Reviewed-by: Markus Handell <handellm@webrtc.org> Cr-Commit-Position: refs/heads/master@{#34022}
2021-05-17 14:50:10 +02:00
"../rtc_base/system:no_unique_address",
]
absl_deps = [
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("video_rtp_track_source") {
sources = [
"video_rtp_track_source.cc",
"video_rtp_track_source.h",
]
deps = [
":video_track_source",
"../api:sequence_checker",
"../api/video:recordable_encoded_frame",
"../api/video:video_frame",
"../media:rtc_media_base",
"../rtc_base",
"../rtc_base:checks",
"../rtc_base/synchronization:mutex",
"../rtc_base/system:no_unique_address",
]
}
rtc_library("audio_track") {
sources = [
"audio_track.cc",
"audio_track.h",
]
deps = [
"../api:media_stream_interface",
"../api:scoped_refptr",
"../api:sequence_checker",
"../rtc_base:checks",
"../rtc_base:refcount",
]
}
rtc_library("video_track") {
sources = [
"video_track.cc",
"video_track.h",
]
deps = [
"../api:media_stream_interface",
"../api:scoped_refptr",
"../api:sequence_checker",
"../api/video:video_frame",
"../media:rtc_media_base",
"../rtc_base",
"../rtc_base:checks",
"../rtc_base:refcount",
"../rtc_base:rtc_base_approved",
Reland "Refactor rtc_base build targets." This is a reland of 69241a93fb14f6527a26d5c94dde879013012d2a Fix: The problem was related to NO_MAIN_THREAD_WRAPPING, which affects https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/rtc_base/thread.cc;l=257-263;drc=7acc2d9fe3a6e3c4d8881d2bdfc9b8968a724cd5. The original CL didn't attach the definition of the macro NO_MAIN_THREAD_WRAPPING when building for Chromium (which doesn't have to be related to //rtc_base anymore but to //rtc_base:threading). Original change's description: > Refactor rtc_base build targets. > > The "//rtc_base:rtc_base" build target has historically been one of the > biggest targets in the WebRTC build. Big targets are the main source of > circular dependencies and non-API types leakage. > > This CL is a step forward into splitting "//rtc_base:rtc_base" into > smaller targets (as originally started in 2018). > > The only non-automated changes are (like re-wiring the build system): > * The creation of //rtc_base/async_resolver.{h,cc} which allows to > break a circular dependency (is has been extracted from > //rtc_base/net_helpers.{h,cc}). > * The creation of //rtc_base/internal/default_socket_server.{h,cc} to > break another circular dependency. > > Bug: webrtc:9987 > Change-Id: I0c8f5e7efe2c8fd8e6bffa0d6dd2dd494cf3df02 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196903 > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#32941} Bug: webrtc:9987 Change-Id: I7cdf49d2aac8357f1f50f90010bf2c2f62fa19f6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202021 Reviewed-by: Niels Moller <nisse@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33001}
2021-01-15 10:41:01 +01:00
"../rtc_base:threading",
]
}
rtc_source_set("sdp_state_provider") {
sources = [ "sdp_state_provider.h" ]
deps = [
":rtc_pc_base",
"../api:libjingle_peerconnection_api",
]
}
rtc_library("jitter_buffer_delay") {
sources = [
"jitter_buffer_delay.cc",
"jitter_buffer_delay.h",
]
deps = [
"../api:sequence_checker",
"../rtc_base:checks",
VideoRtpReceiver & AudioRtpReceiver threading fixes. For implementations where the signaling and worker threads are not the same thread, this significantly cuts down on Thread::Invoke()s that would block the signaling thread while waiting for the worker thread. For Audio and Video Rtp receivers, the following methods now do not block the signaling thread: * GetParameters * SetJitterBufferMinimumDelay * GetSources * SetFrameDecryptor / GetFrameDecryptor * SetDepacketizerToDecoderFrameTransformer Importantly this change also makes the track() accessor accessible directly from the application thread (bypassing the proxy) since for receiver objects, the track object is const. Other changes: * Remove RefCountedObject inheritance, use make_ref_counted instead. * Every member variable in the rtp receiver classes is now RTC_GUARDED * Stop() now fully clears up worker thread state, and Stop() is consistently called before destruction. This means that there's one thread hop instead of at least 4 before (sometimes more), per receiver. * OnChanged triggered volume for audio tracks is done asynchronously. * Deleted most of the JitterBufferDelay implementation. Turns out that it was largely unnecessary overhead and complexity. It seems that these two classes are copy/pasted to a large extent so further refactoring would be good in the future, as to not have to fix each issue twice. Bug: chromium:1184611 Change-Id: I1ba5c3abbd1b0571f7d12850d64004fd2d83e5e2 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218605 Commit-Queue: Tommi <tommi@webrtc.org> Reviewed-by: Markus Handell <handellm@webrtc.org> Cr-Commit-Position: refs/heads/master@{#34022}
2021-05-17 14:50:10 +02:00
"../rtc_base:safe_conversions",
"../rtc_base:safe_minmax",
VideoRtpReceiver & AudioRtpReceiver threading fixes. For implementations where the signaling and worker threads are not the same thread, this significantly cuts down on Thread::Invoke()s that would block the signaling thread while waiting for the worker thread. For Audio and Video Rtp receivers, the following methods now do not block the signaling thread: * GetParameters * SetJitterBufferMinimumDelay * GetSources * SetFrameDecryptor / GetFrameDecryptor * SetDepacketizerToDecoderFrameTransformer Importantly this change also makes the track() accessor accessible directly from the application thread (bypassing the proxy) since for receiver objects, the track object is const. Other changes: * Remove RefCountedObject inheritance, use make_ref_counted instead. * Every member variable in the rtp receiver classes is now RTC_GUARDED * Stop() now fully clears up worker thread state, and Stop() is consistently called before destruction. This means that there's one thread hop instead of at least 4 before (sometimes more), per receiver. * OnChanged triggered volume for audio tracks is done asynchronously. * Deleted most of the JitterBufferDelay implementation. Turns out that it was largely unnecessary overhead and complexity. It seems that these two classes are copy/pasted to a large extent so further refactoring would be good in the future, as to not have to fix each issue twice. Bug: chromium:1184611 Change-Id: I1ba5c3abbd1b0571f7d12850d64004fd2d83e5e2 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218605 Commit-Queue: Tommi <tommi@webrtc.org> Reviewed-by: Markus Handell <handellm@webrtc.org> Cr-Commit-Position: refs/heads/master@{#34022}
2021-05-17 14:50:10 +02:00
"../rtc_base/system:no_unique_address",
]
VideoRtpReceiver & AudioRtpReceiver threading fixes. For implementations where the signaling and worker threads are not the same thread, this significantly cuts down on Thread::Invoke()s that would block the signaling thread while waiting for the worker thread. For Audio and Video Rtp receivers, the following methods now do not block the signaling thread: * GetParameters * SetJitterBufferMinimumDelay * GetSources * SetFrameDecryptor / GetFrameDecryptor * SetDepacketizerToDecoderFrameTransformer Importantly this change also makes the track() accessor accessible directly from the application thread (bypassing the proxy) since for receiver objects, the track object is const. Other changes: * Remove RefCountedObject inheritance, use make_ref_counted instead. * Every member variable in the rtp receiver classes is now RTC_GUARDED * Stop() now fully clears up worker thread state, and Stop() is consistently called before destruction. This means that there's one thread hop instead of at least 4 before (sometimes more), per receiver. * OnChanged triggered volume for audio tracks is done asynchronously. * Deleted most of the JitterBufferDelay implementation. Turns out that it was largely unnecessary overhead and complexity. It seems that these two classes are copy/pasted to a large extent so further refactoring would be good in the future, as to not have to fix each issue twice. Bug: chromium:1184611 Change-Id: I1ba5c3abbd1b0571f7d12850d64004fd2d83e5e2 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218605 Commit-Queue: Tommi <tommi@webrtc.org> Reviewed-by: Markus Handell <handellm@webrtc.org> Cr-Commit-Position: refs/heads/master@{#34022}
2021-05-17 14:50:10 +02:00
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
}
rtc_library("remote_audio_source") {
sources = [
"remote_audio_source.cc",
"remote_audio_source.h",
]
deps = [
":rtc_pc_base",
"../api:call_api",
"../api:media_stream_interface",
"../api:scoped_refptr",
"../api:sequence_checker",
"../media:rtc_media_base",
"../rtc_base",
"../rtc_base:checks",
"../rtc_base:logging",
"../rtc_base:rtc_base_approved",
"../rtc_base:safe_conversions",
"../rtc_base:stringutils",
Reland "Refactor rtc_base build targets." This is a reland of 69241a93fb14f6527a26d5c94dde879013012d2a Fix: The problem was related to NO_MAIN_THREAD_WRAPPING, which affects https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/rtc_base/thread.cc;l=257-263;drc=7acc2d9fe3a6e3c4d8881d2bdfc9b8968a724cd5. The original CL didn't attach the definition of the macro NO_MAIN_THREAD_WRAPPING when building for Chromium (which doesn't have to be related to //rtc_base anymore but to //rtc_base:threading). Original change's description: > Refactor rtc_base build targets. > > The "//rtc_base:rtc_base" build target has historically been one of the > biggest targets in the WebRTC build. Big targets are the main source of > circular dependencies and non-API types leakage. > > This CL is a step forward into splitting "//rtc_base:rtc_base" into > smaller targets (as originally started in 2018). > > The only non-automated changes are (like re-wiring the build system): > * The creation of //rtc_base/async_resolver.{h,cc} which allows to > break a circular dependency (is has been extracted from > //rtc_base/net_helpers.{h,cc}). > * The creation of //rtc_base/internal/default_socket_server.{h,cc} to > break another circular dependency. > > Bug: webrtc:9987 > Change-Id: I0c8f5e7efe2c8fd8e6bffa0d6dd2dd494cf3df02 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196903 > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#32941} Bug: webrtc:9987 Change-Id: I7cdf49d2aac8357f1f50f90010bf2c2f62fa19f6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202021 Reviewed-by: Niels Moller <nisse@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33001}
2021-01-15 10:41:01 +01:00
"../rtc_base:threading",
"../rtc_base/synchronization:mutex",
]
absl_deps = [
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("rtp_sender") {
sources = [
"rtp_sender.cc",
"rtp_sender.h",
]
deps = [
":dtmf_sender",
":stats_collector_interface",
"../api:audio_options_api",
"../api:frame_transformer_interface",
"../api:libjingle_peerconnection_api",
"../api:media_stream_interface",
"../api:priority",
"../api:rtc_error",
"../api:rtp_parameters",
"../api:scoped_refptr",
"../api/crypto:frame_encryptor_interface",
"../media:rtc_media_base",
"../rtc_base:checks",
"../rtc_base:rtc_base",
"../rtc_base:threading",
"../rtc_base/synchronization:mutex",
"../rtc_base/third_party/sigslot",
]
absl_deps = [
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("rtp_parameters_conversion") {
sources = [
"rtp_parameters_conversion.cc",
"rtp_parameters_conversion.h",
]
deps = [
":rtc_pc_base",
":session_description",
"../api:array_view",
"../api:libjingle_peerconnection_api",
"../api:rtc_error",
"../api:rtp_parameters",
"../media:rtc_media_base",
"../rtc_base:checks",
"../rtc_base:rtc_base",
]
absl_deps = [
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("dtmf_sender") {
sources = [
"dtmf_sender.cc",
"dtmf_sender.h",
]
deps = [
":proxy",
"../api:libjingle_peerconnection_api",
"../api:scoped_refptr",
"../rtc_base:checks",
"../rtc_base:rtc_base",
Reland "Refactor rtc_base build targets." This is a reland of 69241a93fb14f6527a26d5c94dde879013012d2a Fix: The problem was related to NO_MAIN_THREAD_WRAPPING, which affects https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/rtc_base/thread.cc;l=257-263;drc=7acc2d9fe3a6e3c4d8881d2bdfc9b8968a724cd5. The original CL didn't attach the definition of the macro NO_MAIN_THREAD_WRAPPING when building for Chromium (which doesn't have to be related to //rtc_base anymore but to //rtc_base:threading). Original change's description: > Refactor rtc_base build targets. > > The "//rtc_base:rtc_base" build target has historically been one of the > biggest targets in the WebRTC build. Big targets are the main source of > circular dependencies and non-API types leakage. > > This CL is a step forward into splitting "//rtc_base:rtc_base" into > smaller targets (as originally started in 2018). > > The only non-automated changes are (like re-wiring the build system): > * The creation of //rtc_base/async_resolver.{h,cc} which allows to > break a circular dependency (is has been extracted from > //rtc_base/net_helpers.{h,cc}). > * The creation of //rtc_base/internal/default_socket_server.{h,cc} to > break another circular dependency. > > Bug: webrtc:9987 > Change-Id: I0c8f5e7efe2c8fd8e6bffa0d6dd2dd494cf3df02 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196903 > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#32941} Bug: webrtc:9987 Change-Id: I7cdf49d2aac8357f1f50f90010bf2c2f62fa19f6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202021 Reviewed-by: Niels Moller <nisse@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33001}
2021-01-15 10:41:01 +01:00
"../rtc_base:threading",
"../rtc_base/task_utils:pending_task_safety_flag",
"../rtc_base/task_utils:to_queued_task",
"../rtc_base/third_party/sigslot",
]
absl_deps = [
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("media_stream") {
sources = [
"media_stream.cc",
"media_stream.h",
]
deps = [
"../api:libjingle_peerconnection_api",
"../api:media_stream_interface",
"../api:scoped_refptr",
"../rtc_base:checks",
"../rtc_base:refcount",
"../rtc_base:rtc_base",
]
absl_deps = [
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("video_track_source") {
sources = [
"video_track_source.cc",
"video_track_source.h",
]
deps = [
"../api:media_stream_interface",
"../api:sequence_checker",
"../api/video:recordable_encoded_frame",
"../api/video:video_frame",
"../media:rtc_media_base",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"../rtc_base/system:rtc_export",
]
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
}
rtc_source_set("stats_collector_interface") {
sources = [ "stats_collector_interface.h" ]
deps = [
"../api:libjingle_peerconnection_api",
"../api:media_stream_interface",
]
}
rtc_source_set("libjingle_peerconnection") {
Revert "Revert "GN rtc_* templates: Set default visibility to webrtc_root + "/*""" This reverts commit c73e1f437889d882cbf2987f7fb3a029a6150613. Reason for revert: The problem with failed deps in chrome content/renderer had already been fixed in https://webrtc-review.googlesource.com/c/src/+/38660 Original change's description: > Revert "GN rtc_* templates: Set default visibility to webrtc_root + "/*"" > > This reverts commit 588c548657b3ddf76e7b3f241263eef7f5799f16. > > Reason for revert: > > Breaks Chrome FYI: > > /b/c/b/Linux_Builder/src/buildtools/linux64/gn gen //out/Release --check > -> returned 1 > ERROR at //build/split_static_library.gni:12:5: Dependency not allowed. > static_library(target_name) { > ^---------------------------- > The item //content/renderer:renderer > can not depend on //third_party/webrtc/media:rtc_internal_video_codecs > because it is not in //third_party/webrtc/media:rtc_internal_video_codecs's visibility list: [ > //third_party/webrtc/* > //third_party/webrtc_overrides/* > ] > > https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.webrtc.fyi%2FLinux_Builder%2F23560%2F%2B%2Frecipes%2Fsteps%2Fgenerate_build_files%2F0%2Fstdout > > Original change's description: > > GN rtc_* templates: Set default visibility to webrtc_root + "/*" > > > > This means that by default, targets are visible to everything under > > the WebRTC root, but not visible to anything else. > > > > API targets are manually tagged with visibility "*", so that targets > > outside the WebRTC tree can see them. > > > > BUG=webrtc:8254 > > > > Change-Id: Icdbee6e0d22d93240ff2fb530c8f9dc48e351509 > > Reviewed-on: https://webrtc-review.googlesource.com/24140 > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > > Commit-Queue: Karl Wiberg <kwiberg@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#21548} > > TBR=mbonadei@webrtc.org,kwiberg@webrtc.org > > Change-Id: I06620ce3d6f67482935c22efa231dd6cab91625a > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: webrtc:8254 > Reviewed-on: https://webrtc-review.googlesource.com/38760 > Reviewed-by: Per Kjellander <perkj@webrtc.org> > Commit-Queue: Per Kjellander <perkj@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#21555} TBR=mbonadei@webrtc.org,kwiberg@webrtc.org,perkj@webrtc.org Change-Id: I6f720078ce21bd172e0a6471bae8c4c011e4a657 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:8254 Reviewed-on: https://webrtc-review.googlesource.com/38860 Reviewed-by: Per Kjellander <perkj@webrtc.org> Commit-Queue: Per Kjellander <perkj@webrtc.org> Cr-Commit-Position: refs/heads/master@{#21558}
2018-01-10 15:54:53 +00:00
visibility = [ "*" ]
deps = [
":peerconnection",
"../api:libjingle_peerconnection_api",
]
}
if (rtc_include_tests && !build_with_chromium) {
rtc_test("rtc_pc_unittests") {
testonly = true
sources = [
"channel_manager_unittest.cc",
"channel_unittest.cc",
"dtls_srtp_transport_unittest.cc",
"dtls_transport_unittest.cc",
"ice_transport_unittest.cc",
"jsep_transport_controller_unittest.cc",
"jsep_transport_unittest.cc",
"media_session_unittest.cc",
"rtcp_mux_filter_unittest.cc",
"rtp_transport_unittest.cc",
"sctp_transport_unittest.cc",
"session_description_unittest.cc",
"srtp_filter_unittest.cc",
"srtp_session_unittest.cc",
"srtp_transport_unittest.cc",
"test/rtp_transport_test_util.h",
"test/srtp_test_util.h",
"used_ids_unittest.cc",
"video_rtp_receiver_unittest.cc",
]
include_dirs = [ "//third_party/libsrtp/srtp" ]
if (is_win) {
libs = [ "strmiids.lib" ]
}
deps = [
":libjingle_peerconnection",
":pc_test_utils",
":peerconnection",
":rtc_pc",
":rtc_pc_base",
":session_description",
":video_rtp_receiver",
"../api:array_view",
"../api:audio_options_api",
"../api:ice_transport_factory",
"../api:libjingle_peerconnection_api",
"../api:rtc_error",
"../api:rtp_headers",
"../api:rtp_parameters",
"../api/video:builtin_video_bitrate_allocator_factory",
"../api/video/test:mock_recordable_encoded_frame",
"../call:rtp_interfaces",
"../call:rtp_receiver",
"../media:rtc_data_sctp_transport_internal",
"../media:rtc_media_base",
"../media:rtc_media_tests_utils",
"../modules/rtp_rtcp:rtp_rtcp_format",
"../p2p:fake_ice_transport",
"../p2p:fake_port_allocator",
"../p2p:p2p_test_utils",
"../p2p:rtc_p2p",
"../rtc_base",
"../rtc_base:checks",
"../rtc_base:gunit_helpers",
"../rtc_base:rtc_base_approved",
"../rtc_base:rtc_base_tests_utils",
Reland "Refactor rtc_base build targets." This is a reland of 69241a93fb14f6527a26d5c94dde879013012d2a Fix: The problem was related to NO_MAIN_THREAD_WRAPPING, which affects https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/rtc_base/thread.cc;l=257-263;drc=7acc2d9fe3a6e3c4d8881d2bdfc9b8968a724cd5. The original CL didn't attach the definition of the macro NO_MAIN_THREAD_WRAPPING when building for Chromium (which doesn't have to be related to //rtc_base anymore but to //rtc_base:threading). Original change's description: > Refactor rtc_base build targets. > > The "//rtc_base:rtc_base" build target has historically been one of the > biggest targets in the WebRTC build. Big targets are the main source of > circular dependencies and non-API types leakage. > > This CL is a step forward into splitting "//rtc_base:rtc_base" into > smaller targets (as originally started in 2018). > > The only non-automated changes are (like re-wiring the build system): > * The creation of //rtc_base/async_resolver.{h,cc} which allows to > break a circular dependency (is has been extracted from > //rtc_base/net_helpers.{h,cc}). > * The creation of //rtc_base/internal/default_socket_server.{h,cc} to > break another circular dependency. > > Bug: webrtc:9987 > Change-Id: I0c8f5e7efe2c8fd8e6bffa0d6dd2dd494cf3df02 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196903 > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#32941} Bug: webrtc:9987 Change-Id: I7cdf49d2aac8357f1f50f90010bf2c2f62fa19f6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202021 Reviewed-by: Niels Moller <nisse@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33001}
2021-01-15 10:41:01 +01:00
"../rtc_base:threading",
"../rtc_base/task_utils:pending_task_safety_flag",
"../rtc_base/task_utils:to_queued_task",
"../rtc_base/third_party/sigslot",
"../system_wrappers:metrics",
"../test:field_trial",
"../test:test_main",
"../test:test_support",
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/strings",
]
if (rtc_build_libsrtp) {
deps += [ "//third_party/libsrtp" ]
}
if (is_android) {
deps += [ "//testing/android/native_test:native_test_support" ]
}
}
rtc_library("peerconnection_perf_tests") {
testonly = true
sources = [ "peer_connection_rampup_tests.cc" ]
deps = [
":pc_test_utils",
":peerconnection_wrapper",
"../api:audio_options_api",
"../api:create_peerconnection_factory",
"../api:libjingle_peerconnection_api",
"../api:media_stream_interface",
"../api:rtc_stats_api",
"../api:scoped_refptr",
"../api/audio:audio_mixer_api",
"../api/audio_codecs:audio_codecs_api",
"../api/audio_codecs:builtin_audio_decoder_factory",
"../api/audio_codecs:builtin_audio_encoder_factory",
"../api/video_codecs:builtin_video_decoder_factory",
"../api/video_codecs:builtin_video_encoder_factory",
"../api/video_codecs:video_codecs_api",
"../media:rtc_media_tests_utils",
"../modules/audio_device:audio_device_api",
"../modules/audio_processing:api",
"../p2p:p2p_test_utils",
"../p2p:rtc_p2p",
"../pc:peerconnection",
"../rtc_base",
"../rtc_base:checks",
"../rtc_base:gunit_helpers",
"../rtc_base:rtc_base_tests_utils",
Reland "Refactor rtc_base build targets." This is a reland of 69241a93fb14f6527a26d5c94dde879013012d2a Fix: The problem was related to NO_MAIN_THREAD_WRAPPING, which affects https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/rtc_base/thread.cc;l=257-263;drc=7acc2d9fe3a6e3c4d8881d2bdfc9b8968a724cd5. The original CL didn't attach the definition of the macro NO_MAIN_THREAD_WRAPPING when building for Chromium (which doesn't have to be related to //rtc_base anymore but to //rtc_base:threading). Original change's description: > Refactor rtc_base build targets. > > The "//rtc_base:rtc_base" build target has historically been one of the > biggest targets in the WebRTC build. Big targets are the main source of > circular dependencies and non-API types leakage. > > This CL is a step forward into splitting "//rtc_base:rtc_base" into > smaller targets (as originally started in 2018). > > The only non-automated changes are (like re-wiring the build system): > * The creation of //rtc_base/async_resolver.{h,cc} which allows to > break a circular dependency (is has been extracted from > //rtc_base/net_helpers.{h,cc}). > * The creation of //rtc_base/internal/default_socket_server.{h,cc} to > break another circular dependency. > > Bug: webrtc:9987 > Change-Id: I0c8f5e7efe2c8fd8e6bffa0d6dd2dd494cf3df02 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196903 > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#32941} Bug: webrtc:9987 Change-Id: I7cdf49d2aac8357f1f50f90010bf2c2f62fa19f6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202021 Reviewed-by: Niels Moller <nisse@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33001}
2021-01-15 10:41:01 +01:00
"../rtc_base:socket_address",
"../rtc_base:threading",
"../system_wrappers",
"../test:perf_test",
"../test:test_support",
]
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
}
rtc_library("peerconnection_wrapper") {
testonly = true
sources = [
"peer_connection_wrapper.cc",
"peer_connection_wrapper.h",
]
deps = [
":pc_test_utils",
"../api:function_view",
"../api:libjingle_peerconnection_api",
"../api:media_stream_interface",
"../api:rtc_error",
"../api:rtc_stats_api",
"../api:rtp_parameters",
"../api:scoped_refptr",
"../pc:peerconnection",
"../rtc_base:checks",
"../rtc_base:gunit_helpers",
"../rtc_base:rtc_base_approved",
"../test:test_support",
]
}
rtc_test("peerconnection_unittests") {
testonly = true
sources = [
Reland "Reland "Split peer_connection_integrationtest.cc into pieces"" This reverts commit 89c40e246e39372390f0f843545d4e56aa657040. Reason for revert: Added missing INSTANTIATE Original change's description: > Revert "Reland "Split peer_connection_integrationtest.cc into pieces"" > > This reverts commit 772066bf16b125c1346a4d1b3e28c6e6f21cc1a7. > > Reason for revert: Did not catch all missing INSTANTIATE_TEST_SUITE_P > > Original change's description: > > Reland "Split peer_connection_integrationtest.cc into pieces" > > > > This reverts commit 8644f2b7632cff5e46560c2f5cf7c0dc071aa32d. > > > > Reason for revert: Fixed the bugs > > > > Original change's description: > > > Revert "Split peer_connection_integrationtest.cc into pieces" > > > > > > This reverts commit cae4656d4a7439e25160ff4d94e50949ff87cebe. > > > > > > Reason for revert: Breaks downstream build (missing INSTANTIATE_TEST_SUITE_P in pc/data_channel_integrationtest.cc). > > > > > > Original change's description: > > > > Split peer_connection_integrationtest.cc into pieces > > > > > > > > This creates two integration tests: One for datachannel, the other > > > > for every test that is not datachannel. > > > > > > > > It separates out the common framework to a new file in pc/test. > > > > Also applies some fixes to IWYU. > > > > > > > > Bug: None > > > > Change-Id: I919def1c360ffce205c20bec2d864aad9b179c3a > > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207060 > > > > Reviewed-by: Henrik Boström <hbos@webrtc.org> > > > > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > > > > Cr-Commit-Position: refs/heads/master@{#33244} > > > > > > TBR=hbos@webrtc.org,hta@webrtc.org > > > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > > > No-Try: True > > > Bug: None > > > Change-Id: I7dbedd3256cb7ff47eb5f8cd46c7c044ed0aa1e0 > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207283 > > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > > > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > > > Cr-Commit-Position: refs/heads/master@{#33255} > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > Bug: None > > Change-Id: I1bb6186d7f898de82d26f4cd3d8a88014140c518 > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207864 > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > > Reviewed-by: Henrik Boström <hbos@webrtc.org> > > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#33283} > > Bug: None > Change-Id: I2b09b57c2477e52301ac30ec12ed69f2555ba7f8 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208021 > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#33286} Bug: None Change-Id: I6e362ac2234ae6c69dc9bbf886ee7dece8484202 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208022 Reviewed-by: Henrik Boström <hbos@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33289}
2021-02-17 09:05:31 +00:00
"data_channel_integrationtest.cc",
"data_channel_unittest.cc",
"dtmf_sender_unittest.cc",
"ice_server_parsing_unittest.cc",
"jitter_buffer_delay_unittest.cc",
"jsep_session_description_unittest.cc",
"local_audio_source_unittest.cc",
"media_stream_unittest.cc",
"peer_connection_adaptation_integrationtest.cc",
"peer_connection_bundle_unittest.cc",
"peer_connection_crypto_unittest.cc",
"peer_connection_data_channel_unittest.cc",
"peer_connection_end_to_end_unittest.cc",
"peer_connection_factory_unittest.cc",
"peer_connection_header_extension_unittest.cc",
"peer_connection_histogram_unittest.cc",
"peer_connection_ice_unittest.cc",
"peer_connection_integrationtest.cc",
"peer_connection_interface_unittest.cc",
"peer_connection_jsep_unittest.cc",
"peer_connection_media_unittest.cc",
"peer_connection_rtp_unittest.cc",
"peer_connection_signaling_unittest.cc",
"peer_connection_simulcast_unittest.cc",
"peer_connection_wrapper.cc",
"peer_connection_wrapper.h",
"proxy_unittest.cc",
"rtc_stats_collector_unittest.cc",
"rtc_stats_integrationtest.cc",
"rtc_stats_traversal_unittest.cc",
"rtp_media_utils_unittest.cc",
"rtp_parameters_conversion_unittest.cc",
"rtp_sender_receiver_unittest.cc",
"rtp_transceiver_unittest.cc",
"sctp_utils_unittest.cc",
"sdp_serializer_unittest.cc",
"stats_collector_unittest.cc",
"test/fake_audio_capture_module_unittest.cc",
"test/test_sdp_strings.h",
"track_media_info_map_unittest.cc",
"video_rtp_track_source_unittest.cc",
"video_track_unittest.cc",
"webrtc_sdp_unittest.cc",
]
deps = [
":audio_rtp_receiver",
":audio_track",
":dtmf_sender",
":integration_test_helpers",
":jitter_buffer_delay",
":media_stream",
":peerconnection",
":proxy",
":remote_audio_source",
":rtc_pc_base",
":rtp_parameters_conversion",
":rtp_receiver",
":rtp_sender",
":rtp_transceiver",
":session_description",
":usage_pattern",
":video_rtp_receiver",
":video_rtp_track_source",
":video_track",
":video_track_source",
"../api:array_view",
"../api:audio_options_api",
"../api:create_peerconnection_factory",
"../api:fake_frame_decryptor",
"../api:fake_frame_encryptor",
"../api:function_view",
"../api:libjingle_logging_api",
"../api:libjingle_peerconnection_api",
"../api:media_stream_interface",
"../api:mock_rtp",
"../api:mock_video_track",
Reland "Reland "Split peer_connection_integrationtest.cc into pieces"" This reverts commit 89c40e246e39372390f0f843545d4e56aa657040. Reason for revert: Added missing INSTANTIATE Original change's description: > Revert "Reland "Split peer_connection_integrationtest.cc into pieces"" > > This reverts commit 772066bf16b125c1346a4d1b3e28c6e6f21cc1a7. > > Reason for revert: Did not catch all missing INSTANTIATE_TEST_SUITE_P > > Original change's description: > > Reland "Split peer_connection_integrationtest.cc into pieces" > > > > This reverts commit 8644f2b7632cff5e46560c2f5cf7c0dc071aa32d. > > > > Reason for revert: Fixed the bugs > > > > Original change's description: > > > Revert "Split peer_connection_integrationtest.cc into pieces" > > > > > > This reverts commit cae4656d4a7439e25160ff4d94e50949ff87cebe. > > > > > > Reason for revert: Breaks downstream build (missing INSTANTIATE_TEST_SUITE_P in pc/data_channel_integrationtest.cc). > > > > > > Original change's description: > > > > Split peer_connection_integrationtest.cc into pieces > > > > > > > > This creates two integration tests: One for datachannel, the other > > > > for every test that is not datachannel. > > > > > > > > It separates out the common framework to a new file in pc/test. > > > > Also applies some fixes to IWYU. > > > > > > > > Bug: None > > > > Change-Id: I919def1c360ffce205c20bec2d864aad9b179c3a > > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207060 > > > > Reviewed-by: Henrik Boström <hbos@webrtc.org> > > > > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > > > > Cr-Commit-Position: refs/heads/master@{#33244} > > > > > > TBR=hbos@webrtc.org,hta@webrtc.org > > > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > > > No-Try: True > > > Bug: None > > > Change-Id: I7dbedd3256cb7ff47eb5f8cd46c7c044ed0aa1e0 > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207283 > > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > > > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > > > Cr-Commit-Position: refs/heads/master@{#33255} > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > Bug: None > > Change-Id: I1bb6186d7f898de82d26f4cd3d8a88014140c518 > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207864 > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > > Reviewed-by: Henrik Boström <hbos@webrtc.org> > > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#33283} > > Bug: None > Change-Id: I2b09b57c2477e52301ac30ec12ed69f2555ba7f8 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208021 > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#33286} Bug: None Change-Id: I6e362ac2234ae6c69dc9bbf886ee7dece8484202 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208022 Reviewed-by: Henrik Boström <hbos@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33289}
2021-02-17 09:05:31 +00:00
"../api:packet_socket_factory",
"../api:rtc_error",
Reland "Reland "Split peer_connection_integrationtest.cc into pieces"" This reverts commit 89c40e246e39372390f0f843545d4e56aa657040. Reason for revert: Added missing INSTANTIATE Original change's description: > Revert "Reland "Split peer_connection_integrationtest.cc into pieces"" > > This reverts commit 772066bf16b125c1346a4d1b3e28c6e6f21cc1a7. > > Reason for revert: Did not catch all missing INSTANTIATE_TEST_SUITE_P > > Original change's description: > > Reland "Split peer_connection_integrationtest.cc into pieces" > > > > This reverts commit 8644f2b7632cff5e46560c2f5cf7c0dc071aa32d. > > > > Reason for revert: Fixed the bugs > > > > Original change's description: > > > Revert "Split peer_connection_integrationtest.cc into pieces" > > > > > > This reverts commit cae4656d4a7439e25160ff4d94e50949ff87cebe. > > > > > > Reason for revert: Breaks downstream build (missing INSTANTIATE_TEST_SUITE_P in pc/data_channel_integrationtest.cc). > > > > > > Original change's description: > > > > Split peer_connection_integrationtest.cc into pieces > > > > > > > > This creates two integration tests: One for datachannel, the other > > > > for every test that is not datachannel. > > > > > > > > It separates out the common framework to a new file in pc/test. > > > > Also applies some fixes to IWYU. > > > > > > > > Bug: None > > > > Change-Id: I919def1c360ffce205c20bec2d864aad9b179c3a > > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207060 > > > > Reviewed-by: Henrik Boström <hbos@webrtc.org> > > > > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > > > > Cr-Commit-Position: refs/heads/master@{#33244} > > > > > > TBR=hbos@webrtc.org,hta@webrtc.org > > > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > > > No-Try: True > > > Bug: None > > > Change-Id: I7dbedd3256cb7ff47eb5f8cd46c7c044ed0aa1e0 > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207283 > > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > > > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > > > Cr-Commit-Position: refs/heads/master@{#33255} > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > Bug: None > > Change-Id: I1bb6186d7f898de82d26f4cd3d8a88014140c518 > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207864 > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > > Reviewed-by: Henrik Boström <hbos@webrtc.org> > > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#33283} > > Bug: None > Change-Id: I2b09b57c2477e52301ac30ec12ed69f2555ba7f8 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208021 > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#33286} Bug: None Change-Id: I6e362ac2234ae6c69dc9bbf886ee7dece8484202 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208022 Reviewed-by: Henrik Boström <hbos@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33289}
2021-02-17 09:05:31 +00:00
"../api:rtp_transceiver_direction",
"../api:scoped_refptr",
"../api/audio:audio_mixer_api",
"../api/crypto:frame_decryptor_interface",
"../api/crypto:frame_encryptor_interface",
"../api/crypto:options",
"../api/rtc_event_log",
"../api/rtc_event_log:rtc_event_log_factory",
Reland "Reland "Split peer_connection_integrationtest.cc into pieces"" This reverts commit 89c40e246e39372390f0f843545d4e56aa657040. Reason for revert: Added missing INSTANTIATE Original change's description: > Revert "Reland "Split peer_connection_integrationtest.cc into pieces"" > > This reverts commit 772066bf16b125c1346a4d1b3e28c6e6f21cc1a7. > > Reason for revert: Did not catch all missing INSTANTIATE_TEST_SUITE_P > > Original change's description: > > Reland "Split peer_connection_integrationtest.cc into pieces" > > > > This reverts commit 8644f2b7632cff5e46560c2f5cf7c0dc071aa32d. > > > > Reason for revert: Fixed the bugs > > > > Original change's description: > > > Revert "Split peer_connection_integrationtest.cc into pieces" > > > > > > This reverts commit cae4656d4a7439e25160ff4d94e50949ff87cebe. > > > > > > Reason for revert: Breaks downstream build (missing INSTANTIATE_TEST_SUITE_P in pc/data_channel_integrationtest.cc). > > > > > > Original change's description: > > > > Split peer_connection_integrationtest.cc into pieces > > > > > > > > This creates two integration tests: One for datachannel, the other > > > > for every test that is not datachannel. > > > > > > > > It separates out the common framework to a new file in pc/test. > > > > Also applies some fixes to IWYU. > > > > > > > > Bug: None > > > > Change-Id: I919def1c360ffce205c20bec2d864aad9b179c3a > > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207060 > > > > Reviewed-by: Henrik Boström <hbos@webrtc.org> > > > > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > > > > Cr-Commit-Position: refs/heads/master@{#33244} > > > > > > TBR=hbos@webrtc.org,hta@webrtc.org > > > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > > > No-Try: True > > > Bug: None > > > Change-Id: I7dbedd3256cb7ff47eb5f8cd46c7c044ed0aa1e0 > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207283 > > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > > > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > > > Cr-Commit-Position: refs/heads/master@{#33255} > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > Bug: None > > Change-Id: I1bb6186d7f898de82d26f4cd3d8a88014140c518 > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207864 > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > > Reviewed-by: Henrik Boström <hbos@webrtc.org> > > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#33283} > > Bug: None > Change-Id: I2b09b57c2477e52301ac30ec12ed69f2555ba7f8 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208021 > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#33286} Bug: None Change-Id: I6e362ac2234ae6c69dc9bbf886ee7dece8484202 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208022 Reviewed-by: Henrik Boström <hbos@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33289}
2021-02-17 09:05:31 +00:00
"../api/task_queue",
"../api/task_queue:default_task_queue_factory",
"../api/transport:field_trial_based_config",
Reland "Reland "Split peer_connection_integrationtest.cc into pieces"" This reverts commit 89c40e246e39372390f0f843545d4e56aa657040. Reason for revert: Added missing INSTANTIATE Original change's description: > Revert "Reland "Split peer_connection_integrationtest.cc into pieces"" > > This reverts commit 772066bf16b125c1346a4d1b3e28c6e6f21cc1a7. > > Reason for revert: Did not catch all missing INSTANTIATE_TEST_SUITE_P > > Original change's description: > > Reland "Split peer_connection_integrationtest.cc into pieces" > > > > This reverts commit 8644f2b7632cff5e46560c2f5cf7c0dc071aa32d. > > > > Reason for revert: Fixed the bugs > > > > Original change's description: > > > Revert "Split peer_connection_integrationtest.cc into pieces" > > > > > > This reverts commit cae4656d4a7439e25160ff4d94e50949ff87cebe. > > > > > > Reason for revert: Breaks downstream build (missing INSTANTIATE_TEST_SUITE_P in pc/data_channel_integrationtest.cc). > > > > > > Original change's description: > > > > Split peer_connection_integrationtest.cc into pieces > > > > > > > > This creates two integration tests: One for datachannel, the other > > > > for every test that is not datachannel. > > > > > > > > It separates out the common framework to a new file in pc/test. > > > > Also applies some fixes to IWYU. > > > > > > > > Bug: None > > > > Change-Id: I919def1c360ffce205c20bec2d864aad9b179c3a > > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207060 > > > > Reviewed-by: Henrik Boström <hbos@webrtc.org> > > > > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > > > > Cr-Commit-Position: refs/heads/master@{#33244} > > > > > > TBR=hbos@webrtc.org,hta@webrtc.org > > > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > > > No-Try: True > > > Bug: None > > > Change-Id: I7dbedd3256cb7ff47eb5f8cd46c7c044ed0aa1e0 > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207283 > > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > > > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > > > Cr-Commit-Position: refs/heads/master@{#33255} > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > Bug: None > > Change-Id: I1bb6186d7f898de82d26f4cd3d8a88014140c518 > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207864 > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > > Reviewed-by: Henrik Boström <hbos@webrtc.org> > > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#33283} > > Bug: None > Change-Id: I2b09b57c2477e52301ac30ec12ed69f2555ba7f8 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208021 > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#33286} Bug: None Change-Id: I6e362ac2234ae6c69dc9bbf886ee7dece8484202 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208022 Reviewed-by: Henrik Boström <hbos@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33289}
2021-02-17 09:05:31 +00:00
"../api/transport:webrtc_key_value_config",
"../api/transport/rtp:rtp_source",
"../api/units:time_delta",
"../api/video:builtin_video_bitrate_allocator_factory",
Reland "Reland "Split peer_connection_integrationtest.cc into pieces"" This reverts commit 89c40e246e39372390f0f843545d4e56aa657040. Reason for revert: Added missing INSTANTIATE Original change's description: > Revert "Reland "Split peer_connection_integrationtest.cc into pieces"" > > This reverts commit 772066bf16b125c1346a4d1b3e28c6e6f21cc1a7. > > Reason for revert: Did not catch all missing INSTANTIATE_TEST_SUITE_P > > Original change's description: > > Reland "Split peer_connection_integrationtest.cc into pieces" > > > > This reverts commit 8644f2b7632cff5e46560c2f5cf7c0dc071aa32d. > > > > Reason for revert: Fixed the bugs > > > > Original change's description: > > > Revert "Split peer_connection_integrationtest.cc into pieces" > > > > > > This reverts commit cae4656d4a7439e25160ff4d94e50949ff87cebe. > > > > > > Reason for revert: Breaks downstream build (missing INSTANTIATE_TEST_SUITE_P in pc/data_channel_integrationtest.cc). > > > > > > Original change's description: > > > > Split peer_connection_integrationtest.cc into pieces > > > > > > > > This creates two integration tests: One for datachannel, the other > > > > for every test that is not datachannel. > > > > > > > > It separates out the common framework to a new file in pc/test. > > > > Also applies some fixes to IWYU. > > > > > > > > Bug: None > > > > Change-Id: I919def1c360ffce205c20bec2d864aad9b179c3a > > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207060 > > > > Reviewed-by: Henrik Boström <hbos@webrtc.org> > > > > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > > > > Cr-Commit-Position: refs/heads/master@{#33244} > > > > > > TBR=hbos@webrtc.org,hta@webrtc.org > > > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > > > No-Try: True > > > Bug: None > > > Change-Id: I7dbedd3256cb7ff47eb5f8cd46c7c044ed0aa1e0 > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207283 > > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > > > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > > > Cr-Commit-Position: refs/heads/master@{#33255} > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > Bug: None > > Change-Id: I1bb6186d7f898de82d26f4cd3d8a88014140c518 > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207864 > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > > Reviewed-by: Henrik Boström <hbos@webrtc.org> > > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#33283} > > Bug: None > Change-Id: I2b09b57c2477e52301ac30ec12ed69f2555ba7f8 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208021 > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#33286} Bug: None Change-Id: I6e362ac2234ae6c69dc9bbf886ee7dece8484202 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208022 Reviewed-by: Henrik Boström <hbos@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33289}
2021-02-17 09:05:31 +00:00
"../api/video:video_rtp_headers",
"../call/adaptation:resource_adaptation_test_utilities",
"../logging:fake_rtc_event_log",
"../media:rtc_data_sctp_transport_internal",
"../media:rtc_media_config",
"../media:rtc_media_engine_defaults",
"../modules/audio_device:audio_device_api",
"../modules/audio_processing:audio_processing_statistics",
"../modules/audio_processing:audioproc_test_utils",
"../modules/rtp_rtcp:rtp_rtcp_format",
"../p2p:fake_ice_transport",
"../p2p:fake_port_allocator",
Reland "Reland "Split peer_connection_integrationtest.cc into pieces"" This reverts commit 89c40e246e39372390f0f843545d4e56aa657040. Reason for revert: Added missing INSTANTIATE Original change's description: > Revert "Reland "Split peer_connection_integrationtest.cc into pieces"" > > This reverts commit 772066bf16b125c1346a4d1b3e28c6e6f21cc1a7. > > Reason for revert: Did not catch all missing INSTANTIATE_TEST_SUITE_P > > Original change's description: > > Reland "Split peer_connection_integrationtest.cc into pieces" > > > > This reverts commit 8644f2b7632cff5e46560c2f5cf7c0dc071aa32d. > > > > Reason for revert: Fixed the bugs > > > > Original change's description: > > > Revert "Split peer_connection_integrationtest.cc into pieces" > > > > > > This reverts commit cae4656d4a7439e25160ff4d94e50949ff87cebe. > > > > > > Reason for revert: Breaks downstream build (missing INSTANTIATE_TEST_SUITE_P in pc/data_channel_integrationtest.cc). > > > > > > Original change's description: > > > > Split peer_connection_integrationtest.cc into pieces > > > > > > > > This creates two integration tests: One for datachannel, the other > > > > for every test that is not datachannel. > > > > > > > > It separates out the common framework to a new file in pc/test. > > > > Also applies some fixes to IWYU. > > > > > > > > Bug: None > > > > Change-Id: I919def1c360ffce205c20bec2d864aad9b179c3a > > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207060 > > > > Reviewed-by: Henrik Boström <hbos@webrtc.org> > > > > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > > > > Cr-Commit-Position: refs/heads/master@{#33244} > > > > > > TBR=hbos@webrtc.org,hta@webrtc.org > > > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > > > No-Try: True > > > Bug: None > > > Change-Id: I7dbedd3256cb7ff47eb5f8cd46c7c044ed0aa1e0 > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207283 > > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > > > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > > > Cr-Commit-Position: refs/heads/master@{#33255} > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > Bug: None > > Change-Id: I1bb6186d7f898de82d26f4cd3d8a88014140c518 > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207864 > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > > Reviewed-by: Henrik Boström <hbos@webrtc.org> > > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#33283} > > Bug: None > Change-Id: I2b09b57c2477e52301ac30ec12ed69f2555ba7f8 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208021 > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#33286} Bug: None Change-Id: I6e362ac2234ae6c69dc9bbf886ee7dece8484202 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208022 Reviewed-by: Henrik Boström <hbos@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33289}
2021-02-17 09:05:31 +00:00
"../p2p:p2p_server_utils",
"../rtc_base:checks",
"../rtc_base:gunit_helpers",
Reland "Refactor rtc_base build targets." This is a reland of 69241a93fb14f6527a26d5c94dde879013012d2a Fix: The problem was related to NO_MAIN_THREAD_WRAPPING, which affects https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/rtc_base/thread.cc;l=257-263;drc=7acc2d9fe3a6e3c4d8881d2bdfc9b8968a724cd5. The original CL didn't attach the definition of the macro NO_MAIN_THREAD_WRAPPING when building for Chromium (which doesn't have to be related to //rtc_base anymore but to //rtc_base:threading). Original change's description: > Refactor rtc_base build targets. > > The "//rtc_base:rtc_base" build target has historically been one of the > biggest targets in the WebRTC build. Big targets are the main source of > circular dependencies and non-API types leakage. > > This CL is a step forward into splitting "//rtc_base:rtc_base" into > smaller targets (as originally started in 2018). > > The only non-automated changes are (like re-wiring the build system): > * The creation of //rtc_base/async_resolver.{h,cc} which allows to > break a circular dependency (is has been extracted from > //rtc_base/net_helpers.{h,cc}). > * The creation of //rtc_base/internal/default_socket_server.{h,cc} to > break another circular dependency. > > Bug: webrtc:9987 > Change-Id: I0c8f5e7efe2c8fd8e6bffa0d6dd2dd494cf3df02 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196903 > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#32941} Bug: webrtc:9987 Change-Id: I7cdf49d2aac8357f1f50f90010bf2c2f62fa19f6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202021 Reviewed-by: Niels Moller <nisse@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33001}
2021-01-15 10:41:01 +01:00
"../rtc_base:ip_address",
"../rtc_base:rtc_base_tests_utils",
"../rtc_base:rtc_json",
Reland "Refactor rtc_base build targets." This is a reland of 69241a93fb14f6527a26d5c94dde879013012d2a Fix: The problem was related to NO_MAIN_THREAD_WRAPPING, which affects https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/rtc_base/thread.cc;l=257-263;drc=7acc2d9fe3a6e3c4d8881d2bdfc9b8968a724cd5. The original CL didn't attach the definition of the macro NO_MAIN_THREAD_WRAPPING when building for Chromium (which doesn't have to be related to //rtc_base anymore but to //rtc_base:threading). Original change's description: > Refactor rtc_base build targets. > > The "//rtc_base:rtc_base" build target has historically been one of the > biggest targets in the WebRTC build. Big targets are the main source of > circular dependencies and non-API types leakage. > > This CL is a step forward into splitting "//rtc_base:rtc_base" into > smaller targets (as originally started in 2018). > > The only non-automated changes are (like re-wiring the build system): > * The creation of //rtc_base/async_resolver.{h,cc} which allows to > break a circular dependency (is has been extracted from > //rtc_base/net_helpers.{h,cc}). > * The creation of //rtc_base/internal/default_socket_server.{h,cc} to > break another circular dependency. > > Bug: webrtc:9987 > Change-Id: I0c8f5e7efe2c8fd8e6bffa0d6dd2dd494cf3df02 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196903 > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#32941} Bug: webrtc:9987 Change-Id: I7cdf49d2aac8357f1f50f90010bf2c2f62fa19f6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202021 Reviewed-by: Niels Moller <nisse@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33001}
2021-01-15 10:41:01 +01:00
"../rtc_base:socket_address",
"../rtc_base:threading",
"../rtc_base/synchronization:mutex",
"../rtc_base/third_party/base64",
"../rtc_base/third_party/sigslot",
"../system_wrappers:field_trial",
"../system_wrappers:metrics",
Reland "Surface ICE candidates that match an updated candidate filter." This is a reland of cd8d1cf68e4eeed71fba51c97006a91bfd41813d Original change's description: > Surface ICE candidates that match an updated candidate filter. > > After this change an ICE agent can surface candidates that do not match > the previous filter but are allowed by the updated one. The candidate > filter, as part of the internal implementation in the ICE transport, > manifests the RTCIceTransportPolicy field in RTCConfiguration. > > This new feature would allow an ICE agent to gather new candidates when > the transport policy changes from e.g. 'relay' to 'all' without an ICE > restart. > > A caveat in the current implementation remains, and a candidate can > surface multiple times if the transport policy, or the candidate filter > directly, performs multiple transitions from a value that disallows to > one that allows the underlying candidate type. For example, if the > transport policy is updated by 'all' -> 'relay' -> 'all', the same host > candidate can surface after the second update. > > > Bug: webrtc:8939 > Change-Id: I92c2e07dafab225c702c5de28f47958a0d3270cc > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132282 > Commit-Queue: Qingsi Wang <qingsi@webrtc.org> > Reviewed-by: Jeroen de Borst <jeroendb@webrtc.org> > Reviewed-by: Seth Hampson <shampson@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#27674} Bug: webrtc:8939 Change-Id: I9c32b1ea05028ecd937ab4912779dd958faf734f Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133582 Reviewed-by: Seth Hampson <shampson@webrtc.org> Reviewed-by: Jeroen de Borst <jeroendb@webrtc.org> Commit-Queue: Qingsi Wang <qingsi@webrtc.org> Cr-Commit-Position: refs/heads/master@{#27694}
2019-04-18 10:41:58 -07:00
"../test:field_trial",
"../test:fileutils",
"../test:rtp_test_utils",
VideoRtpReceiver & AudioRtpReceiver threading fixes. For implementations where the signaling and worker threads are not the same thread, this significantly cuts down on Thread::Invoke()s that would block the signaling thread while waiting for the worker thread. For Audio and Video Rtp receivers, the following methods now do not block the signaling thread: * GetParameters * SetJitterBufferMinimumDelay * GetSources * SetFrameDecryptor / GetFrameDecryptor * SetDepacketizerToDecoderFrameTransformer Importantly this change also makes the track() accessor accessible directly from the application thread (bypassing the proxy) since for receiver objects, the track object is const. Other changes: * Remove RefCountedObject inheritance, use make_ref_counted instead. * Every member variable in the rtp receiver classes is now RTC_GUARDED * Stop() now fully clears up worker thread state, and Stop() is consistently called before destruction. This means that there's one thread hop instead of at least 4 before (sometimes more), per receiver. * OnChanged triggered volume for audio tracks is done asynchronously. * Deleted most of the JitterBufferDelay implementation. Turns out that it was largely unnecessary overhead and complexity. It seems that these two classes are copy/pasted to a large extent so further refactoring would be good in the future, as to not have to fix each issue twice. Bug: chromium:1184611 Change-Id: I1ba5c3abbd1b0571f7d12850d64004fd2d83e5e2 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218605 Commit-Queue: Tommi <tommi@webrtc.org> Reviewed-by: Markus Handell <handellm@webrtc.org> Cr-Commit-Position: refs/heads/master@{#34022}
2021-05-17 14:50:10 +02:00
"../test:test_common",
"../test/pc/sctp:fake_sctp_transport",
"./scenario_tests:pc_scenario_tests",
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
if (is_android) {
deps += [ ":android_black_magic" ]
}
deps += [
":libjingle_peerconnection",
":pc_test_utils",
"../api:callfactory_api",
"../api:rtc_event_log_output_file",
"../api:rtc_stats_api",
"../api:rtp_parameters",
"../api/audio_codecs:audio_codecs_api",
"../api/audio_codecs:builtin_audio_decoder_factory",
"../api/audio_codecs:builtin_audio_encoder_factory",
"../api/audio_codecs:opus_audio_decoder_factory",
"../api/audio_codecs:opus_audio_encoder_factory",
"../api/audio_codecs/L16:audio_decoder_L16",
"../api/audio_codecs/L16:audio_encoder_L16",
"../api/video_codecs:builtin_video_decoder_factory",
"../api/video_codecs:builtin_video_encoder_factory",
"../api/video_codecs:video_codecs_api",
"../call:call_interfaces",
"../media:rtc_audio_video",
"../media:rtc_media_base",
"../media:rtc_media_tests_utils",
"../modules/audio_processing",
Reland "Isolating APM API build target: making :api an actual target." This reverts commit 61c6e5643e7ea058e653956980a90e033249c055. Reason for revert: downstream projects prepared for this change Original change's description: > Revert "Isolating APM API build target: making :api an actual target." > > This reverts commit a7f77a7c05b5d26520fd01a773ffb2c8b15b60ff. > > Reason for revert: breaking downstream > > Original change's description: > > Isolating APM API build target: making :api an actual target. > > > > This CL is part of a refactoring work to unblock other CLs > > that would generate a circular dependency when including > > modules/audio_processing. It will also allow to easily move > > the APM interface part under //api. > > > > More in detail, this change moves the APM interface files from > > the build target modules/audio_processing to > > modules/audio_processing:api. It also adds :api as dependency > > where needed. > > > > Bug: webrtc:9535 > > Change-Id: I72829e22d08ba4d75985f0421e6e8bf0216ebecd > > Reviewed-on: https://webrtc-review.googlesource.com/c/109501 > > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> > > Reviewed-by: Kári Helgason <kthelgason@webrtc.org> > > Reviewed-by: Niels Moller <nisse@webrtc.org> > > Reviewed-by: Sam Zackrisson <saza@webrtc.org> > > Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#25539} > > TBR=saza@webrtc.org,alessiob@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org,kthelgason@webrtc.org > > Change-Id: I974c6237311e7c06970aa62e5f6940f3aa80113d > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: webrtc:9535 > Reviewed-on: https://webrtc-review.googlesource.com/c/109820 > Reviewed-by: Alessio Bazzica <alessiob@webrtc.org> > Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#25540} TBR=saza@webrtc.org,alessiob@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org,kthelgason@webrtc.org Change-Id: Ic8ed4cc3baf43d639ce13cae256c007728c3ad92 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:9535 Reviewed-on: https://webrtc-review.googlesource.com/c/109884 Reviewed-by: Alessio Bazzica <alessiob@webrtc.org> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org> Cr-Commit-Position: refs/heads/master@{#25547}
2018-11-07 14:29:54 +00:00
"../modules/audio_processing:api",
"../modules/utility",
"../p2p:p2p_test_utils",
"../p2p:rtc_p2p",
"../pc:rtc_pc",
"../rtc_base",
"../rtc_base:rtc_base_approved",
Detangling target dependencies in rtc_base_approved. The eventual goal is to allow PlatformThread to use SequencedTaskChecker, but getting to that point will require some more detangling. Here are (roughly) the steps taken in this CL: * Make constructormagic a separate target. * Move atomicops and arraysize to separate targets * Move platform_thread_types to a separate target * Move criticalsection to a separate target * Move thread_checker to separate target * Make sequenced_task_checker not depend on base_approved * Move ptr_util to a separate target * Move scoped_ptr to ptr_util * Make rtc_task_queue_api not depend on base_approved * Make sequenced_task_checker depend on rtc_task_queue_api * Move rtc::Event to its own target * Move basictypes.h to constructormagic * Move format_macros and stringize_macros into constructormagic * Rename constructormagic target to... macromagic * Move stringencode to stringutils * New target for safe_conversions * Move timeutils to a new target. * Move logging to a new target. * Move platform_thread to a new target. * Make refcount a new target (refcount, refcountedobject, refcounter). * Remove rtc_base_approved from deps of TQ * Remove a circular dependency between event tracer and platform thread. Further steps will probably be to factor TaskQueue::Current() to not be a part of the TaskQueue class itself and have it declared+implemented in a target that's lower level than TQ itself. SequencedTaskChecker can then depend on that target and avoid the TQ dependency. Once we're there, PlatformThread will be able to depend on SequencedTaskChecker. Attempted but eventually removed from this CL: * Make TQ a part of rtc_base_approved * Remove direct dependencies on sequenced_task_checker. * Profit. A few include-what-you-use updates along the way. Fix a few targets that were depending on rtc_task_queue_api Change-Id: Iee79aa2e81d978444c51b3005db9df7dc12d92a9 Bug: webrtc:8957 Reviewed-on: https://webrtc-review.googlesource.com/58480 Commit-Queue: Tommi <tommi@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Cr-Commit-Position: refs/heads/master@{#22487}
2018-03-19 11:12:48 +01:00
"../rtc_base:rtc_task_queue",
"../rtc_base:safe_conversions",
"../test:audio_codec_mocks",
"../test:test_main",
"../test:test_support",
]
if (is_android) {
deps += [
"//testing/android/native_test:native_test_support",
# We need to depend on this one directly, or classloads will fail for
# the voice engine BuildInfo, for instance.
"../sdk/android:libjingle_peerconnection_java",
]
shard_timeout = 900
}
}
if (is_android) {
rtc_library("android_black_magic") {
# The android code uses hacky includes to chromium-base and the ssl code;
# having this in a separate target enables us to keep the peerconnection
# unit tests clean.
check_includes = false
testonly = true
sources = [
"test/android_test_initializer.cc",
"test/android_test_initializer.h",
]
deps = [
"../sdk/android:libjingle_peerconnection_jni",
"//testing/android/native_test:native_test_support",
]
}
}
rtc_library("integration_test_helpers") {
testonly = true
sources = [
"test/integration_test_helpers.cc",
"test/integration_test_helpers.h",
]
deps = [
":audio_rtp_receiver",
":audio_track",
":dtmf_sender",
":jitter_buffer_delay",
":media_stream",
":pc_test_utils",
":peerconnection",
":remote_audio_source",
":rtc_pc_base",
":rtp_parameters_conversion",
":rtp_receiver",
":rtp_sender",
":rtp_transceiver",
":session_description",
":usage_pattern",
":video_rtp_receiver",
":video_rtp_track_source",
":video_track",
":video_track_source",
"../api:array_view",
"../api:audio_options_api",
"../api:callfactory_api",
"../api:create_peerconnection_factory",
"../api:fake_frame_decryptor",
"../api:fake_frame_encryptor",
"../api:function_view",
"../api:libjingle_logging_api",
"../api:libjingle_peerconnection_api",
"../api:media_stream_interface",
"../api:mock_rtp",
"../api:packet_socket_factory",
"../api:rtc_error",
"../api:rtc_stats_api",
"../api:rtp_parameters",
"../api:rtp_transceiver_direction",
"../api:scoped_refptr",
"../api/audio:audio_mixer_api",
"../api/crypto:frame_decryptor_interface",
"../api/crypto:frame_encryptor_interface",
"../api/crypto:options",
"../api/rtc_event_log",
"../api/rtc_event_log:rtc_event_log_factory",
"../api/task_queue",
"../api/task_queue:default_task_queue_factory",
"../api/transport:field_trial_based_config",
"../api/transport:webrtc_key_value_config",
"../api/transport/rtp:rtp_source",
"../api/units:time_delta",
"../api/video:builtin_video_bitrate_allocator_factory",
"../api/video:video_rtp_headers",
"../api/video_codecs:video_codecs_api",
"../call:call_interfaces",
"../call/adaptation:resource_adaptation_test_utilities",
"../logging:fake_rtc_event_log",
"../media:rtc_audio_video",
"../media:rtc_media_base",
"../media:rtc_media_config",
"../media:rtc_media_engine_defaults",
"../media:rtc_media_tests_utils",
"../modules/audio_device:audio_device_api",
"../modules/audio_processing:api",
"../modules/audio_processing:audio_processing_statistics",
"../modules/audio_processing:audioproc_test_utils",
"../modules/rtp_rtcp:rtp_rtcp_format",
"../p2p:fake_ice_transport",
"../p2p:fake_port_allocator",
"../p2p:p2p_server_utils",
"../p2p:p2p_test_utils",
"../p2p:rtc_p2p",
"../rtc_base",
"../rtc_base:checks",
"../rtc_base:gunit_helpers",
"../rtc_base:ip_address",
"../rtc_base:rtc_base_tests_utils",
"../rtc_base:rtc_json",
"../rtc_base:socket_address",
"../rtc_base:threading",
"../rtc_base:timeutils",
"../rtc_base/synchronization:mutex",
"../rtc_base/task_utils:pending_task_safety_flag",
"../rtc_base/task_utils:to_queued_task",
"../rtc_base/third_party/base64",
"../rtc_base/third_party/sigslot",
"../system_wrappers:metrics",
"../test:field_trial",
"../test:fileutils",
"../test:rtp_test_utils",
"../test:test_support",
"../test/pc/sctp:fake_sctp_transport",
]
absl_deps = [
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/types:optional",
]
}
rtc_library("pc_test_utils") {
testonly = true
sources = [
"test/fake_audio_capture_module.cc",
"test/fake_audio_capture_module.h",
"test/fake_data_channel_provider.h",
"test/fake_peer_connection_base.h",
"test/fake_peer_connection_for_stats.h",
"test/fake_periodic_video_source.h",
"test/fake_periodic_video_track_source.h",
"test/fake_rtc_certificate_generator.h",
"test/fake_video_track_renderer.h",
"test/fake_video_track_source.h",
"test/frame_generator_capturer_video_track_source.h",
"test/mock_channel_interface.h",
"test/mock_data_channel.h",
"test/mock_peer_connection_observers.h",
"test/mock_rtp_receiver_internal.h",
"test/mock_rtp_sender_internal.h",
"test/peer_connection_test_wrapper.cc",
"test/peer_connection_test_wrapper.h",
"test/rtc_stats_obtainer.h",
"test/test_sdp_strings.h",
]
deps = [
":jitter_buffer_delay",
":libjingle_peerconnection",
":peerconnection",
":rtc_pc_base",
":rtp_receiver",
":rtp_sender",
":video_track_source",
"../api:audio_options_api",
"../api:create_frame_generator",
"../api:create_peerconnection_factory",
"../api:libjingle_peerconnection_api",
"../api:media_stream_interface",
"../api:rtc_error",
"../api:rtc_stats_api",
"../api:scoped_refptr",
"../api:sequence_checker",
"../api/audio:audio_mixer_api",
"../api/audio_codecs:audio_codecs_api",
"../api/task_queue",
"../api/task_queue:default_task_queue_factory",
"../api/video:builtin_video_bitrate_allocator_factory",
"../api/video:video_frame",
"../api/video:video_rtp_headers",
"../api/video_codecs:builtin_video_decoder_factory",
"../api/video_codecs:builtin_video_encoder_factory",
"../api/video_codecs:video_codecs_api",
"../call:call_interfaces",
"../media:rtc_media",
"../media:rtc_media_base",
"../media:rtc_media_tests_utils",
"../modules/audio_device",
"../modules/audio_processing",
"../modules/audio_processing:api",
"../p2p:fake_port_allocator",
"../p2p:p2p_test_utils",
"../p2p:rtc_p2p",
"../rtc_base",
"../rtc_base:checks",
"../rtc_base:gunit_helpers",
"../rtc_base:rtc_base_approved",
"../rtc_base:rtc_task_queue",
"../rtc_base:task_queue_for_test",
"../rtc_base:threading",
"../rtc_base/synchronization:mutex",
"../rtc_base/task_utils:repeating_task",
"../rtc_base/third_party/sigslot",
"../test:test_support",
"../test:video_test_common",
]
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
}
}