Move proxies into pc/.

Bug: webrtc:12787
Change-Id: Ia244d9d22d35436a02cf5a448bd1520cb66ff352
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220321
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34141}
This commit is contained in:
Markus Handell 2021-05-26 18:56:30 +02:00 committed by WebRTC LUCI CQ
parent 7d2e669a38
commit a1b8201009
31 changed files with 90 additions and 69 deletions

View File

@ -135,14 +135,8 @@ rtc_library("libjingle_peerconnection_api") {
"jsep_ice_candidate.cc",
"jsep_ice_candidate.h",
"jsep_session_description.h",
"media_stream_proxy.h",
"media_stream_track_proxy.h",
"peer_connection_factory_proxy.h",
"peer_connection_interface.cc",
"peer_connection_interface.h",
"peer_connection_proxy.h",
"proxy.cc",
"proxy.h",
"rtp_receiver_interface.cc",
"rtp_receiver_interface.h",
"rtp_sender_interface.cc",
@ -157,8 +151,6 @@ rtc_library("libjingle_peerconnection_api") {
"stats_types.h",
"turn_customizer.h",
"uma_metrics.h",
"video_track_source_proxy.cc",
"video_track_source_proxy.h",
"video_track_source_proxy_factory.h",
]
deps = [

View File

@ -23,6 +23,20 @@ config("rtc_pc_config") {
}
}
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") {
visibility = [ "*" ]
defines = []
@ -46,6 +60,10 @@ rtc_library("rtc_pc_base") {
"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",
@ -74,10 +92,13 @@ rtc_library("rtc_pc_base") {
"transport_stats.cc",
"transport_stats.h",
"used_ids.h",
"video_track_source_proxy.cc",
"video_track_source_proxy.h",
]
deps = [
":media_protocol_names",
":proxy",
"../api:array_view",
"../api:async_dns_resolver",
"../api:audio_options_api",
@ -85,6 +106,7 @@ rtc_library("rtc_pc_base") {
"../api:function_view",
"../api:ice_transport_factory",
"../api:libjingle_peerconnection_api",
"../api:media_stream_interface",
"../api:packet_socket_factory",
"../api:priority",
"../api:rtc_error",
@ -221,6 +243,7 @@ rtc_library("peerconnection") {
":media_protocol_names",
":media_stream",
":peer_connection_message_handler",
":proxy",
":remote_audio_source",
":rtc_pc_base",
":rtp_parameters_conversion",
@ -382,6 +405,7 @@ rtc_library("rtp_transceiver") {
"rtp_transceiver.h",
]
deps = [
":proxy",
":rtc_pc_base",
":rtp_parameters_conversion",
":rtp_receiver",
@ -473,6 +497,7 @@ rtc_library("rtp_receiver") {
]
deps = [
":media_stream",
":rtc_pc_base",
":video_track_source",
"../api:libjingle_peerconnection_api",
"../api:media_stream_interface",
@ -504,6 +529,7 @@ rtc_library("audio_rtp_receiver") {
":jitter_buffer_delay",
":media_stream",
":remote_audio_source",
":rtc_pc_base",
":rtp_receiver",
"../api:frame_transformer_interface",
"../api:libjingle_peerconnection_api",
@ -537,6 +563,7 @@ rtc_library("video_rtp_receiver") {
deps = [
":jitter_buffer_delay",
":media_stream",
":rtc_pc_base",
":rtp_receiver",
":video_rtp_track_source",
":video_track",
@ -725,6 +752,7 @@ rtc_library("dtmf_sender") {
"dtmf_sender.h",
]
deps = [
":proxy",
"../api:libjingle_peerconnection_api",
"../api:scoped_refptr",
"../rtc_base:checks",
@ -997,6 +1025,7 @@ if (rtc_include_tests && !build_with_chromium) {
":jitter_buffer_delay",
":media_stream",
":peerconnection",
":proxy",
":remote_audio_source",
":rtc_pc_base",
":rtp_parameters_conversion",

View File

@ -15,9 +15,9 @@
#include <utility>
#include <vector>
#include "api/media_stream_track_proxy.h"
#include "api/sequence_checker.h"
#include "pc/audio_track.h"
#include "pc/media_stream_track_proxy.h"
#include "rtc_base/checks.h"
#include "rtc_base/location.h"
#include "rtc_base/logging.h"

View File

@ -21,7 +21,6 @@
#include "api/dtls_transport_interface.h"
#include "api/frame_transformer_interface.h"
#include "api/media_stream_interface.h"
#include "api/media_stream_track_proxy.h"
#include "api/media_types.h"
#include "api/rtp_parameters.h"
#include "api/rtp_receiver_interface.h"
@ -31,6 +30,7 @@
#include "media/base/media_channel.h"
#include "pc/audio_track.h"
#include "pc/jitter_buffer_delay.h"
#include "pc/media_stream_track_proxy.h"
#include "pc/remote_audio_source.h"
#include "pc/rtp_receiver.h"
#include "rtc_base/ref_counted_object.h"

View File

@ -16,8 +16,8 @@
#include <string>
#include "api/dtmf_sender_interface.h"
#include "api/proxy.h"
#include "api/scoped_refptr.h"
#include "pc/proxy.h"
#include "rtc_base/constructor_magic.h"
#include "rtc_base/location.h"
#include "rtc_base/ref_count.h"

View File

@ -8,18 +8,18 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#ifndef API_MEDIA_STREAM_PROXY_H_
#define API_MEDIA_STREAM_PROXY_H_
#ifndef PC_MEDIA_STREAM_PROXY_H_
#define PC_MEDIA_STREAM_PROXY_H_
#include <string>
#include "api/media_stream_interface.h"
#include "api/proxy.h"
#include "pc/proxy.h"
namespace webrtc {
// TODO(deadbeef): Move this to .cc file and out of api/. What threads methods
// are called on is an implementation detail.
// TODO(deadbeef): Move this to a .cc file. What threads methods are called on
// is an implementation detail.
BEGIN_PRIMARY_PROXY_MAP(MediaStream)
PROXY_PRIMARY_THREAD_DESTRUCTOR()
BYPASS_PROXY_CONSTMETHOD0(std::string, id)
@ -41,4 +41,4 @@ END_PROXY_MAP()
} // namespace webrtc
#endif // API_MEDIA_STREAM_PROXY_H_
#endif // PC_MEDIA_STREAM_PROXY_H_

View File

@ -11,19 +11,18 @@
// This file includes proxy classes for tracks. The purpose is
// to make sure tracks are only accessed from the signaling thread.
#ifndef API_MEDIA_STREAM_TRACK_PROXY_H_
#define API_MEDIA_STREAM_TRACK_PROXY_H_
#ifndef PC_MEDIA_STREAM_TRACK_PROXY_H_
#define PC_MEDIA_STREAM_TRACK_PROXY_H_
#include <string>
#include "api/media_stream_interface.h"
#include "api/proxy.h"
#include "pc/proxy.h"
namespace webrtc {
// TODO(deadbeef): Move this to .cc file and out of api/. What threads methods
// are called on is an implementation detail.
// TODO(deadbeef): Move this to .cc file. What threads methods are called on is
// an implementation detail.
BEGIN_PRIMARY_PROXY_MAP(AudioTrack)
PROXY_PRIMARY_THREAD_DESTRUCTOR()
BYPASS_PROXY_CONSTMETHOD0(std::string, kind)
@ -62,4 +61,4 @@ END_PROXY_MAP()
} // namespace webrtc
#endif // API_MEDIA_STREAM_TRACK_PROXY_H_
#endif // PC_MEDIA_STREAM_TRACK_PROXY_H_

View File

@ -13,7 +13,6 @@
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
#include "api/audio_codecs/builtin_audio_encoder_factory.h"
#include "api/create_peerconnection_factory.h"
#include "api/peer_connection_proxy.h"
#include "api/video_codecs/builtin_video_decoder_factory.h"
#include "api/video_codecs/builtin_video_encoder_factory.h"
#include "p2p/base/fake_port_allocator.h"
@ -21,6 +20,7 @@
#include "p2p/client/basic_port_allocator.h"
#include "pc/media_session.h"
#include "pc/peer_connection.h"
#include "pc/peer_connection_proxy.h"
#include "pc/peer_connection_wrapper.h"
#include "pc/sdp_utils.h"
#ifdef WEBRTC_ANDROID

View File

@ -19,7 +19,6 @@
#include "api/jsep.h"
#include "api/media_types.h"
#include "api/peer_connection_interface.h"
#include "api/peer_connection_proxy.h"
#include "api/scoped_refptr.h"
#include "api/task_queue/default_task_queue_factory.h"
#include "media/base/codec.h"
@ -32,6 +31,7 @@
#include "pc/media_session.h"
#include "pc/peer_connection.h"
#include "pc/peer_connection_factory.h"
#include "pc/peer_connection_proxy.h"
#include "pc/peer_connection_wrapper.h"
#include "pc/sdp_utils.h"
#include "pc/session_description.h"

View File

@ -18,12 +18,8 @@
#include "api/call/call_factory_interface.h"
#include "api/fec_controller.h"
#include "api/ice_transport_interface.h"
#include "api/media_stream_proxy.h"
#include "api/media_stream_track_proxy.h"
#include "api/network_state_predictor.h"
#include "api/packet_socket_factory.h"
#include "api/peer_connection_factory_proxy.h"
#include "api/peer_connection_proxy.h"
#include "api/rtc_event_log/rtc_event_log.h"
#include "api/sequence_checker.h"
#include "api/transport/bitrate_settings.h"
@ -38,7 +34,11 @@
#include "pc/audio_track.h"
#include "pc/local_audio_source.h"
#include "pc/media_stream.h"
#include "pc/media_stream_proxy.h"
#include "pc/media_stream_track_proxy.h"
#include "pc/peer_connection.h"
#include "pc/peer_connection_factory_proxy.h"
#include "pc/peer_connection_proxy.h"
#include "pc/rtp_parameters_conversion.h"
#include "pc/session_description.h"
#include "pc/video_track.h"

View File

@ -8,20 +8,20 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#ifndef API_PEER_CONNECTION_FACTORY_PROXY_H_
#define API_PEER_CONNECTION_FACTORY_PROXY_H_
#ifndef PC_PEER_CONNECTION_FACTORY_PROXY_H_
#define PC_PEER_CONNECTION_FACTORY_PROXY_H_
#include <memory>
#include <string>
#include <utility>
#include "api/peer_connection_interface.h"
#include "api/proxy.h"
#include "pc/proxy.h"
namespace webrtc {
// TODO(deadbeef): Move this to .cc file and out of api/. What threads methods
// are called on is an implementation detail.
// TODO(deadbeef): Move this to .cc file. What threads methods are called on is
// an implementation detail.
BEGIN_PROXY_MAP(PeerConnectionFactory)
PROXY_PRIMARY_THREAD_DESTRUCTOR()
PROXY_METHOD1(void, SetOptions, const Options&)
@ -55,4 +55,4 @@ END_PROXY_MAP()
} // namespace webrtc
#endif // API_PEER_CONNECTION_FACTORY_PROXY_H_
#endif // PC_PEER_CONNECTION_FACTORY_PROXY_H_

View File

@ -19,7 +19,6 @@
#include "api/jsep.h"
#include "api/jsep_session_description.h"
#include "api/peer_connection_interface.h"
#include "api/peer_connection_proxy.h"
#include "api/rtc_error.h"
#include "api/scoped_refptr.h"
#include "api/task_queue/default_task_queue_factory.h"
@ -29,6 +28,7 @@
#include "p2p/client/basic_port_allocator.h"
#include "pc/peer_connection.h"
#include "pc/peer_connection_factory.h"
#include "pc/peer_connection_proxy.h"
#include "pc/peer_connection_wrapper.h"
#include "pc/sdp_utils.h"
#include "pc/test/mock_peer_connection_observers.h"

View File

@ -23,10 +23,10 @@
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
#include "api/audio_codecs/builtin_audio_encoder_factory.h"
#include "api/create_peerconnection_factory.h"
#include "api/peer_connection_proxy.h"
#include "api/uma_metrics.h"
#include "api/video_codecs/builtin_video_decoder_factory.h"
#include "api/video_codecs/builtin_video_encoder_factory.h"
#include "pc/peer_connection_proxy.h"
#include "pc/test/fake_audio_capture_module.h"
#include "pc/test/mock_peer_connection_observers.h"
#include "rtc_base/fake_network.h"

View File

@ -8,23 +8,23 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#ifndef API_PEER_CONNECTION_PROXY_H_
#define API_PEER_CONNECTION_PROXY_H_
#ifndef PC_PEER_CONNECTION_PROXY_H_
#define PC_PEER_CONNECTION_PROXY_H_
#include <memory>
#include <string>
#include <vector>
#include "api/peer_connection_interface.h"
#include "api/proxy.h"
#include "pc/proxy.h"
namespace webrtc {
// PeerConnection proxy objects will be constructed with two thread pointers,
// signaling and network. The proxy macros don't have 'network' specific macros
// and support for a secondary thread is provided via 'SECONDARY' macros.
// TODO(deadbeef): Move this to .cc file and out of api/. What threads methods
// are called on is an implementation detail.
// TODO(deadbeef): Move this to .cc file. What threads methods are called on is
// an implementation detail.
BEGIN_PROXY_MAP(PeerConnection)
PROXY_PRIMARY_THREAD_DESTRUCTOR()
PROXY_METHOD0(rtc::scoped_refptr<StreamCollectionInterface>, local_streams)
@ -161,4 +161,4 @@ END_PROXY_MAP()
} // namespace webrtc
#endif // API_PEER_CONNECTION_PROXY_H_
#endif // PC_PEER_CONNECTION_PROXY_H_

View File

@ -19,10 +19,10 @@
#include "api/audio_codecs/builtin_audio_encoder_factory.h"
#include "api/create_peerconnection_factory.h"
#include "api/jsep_session_description.h"
#include "api/peer_connection_proxy.h"
#include "api/video_codecs/builtin_video_decoder_factory.h"
#include "api/video_codecs/builtin_video_encoder_factory.h"
#include "pc/peer_connection.h"
#include "pc/peer_connection_proxy.h"
#include "pc/peer_connection_wrapper.h"
#include "pc/sdp_utils.h"
#include "pc/webrtc_sdp.h"

View File

@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#include "api/proxy.h"
#include "pc/proxy.h"
#include "rtc_base/trace_event.h"

View File

@ -56,8 +56,8 @@
// The variant defined with BEGIN_OWNED_PROXY_MAP does not use
// refcounting, and instead just takes ownership of the object being proxied.
#ifndef API_PROXY_H_
#define API_PROXY_H_
#ifndef PC_PROXY_H_
#define PC_PROXY_H_
#include <memory>
#include <string>
@ -440,4 +440,4 @@ class ConstMethodCall : public QueuedTask {
} // namespace webrtc
#endif // API_PROXY_H_
#endif // PC_PROXY_H_

View File

@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#include "api/proxy.h"
#include "pc/proxy.h"
#include <memory>
#include <string>

View File

@ -15,8 +15,8 @@
#include <utility>
#include <vector>
#include "api/media_stream_proxy.h"
#include "pc/media_stream.h"
#include "pc/media_stream_proxy.h"
#include "rtc_base/location.h"
namespace webrtc {

View File

@ -14,8 +14,8 @@
#include <string>
#include <vector>
#include "api/proxy.h"
#include "api/rtp_receiver_interface.h"
#include "pc/proxy.h"
namespace webrtc {

View File

@ -14,8 +14,8 @@
#include <string>
#include <vector>
#include "api/proxy.h"
#include "api/rtp_sender_interface.h"
#include "pc/proxy.h"
namespace webrtc {

View File

@ -21,7 +21,6 @@
#include "absl/types/optional.h"
#include "api/array_view.h"
#include "api/media_types.h"
#include "api/proxy.h"
#include "api/rtc_error.h"
#include "api/rtp_parameters.h"
#include "api/rtp_transceiver_direction.h"
@ -30,6 +29,7 @@
#include "api/task_queue/task_queue_base.h"
#include "pc/channel_interface.h"
#include "pc/channel_manager.h"
#include "pc/proxy.h"
#include "pc/rtp_receiver.h"
#include "pc/rtp_receiver_proxy.h"
#include "pc/rtp_sender.h"

View File

@ -15,8 +15,8 @@
#include <string>
#include <utility>
#include "api/proxy.h"
#include "media/sctp/sctp_transport_internal.h"
#include "pc/proxy.h"
#include "pc/sctp_utils.h"
#include "rtc_base/checks.h"
#include "rtc_base/location.h"

View File

@ -23,7 +23,6 @@
#include "api/array_view.h"
#include "api/crypto/crypto_options.h"
#include "api/dtls_transport_interface.h"
#include "api/media_stream_proxy.h"
#include "api/rtp_parameters.h"
#include "api/rtp_receiver_interface.h"
#include "api/rtp_sender_interface.h"
@ -41,6 +40,7 @@
#include "pc/data_channel_utils.h"
#include "pc/dtls_transport.h"
#include "pc/media_stream.h"
#include "pc/media_stream_proxy.h"
#include "pc/peer_connection.h"
#include "pc/peer_connection_message_handler.h"
#include "pc/rtp_media_utils.h"

View File

@ -37,7 +37,6 @@
#include "api/media_stream_interface.h"
#include "api/media_types.h"
#include "api/peer_connection_interface.h"
#include "api/peer_connection_proxy.h"
#include "api/rtc_error.h"
#include "api/rtc_event_log/rtc_event_log_factory.h"
#include "api/rtc_event_log/rtc_event_log_factory_interface.h"
@ -84,6 +83,7 @@
#include "pc/media_session.h"
#include "pc/peer_connection.h"
#include "pc/peer_connection_factory.h"
#include "pc/peer_connection_proxy.h"
#include "pc/rtp_media_utils.h"
#include "pc/session_description.h"
#include "pc/test/fake_audio_capture_module.h"

View File

@ -21,7 +21,6 @@
#include "api/dtls_transport_interface.h"
#include "api/frame_transformer_interface.h"
#include "api/media_stream_interface.h"
#include "api/media_stream_track_proxy.h"
#include "api/media_types.h"
#include "api/rtp_parameters.h"
#include "api/rtp_receiver_interface.h"
@ -33,6 +32,7 @@
#include "api/video/video_source_interface.h"
#include "media/base/media_channel.h"
#include "pc/jitter_buffer_delay.h"
#include "pc/media_stream_track_proxy.h"
#include "pc/rtp_receiver.h"
#include "pc/video_rtp_track_source.h"
#include "pc/video_track.h"

View File

@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#include "api/video_track_source_proxy.h"
#include "pc/video_track_source_proxy.h"
#include "api/media_stream_interface.h"
#include "api/video_track_source_proxy_factory.h"

View File

@ -8,18 +8,18 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#ifndef API_VIDEO_TRACK_SOURCE_PROXY_H_
#define API_VIDEO_TRACK_SOURCE_PROXY_H_
#ifndef PC_VIDEO_TRACK_SOURCE_PROXY_H_
#define PC_VIDEO_TRACK_SOURCE_PROXY_H_
#include "api/media_stream_interface.h"
#include "api/proxy.h"
#include "pc/proxy.h"
namespace webrtc {
// Makes sure the real VideoTrackSourceInterface implementation is destroyed on
// the signaling thread and marshals all method calls to the signaling thread.
// TODO(deadbeef): Move this to .cc file and out of api/. What threads methods
// are called on is an implementation detail.
// TODO(deadbeef): Move this to .cc file. What threads methods are called on is
// an implementation detail.
BEGIN_PROXY_MAP(VideoTrackSource)
PROXY_PRIMARY_THREAD_DESTRUCTOR()
PROXY_CONSTMETHOD0(SourceState, state)
@ -46,4 +46,4 @@ END_PROXY_MAP()
} // namespace webrtc
#endif // API_VIDEO_TRACK_SOURCE_PROXY_H_
#endif // PC_VIDEO_TRACK_SOURCE_PROXY_H_

View File

@ -390,6 +390,7 @@ if (is_ios || is_mac) {
"../api/video:video_rtp_headers",
"../common_video",
"../media:rtc_media_base",
"../pc:rtc_pc_base",
"../rtc_base",
"../rtc_base:checks",
"../rtc_base:threading",

View File

@ -10,7 +10,7 @@
#import "RTCVideoSource+Private.h"
#include "api/video_track_source_proxy.h"
#include "pc/video_track_source_proxy.h"
#include "rtc_base/checks.h"
#include "sdk/objc/native/src/objc_video_track_source.h"

View File

@ -11,7 +11,8 @@
#include "sdk/objc/native/api/video_capturer.h"
#include "absl/memory/memory.h"
#include "api/video_track_source_proxy.h"
#include "api/video_track_source_proxy_factory.h"
#include "rtc_base/ref_counted_object.h"
#include "sdk/objc/native/src/objc_video_track_source.h"
namespace webrtc {
@ -24,8 +25,7 @@ rtc::scoped_refptr<webrtc::VideoTrackSourceInterface> ObjCToNativeVideoCapturer(
rtc::scoped_refptr<webrtc::ObjCVideoTrackSource> objc_video_track_source(
new rtc::RefCountedObject<webrtc::ObjCVideoTrackSource>(adapter));
rtc::scoped_refptr<webrtc::VideoTrackSourceInterface> video_source =
webrtc::VideoTrackSourceProxy::Create(
signaling_thread, worker_thread, objc_video_track_source);
webrtc::CreateVideoTrackSourceProxy(signaling_thread, worker_thread, objc_video_track_source);
objc_video_capturer.delegate = adapter;