diff --git a/api/BUILD.gn b/api/BUILD.gn
index aeb03e5..ef8e331 100644
--- a/api/BUILD.gn
+++ b/api/BUILD.gn
@@ -41,6 +41,7 @@
   visibility = [ "*" ]
   sources = [
     "call/call_factory_interface.h",
+    "call/callfactoryinterface.h",
   ]
 }
 
@@ -78,23 +79,33 @@
   cflags = []
   sources = [
     "async_resolver_factory.h",
+    "asyncresolverfactory.h",
     "bitrate_constraints.h",
     "candidate.cc",
     "candidate.h",
     "crypto/crypto_options.cc",
     "crypto/crypto_options.h",
+    "crypto/cryptooptions.h",
     "crypto/frame_decryptor_interface.h",
     "crypto/frame_encryptor_interface.h",
+    "crypto/framedecryptorinterface.h",
+    "crypto/frameencryptorinterface.h",
     "crypto_params.h",
+    "cryptoparams.h",
     "data_channel_interface.cc",
     "data_channel_interface.h",
+    "datachannelinterface.h",
     "dtls_transport_interface.h",
+    "dtlstransportinterface.h",
     "dtmf_sender_interface.h",
+    "dtmfsenderinterface.h",
     "jsep.cc",
     "jsep.h",
     "jsep_ice_candidate.cc",
     "jsep_ice_candidate.h",
     "jsep_session_description.h",
+    "jsepicecandidate.h",
+    "jsepsessiondescription.h",
     "media_constraints_interface.cc",
     "media_constraints_interface.h",
     "media_stream_interface.cc",
@@ -105,15 +116,24 @@
     "media_transport_interface.h",
     "media_types.cc",
     "media_types.h",
+    "mediaconstraintsinterface.h",
+    "mediastreaminterface.h",
+    "mediastreamproxy.h",
+    "mediastreamtrackproxy.h",
+    "mediatypes.h",
     "notifier.h",
     "peer_connection_factory_proxy.h",
     "peer_connection_interface.cc",
     "peer_connection_interface.h",
     "peer_connection_proxy.h",
+    "peerconnectionfactoryproxy.h",
+    "peerconnectioninterface.h",
+    "peerconnectionproxy.h",
     "proxy.cc",
     "proxy.h",
     "rtc_error.cc",
     "rtc_error.h",
+    "rtcerror.h",
     "rtp_headers.cc",
     "rtp_headers.h",
     "rtp_parameters.cc",
@@ -124,12 +144,21 @@
     "rtp_sender_interface.h",
     "rtp_transceiver_interface.cc",
     "rtp_transceiver_interface.h",
+    "rtpparameters.h",
+    "rtpreceiverinterface.h",
+    "rtpsenderinterface.h",
+    "rtptransceiverinterface.h",
     "set_remote_description_observer_interface.h",
+    "setremotedescriptionobserverinterface.h",
     "stats_types.cc",
     "stats_types.h",
+    "statstypes.h",
     "turn_customizer.h",
+    "turncustomizer.h",
     "uma_metrics.h",
+    "umametrics.h",
     "video_track_source_proxy.h",
+    "videosourceproxy.h",
   ]
   deps = [
     ":array_view",
@@ -241,6 +270,7 @@
   visibility = [ "*" ]
   sources = [
     "rtc_event_log_output.h",
+    "rtceventlogoutput.h",
   ]
 }
 
@@ -248,8 +278,11 @@
   visibility = [ "*" ]
   sources = [
     "ortc/packet_transport_interface.h",
+    "ortc/packettransportinterface.h",
     "ortc/rtp_transport_interface.h",
+    "ortc/rtptransportinterface.h",
     "ortc/srtp_transport_interface.h",
+    "ortc/srtptransportinterface.h",
   ]
 
   deps = [
@@ -265,7 +298,10 @@
     "stats/rtc_stats.h",
     "stats/rtc_stats_collector_callback.h",
     "stats/rtc_stats_report.h",
+    "stats/rtcstats.h",
     "stats/rtcstats_objects.h",
+    "stats/rtcstatscollectorcallback.h",
+    "stats/rtcstatsreport.h",
   ]
 
   deps = [
@@ -347,6 +383,7 @@
   visibility = [ "*" ]
   sources = [
     "ref_counted_base.h",
+    "refcountedbase.h",
   ]
   deps = [
     "../rtc_base:rtc_base_approved",
@@ -358,6 +395,7 @@
   testonly = true
   sources = [
     "test/fake_constraints.h",
+    "test/fakeconstraints.h",
   ]
 
   deps = [
diff --git a/api/asyncresolverfactory.h b/api/asyncresolverfactory.h
new file mode 100644
index 0000000..6034af2
--- /dev/null
+++ b/api/asyncresolverfactory.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_ASYNCRESOLVERFACTORY_H_
+#define API_ASYNCRESOLVERFACTORY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/async_resolver_factory.h"
+
+#endif  // API_ASYNCRESOLVERFACTORY_H_
diff --git a/api/call/callfactoryinterface.h b/api/call/callfactoryinterface.h
new file mode 100644
index 0000000..073cf70
--- /dev/null
+++ b/api/call/callfactoryinterface.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_CALL_CALLFACTORYINTERFACE_H_
+#define API_CALL_CALLFACTORYINTERFACE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/call/call_factory_interface.h"
+
+#endif  // API_CALL_CALLFACTORYINTERFACE_H_
diff --git a/api/crypto/cryptooptions.h b/api/crypto/cryptooptions.h
new file mode 100644
index 0000000..c902155
--- /dev/null
+++ b/api/crypto/cryptooptions.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_CRYPTO_CRYPTOOPTIONS_H_
+#define API_CRYPTO_CRYPTOOPTIONS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/crypto/crypto_options.h"
+
+#endif  // API_CRYPTO_CRYPTOOPTIONS_H_
diff --git a/api/crypto/framedecryptorinterface.h b/api/crypto/framedecryptorinterface.h
new file mode 100644
index 0000000..bd96606
--- /dev/null
+++ b/api/crypto/framedecryptorinterface.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_CRYPTO_FRAMEDECRYPTORINTERFACE_H_
+#define API_CRYPTO_FRAMEDECRYPTORINTERFACE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/crypto/frame_decryptor_interface.h"
+
+#endif  // API_CRYPTO_FRAMEDECRYPTORINTERFACE_H_
diff --git a/api/crypto/frameencryptorinterface.h b/api/crypto/frameencryptorinterface.h
new file mode 100644
index 0000000..d56493e
--- /dev/null
+++ b/api/crypto/frameencryptorinterface.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_CRYPTO_FRAMEENCRYPTORINTERFACE_H_
+#define API_CRYPTO_FRAMEENCRYPTORINTERFACE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/crypto/frame_encryptor_interface.h"
+
+#endif  // API_CRYPTO_FRAMEENCRYPTORINTERFACE_H_
diff --git a/api/cryptoparams.h b/api/cryptoparams.h
new file mode 100644
index 0000000..679d7b8
--- /dev/null
+++ b/api/cryptoparams.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_CRYPTOPARAMS_H_
+#define API_CRYPTOPARAMS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/crypto_params.h"
+
+#endif  // API_CRYPTOPARAMS_H_
diff --git a/api/datachannelinterface.h b/api/datachannelinterface.h
new file mode 100644
index 0000000..e8fb86a
--- /dev/null
+++ b/api/datachannelinterface.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_DATACHANNELINTERFACE_H_
+#define API_DATACHANNELINTERFACE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/data_channel_interface.h"
+
+#endif  // API_DATACHANNELINTERFACE_H_
diff --git a/api/dtlstransportinterface.h b/api/dtlstransportinterface.h
new file mode 100644
index 0000000..15f1c72
--- /dev/null
+++ b/api/dtlstransportinterface.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_DTLSTRANSPORTINTERFACE_H_
+#define API_DTLSTRANSPORTINTERFACE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/dtls_transport_interface.h"
+
+#endif  // API_DTLSTRANSPORTINTERFACE_H_
diff --git a/api/dtmfsenderinterface.h b/api/dtmfsenderinterface.h
new file mode 100644
index 0000000..71fa24c
--- /dev/null
+++ b/api/dtmfsenderinterface.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_DTMFSENDERINTERFACE_H_
+#define API_DTMFSENDERINTERFACE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/dtmf_sender_interface.h"
+
+#endif  // API_DTMFSENDERINTERFACE_H_
diff --git a/api/jsepicecandidate.h b/api/jsepicecandidate.h
new file mode 100644
index 0000000..6219ea7
--- /dev/null
+++ b/api/jsepicecandidate.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_JSEPICECANDIDATE_H_
+#define API_JSEPICECANDIDATE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/jsep_ice_candidate.h"
+
+#endif  // API_JSEPICECANDIDATE_H_
diff --git a/api/jsepsessiondescription.h b/api/jsepsessiondescription.h
new file mode 100644
index 0000000..6cca44e
--- /dev/null
+++ b/api/jsepsessiondescription.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_JSEPSESSIONDESCRIPTION_H_
+#define API_JSEPSESSIONDESCRIPTION_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/jsep_session_description.h"
+
+#endif  // API_JSEPSESSIONDESCRIPTION_H_
diff --git a/api/mediaconstraintsinterface.h b/api/mediaconstraintsinterface.h
new file mode 100644
index 0000000..10dcb7b
--- /dev/null
+++ b/api/mediaconstraintsinterface.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_MEDIACONSTRAINTSINTERFACE_H_
+#define API_MEDIACONSTRAINTSINTERFACE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/media_constraints_interface.h"
+
+#endif  // API_MEDIACONSTRAINTSINTERFACE_H_
diff --git a/api/mediastreaminterface.h b/api/mediastreaminterface.h
new file mode 100644
index 0000000..c521aa3
--- /dev/null
+++ b/api/mediastreaminterface.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_MEDIASTREAMINTERFACE_H_
+#define API_MEDIASTREAMINTERFACE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/media_stream_interface.h"
+
+#endif  // API_MEDIASTREAMINTERFACE_H_
diff --git a/api/mediastreamproxy.h b/api/mediastreamproxy.h
new file mode 100644
index 0000000..9a0a5a7
--- /dev/null
+++ b/api/mediastreamproxy.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_MEDIASTREAMPROXY_H_
+#define API_MEDIASTREAMPROXY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/media_stream_proxy.h"
+
+#endif  // API_MEDIASTREAMPROXY_H_
diff --git a/api/mediastreamtrackproxy.h b/api/mediastreamtrackproxy.h
new file mode 100644
index 0000000..823a580
--- /dev/null
+++ b/api/mediastreamtrackproxy.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_MEDIASTREAMTRACKPROXY_H_
+#define API_MEDIASTREAMTRACKPROXY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/media_stream_track_proxy.h"
+
+#endif  // API_MEDIASTREAMTRACKPROXY_H_
diff --git a/api/mediatypes.h b/api/mediatypes.h
new file mode 100644
index 0000000..caf2a46
--- /dev/null
+++ b/api/mediatypes.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_MEDIATYPES_H_
+#define API_MEDIATYPES_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/media_types.h"
+
+#endif  // API_MEDIATYPES_H_
diff --git a/api/ortc/packettransportinterface.h b/api/ortc/packettransportinterface.h
new file mode 100644
index 0000000..665c3ab
--- /dev/null
+++ b/api/ortc/packettransportinterface.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_ORTC_PACKETTRANSPORTINTERFACE_H_
+#define API_ORTC_PACKETTRANSPORTINTERFACE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/ortc/packet_transport_interface.h"
+
+#endif  // API_ORTC_PACKETTRANSPORTINTERFACE_H_
diff --git a/api/ortc/rtptransportinterface.h b/api/ortc/rtptransportinterface.h
new file mode 100644
index 0000000..1094557
--- /dev/null
+++ b/api/ortc/rtptransportinterface.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_ORTC_RTPTRANSPORTINTERFACE_H_
+#define API_ORTC_RTPTRANSPORTINTERFACE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/ortc/rtp_transport_interface.h"
+
+#endif  // API_ORTC_RTPTRANSPORTINTERFACE_H_
diff --git a/api/ortc/srtptransportinterface.h b/api/ortc/srtptransportinterface.h
new file mode 100644
index 0000000..6e51789
--- /dev/null
+++ b/api/ortc/srtptransportinterface.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_ORTC_SRTPTRANSPORTINTERFACE_H_
+#define API_ORTC_SRTPTRANSPORTINTERFACE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/ortc/srtp_transport_interface.h"
+
+#endif  // API_ORTC_SRTPTRANSPORTINTERFACE_H_
diff --git a/api/peerconnectionfactoryproxy.h b/api/peerconnectionfactoryproxy.h
new file mode 100644
index 0000000..1abede5
--- /dev/null
+++ b/api/peerconnectionfactoryproxy.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_PEERCONNECTIONFACTORYPROXY_H_
+#define API_PEERCONNECTIONFACTORYPROXY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/peer_connection_factory_proxy.h"
+
+#endif  // API_PEERCONNECTIONFACTORYPROXY_H_
diff --git a/api/peerconnectioninterface.h b/api/peerconnectioninterface.h
new file mode 100644
index 0000000..4378689
--- /dev/null
+++ b/api/peerconnectioninterface.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_PEERCONNECTIONINTERFACE_H_
+#define API_PEERCONNECTIONINTERFACE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/peer_connection_interface.h"
+
+#endif  // API_PEERCONNECTIONINTERFACE_H_
diff --git a/api/peerconnectionproxy.h b/api/peerconnectionproxy.h
new file mode 100644
index 0000000..2594bdc
--- /dev/null
+++ b/api/peerconnectionproxy.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_PEERCONNECTIONPROXY_H_
+#define API_PEERCONNECTIONPROXY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/peer_connection_proxy.h"
+
+#endif  // API_PEERCONNECTIONPROXY_H_
diff --git a/api/refcountedbase.h b/api/refcountedbase.h
new file mode 100644
index 0000000..7421a6e
--- /dev/null
+++ b/api/refcountedbase.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_REFCOUNTEDBASE_H_
+#define API_REFCOUNTEDBASE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/ref_counted_base.h"
+
+#endif  // API_REFCOUNTEDBASE_H_
diff --git a/api/rtcerror.h b/api/rtcerror.h
new file mode 100644
index 0000000..93ec5ac
--- /dev/null
+++ b/api/rtcerror.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_RTCERROR_H_
+#define API_RTCERROR_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/rtc_error.h"
+
+#endif  // API_RTCERROR_H_
diff --git a/api/rtceventlogoutput.h b/api/rtceventlogoutput.h
new file mode 100644
index 0000000..b22d3a0
--- /dev/null
+++ b/api/rtceventlogoutput.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_RTCEVENTLOGOUTPUT_H_
+#define API_RTCEVENTLOGOUTPUT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/rtc_event_log_output.h"
+
+#endif  // API_RTCEVENTLOGOUTPUT_H_
diff --git a/api/rtpparameters.h b/api/rtpparameters.h
new file mode 100644
index 0000000..267e353
--- /dev/null
+++ b/api/rtpparameters.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_RTPPARAMETERS_H_
+#define API_RTPPARAMETERS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/rtp_parameters.h"
+
+#endif  // API_RTPPARAMETERS_H_
diff --git a/api/rtpreceiverinterface.h b/api/rtpreceiverinterface.h
new file mode 100644
index 0000000..ded283e
--- /dev/null
+++ b/api/rtpreceiverinterface.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_RTPRECEIVERINTERFACE_H_
+#define API_RTPRECEIVERINTERFACE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/rtp_receiver_interface.h"
+
+#endif  // API_RTPRECEIVERINTERFACE_H_
diff --git a/api/rtpsenderinterface.h b/api/rtpsenderinterface.h
new file mode 100644
index 0000000..1af3662
--- /dev/null
+++ b/api/rtpsenderinterface.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_RTPSENDERINTERFACE_H_
+#define API_RTPSENDERINTERFACE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/rtp_sender_interface.h"
+
+#endif  // API_RTPSENDERINTERFACE_H_
diff --git a/api/rtptransceiverinterface.h b/api/rtptransceiverinterface.h
new file mode 100644
index 0000000..8751583
--- /dev/null
+++ b/api/rtptransceiverinterface.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_RTPTRANSCEIVERINTERFACE_H_
+#define API_RTPTRANSCEIVERINTERFACE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/rtp_transceiver_interface.h"
+
+#endif  // API_RTPTRANSCEIVERINTERFACE_H_
diff --git a/api/setremotedescriptionobserverinterface.h b/api/setremotedescriptionobserverinterface.h
new file mode 100644
index 0000000..8373a06
--- /dev/null
+++ b/api/setremotedescriptionobserverinterface.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_SETREMOTEDESCRIPTIONOBSERVERINTERFACE_H_
+#define API_SETREMOTEDESCRIPTIONOBSERVERINTERFACE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/set_remote_description_observer_interface.h"
+
+#endif  // API_SETREMOTEDESCRIPTIONOBSERVERINTERFACE_H_
diff --git a/api/stats/rtcstats.h b/api/stats/rtcstats.h
new file mode 100644
index 0000000..98578b6
--- /dev/null
+++ b/api/stats/rtcstats.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_STATS_RTCSTATS_H_
+#define API_STATS_RTCSTATS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/stats/rtc_stats.h"
+
+#endif  // API_STATS_RTCSTATS_H_
diff --git a/api/stats/rtcstatscollectorcallback.h b/api/stats/rtcstatscollectorcallback.h
new file mode 100644
index 0000000..19db98a
--- /dev/null
+++ b/api/stats/rtcstatscollectorcallback.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_STATS_RTCSTATSCOLLECTORCALLBACK_H_
+#define API_STATS_RTCSTATSCOLLECTORCALLBACK_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/stats/rtc_stats_collector_callback.h"
+
+#endif  // API_STATS_RTCSTATSCOLLECTORCALLBACK_H_
diff --git a/api/stats/rtcstatsreport.h b/api/stats/rtcstatsreport.h
new file mode 100644
index 0000000..44afc22
--- /dev/null
+++ b/api/stats/rtcstatsreport.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_STATS_RTCSTATSREPORT_H_
+#define API_STATS_RTCSTATSREPORT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/stats/rtc_stats_report.h"
+
+#endif  // API_STATS_RTCSTATSREPORT_H_
diff --git a/api/statstypes.h b/api/statstypes.h
new file mode 100644
index 0000000..54f5a2f
--- /dev/null
+++ b/api/statstypes.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_STATSTYPES_H_
+#define API_STATSTYPES_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/stats_types.h"
+
+#endif  // API_STATSTYPES_H_
diff --git a/api/test/fakeconstraints.h b/api/test/fakeconstraints.h
new file mode 100644
index 0000000..d479ac2
--- /dev/null
+++ b/api/test/fakeconstraints.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_TEST_FAKECONSTRAINTS_H_
+#define API_TEST_FAKECONSTRAINTS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/test/fake_constraints.h"
+
+#endif  // API_TEST_FAKECONSTRAINTS_H_
diff --git a/api/turncustomizer.h b/api/turncustomizer.h
new file mode 100644
index 0000000..28ff584
--- /dev/null
+++ b/api/turncustomizer.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_TURNCUSTOMIZER_H_
+#define API_TURNCUSTOMIZER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/turn_customizer.h"
+
+#endif  // API_TURNCUSTOMIZER_H_
diff --git a/api/umametrics.h b/api/umametrics.h
new file mode 100644
index 0000000..026e024
--- /dev/null
+++ b/api/umametrics.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_UMAMETRICS_H_
+#define API_UMAMETRICS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/uma_metrics.h"
+
+#endif  // API_UMAMETRICS_H_
diff --git a/api/videosourceproxy.h b/api/videosourceproxy.h
new file mode 100644
index 0000000..d83ccca
--- /dev/null
+++ b/api/videosourceproxy.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef API_VIDEOSOURCEPROXY_H_
+#define API_VIDEOSOURCEPROXY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "api/video_track_source_proxy.h"
+
+#endif  // API_VIDEOSOURCEPROXY_H_
diff --git a/call/BUILD.gn b/call/BUILD.gn
index 6db37a4..6da29fd 100644
--- a/call/BUILD.gn
+++ b/call/BUILD.gn
@@ -193,6 +193,7 @@
     "call.cc",
     "call_factory.cc",
     "call_factory.h",
+    "callfactory.h",
     "degraded_call.cc",
     "degraded_call.h",
     "flexfec_receive_stream_impl.cc",
diff --git a/call/callfactory.h b/call/callfactory.h
new file mode 100644
index 0000000..e82d457
--- /dev/null
+++ b/call/callfactory.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef CALL_CALLFACTORY_H_
+#define CALL_CALLFACTORY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "call/call_factory.h"
+
+#endif  // CALL_CALLFACTORY_H_
diff --git a/examples/BUILD.gn b/examples/BUILD.gn
index 5fd3041..7676bfa 100644
--- a/examples/BUILD.gn
+++ b/examples/BUILD.gn
@@ -494,6 +494,7 @@
         "objcnativeapi/objc/NADViewController.mm",
         "objcnativeapi/objc/objc_call_client.h",
         "objcnativeapi/objc/objc_call_client.mm",
+        "objcnativeapi/objc/objccallclient.h",
       ]
 
       if (!build_with_chromium && is_clang) {
@@ -707,6 +708,7 @@
     if (is_win) {
       sources += [
         "peerconnection/client/flag_defs.h",
+        "peerconnection/client/flagdefs.h",
         "peerconnection/client/main.cc",
         "peerconnection/client/main_wnd.cc",
         "peerconnection/client/main_wnd.h",
@@ -844,6 +846,7 @@
       sources += [
         "unityplugin/class_reference_holder.cc",
         "unityplugin/class_reference_holder.h",
+        "unityplugin/classreferenceholder.h",
         "unityplugin/jni_onload.cc",
       ]
       suppressed_configs += [ "//build/config/android:hide_all_but_jni_onload" ]
diff --git a/examples/androidnativeapi/BUILD.gn b/examples/androidnativeapi/BUILD.gn
index 2d0438b..22f70c1 100644
--- a/examples/androidnativeapi/BUILD.gn
+++ b/examples/androidnativeapi/BUILD.gn
@@ -39,6 +39,7 @@
     sources = [
       "jni/android_call_client.cc",
       "jni/android_call_client.h",
+      "jni/androidcallclient.h",
       "jni/onload.cc",
     ]
 
diff --git a/examples/androidnativeapi/jni/androidcallclient.h b/examples/androidnativeapi/jni/androidcallclient.h
new file mode 100644
index 0000000..795fb71
--- /dev/null
+++ b/examples/androidnativeapi/jni/androidcallclient.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef EXAMPLES_ANDROIDNATIVEAPI_JNI_ANDROIDCALLCLIENT_H_
+#define EXAMPLES_ANDROIDNATIVEAPI_JNI_ANDROIDCALLCLIENT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "examples/androidnativeapi/jni/android_call_client.h"
+
+#endif  // EXAMPLES_ANDROIDNATIVEAPI_JNI_ANDROIDCALLCLIENT_H_
diff --git a/examples/objcnativeapi/objc/objccallclient.h b/examples/objcnativeapi/objc/objccallclient.h
new file mode 100644
index 0000000..f67fa3a
--- /dev/null
+++ b/examples/objcnativeapi/objc/objccallclient.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef EXAMPLES_OBJCNATIVEAPI_OBJC_OBJCCALLCLIENT_H_
+#define EXAMPLES_OBJCNATIVEAPI_OBJC_OBJCCALLCLIENT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "examples/objcnativeapi/objc/objc_call_client.h"
+
+#endif  // EXAMPLES_OBJCNATIVEAPI_OBJC_OBJCCALLCLIENT_H_
diff --git a/examples/peerconnection/client/flagdefs.h b/examples/peerconnection/client/flagdefs.h
new file mode 100644
index 0000000..4a80ad1
--- /dev/null
+++ b/examples/peerconnection/client/flagdefs.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef EXAMPLES_PEERCONNECTION_CLIENT_FLAGDEFS_H_
+#define EXAMPLES_PEERCONNECTION_CLIENT_FLAGDEFS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "examples/peerconnection/client/flag_defs.h"
+
+#endif  // EXAMPLES_PEERCONNECTION_CLIENT_FLAGDEFS_H_
diff --git a/examples/unityplugin/classreferenceholder.h b/examples/unityplugin/classreferenceholder.h
new file mode 100644
index 0000000..069a27b
--- /dev/null
+++ b/examples/unityplugin/classreferenceholder.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef EXAMPLES_UNITYPLUGIN_CLASSREFERENCEHOLDER_H_
+#define EXAMPLES_UNITYPLUGIN_CLASSREFERENCEHOLDER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "examples/unityplugin/class_reference_holder.h"
+
+#endif  // EXAMPLES_UNITYPLUGIN_CLASSREFERENCEHOLDER_H_
diff --git a/logging/BUILD.gn b/logging/BUILD.gn
index 5089515..bc7b3c0 100644
--- a/logging/BUILD.gn
+++ b/logging/BUILD.gn
@@ -166,6 +166,7 @@
     "rtc_event_log/encoder/rtc_event_log_encoder_common.h",
     "rtc_event_log/encoder/var_int.cc",
     "rtc_event_log/encoder/var_int.h",
+    "rtc_event_log/encoder/varint.h",
   ]
 
   defines = []
@@ -414,6 +415,7 @@
     "rtc_event_log/events/rtc_event_ice_candidate_pair_config.h",
     "rtc_event_log/ice_logger.cc",
     "rtc_event_log/ice_logger.h",
+    "rtc_event_log/icelogger.h",
   ]
 
   deps = [
diff --git a/logging/rtc_event_log/encoder/varint.h b/logging/rtc_event_log/encoder/varint.h
new file mode 100644
index 0000000..3eb7ea3
--- /dev/null
+++ b/logging/rtc_event_log/encoder/varint.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef LOGGING_RTC_EVENT_LOG_ENCODER_VARINT_H_
+#define LOGGING_RTC_EVENT_LOG_ENCODER_VARINT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "logging/rtc_event_log/encoder/var_int.h"
+
+#endif  // LOGGING_RTC_EVENT_LOG_ENCODER_VARINT_H_
diff --git a/logging/rtc_event_log/icelogger.h b/logging/rtc_event_log/icelogger.h
new file mode 100644
index 0000000..5ea01b0
--- /dev/null
+++ b/logging/rtc_event_log/icelogger.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef LOGGING_RTC_EVENT_LOG_ICELOGGER_H_
+#define LOGGING_RTC_EVENT_LOG_ICELOGGER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "logging/rtc_event_log/ice_logger.h"
+
+#endif  // LOGGING_RTC_EVENT_LOG_ICELOGGER_H_
diff --git a/media/BUILD.gn b/media/BUILD.gn
index c2eeeb5..f6a735f 100644
--- a/media/BUILD.gn
+++ b/media/BUILD.gn
@@ -52,6 +52,7 @@
   visibility = [ "*" ]
   sources = [
     "base/media_config.h",
+    "base/mediaconfig.h",
   ]
 }
 
@@ -87,7 +88,9 @@
   sources = [
     "base/adapted_video_track_source.cc",
     "base/adapted_video_track_source.h",
+    "base/adaptedvideotracksource.h",
     "base/audio_source.h",
+    "base/audiosource.h",
     "base/codec.cc",
     "base/codec.h",
     "base/device.h",
@@ -97,16 +100,24 @@
     "base/media_constants.h",
     "base/media_engine.cc",
     "base/media_engine.h",
+    "base/mediachannel.h",
+    "base/mediaconstants.h",
+    "base/mediaengine.h",
     "base/rid_description.cc",
     "base/rid_description.h",
+    "base/riddescription.h",
     "base/rtp_data_engine.cc",
     "base/rtp_data_engine.h",
     "base/rtp_utils.cc",
     "base/rtp_utils.h",
+    "base/rtpdataengine.h",
+    "base/rtputils.h",
     "base/stream_params.cc",
     "base/stream_params.h",
+    "base/streamparams.h",
     "base/turn_utils.cc",
     "base/turn_utils.h",
+    "base/turnutils.h",
     "base/video_adapter.cc",
     "base/video_adapter.h",
     "base/video_broadcaster.cc",
@@ -117,6 +128,11 @@
     "base/video_common.h",
     "base/video_source_base.cc",
     "base/video_source_base.h",
+    "base/videoadapter.h",
+    "base/videobroadcaster.h",
+    "base/videocapturer.h",
+    "base/videocommon.h",
+    "base/videosourcebase.h",
   ]
 
   if (!build_with_chromium && is_clang) {
@@ -238,18 +254,25 @@
     "engine/internal_decoder_factory.h",
     "engine/internal_encoder_factory.cc",
     "engine/internal_encoder_factory.h",
+    "engine/internaldecoderfactory.h",
+    "engine/internalencoderfactory.h",
     "engine/multiplex_codec_factory.cc",
     "engine/multiplex_codec_factory.h",
+    "engine/multiplexcodecfactory.h",
     "engine/scoped_video_decoder.cc",
     "engine/scoped_video_decoder.h",
     "engine/scoped_video_encoder.cc",
     "engine/scoped_video_encoder.h",
+    "engine/scopedvideodecoder.h",
+    "engine/scopedvideoencoder.h",
 
     # TODO(bugs.webrtc.org/7925): stop exporting this header once downstream
     # targets depend on :rtc_encoder_simulcast_proxy directly.
     "engine/encoder_simulcast_proxy.h",
     "engine/webrtc_video_decoder_factory.h",
     "engine/webrtc_video_encoder_factory.h",
+    "engine/webrtcvideodecoderfactory.h",
+    "engine/webrtcvideoencoderfactory.h",
   ]
 
   if (!build_with_chromium && is_clang) {
@@ -312,6 +335,7 @@
     "engine/apm_helpers.cc",
     "engine/apm_helpers.h",
     "engine/null_webrtc_video_engine.h",
+    "engine/nullwebrtcvideoengine.h",
     "engine/payload_type_mapper.cc",
     "engine/payload_type_mapper.h",
     "engine/simulcast.cc",
@@ -326,6 +350,11 @@
     "engine/webrtc_video_engine.h",
     "engine/webrtc_voice_engine.cc",
     "engine/webrtc_voice_engine.h",
+    "engine/webrtcmediaengine.h",
+    "engine/webrtcvideodecoderfactory.h",
+    "engine/webrtcvideoencoderfactory.h",
+    "engine/webrtcvideoengine.h",
+    "engine/webrtcvoiceengine.h",
   ]
 
   if (!build_with_chromium && is_clang) {
@@ -399,6 +428,8 @@
       "sctp/sctp_transport.cc",
       "sctp/sctp_transport.h",
       "sctp/sctp_transport_internal.h",
+      "sctp/sctptransport.h",
+      "sctp/sctptransportinternal.h",
     ]
   } else {
     # libtool on mac does not like empty targets.
@@ -485,12 +516,21 @@
       "base/fake_video_capturer.h",
       "base/fake_video_renderer.cc",
       "base/fake_video_renderer.h",
+      "base/fakeframesource.h",
+      "base/fakemediaengine.h",
+      "base/fakenetworkinterface.h",
+      "base/fakertp.h",
+      "base/fakevideocapturer.h",
+      "base/fakevideorenderer.h",
       "base/test_utils.cc",
       "base/test_utils.h",
+      "base/testutils.h",
       "engine/fake_webrtc_call.cc",
       "engine/fake_webrtc_call.h",
       "engine/fake_webrtc_video_engine.cc",
       "engine/fake_webrtc_video_engine.h",
+      "engine/fakewebrtccall.h",
+      "engine/fakewebrtcvideoengine.h",
     ]
 
     if (!build_with_chromium && is_clang) {
diff --git a/media/base/adaptedvideotracksource.h b/media/base/adaptedvideotracksource.h
new file mode 100644
index 0000000..810214c
--- /dev/null
+++ b/media/base/adaptedvideotracksource.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_BASE_ADAPTEDVIDEOTRACKSOURCE_H_
+#define MEDIA_BASE_ADAPTEDVIDEOTRACKSOURCE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/base/adapted_video_track_source.h"
+
+#endif  // MEDIA_BASE_ADAPTEDVIDEOTRACKSOURCE_H_
diff --git a/media/base/audiosource.h b/media/base/audiosource.h
new file mode 100644
index 0000000..abfc605
--- /dev/null
+++ b/media/base/audiosource.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_BASE_AUDIOSOURCE_H_
+#define MEDIA_BASE_AUDIOSOURCE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/base/audio_source.h"
+
+#endif  // MEDIA_BASE_AUDIOSOURCE_H_
diff --git a/media/base/fakeframesource.h b/media/base/fakeframesource.h
new file mode 100644
index 0000000..b415d1e
--- /dev/null
+++ b/media/base/fakeframesource.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_BASE_FAKEFRAMESOURCE_H_
+#define MEDIA_BASE_FAKEFRAMESOURCE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/base/fake_frame_source.h"
+
+#endif  // MEDIA_BASE_FAKEFRAMESOURCE_H_
diff --git a/media/base/fakemediaengine.h b/media/base/fakemediaengine.h
new file mode 100644
index 0000000..59ee808
--- /dev/null
+++ b/media/base/fakemediaengine.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_BASE_FAKEMEDIAENGINE_H_
+#define MEDIA_BASE_FAKEMEDIAENGINE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/base/fake_media_engine.h"
+
+#endif  // MEDIA_BASE_FAKEMEDIAENGINE_H_
diff --git a/media/base/fakenetworkinterface.h b/media/base/fakenetworkinterface.h
new file mode 100644
index 0000000..be64269
--- /dev/null
+++ b/media/base/fakenetworkinterface.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_BASE_FAKENETWORKINTERFACE_H_
+#define MEDIA_BASE_FAKENETWORKINTERFACE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/base/fake_network_interface.h"
+
+#endif  // MEDIA_BASE_FAKENETWORKINTERFACE_H_
diff --git a/media/base/fakertp.h b/media/base/fakertp.h
new file mode 100644
index 0000000..368db9a
--- /dev/null
+++ b/media/base/fakertp.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_BASE_FAKERTP_H_
+#define MEDIA_BASE_FAKERTP_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/base/fake_rtp.h"
+
+#endif  // MEDIA_BASE_FAKERTP_H_
diff --git a/media/base/fakevideocapturer.h b/media/base/fakevideocapturer.h
new file mode 100644
index 0000000..bfa1261
--- /dev/null
+++ b/media/base/fakevideocapturer.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_BASE_FAKEVIDEOCAPTURER_H_
+#define MEDIA_BASE_FAKEVIDEOCAPTURER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/base/fake_video_capturer.h"
+
+#endif  // MEDIA_BASE_FAKEVIDEOCAPTURER_H_
diff --git a/media/base/fakevideorenderer.h b/media/base/fakevideorenderer.h
new file mode 100644
index 0000000..81c59fa
--- /dev/null
+++ b/media/base/fakevideorenderer.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_BASE_FAKEVIDEORENDERER_H_
+#define MEDIA_BASE_FAKEVIDEORENDERER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/base/fake_video_renderer.h"
+
+#endif  // MEDIA_BASE_FAKEVIDEORENDERER_H_
diff --git a/media/base/mediachannel.h b/media/base/mediachannel.h
new file mode 100644
index 0000000..04e852f
--- /dev/null
+++ b/media/base/mediachannel.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_BASE_MEDIACHANNEL_H_
+#define MEDIA_BASE_MEDIACHANNEL_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/base/media_channel.h"
+
+#endif  // MEDIA_BASE_MEDIACHANNEL_H_
diff --git a/media/base/mediaconfig.h b/media/base/mediaconfig.h
new file mode 100644
index 0000000..a87c3fe
--- /dev/null
+++ b/media/base/mediaconfig.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_BASE_MEDIACONFIG_H_
+#define MEDIA_BASE_MEDIACONFIG_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/base/media_config.h"
+
+#endif  // MEDIA_BASE_MEDIACONFIG_H_
diff --git a/media/base/mediaconstants.h b/media/base/mediaconstants.h
new file mode 100644
index 0000000..65f06c5
--- /dev/null
+++ b/media/base/mediaconstants.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_BASE_MEDIACONSTANTS_H_
+#define MEDIA_BASE_MEDIACONSTANTS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/base/media_constants.h"
+
+#endif  // MEDIA_BASE_MEDIACONSTANTS_H_
diff --git a/media/base/mediaengine.h b/media/base/mediaengine.h
new file mode 100644
index 0000000..1fc1967
--- /dev/null
+++ b/media/base/mediaengine.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_BASE_MEDIAENGINE_H_
+#define MEDIA_BASE_MEDIAENGINE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/base/media_engine.h"
+
+#endif  // MEDIA_BASE_MEDIAENGINE_H_
diff --git a/media/base/riddescription.h b/media/base/riddescription.h
new file mode 100644
index 0000000..adf12f6
--- /dev/null
+++ b/media/base/riddescription.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_BASE_RIDDESCRIPTION_H_
+#define MEDIA_BASE_RIDDESCRIPTION_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/base/rid_description.h"
+
+#endif  // MEDIA_BASE_RIDDESCRIPTION_H_
diff --git a/media/base/rtpdataengine.h b/media/base/rtpdataengine.h
new file mode 100644
index 0000000..d13a361
--- /dev/null
+++ b/media/base/rtpdataengine.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_BASE_RTPDATAENGINE_H_
+#define MEDIA_BASE_RTPDATAENGINE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/base/rtp_data_engine.h"
+
+#endif  // MEDIA_BASE_RTPDATAENGINE_H_
diff --git a/media/base/rtputils.h b/media/base/rtputils.h
new file mode 100644
index 0000000..b63b216
--- /dev/null
+++ b/media/base/rtputils.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_BASE_RTPUTILS_H_
+#define MEDIA_BASE_RTPUTILS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/base/rtp_utils.h"
+
+#endif  // MEDIA_BASE_RTPUTILS_H_
diff --git a/media/base/streamparams.h b/media/base/streamparams.h
new file mode 100644
index 0000000..e58a774
--- /dev/null
+++ b/media/base/streamparams.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_BASE_STREAMPARAMS_H_
+#define MEDIA_BASE_STREAMPARAMS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/base/stream_params.h"
+
+#endif  // MEDIA_BASE_STREAMPARAMS_H_
diff --git a/media/base/testutils.h b/media/base/testutils.h
new file mode 100644
index 0000000..146afca
--- /dev/null
+++ b/media/base/testutils.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_BASE_TESTUTILS_H_
+#define MEDIA_BASE_TESTUTILS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/base/test_utils.h"
+
+#endif  // MEDIA_BASE_TESTUTILS_H_
diff --git a/media/base/turnutils.h b/media/base/turnutils.h
new file mode 100644
index 0000000..eb2f15c
--- /dev/null
+++ b/media/base/turnutils.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_BASE_TURNUTILS_H_
+#define MEDIA_BASE_TURNUTILS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/base/turn_utils.h"
+
+#endif  // MEDIA_BASE_TURNUTILS_H_
diff --git a/media/base/videoadapter.h b/media/base/videoadapter.h
new file mode 100644
index 0000000..dcc5668
--- /dev/null
+++ b/media/base/videoadapter.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_BASE_VIDEOADAPTER_H_
+#define MEDIA_BASE_VIDEOADAPTER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/base/video_adapter.h"
+
+#endif  // MEDIA_BASE_VIDEOADAPTER_H_
diff --git a/media/base/videobroadcaster.h b/media/base/videobroadcaster.h
new file mode 100644
index 0000000..bd2a244
--- /dev/null
+++ b/media/base/videobroadcaster.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_BASE_VIDEOBROADCASTER_H_
+#define MEDIA_BASE_VIDEOBROADCASTER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/base/video_broadcaster.h"
+
+#endif  // MEDIA_BASE_VIDEOBROADCASTER_H_
diff --git a/media/base/videocapturer.h b/media/base/videocapturer.h
new file mode 100644
index 0000000..910171a
--- /dev/null
+++ b/media/base/videocapturer.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_BASE_VIDEOCAPTURER_H_
+#define MEDIA_BASE_VIDEOCAPTURER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/base/video_capturer.h"
+
+#endif  // MEDIA_BASE_VIDEOCAPTURER_H_
diff --git a/media/base/videocommon.h b/media/base/videocommon.h
new file mode 100644
index 0000000..1d82abb
--- /dev/null
+++ b/media/base/videocommon.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_BASE_VIDEOCOMMON_H_
+#define MEDIA_BASE_VIDEOCOMMON_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/base/video_common.h"
+
+#endif  // MEDIA_BASE_VIDEOCOMMON_H_
diff --git a/media/base/videosourcebase.h b/media/base/videosourcebase.h
new file mode 100644
index 0000000..0d58eb0
--- /dev/null
+++ b/media/base/videosourcebase.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_BASE_VIDEOSOURCEBASE_H_
+#define MEDIA_BASE_VIDEOSOURCEBASE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/base/video_source_base.h"
+
+#endif  // MEDIA_BASE_VIDEOSOURCEBASE_H_
diff --git a/media/engine/fakewebrtccall.h b/media/engine/fakewebrtccall.h
new file mode 100644
index 0000000..ee55933
--- /dev/null
+++ b/media/engine/fakewebrtccall.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_ENGINE_FAKEWEBRTCCALL_H_
+#define MEDIA_ENGINE_FAKEWEBRTCCALL_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/engine/fake_webrtc_call.h"
+
+#endif  // MEDIA_ENGINE_FAKEWEBRTCCALL_H_
diff --git a/media/engine/fakewebrtcvideoengine.h b/media/engine/fakewebrtcvideoengine.h
new file mode 100644
index 0000000..c056afa5
--- /dev/null
+++ b/media/engine/fakewebrtcvideoengine.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_ENGINE_FAKEWEBRTCVIDEOENGINE_H_
+#define MEDIA_ENGINE_FAKEWEBRTCVIDEOENGINE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/engine/fake_webrtc_video_engine.h"
+
+#endif  // MEDIA_ENGINE_FAKEWEBRTCVIDEOENGINE_H_
diff --git a/media/engine/internaldecoderfactory.h b/media/engine/internaldecoderfactory.h
new file mode 100644
index 0000000..5b6a7fc
--- /dev/null
+++ b/media/engine/internaldecoderfactory.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_ENGINE_INTERNALDECODERFACTORY_H_
+#define MEDIA_ENGINE_INTERNALDECODERFACTORY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/engine/internal_decoder_factory.h"
+
+#endif  // MEDIA_ENGINE_INTERNALDECODERFACTORY_H_
diff --git a/media/engine/internalencoderfactory.h b/media/engine/internalencoderfactory.h
new file mode 100644
index 0000000..2519ff3
--- /dev/null
+++ b/media/engine/internalencoderfactory.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_ENGINE_INTERNALENCODERFACTORY_H_
+#define MEDIA_ENGINE_INTERNALENCODERFACTORY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/engine/internal_encoder_factory.h"
+
+#endif  // MEDIA_ENGINE_INTERNALENCODERFACTORY_H_
diff --git a/media/engine/multiplexcodecfactory.h b/media/engine/multiplexcodecfactory.h
new file mode 100644
index 0000000..b19baeb
--- /dev/null
+++ b/media/engine/multiplexcodecfactory.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_ENGINE_MULTIPLEXCODECFACTORY_H_
+#define MEDIA_ENGINE_MULTIPLEXCODECFACTORY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/engine/multiplex_codec_factory.h"
+
+#endif  // MEDIA_ENGINE_MULTIPLEXCODECFACTORY_H_
diff --git a/media/engine/nullwebrtcvideoengine.h b/media/engine/nullwebrtcvideoengine.h
new file mode 100644
index 0000000..2581ca7
--- /dev/null
+++ b/media/engine/nullwebrtcvideoengine.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_ENGINE_NULLWEBRTCVIDEOENGINE_H_
+#define MEDIA_ENGINE_NULLWEBRTCVIDEOENGINE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/engine/null_webrtc_video_engine.h"
+
+#endif  // MEDIA_ENGINE_NULLWEBRTCVIDEOENGINE_H_
diff --git a/media/engine/scopedvideodecoder.h b/media/engine/scopedvideodecoder.h
new file mode 100644
index 0000000..32fd653
--- /dev/null
+++ b/media/engine/scopedvideodecoder.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_ENGINE_SCOPEDVIDEODECODER_H_
+#define MEDIA_ENGINE_SCOPEDVIDEODECODER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/engine/scoped_video_decoder.h"
+
+#endif  // MEDIA_ENGINE_SCOPEDVIDEODECODER_H_
diff --git a/media/engine/scopedvideoencoder.h b/media/engine/scopedvideoencoder.h
new file mode 100644
index 0000000..1959821
--- /dev/null
+++ b/media/engine/scopedvideoencoder.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_ENGINE_SCOPEDVIDEOENCODER_H_
+#define MEDIA_ENGINE_SCOPEDVIDEOENCODER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/engine/scoped_video_encoder.h"
+
+#endif  // MEDIA_ENGINE_SCOPEDVIDEOENCODER_H_
diff --git a/media/engine/webrtcmediaengine.h b/media/engine/webrtcmediaengine.h
new file mode 100644
index 0000000..44b7703
--- /dev/null
+++ b/media/engine/webrtcmediaengine.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_ENGINE_WEBRTCMEDIAENGINE_H_
+#define MEDIA_ENGINE_WEBRTCMEDIAENGINE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/engine/webrtc_media_engine.h"
+
+#endif  // MEDIA_ENGINE_WEBRTCMEDIAENGINE_H_
diff --git a/media/engine/webrtcvideodecoderfactory.h b/media/engine/webrtcvideodecoderfactory.h
new file mode 100644
index 0000000..bd74850
--- /dev/null
+++ b/media/engine/webrtcvideodecoderfactory.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_ENGINE_WEBRTCVIDEODECODERFACTORY_H_
+#define MEDIA_ENGINE_WEBRTCVIDEODECODERFACTORY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/engine/webrtc_video_decoder_factory.h"
+
+#endif  // MEDIA_ENGINE_WEBRTCVIDEODECODERFACTORY_H_
diff --git a/media/engine/webrtcvideoencoderfactory.h b/media/engine/webrtcvideoencoderfactory.h
new file mode 100644
index 0000000..6841f1c
--- /dev/null
+++ b/media/engine/webrtcvideoencoderfactory.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_ENGINE_WEBRTCVIDEOENCODERFACTORY_H_
+#define MEDIA_ENGINE_WEBRTCVIDEOENCODERFACTORY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/engine/webrtc_video_encoder_factory.h"
+
+#endif  // MEDIA_ENGINE_WEBRTCVIDEOENCODERFACTORY_H_
diff --git a/media/engine/webrtcvideoengine.h b/media/engine/webrtcvideoengine.h
new file mode 100644
index 0000000..dac04eb
--- /dev/null
+++ b/media/engine/webrtcvideoengine.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_ENGINE_WEBRTCVIDEOENGINE_H_
+#define MEDIA_ENGINE_WEBRTCVIDEOENGINE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/engine/webrtc_video_engine.h"
+
+#endif  // MEDIA_ENGINE_WEBRTCVIDEOENGINE_H_
diff --git a/media/engine/webrtcvoiceengine.h b/media/engine/webrtcvoiceengine.h
new file mode 100644
index 0000000..aa02a82
--- /dev/null
+++ b/media/engine/webrtcvoiceengine.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_ENGINE_WEBRTCVOICEENGINE_H_
+#define MEDIA_ENGINE_WEBRTCVOICEENGINE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/engine/webrtc_voice_engine.h"
+
+#endif  // MEDIA_ENGINE_WEBRTCVOICEENGINE_H_
diff --git a/media/sctp/sctptransport.h b/media/sctp/sctptransport.h
new file mode 100644
index 0000000..d7de55c
--- /dev/null
+++ b/media/sctp/sctptransport.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_SCTP_SCTPTRANSPORT_H_
+#define MEDIA_SCTP_SCTPTRANSPORT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/sctp/sctp_transport.h"
+
+#endif  // MEDIA_SCTP_SCTPTRANSPORT_H_
diff --git a/media/sctp/sctptransportinternal.h b/media/sctp/sctptransportinternal.h
new file mode 100644
index 0000000..96b4fd4
--- /dev/null
+++ b/media/sctp/sctptransportinternal.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef MEDIA_SCTP_SCTPTRANSPORTINTERNAL_H_
+#define MEDIA_SCTP_SCTPTRANSPORTINTERNAL_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "media/sctp/sctp_transport_internal.h"
+
+#endif  // MEDIA_SCTP_SCTPTRANSPORTINTERNAL_H_
diff --git a/p2p/BUILD.gn b/p2p/BUILD.gn
index acbb8fc..f5c00cc 100644
--- a/p2p/BUILD.gn
+++ b/p2p/BUILD.gn
@@ -20,25 +20,35 @@
   sources = [
     "base/async_stun_tcp_socket.cc",
     "base/async_stun_tcp_socket.h",
+    "base/asyncstuntcpsocket.h",
     "base/basic_async_resolver_factory.cc",
     "base/basic_async_resolver_factory.h",
     "base/basic_packet_socket_factory.cc",
     "base/basic_packet_socket_factory.h",
+    "base/basicasyncresolverfactory.h",
+    "base/basicpacketsocketfactory.h",
     "base/candidate_pair_interface.h",
+    "base/candidatepairinterface.h",
     "base/dtls_transport.cc",
     "base/dtls_transport.h",
     "base/dtls_transport_internal.cc",
     "base/dtls_transport_internal.h",
+    "base/dtlstransport.h",
+    "base/dtlstransportinternal.h",
     "base/ice_credentials_iterator.cc",
     "base/ice_credentials_iterator.h",
     "base/ice_transport_internal.cc",
     "base/ice_transport_internal.h",
+    "base/icecredentialsiterator.h",
+    "base/icetransportinternal.h",
     "base/mdns_message.cc",
     "base/mdns_message.h",
     "base/p2p_constants.cc",
     "base/p2p_constants.h",
     "base/p2p_transport_channel.cc",
     "base/p2p_transport_channel.h",
+    "base/p2pconstants.h",
+    "base/p2ptransportchannel.h",
     "base/packet_loss_estimator.cc",
     "base/packet_loss_estimator.h",
     "base/packet_socket_factory.cc",
@@ -46,26 +56,38 @@
     "base/packet_transport_interface.h",
     "base/packet_transport_internal.cc",
     "base/packet_transport_internal.h",
+    "base/packetlossestimator.h",
+    "base/packetsocketfactory.h",
+    "base/packettransportinterface.h",
+    "base/packettransportinternal.h",
     "base/port.cc",
     "base/port.h",
     "base/port_allocator.cc",
     "base/port_allocator.h",
     "base/port_interface.cc",
     "base/port_interface.h",
+    "base/portallocator.h",
+    "base/portinterface.h",
     "base/pseudo_tcp.cc",
     "base/pseudo_tcp.h",
+    "base/pseudotcp.h",
     "base/regathering_controller.cc",
     "base/regathering_controller.h",
+    "base/regatheringcontroller.h",
     "base/relay_port.cc",
     "base/relay_port.h",
+    "base/relayport.h",
     "base/stun.cc",
     "base/stun.h",
     "base/stun_port.cc",
     "base/stun_port.h",
     "base/stun_request.cc",
     "base/stun_request.h",
+    "base/stunport.h",
+    "base/stunrequest.h",
     "base/tcp_port.cc",
     "base/tcp_port.h",
+    "base/tcpport.h",
     "base/transport.h",
     "base/transport_description.cc",
     "base/transport_description.h",
@@ -73,14 +95,23 @@
     "base/transport_description_factory.h",
     "base/transport_factory_interface.h",
     "base/transport_info.h",
+    "base/transportdescription.h",
+    "base/transportdescriptionfactory.h",
+    "base/transportfactoryinterface.h",
+    "base/transportinfo.h",
     "base/turn_port.cc",
     "base/turn_port.h",
+    "base/turnport.h",
     "base/udp_port.h",
+    "base/udpport.h",
     "client/basic_port_allocator.cc",
     "client/basic_port_allocator.h",
+    "client/basicportallocator.h",
     "client/relay_port_factory_interface.h",
+    "client/relayportfactoryinterface.h",
     "client/turn_port_factory.cc",
     "client/turn_port_factory.h",
+    "client/turnportfactory.h",
   ]
 
   deps = [
@@ -120,13 +151,24 @@
       "base/fake_ice_transport.h",
       "base/fake_packet_transport.h",
       "base/fake_port_allocator.h",
+      "base/fakecandidatepair.h",
+      "base/fakedtlstransport.h",
+      "base/fakeicetransport.h",
+      "base/fakepackettransport.h",
+      "base/fakeportallocator.h",
       "base/mock_async_resolver.h",
       "base/mock_ice_transport.h",
+      "base/mockasyncresolver.h",
+      "base/mockicetransport.h",
       "base/test_relay_server.h",
       "base/test_stun_server.cc",
       "base/test_stun_server.h",
       "base/test_turn_customizer.h",
       "base/test_turn_server.h",
+      "base/testrelayserver.h",
+      "base/teststunserver.h",
+      "base/testturncustomizer.h",
+      "base/testturnserver.h",
     ]
     deps = [
       ":p2p_server_utils",
@@ -203,10 +245,13 @@
   sources = [
     "base/relay_server.cc",
     "base/relay_server.h",
+    "base/relayserver.h",
     "base/stun_server.cc",
     "base/stun_server.h",
+    "base/stunserver.h",
     "base/turn_server.cc",
     "base/turn_server.h",
+    "base/turnserver.h",
   ]
   deps = [
     ":rtc_p2p",
@@ -223,6 +268,7 @@
   sources = [
     "stunprober/stun_prober.cc",
     "stunprober/stun_prober.h",
+    "stunprober/stunprober.h",
   ]
 
   deps = [
diff --git a/p2p/base/asyncstuntcpsocket.h b/p2p/base/asyncstuntcpsocket.h
new file mode 100644
index 0000000..a117d38
--- /dev/null
+++ b/p2p/base/asyncstuntcpsocket.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_ASYNCSTUNTCPSOCKET_H_
+#define P2P_BASE_ASYNCSTUNTCPSOCKET_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/async_stun_tcp_socket.h"
+
+#endif  // P2P_BASE_ASYNCSTUNTCPSOCKET_H_
diff --git a/p2p/base/basicasyncresolverfactory.h b/p2p/base/basicasyncresolverfactory.h
new file mode 100644
index 0000000..81ec064
--- /dev/null
+++ b/p2p/base/basicasyncresolverfactory.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_BASICASYNCRESOLVERFACTORY_H_
+#define P2P_BASE_BASICASYNCRESOLVERFACTORY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/basic_async_resolver_factory.h"
+
+#endif  // P2P_BASE_BASICASYNCRESOLVERFACTORY_H_
diff --git a/p2p/base/basicpacketsocketfactory.h b/p2p/base/basicpacketsocketfactory.h
new file mode 100644
index 0000000..6981bfa
--- /dev/null
+++ b/p2p/base/basicpacketsocketfactory.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_BASICPACKETSOCKETFACTORY_H_
+#define P2P_BASE_BASICPACKETSOCKETFACTORY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/basic_packet_socket_factory.h"
+
+#endif  // P2P_BASE_BASICPACKETSOCKETFACTORY_H_
diff --git a/p2p/base/candidatepairinterface.h b/p2p/base/candidatepairinterface.h
new file mode 100644
index 0000000..a8043c2
--- /dev/null
+++ b/p2p/base/candidatepairinterface.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_CANDIDATEPAIRINTERFACE_H_
+#define P2P_BASE_CANDIDATEPAIRINTERFACE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/candidate_pair_interface.h"
+
+#endif  // P2P_BASE_CANDIDATEPAIRINTERFACE_H_
diff --git a/p2p/base/dtlstransport.h b/p2p/base/dtlstransport.h
new file mode 100644
index 0000000..22da187
--- /dev/null
+++ b/p2p/base/dtlstransport.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_DTLSTRANSPORT_H_
+#define P2P_BASE_DTLSTRANSPORT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/dtls_transport.h"
+
+#endif  // P2P_BASE_DTLSTRANSPORT_H_
diff --git a/p2p/base/dtlstransportinternal.h b/p2p/base/dtlstransportinternal.h
new file mode 100644
index 0000000..4c9feeb
--- /dev/null
+++ b/p2p/base/dtlstransportinternal.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_DTLSTRANSPORTINTERNAL_H_
+#define P2P_BASE_DTLSTRANSPORTINTERNAL_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/dtls_transport_internal.h"
+
+#endif  // P2P_BASE_DTLSTRANSPORTINTERNAL_H_
diff --git a/p2p/base/fakecandidatepair.h b/p2p/base/fakecandidatepair.h
new file mode 100644
index 0000000..c085d40
--- /dev/null
+++ b/p2p/base/fakecandidatepair.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_FAKECANDIDATEPAIR_H_
+#define P2P_BASE_FAKECANDIDATEPAIR_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/fake_candidate_pair.h"
+
+#endif  // P2P_BASE_FAKECANDIDATEPAIR_H_
diff --git a/p2p/base/fakedtlstransport.h b/p2p/base/fakedtlstransport.h
new file mode 100644
index 0000000..b387d88
--- /dev/null
+++ b/p2p/base/fakedtlstransport.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_FAKEDTLSTRANSPORT_H_
+#define P2P_BASE_FAKEDTLSTRANSPORT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/fake_dtls_transport.h"
+
+#endif  // P2P_BASE_FAKEDTLSTRANSPORT_H_
diff --git a/p2p/base/fakeicetransport.h b/p2p/base/fakeicetransport.h
new file mode 100644
index 0000000..5d98e60
--- /dev/null
+++ b/p2p/base/fakeicetransport.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_FAKEICETRANSPORT_H_
+#define P2P_BASE_FAKEICETRANSPORT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/fake_ice_transport.h"
+
+#endif  // P2P_BASE_FAKEICETRANSPORT_H_
diff --git a/p2p/base/fakepackettransport.h b/p2p/base/fakepackettransport.h
new file mode 100644
index 0000000..643e8ad
--- /dev/null
+++ b/p2p/base/fakepackettransport.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_FAKEPACKETTRANSPORT_H_
+#define P2P_BASE_FAKEPACKETTRANSPORT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/fake_packet_transport.h"
+
+#endif  // P2P_BASE_FAKEPACKETTRANSPORT_H_
diff --git a/p2p/base/fakeportallocator.h b/p2p/base/fakeportallocator.h
new file mode 100644
index 0000000..19da527
--- /dev/null
+++ b/p2p/base/fakeportallocator.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_FAKEPORTALLOCATOR_H_
+#define P2P_BASE_FAKEPORTALLOCATOR_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/fake_port_allocator.h"
+
+#endif  // P2P_BASE_FAKEPORTALLOCATOR_H_
diff --git a/p2p/base/icecredentialsiterator.h b/p2p/base/icecredentialsiterator.h
new file mode 100644
index 0000000..90260bc
--- /dev/null
+++ b/p2p/base/icecredentialsiterator.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_ICECREDENTIALSITERATOR_H_
+#define P2P_BASE_ICECREDENTIALSITERATOR_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/ice_credentials_iterator.h"
+
+#endif  // P2P_BASE_ICECREDENTIALSITERATOR_H_
diff --git a/p2p/base/icetransportinternal.h b/p2p/base/icetransportinternal.h
new file mode 100644
index 0000000..43f2548
--- /dev/null
+++ b/p2p/base/icetransportinternal.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_ICETRANSPORTINTERNAL_H_
+#define P2P_BASE_ICETRANSPORTINTERNAL_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/ice_transport_internal.h"
+
+#endif  // P2P_BASE_ICETRANSPORTINTERNAL_H_
diff --git a/p2p/base/mockasyncresolver.h b/p2p/base/mockasyncresolver.h
new file mode 100644
index 0000000..26b7a40
--- /dev/null
+++ b/p2p/base/mockasyncresolver.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_MOCKASYNCRESOLVER_H_
+#define P2P_BASE_MOCKASYNCRESOLVER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/mock_async_resolver.h"
+
+#endif  // P2P_BASE_MOCKASYNCRESOLVER_H_
diff --git a/p2p/base/mockicetransport.h b/p2p/base/mockicetransport.h
new file mode 100644
index 0000000..e5fe0b4
--- /dev/null
+++ b/p2p/base/mockicetransport.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_MOCKICETRANSPORT_H_
+#define P2P_BASE_MOCKICETRANSPORT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/mock_ice_transport.h"
+
+#endif  // P2P_BASE_MOCKICETRANSPORT_H_
diff --git a/p2p/base/p2pconstants.h b/p2p/base/p2pconstants.h
new file mode 100644
index 0000000..3f2419f
--- /dev/null
+++ b/p2p/base/p2pconstants.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_P2PCONSTANTS_H_
+#define P2P_BASE_P2PCONSTANTS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/p2p_constants.h"
+
+#endif  // P2P_BASE_P2PCONSTANTS_H_
diff --git a/p2p/base/p2ptransportchannel.h b/p2p/base/p2ptransportchannel.h
new file mode 100644
index 0000000..4376d9b
--- /dev/null
+++ b/p2p/base/p2ptransportchannel.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_P2PTRANSPORTCHANNEL_H_
+#define P2P_BASE_P2PTRANSPORTCHANNEL_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/p2p_transport_channel.h"
+
+#endif  // P2P_BASE_P2PTRANSPORTCHANNEL_H_
diff --git a/p2p/base/packetlossestimator.h b/p2p/base/packetlossestimator.h
new file mode 100644
index 0000000..9b4c6c4
--- /dev/null
+++ b/p2p/base/packetlossestimator.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_PACKETLOSSESTIMATOR_H_
+#define P2P_BASE_PACKETLOSSESTIMATOR_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/packet_loss_estimator.h"
+
+#endif  // P2P_BASE_PACKETLOSSESTIMATOR_H_
diff --git a/p2p/base/packetsocketfactory.h b/p2p/base/packetsocketfactory.h
new file mode 100644
index 0000000..b553e25
--- /dev/null
+++ b/p2p/base/packetsocketfactory.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_PACKETSOCKETFACTORY_H_
+#define P2P_BASE_PACKETSOCKETFACTORY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/packet_socket_factory.h"
+
+#endif  // P2P_BASE_PACKETSOCKETFACTORY_H_
diff --git a/p2p/base/packettransportinterface.h b/p2p/base/packettransportinterface.h
new file mode 100644
index 0000000..66f486d
--- /dev/null
+++ b/p2p/base/packettransportinterface.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_PACKETTRANSPORTINTERFACE_H_
+#define P2P_BASE_PACKETTRANSPORTINTERFACE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/packet_transport_interface.h"
+
+#endif  // P2P_BASE_PACKETTRANSPORTINTERFACE_H_
diff --git a/p2p/base/packettransportinternal.h b/p2p/base/packettransportinternal.h
new file mode 100644
index 0000000..40ad733
--- /dev/null
+++ b/p2p/base/packettransportinternal.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_PACKETTRANSPORTINTERNAL_H_
+#define P2P_BASE_PACKETTRANSPORTINTERNAL_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/packet_transport_internal.h"
+
+#endif  // P2P_BASE_PACKETTRANSPORTINTERNAL_H_
diff --git a/p2p/base/portallocator.h b/p2p/base/portallocator.h
new file mode 100644
index 0000000..ca26648
--- /dev/null
+++ b/p2p/base/portallocator.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_PORTALLOCATOR_H_
+#define P2P_BASE_PORTALLOCATOR_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/port_allocator.h"
+
+#endif  // P2P_BASE_PORTALLOCATOR_H_
diff --git a/p2p/base/portinterface.h b/p2p/base/portinterface.h
new file mode 100644
index 0000000..7631d95
--- /dev/null
+++ b/p2p/base/portinterface.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_PORTINTERFACE_H_
+#define P2P_BASE_PORTINTERFACE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/port_interface.h"
+
+#endif  // P2P_BASE_PORTINTERFACE_H_
diff --git a/p2p/base/pseudotcp.h b/p2p/base/pseudotcp.h
new file mode 100644
index 0000000..b998133
--- /dev/null
+++ b/p2p/base/pseudotcp.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_PSEUDOTCP_H_
+#define P2P_BASE_PSEUDOTCP_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/pseudo_tcp.h"
+
+#endif  // P2P_BASE_PSEUDOTCP_H_
diff --git a/p2p/base/regatheringcontroller.h b/p2p/base/regatheringcontroller.h
new file mode 100644
index 0000000..32d3932
--- /dev/null
+++ b/p2p/base/regatheringcontroller.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_REGATHERINGCONTROLLER_H_
+#define P2P_BASE_REGATHERINGCONTROLLER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/regathering_controller.h"
+
+#endif  // P2P_BASE_REGATHERINGCONTROLLER_H_
diff --git a/p2p/base/relayport.h b/p2p/base/relayport.h
new file mode 100644
index 0000000..13a5be7
--- /dev/null
+++ b/p2p/base/relayport.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_RELAYPORT_H_
+#define P2P_BASE_RELAYPORT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/relay_port.h"
+
+#endif  // P2P_BASE_RELAYPORT_H_
diff --git a/p2p/base/relayserver.h b/p2p/base/relayserver.h
new file mode 100644
index 0000000..ae8ab41
--- /dev/null
+++ b/p2p/base/relayserver.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_RELAYSERVER_H_
+#define P2P_BASE_RELAYSERVER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/relay_server.h"
+
+#endif  // P2P_BASE_RELAYSERVER_H_
diff --git a/p2p/base/stunport.h b/p2p/base/stunport.h
new file mode 100644
index 0000000..082d2c5
--- /dev/null
+++ b/p2p/base/stunport.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_STUNPORT_H_
+#define P2P_BASE_STUNPORT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/stun_port.h"
+
+#endif  // P2P_BASE_STUNPORT_H_
diff --git a/p2p/base/stunrequest.h b/p2p/base/stunrequest.h
new file mode 100644
index 0000000..b0985f6
--- /dev/null
+++ b/p2p/base/stunrequest.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_STUNREQUEST_H_
+#define P2P_BASE_STUNREQUEST_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/stun_request.h"
+
+#endif  // P2P_BASE_STUNREQUEST_H_
diff --git a/p2p/base/stunserver.h b/p2p/base/stunserver.h
new file mode 100644
index 0000000..40ce23f
--- /dev/null
+++ b/p2p/base/stunserver.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_STUNSERVER_H_
+#define P2P_BASE_STUNSERVER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/stun_server.h"
+
+#endif  // P2P_BASE_STUNSERVER_H_
diff --git a/p2p/base/tcpport.h b/p2p/base/tcpport.h
new file mode 100644
index 0000000..569abd0
--- /dev/null
+++ b/p2p/base/tcpport.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_TCPPORT_H_
+#define P2P_BASE_TCPPORT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/tcp_port.h"
+
+#endif  // P2P_BASE_TCPPORT_H_
diff --git a/p2p/base/testrelayserver.h b/p2p/base/testrelayserver.h
new file mode 100644
index 0000000..4503c94
--- /dev/null
+++ b/p2p/base/testrelayserver.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_TESTRELAYSERVER_H_
+#define P2P_BASE_TESTRELAYSERVER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/test_relay_server.h"
+
+#endif  // P2P_BASE_TESTRELAYSERVER_H_
diff --git a/p2p/base/teststunserver.h b/p2p/base/teststunserver.h
new file mode 100644
index 0000000..64fdda0
--- /dev/null
+++ b/p2p/base/teststunserver.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_TESTSTUNSERVER_H_
+#define P2P_BASE_TESTSTUNSERVER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/test_stun_server.h"
+
+#endif  // P2P_BASE_TESTSTUNSERVER_H_
diff --git a/p2p/base/testturncustomizer.h b/p2p/base/testturncustomizer.h
new file mode 100644
index 0000000..49ec42e
--- /dev/null
+++ b/p2p/base/testturncustomizer.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_TESTTURNCUSTOMIZER_H_
+#define P2P_BASE_TESTTURNCUSTOMIZER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/test_turn_customizer.h"
+
+#endif  // P2P_BASE_TESTTURNCUSTOMIZER_H_
diff --git a/p2p/base/testturnserver.h b/p2p/base/testturnserver.h
new file mode 100644
index 0000000..a5d07a7
--- /dev/null
+++ b/p2p/base/testturnserver.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_TESTTURNSERVER_H_
+#define P2P_BASE_TESTTURNSERVER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/test_turn_server.h"
+
+#endif  // P2P_BASE_TESTTURNSERVER_H_
diff --git a/p2p/base/transportdescription.h b/p2p/base/transportdescription.h
new file mode 100644
index 0000000..ab64f27
--- /dev/null
+++ b/p2p/base/transportdescription.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_TRANSPORTDESCRIPTION_H_
+#define P2P_BASE_TRANSPORTDESCRIPTION_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/transport_description.h"
+
+#endif  // P2P_BASE_TRANSPORTDESCRIPTION_H_
diff --git a/p2p/base/transportdescriptionfactory.h b/p2p/base/transportdescriptionfactory.h
new file mode 100644
index 0000000..05f2791
--- /dev/null
+++ b/p2p/base/transportdescriptionfactory.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_TRANSPORTDESCRIPTIONFACTORY_H_
+#define P2P_BASE_TRANSPORTDESCRIPTIONFACTORY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/transport_description_factory.h"
+
+#endif  // P2P_BASE_TRANSPORTDESCRIPTIONFACTORY_H_
diff --git a/p2p/base/transportfactoryinterface.h b/p2p/base/transportfactoryinterface.h
new file mode 100644
index 0000000..e16ccf4
--- /dev/null
+++ b/p2p/base/transportfactoryinterface.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_TRANSPORTFACTORYINTERFACE_H_
+#define P2P_BASE_TRANSPORTFACTORYINTERFACE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/transport_factory_interface.h"
+
+#endif  // P2P_BASE_TRANSPORTFACTORYINTERFACE_H_
diff --git a/p2p/base/transportinfo.h b/p2p/base/transportinfo.h
new file mode 100644
index 0000000..98d9e77
--- /dev/null
+++ b/p2p/base/transportinfo.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_TRANSPORTINFO_H_
+#define P2P_BASE_TRANSPORTINFO_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/transport_info.h"
+
+#endif  // P2P_BASE_TRANSPORTINFO_H_
diff --git a/p2p/base/turnport.h b/p2p/base/turnport.h
new file mode 100644
index 0000000..ea4b838
--- /dev/null
+++ b/p2p/base/turnport.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_TURNPORT_H_
+#define P2P_BASE_TURNPORT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/turn_port.h"
+
+#endif  // P2P_BASE_TURNPORT_H_
diff --git a/p2p/base/turnserver.h b/p2p/base/turnserver.h
new file mode 100644
index 0000000..89dde8c
--- /dev/null
+++ b/p2p/base/turnserver.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_TURNSERVER_H_
+#define P2P_BASE_TURNSERVER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/turn_server.h"
+
+#endif  // P2P_BASE_TURNSERVER_H_
diff --git a/p2p/base/udpport.h b/p2p/base/udpport.h
new file mode 100644
index 0000000..edb5e26
--- /dev/null
+++ b/p2p/base/udpport.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_BASE_UDPPORT_H_
+#define P2P_BASE_UDPPORT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/base/udp_port.h"
+
+#endif  // P2P_BASE_UDPPORT_H_
diff --git a/p2p/client/basicportallocator.h b/p2p/client/basicportallocator.h
new file mode 100644
index 0000000..b429ed8
--- /dev/null
+++ b/p2p/client/basicportallocator.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_CLIENT_BASICPORTALLOCATOR_H_
+#define P2P_CLIENT_BASICPORTALLOCATOR_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/client/basic_port_allocator.h"
+
+#endif  // P2P_CLIENT_BASICPORTALLOCATOR_H_
diff --git a/p2p/client/relayportfactoryinterface.h b/p2p/client/relayportfactoryinterface.h
new file mode 100644
index 0000000..20baa28
--- /dev/null
+++ b/p2p/client/relayportfactoryinterface.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_CLIENT_RELAYPORTFACTORYINTERFACE_H_
+#define P2P_CLIENT_RELAYPORTFACTORYINTERFACE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/client/relay_port_factory_interface.h"
+
+#endif  // P2P_CLIENT_RELAYPORTFACTORYINTERFACE_H_
diff --git a/p2p/client/turnportfactory.h b/p2p/client/turnportfactory.h
new file mode 100644
index 0000000..a2dcab4
--- /dev/null
+++ b/p2p/client/turnportfactory.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_CLIENT_TURNPORTFACTORY_H_
+#define P2P_CLIENT_TURNPORTFACTORY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/client/turn_port_factory.h"
+
+#endif  // P2P_CLIENT_TURNPORTFACTORY_H_
diff --git a/p2p/stunprober/stunprober.h b/p2p/stunprober/stunprober.h
new file mode 100644
index 0000000..edaa306
--- /dev/null
+++ b/p2p/stunprober/stunprober.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef P2P_STUNPROBER_STUNPROBER_H_
+#define P2P_STUNPROBER_STUNPROBER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "p2p/stunprober/stun_prober.h"
+
+#endif  // P2P_STUNPROBER_STUNPROBER_H_
diff --git a/pc/BUILD.gn b/pc/BUILD.gn
index 9b634fb..ac1bde2 100644
--- a/pc/BUILD.gn
+++ b/pc/BUILD.gn
@@ -34,38 +34,57 @@
     "channel_interface.h",
     "channel_manager.cc",
     "channel_manager.h",
+    "channelinterface.h",
+    "channelmanager.h",
     "dtls_srtp_transport.cc",
     "dtls_srtp_transport.h",
     "dtls_transport.cc",
     "dtls_transport.h",
+    "dtlssrtptransport.h",
+    "dtlstransport.h",
     "external_hmac.cc",
     "external_hmac.h",
+    "externalhmac.h",
     "jsep_transport.cc",
     "jsep_transport.h",
     "jsep_transport_controller.cc",
     "jsep_transport_controller.h",
+    "jseptransport.h",
+    "jseptransportcontroller.h",
     "media_session.cc",
     "media_session.h",
+    "mediasession.h",
     "rtcp_mux_filter.cc",
     "rtcp_mux_filter.h",
+    "rtcpmuxfilter.h",
     "rtp_media_utils.cc",
     "rtp_media_utils.h",
     "rtp_transport.cc",
     "rtp_transport.h",
     "rtp_transport_internal.h",
     "rtp_transport_internal_adapter.h",
+    "rtpmediautils.h",
+    "rtptransport.h",
+    "rtptransportinternal.h",
+    "rtptransportinternaladapter.h",
     "session_description.cc",
     "session_description.h",
+    "sessiondescription.h",
     "simulcast_description.cc",
     "simulcast_description.h",
+    "simulcastdescription.h",
     "srtp_filter.cc",
     "srtp_filter.h",
     "srtp_session.cc",
     "srtp_session.h",
     "srtp_transport.cc",
     "srtp_transport.h",
+    "srtpfilter.h",
+    "srtpsession.h",
+    "srtptransport.h",
     "transport_stats.cc",
     "transport_stats.h",
+    "transportstats.h",
     "unique_id_generator.cc",
     "unique_id_generator.h",
   ]
@@ -131,32 +150,46 @@
   sources = [
     "audio_track.cc",
     "audio_track.h",
+    "audiotrack.h",
     "data_channel.cc",
     "data_channel.h",
+    "datachannel.h",
     "dtmf_sender.cc",
     "dtmf_sender.h",
+    "dtmfsender.h",
     "ice_server_parsing.cc",
     "ice_server_parsing.h",
+    "iceserverparsing.h",
     "jsep_ice_candidate.cc",
     "jsep_session_description.cc",
     "local_audio_source.cc",
     "local_audio_source.h",
+    "localaudiosource.h",
     "media_stream.cc",
     "media_stream.h",
     "media_stream_observer.cc",
     "media_stream_observer.h",
     "media_stream_track.h",
+    "mediastream.h",
+    "mediastreamobserver.h",
+    "mediastreamtrack.h",
     "peer_connection.cc",
     "peer_connection.h",
     "peer_connection_factory.cc",
     "peer_connection_factory.h",
     "peer_connection_internal.h",
+    "peerconnection.h",
+    "peerconnectionfactory.h",
+    "peerconnectioninternal.h",
     "remote_audio_source.cc",
     "remote_audio_source.h",
+    "remoteaudiosource.h",
     "rtc_stats_collector.cc",
     "rtc_stats_collector.h",
     "rtc_stats_traversal.cc",
     "rtc_stats_traversal.h",
+    "rtcstatscollector.h",
+    "rtcstatstraversal.h",
     "rtp_parameters_conversion.cc",
     "rtp_parameters_conversion.h",
     "rtp_receiver.cc",
@@ -165,27 +198,42 @@
     "rtp_sender.h",
     "rtp_transceiver.cc",
     "rtp_transceiver.h",
+    "rtpparametersconversion.h",
+    "rtpreceiver.h",
+    "rtpsender.h",
+    "rtptransceiver.h",
     "sctp_utils.cc",
     "sctp_utils.h",
+    "sctputils.h",
     "sdp_serializer.cc",
     "sdp_serializer.h",
     "sdp_utils.cc",
     "sdp_utils.h",
+    "sdpserializer.h",
+    "sdputils.h",
     "stats_collector.cc",
     "stats_collector.h",
+    "statscollector.h",
     "stream_collection.h",
+    "streamcollection.h",
     "track_media_info_map.cc",
     "track_media_info_map.h",
+    "trackmediainfomap.h",
     "video_capturer_track_source.cc",
     "video_capturer_track_source.h",
     "video_track.cc",
     "video_track.h",
     "video_track_source.cc",
     "video_track_source.h",
+    "videocapturertracksource.h",
+    "videotrack.h",
+    "videotracksource.h",
     "webrtc_sdp.cc",
     "webrtc_sdp.h",
     "webrtc_session_description_factory.cc",
     "webrtc_session_description_factory.h",
+    "webrtcsdp.h",
+    "webrtcsessiondescriptionfactory.h",
   ]
 
   if (!build_with_chromium && is_clang) {
@@ -255,10 +303,12 @@
       "media_session_unittest.cc",
       "rtcp_mux_filter_unittest.cc",
       "rtp_transport_unittest.cc",
+      "rtptransporttestutil.h",
       "session_description_unittest.cc",
       "srtp_filter_unittest.cc",
       "srtp_session_unittest.cc",
       "srtp_transport_unittest.cc",
+      "srtptestutil.h",
       "test/rtp_transport_test_util.h",
       "test/srtp_test_util.h",
       "unique_id_generator_unittest.cc",
@@ -359,6 +409,7 @@
     sources = [
       "peer_connection_wrapper.cc",
       "peer_connection_wrapper.h",
+      "peerconnectionwrapper.h",
     ]
     deps = [
       ":pc_test_utils",
@@ -390,16 +441,35 @@
       "test/fake_sctp_transport.h",
       "test/fake_video_track_renderer.h",
       "test/fake_video_track_source.h",
+      "test/fakeaudiocapturemodule.h",
+      "test/fakedatachannelprovider.h",
+      "test/fakepeerconnectionbase.h",
+      "test/fakepeerconnectionforstats.h",
+      "test/fakeperiodicvideosource.h",
+      "test/fakeperiodicvideotracksource.h",
+      "test/fakertccertificategenerator.h",
+      "test/fakesctptransport.h",
+      "test/fakevideotrackrenderer.h",
+      "test/fakevideotracksource.h",
       "test/frame_generator_capturer_video_track_source.h",
+      "test/framegeneratorcapturervideotracksource.h",
       "test/mock_channel_interface.h",
+      "test/mock_channelinterface.h",
       "test/mock_data_channel.h",
+      "test/mock_datachannel.h",
       "test/mock_peer_connection_observers.h",
       "test/mock_rtp_receiver_internal.h",
       "test/mock_rtp_sender_internal.h",
+      "test/mock_rtpreceiverinternal.h",
+      "test/mock_rtpsenderinternal.h",
+      "test/mockpeerconnectionobservers.h",
       "test/peer_connection_test_wrapper.cc",
       "test/peer_connection_test_wrapper.h",
+      "test/peerconnectiontestwrapper.h",
       "test/rtc_stats_obtainer.h",
+      "test/rtcstatsobtainer.h",
       "test/test_sdp_strings.h",
+      "test/testsdpstrings.h",
     ]
 
     deps = [
@@ -472,6 +542,7 @@
       "peer_connection_signaling_unittest.cc",
       "peer_connection_wrapper.cc",
       "peer_connection_wrapper.h",
+      "peerconnectionwrapper.h",
       "proxy_unittest.cc",
       "rtc_stats_collector_unittest.cc",
       "rtc_stats_integrationtest.cc",
@@ -485,6 +556,7 @@
       "stats_collector_unittest.cc",
       "test/fake_audio_capture_module_unittest.cc",
       "test/test_sdp_strings.h",
+      "test/testsdpstrings.h",
       "track_media_info_map_unittest.cc",
       "video_capturer_track_source_unittest.cc",
       "video_track_unittest.cc",
@@ -595,6 +667,7 @@
       sources = [
         "test/android_test_initializer.cc",
         "test/android_test_initializer.h",
+        "test/androidtestinitializer.h",
       ]
       deps = [
         "../sdk/android:libjingle_peerconnection_jni",
diff --git a/pc/audiotrack.h b/pc/audiotrack.h
new file mode 100644
index 0000000..dc249ba
--- /dev/null
+++ b/pc/audiotrack.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_AUDIOTRACK_H_
+#define PC_AUDIOTRACK_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/audio_track.h"
+
+#endif  // PC_AUDIOTRACK_H_
diff --git a/pc/channelinterface.h b/pc/channelinterface.h
new file mode 100644
index 0000000..25351ed
--- /dev/null
+++ b/pc/channelinterface.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_CHANNELINTERFACE_H_
+#define PC_CHANNELINTERFACE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/channel_interface.h"
+
+#endif  // PC_CHANNELINTERFACE_H_
diff --git a/pc/channelmanager.h b/pc/channelmanager.h
new file mode 100644
index 0000000..5da215d
--- /dev/null
+++ b/pc/channelmanager.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_CHANNELMANAGER_H_
+#define PC_CHANNELMANAGER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/channel_manager.h"
+
+#endif  // PC_CHANNELMANAGER_H_
diff --git a/pc/datachannel.h b/pc/datachannel.h
new file mode 100644
index 0000000..da8e6f2
--- /dev/null
+++ b/pc/datachannel.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_DATACHANNEL_H_
+#define PC_DATACHANNEL_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/data_channel.h"
+
+#endif  // PC_DATACHANNEL_H_
diff --git a/pc/dtlssrtptransport.h b/pc/dtlssrtptransport.h
new file mode 100644
index 0000000..ba20bd7
--- /dev/null
+++ b/pc/dtlssrtptransport.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_DTLSSRTPTRANSPORT_H_
+#define PC_DTLSSRTPTRANSPORT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/dtls_srtp_transport.h"
+
+#endif  // PC_DTLSSRTPTRANSPORT_H_
diff --git a/pc/dtlstransport.h b/pc/dtlstransport.h
new file mode 100644
index 0000000..3b979dd
--- /dev/null
+++ b/pc/dtlstransport.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_DTLSTRANSPORT_H_
+#define PC_DTLSTRANSPORT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/dtls_transport.h"
+
+#endif  // PC_DTLSTRANSPORT_H_
diff --git a/pc/dtmfsender.h b/pc/dtmfsender.h
new file mode 100644
index 0000000..ee4ec9b
--- /dev/null
+++ b/pc/dtmfsender.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_DTMFSENDER_H_
+#define PC_DTMFSENDER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/dtmf_sender.h"
+
+#endif  // PC_DTMFSENDER_H_
diff --git a/pc/externalhmac.h b/pc/externalhmac.h
new file mode 100644
index 0000000..afe5771
--- /dev/null
+++ b/pc/externalhmac.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_EXTERNALHMAC_H_
+#define PC_EXTERNALHMAC_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/external_hmac.h"
+
+#endif  // PC_EXTERNALHMAC_H_
diff --git a/pc/iceserverparsing.h b/pc/iceserverparsing.h
new file mode 100644
index 0000000..b893332
--- /dev/null
+++ b/pc/iceserverparsing.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_ICESERVERPARSING_H_
+#define PC_ICESERVERPARSING_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/ice_server_parsing.h"
+
+#endif  // PC_ICESERVERPARSING_H_
diff --git a/pc/jseptransport.h b/pc/jseptransport.h
new file mode 100644
index 0000000..6d700cf
--- /dev/null
+++ b/pc/jseptransport.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_JSEPTRANSPORT_H_
+#define PC_JSEPTRANSPORT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/jsep_transport.h"
+
+#endif  // PC_JSEPTRANSPORT_H_
diff --git a/pc/jseptransportcontroller.h b/pc/jseptransportcontroller.h
new file mode 100644
index 0000000..8b64cfb
--- /dev/null
+++ b/pc/jseptransportcontroller.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_JSEPTRANSPORTCONTROLLER_H_
+#define PC_JSEPTRANSPORTCONTROLLER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/jsep_transport_controller.h"
+
+#endif  // PC_JSEPTRANSPORTCONTROLLER_H_
diff --git a/pc/localaudiosource.h b/pc/localaudiosource.h
new file mode 100644
index 0000000..1cd73dd
--- /dev/null
+++ b/pc/localaudiosource.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_LOCALAUDIOSOURCE_H_
+#define PC_LOCALAUDIOSOURCE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/local_audio_source.h"
+
+#endif  // PC_LOCALAUDIOSOURCE_H_
diff --git a/pc/mediasession.h b/pc/mediasession.h
new file mode 100644
index 0000000..0ae7192
--- /dev/null
+++ b/pc/mediasession.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_MEDIASESSION_H_
+#define PC_MEDIASESSION_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/media_session.h"
+
+#endif  // PC_MEDIASESSION_H_
diff --git a/pc/mediastream.h b/pc/mediastream.h
new file mode 100644
index 0000000..806303e
--- /dev/null
+++ b/pc/mediastream.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_MEDIASTREAM_H_
+#define PC_MEDIASTREAM_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/media_stream.h"
+
+#endif  // PC_MEDIASTREAM_H_
diff --git a/pc/mediastreamobserver.h b/pc/mediastreamobserver.h
new file mode 100644
index 0000000..55ba556
--- /dev/null
+++ b/pc/mediastreamobserver.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_MEDIASTREAMOBSERVER_H_
+#define PC_MEDIASTREAMOBSERVER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/media_stream_observer.h"
+
+#endif  // PC_MEDIASTREAMOBSERVER_H_
diff --git a/pc/mediastreamtrack.h b/pc/mediastreamtrack.h
new file mode 100644
index 0000000..19b9693
--- /dev/null
+++ b/pc/mediastreamtrack.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_MEDIASTREAMTRACK_H_
+#define PC_MEDIASTREAMTRACK_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/media_stream_track.h"
+
+#endif  // PC_MEDIASTREAMTRACK_H_
diff --git a/pc/peerconnection.h b/pc/peerconnection.h
new file mode 100644
index 0000000..508b4d0
--- /dev/null
+++ b/pc/peerconnection.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_PEERCONNECTION_H_
+#define PC_PEERCONNECTION_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/peer_connection.h"
+
+#endif  // PC_PEERCONNECTION_H_
diff --git a/pc/peerconnectionfactory.h b/pc/peerconnectionfactory.h
new file mode 100644
index 0000000..8bda34d
--- /dev/null
+++ b/pc/peerconnectionfactory.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_PEERCONNECTIONFACTORY_H_
+#define PC_PEERCONNECTIONFACTORY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/peer_connection_factory.h"
+
+#endif  // PC_PEERCONNECTIONFACTORY_H_
diff --git a/pc/peerconnectioninternal.h b/pc/peerconnectioninternal.h
new file mode 100644
index 0000000..c56a355
--- /dev/null
+++ b/pc/peerconnectioninternal.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_PEERCONNECTIONINTERNAL_H_
+#define PC_PEERCONNECTIONINTERNAL_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/peer_connection_internal.h"
+
+#endif  // PC_PEERCONNECTIONINTERNAL_H_
diff --git a/pc/peerconnectionwrapper.h b/pc/peerconnectionwrapper.h
new file mode 100644
index 0000000..5cb3cd8
--- /dev/null
+++ b/pc/peerconnectionwrapper.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_PEERCONNECTIONWRAPPER_H_
+#define PC_PEERCONNECTIONWRAPPER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/peer_connection_wrapper.h"
+
+#endif  // PC_PEERCONNECTIONWRAPPER_H_
diff --git a/pc/remoteaudiosource.h b/pc/remoteaudiosource.h
new file mode 100644
index 0000000..5cbd85f
--- /dev/null
+++ b/pc/remoteaudiosource.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_REMOTEAUDIOSOURCE_H_
+#define PC_REMOTEAUDIOSOURCE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/remote_audio_source.h"
+
+#endif  // PC_REMOTEAUDIOSOURCE_H_
diff --git a/pc/rtcpmuxfilter.h b/pc/rtcpmuxfilter.h
new file mode 100644
index 0000000..ab6b58c
--- /dev/null
+++ b/pc/rtcpmuxfilter.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_RTCPMUXFILTER_H_
+#define PC_RTCPMUXFILTER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/rtcp_mux_filter.h"
+
+#endif  // PC_RTCPMUXFILTER_H_
diff --git a/pc/rtcstatscollector.h b/pc/rtcstatscollector.h
new file mode 100644
index 0000000..2f054ca
--- /dev/null
+++ b/pc/rtcstatscollector.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_RTCSTATSCOLLECTOR_H_
+#define PC_RTCSTATSCOLLECTOR_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/rtc_stats_collector.h"
+
+#endif  // PC_RTCSTATSCOLLECTOR_H_
diff --git a/pc/rtcstatstraversal.h b/pc/rtcstatstraversal.h
new file mode 100644
index 0000000..a1bb263
--- /dev/null
+++ b/pc/rtcstatstraversal.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_RTCSTATSTRAVERSAL_H_
+#define PC_RTCSTATSTRAVERSAL_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/rtc_stats_traversal.h"
+
+#endif  // PC_RTCSTATSTRAVERSAL_H_
diff --git a/pc/rtpmediautils.h b/pc/rtpmediautils.h
new file mode 100644
index 0000000..cca4f65
--- /dev/null
+++ b/pc/rtpmediautils.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_RTPMEDIAUTILS_H_
+#define PC_RTPMEDIAUTILS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/rtp_media_utils.h"
+
+#endif  // PC_RTPMEDIAUTILS_H_
diff --git a/pc/rtpparametersconversion.h b/pc/rtpparametersconversion.h
new file mode 100644
index 0000000..c80af1a
--- /dev/null
+++ b/pc/rtpparametersconversion.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_RTPPARAMETERSCONVERSION_H_
+#define PC_RTPPARAMETERSCONVERSION_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/rtp_parameters_conversion.h"
+
+#endif  // PC_RTPPARAMETERSCONVERSION_H_
diff --git a/pc/rtpreceiver.h b/pc/rtpreceiver.h
new file mode 100644
index 0000000..48e242b
--- /dev/null
+++ b/pc/rtpreceiver.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_RTPRECEIVER_H_
+#define PC_RTPRECEIVER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/rtp_receiver.h"
+
+#endif  // PC_RTPRECEIVER_H_
diff --git a/pc/rtpsender.h b/pc/rtpsender.h
new file mode 100644
index 0000000..e99723d
--- /dev/null
+++ b/pc/rtpsender.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_RTPSENDER_H_
+#define PC_RTPSENDER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/rtp_sender.h"
+
+#endif  // PC_RTPSENDER_H_
diff --git a/pc/rtptransceiver.h b/pc/rtptransceiver.h
new file mode 100644
index 0000000..c2bd54a
--- /dev/null
+++ b/pc/rtptransceiver.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_RTPTRANSCEIVER_H_
+#define PC_RTPTRANSCEIVER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/rtp_transceiver.h"
+
+#endif  // PC_RTPTRANSCEIVER_H_
diff --git a/pc/rtptransport.h b/pc/rtptransport.h
new file mode 100644
index 0000000..ed7a3c7
--- /dev/null
+++ b/pc/rtptransport.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_RTPTRANSPORT_H_
+#define PC_RTPTRANSPORT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/rtp_transport.h"
+
+#endif  // PC_RTPTRANSPORT_H_
diff --git a/pc/rtptransportinternal.h b/pc/rtptransportinternal.h
new file mode 100644
index 0000000..fe8fa90
--- /dev/null
+++ b/pc/rtptransportinternal.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_RTPTRANSPORTINTERNAL_H_
+#define PC_RTPTRANSPORTINTERNAL_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/rtp_transport_internal.h"
+
+#endif  // PC_RTPTRANSPORTINTERNAL_H_
diff --git a/pc/rtptransportinternaladapter.h b/pc/rtptransportinternaladapter.h
new file mode 100644
index 0000000..460217b
--- /dev/null
+++ b/pc/rtptransportinternaladapter.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_RTPTRANSPORTINTERNALADAPTER_H_
+#define PC_RTPTRANSPORTINTERNALADAPTER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/rtp_transport_internal_adapter.h"
+
+#endif  // PC_RTPTRANSPORTINTERNALADAPTER_H_
diff --git a/pc/rtptransporttestutil.h b/pc/rtptransporttestutil.h
new file mode 100644
index 0000000..bb2d7ae
--- /dev/null
+++ b/pc/rtptransporttestutil.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_RTPTRANSPORTTESTUTIL_H_
+#define PC_RTPTRANSPORTTESTUTIL_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/test/rtp_transport_test_util.h"
+
+#endif  // PC_RTPTRANSPORTTESTUTIL_H_
diff --git a/pc/sctputils.h b/pc/sctputils.h
new file mode 100644
index 0000000..bbd0d6a
--- /dev/null
+++ b/pc/sctputils.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_SCTPUTILS_H_
+#define PC_SCTPUTILS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/sctp_utils.h"
+
+#endif  // PC_SCTPUTILS_H_
diff --git a/pc/sdpserializer.h b/pc/sdpserializer.h
new file mode 100644
index 0000000..e29bfba
--- /dev/null
+++ b/pc/sdpserializer.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_SDPSERIALIZER_H_
+#define PC_SDPSERIALIZER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/sdp_serializer.h"
+
+#endif  // PC_SDPSERIALIZER_H_
diff --git a/pc/sdputils.h b/pc/sdputils.h
new file mode 100644
index 0000000..3bec9eb
--- /dev/null
+++ b/pc/sdputils.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_SDPUTILS_H_
+#define PC_SDPUTILS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/sdp_utils.h"
+
+#endif  // PC_SDPUTILS_H_
diff --git a/pc/sessiondescription.h b/pc/sessiondescription.h
new file mode 100644
index 0000000..f274309
--- /dev/null
+++ b/pc/sessiondescription.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_SESSIONDESCRIPTION_H_
+#define PC_SESSIONDESCRIPTION_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/session_description.h"
+
+#endif  // PC_SESSIONDESCRIPTION_H_
diff --git a/pc/simulcastdescription.h b/pc/simulcastdescription.h
new file mode 100644
index 0000000..34330ba
--- /dev/null
+++ b/pc/simulcastdescription.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_SIMULCASTDESCRIPTION_H_
+#define PC_SIMULCASTDESCRIPTION_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/simulcast_description.h"
+
+#endif  // PC_SIMULCASTDESCRIPTION_H_
diff --git a/pc/srtpfilter.h b/pc/srtpfilter.h
new file mode 100644
index 0000000..73bdee8
--- /dev/null
+++ b/pc/srtpfilter.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_SRTPFILTER_H_
+#define PC_SRTPFILTER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/srtp_filter.h"
+
+#endif  // PC_SRTPFILTER_H_
diff --git a/pc/srtpsession.h b/pc/srtpsession.h
new file mode 100644
index 0000000..975ca8b
--- /dev/null
+++ b/pc/srtpsession.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_SRTPSESSION_H_
+#define PC_SRTPSESSION_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/srtp_session.h"
+
+#endif  // PC_SRTPSESSION_H_
diff --git a/pc/srtptestutil.h b/pc/srtptestutil.h
new file mode 100644
index 0000000..8c5917f
--- /dev/null
+++ b/pc/srtptestutil.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_SRTPTESTUTIL_H_
+#define PC_SRTPTESTUTIL_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/test/srtp_test_util.h"
+
+#endif  // PC_SRTPTESTUTIL_H_
diff --git a/pc/srtptransport.h b/pc/srtptransport.h
new file mode 100644
index 0000000..a45dba1
--- /dev/null
+++ b/pc/srtptransport.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_SRTPTRANSPORT_H_
+#define PC_SRTPTRANSPORT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/srtp_transport.h"
+
+#endif  // PC_SRTPTRANSPORT_H_
diff --git a/pc/statscollector.h b/pc/statscollector.h
new file mode 100644
index 0000000..0a72ac7
--- /dev/null
+++ b/pc/statscollector.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_STATSCOLLECTOR_H_
+#define PC_STATSCOLLECTOR_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/stats_collector.h"
+
+#endif  // PC_STATSCOLLECTOR_H_
diff --git a/pc/streamcollection.h b/pc/streamcollection.h
new file mode 100644
index 0000000..2e63c14
--- /dev/null
+++ b/pc/streamcollection.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_STREAMCOLLECTION_H_
+#define PC_STREAMCOLLECTION_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/stream_collection.h"
+
+#endif  // PC_STREAMCOLLECTION_H_
diff --git a/pc/test/androidtestinitializer.h b/pc/test/androidtestinitializer.h
new file mode 100644
index 0000000..723dde7
--- /dev/null
+++ b/pc/test/androidtestinitializer.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_TEST_ANDROIDTESTINITIALIZER_H_
+#define PC_TEST_ANDROIDTESTINITIALIZER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/test/android_test_initializer.h"
+
+#endif  // PC_TEST_ANDROIDTESTINITIALIZER_H_
diff --git a/pc/test/fakeaudiocapturemodule.h b/pc/test/fakeaudiocapturemodule.h
new file mode 100644
index 0000000..b07038f
--- /dev/null
+++ b/pc/test/fakeaudiocapturemodule.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_TEST_FAKEAUDIOCAPTUREMODULE_H_
+#define PC_TEST_FAKEAUDIOCAPTUREMODULE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/test/fake_audio_capture_module.h"
+
+#endif  // PC_TEST_FAKEAUDIOCAPTUREMODULE_H_
diff --git a/pc/test/fakedatachannelprovider.h b/pc/test/fakedatachannelprovider.h
new file mode 100644
index 0000000..c686340
--- /dev/null
+++ b/pc/test/fakedatachannelprovider.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_TEST_FAKEDATACHANNELPROVIDER_H_
+#define PC_TEST_FAKEDATACHANNELPROVIDER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/test/fake_data_channel_provider.h"
+
+#endif  // PC_TEST_FAKEDATACHANNELPROVIDER_H_
diff --git a/pc/test/fakepeerconnectionbase.h b/pc/test/fakepeerconnectionbase.h
new file mode 100644
index 0000000..e57fd46
--- /dev/null
+++ b/pc/test/fakepeerconnectionbase.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_TEST_FAKEPEERCONNECTIONBASE_H_
+#define PC_TEST_FAKEPEERCONNECTIONBASE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/test/fake_peer_connection_base.h"
+
+#endif  // PC_TEST_FAKEPEERCONNECTIONBASE_H_
diff --git a/pc/test/fakepeerconnectionforstats.h b/pc/test/fakepeerconnectionforstats.h
new file mode 100644
index 0000000..f377746
--- /dev/null
+++ b/pc/test/fakepeerconnectionforstats.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_TEST_FAKEPEERCONNECTIONFORSTATS_H_
+#define PC_TEST_FAKEPEERCONNECTIONFORSTATS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/test/fake_peer_connection_for_stats.h"
+
+#endif  // PC_TEST_FAKEPEERCONNECTIONFORSTATS_H_
diff --git a/pc/test/fakeperiodicvideosource.h b/pc/test/fakeperiodicvideosource.h
new file mode 100644
index 0000000..d5584d2
--- /dev/null
+++ b/pc/test/fakeperiodicvideosource.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_TEST_FAKEPERIODICVIDEOSOURCE_H_
+#define PC_TEST_FAKEPERIODICVIDEOSOURCE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/test/fake_periodic_video_source.h"
+
+#endif  // PC_TEST_FAKEPERIODICVIDEOSOURCE_H_
diff --git a/pc/test/fakeperiodicvideotracksource.h b/pc/test/fakeperiodicvideotracksource.h
new file mode 100644
index 0000000..c678f03
--- /dev/null
+++ b/pc/test/fakeperiodicvideotracksource.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_TEST_FAKEPERIODICVIDEOTRACKSOURCE_H_
+#define PC_TEST_FAKEPERIODICVIDEOTRACKSOURCE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/test/fake_periodic_video_track_source.h"
+
+#endif  // PC_TEST_FAKEPERIODICVIDEOTRACKSOURCE_H_
diff --git a/pc/test/fakertccertificategenerator.h b/pc/test/fakertccertificategenerator.h
new file mode 100644
index 0000000..16f59bf
--- /dev/null
+++ b/pc/test/fakertccertificategenerator.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_TEST_FAKERTCCERTIFICATEGENERATOR_H_
+#define PC_TEST_FAKERTCCERTIFICATEGENERATOR_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/test/fake_rtc_certificate_generator.h"
+
+#endif  // PC_TEST_FAKERTCCERTIFICATEGENERATOR_H_
diff --git a/pc/test/fakesctptransport.h b/pc/test/fakesctptransport.h
new file mode 100644
index 0000000..03efda9
--- /dev/null
+++ b/pc/test/fakesctptransport.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_TEST_FAKESCTPTRANSPORT_H_
+#define PC_TEST_FAKESCTPTRANSPORT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/test/fake_sctp_transport.h"
+
+#endif  // PC_TEST_FAKESCTPTRANSPORT_H_
diff --git a/pc/test/fakevideotrackrenderer.h b/pc/test/fakevideotrackrenderer.h
new file mode 100644
index 0000000..017f941
--- /dev/null
+++ b/pc/test/fakevideotrackrenderer.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_TEST_FAKEVIDEOTRACKRENDERER_H_
+#define PC_TEST_FAKEVIDEOTRACKRENDERER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/test/fake_video_track_renderer.h"
+
+#endif  // PC_TEST_FAKEVIDEOTRACKRENDERER_H_
diff --git a/pc/test/fakevideotracksource.h b/pc/test/fakevideotracksource.h
new file mode 100644
index 0000000..ed551e1
--- /dev/null
+++ b/pc/test/fakevideotracksource.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_TEST_FAKEVIDEOTRACKSOURCE_H_
+#define PC_TEST_FAKEVIDEOTRACKSOURCE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/test/fake_video_track_source.h"
+
+#endif  // PC_TEST_FAKEVIDEOTRACKSOURCE_H_
diff --git a/pc/test/framegeneratorcapturervideotracksource.h b/pc/test/framegeneratorcapturervideotracksource.h
new file mode 100644
index 0000000..8f47a4d
--- /dev/null
+++ b/pc/test/framegeneratorcapturervideotracksource.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_TEST_FRAMEGENERATORCAPTURERVIDEOTRACKSOURCE_H_
+#define PC_TEST_FRAMEGENERATORCAPTURERVIDEOTRACKSOURCE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/test/frame_generator_capturer_video_track_source.h"
+
+#endif  // PC_TEST_FRAMEGENERATORCAPTURERVIDEOTRACKSOURCE_H_
diff --git a/pc/test/mock_channelinterface.h b/pc/test/mock_channelinterface.h
new file mode 100644
index 0000000..09d31ad
--- /dev/null
+++ b/pc/test/mock_channelinterface.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_TEST_MOCK_CHANNELINTERFACE_H_
+#define PC_TEST_MOCK_CHANNELINTERFACE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/test/mock_channel_interface.h"
+
+#endif  // PC_TEST_MOCK_CHANNELINTERFACE_H_
diff --git a/pc/test/mock_datachannel.h b/pc/test/mock_datachannel.h
new file mode 100644
index 0000000..cec3092
--- /dev/null
+++ b/pc/test/mock_datachannel.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_TEST_MOCK_DATACHANNEL_H_
+#define PC_TEST_MOCK_DATACHANNEL_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/test/mock_data_channel.h"
+
+#endif  // PC_TEST_MOCK_DATACHANNEL_H_
diff --git a/pc/test/mock_rtpreceiverinternal.h b/pc/test/mock_rtpreceiverinternal.h
new file mode 100644
index 0000000..5a8cf9a
--- /dev/null
+++ b/pc/test/mock_rtpreceiverinternal.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_TEST_MOCK_RTPRECEIVERINTERNAL_H_
+#define PC_TEST_MOCK_RTPRECEIVERINTERNAL_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/test/mock_rtp_receiver_internal.h"
+
+#endif  // PC_TEST_MOCK_RTPRECEIVERINTERNAL_H_
diff --git a/pc/test/mock_rtpsenderinternal.h b/pc/test/mock_rtpsenderinternal.h
new file mode 100644
index 0000000..8a71d1b
--- /dev/null
+++ b/pc/test/mock_rtpsenderinternal.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_TEST_MOCK_RTPSENDERINTERNAL_H_
+#define PC_TEST_MOCK_RTPSENDERINTERNAL_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/test/mock_rtp_sender_internal.h"
+
+#endif  // PC_TEST_MOCK_RTPSENDERINTERNAL_H_
diff --git a/pc/test/mockpeerconnectionobservers.h b/pc/test/mockpeerconnectionobservers.h
new file mode 100644
index 0000000..331220d
--- /dev/null
+++ b/pc/test/mockpeerconnectionobservers.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_TEST_MOCKPEERCONNECTIONOBSERVERS_H_
+#define PC_TEST_MOCKPEERCONNECTIONOBSERVERS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/test/mock_peer_connection_observers.h"
+
+#endif  // PC_TEST_MOCKPEERCONNECTIONOBSERVERS_H_
diff --git a/pc/test/peerconnectiontestwrapper.h b/pc/test/peerconnectiontestwrapper.h
new file mode 100644
index 0000000..0f8deed
--- /dev/null
+++ b/pc/test/peerconnectiontestwrapper.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_TEST_PEERCONNECTIONTESTWRAPPER_H_
+#define PC_TEST_PEERCONNECTIONTESTWRAPPER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/test/peer_connection_test_wrapper.h"
+
+#endif  // PC_TEST_PEERCONNECTIONTESTWRAPPER_H_
diff --git a/pc/test/rtcstatsobtainer.h b/pc/test/rtcstatsobtainer.h
new file mode 100644
index 0000000..dc589eb
--- /dev/null
+++ b/pc/test/rtcstatsobtainer.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_TEST_RTCSTATSOBTAINER_H_
+#define PC_TEST_RTCSTATSOBTAINER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/test/rtc_stats_obtainer.h"
+
+#endif  // PC_TEST_RTCSTATSOBTAINER_H_
diff --git a/pc/test/testsdpstrings.h b/pc/test/testsdpstrings.h
new file mode 100644
index 0000000..452fd3c
--- /dev/null
+++ b/pc/test/testsdpstrings.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_TEST_TESTSDPSTRINGS_H_
+#define PC_TEST_TESTSDPSTRINGS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/test/test_sdp_strings.h"
+
+#endif  // PC_TEST_TESTSDPSTRINGS_H_
diff --git a/pc/trackmediainfomap.h b/pc/trackmediainfomap.h
new file mode 100644
index 0000000..7d36a96
--- /dev/null
+++ b/pc/trackmediainfomap.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_TRACKMEDIAINFOMAP_H_
+#define PC_TRACKMEDIAINFOMAP_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/track_media_info_map.h"
+
+#endif  // PC_TRACKMEDIAINFOMAP_H_
diff --git a/pc/transportstats.h b/pc/transportstats.h
new file mode 100644
index 0000000..69c6a6e
--- /dev/null
+++ b/pc/transportstats.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_TRANSPORTSTATS_H_
+#define PC_TRANSPORTSTATS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/transport_stats.h"
+
+#endif  // PC_TRANSPORTSTATS_H_
diff --git a/pc/videocapturertracksource.h b/pc/videocapturertracksource.h
new file mode 100644
index 0000000..cd13b82
--- /dev/null
+++ b/pc/videocapturertracksource.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_VIDEOCAPTURERTRACKSOURCE_H_
+#define PC_VIDEOCAPTURERTRACKSOURCE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/video_capturer_track_source.h"
+
+#endif  // PC_VIDEOCAPTURERTRACKSOURCE_H_
diff --git a/pc/videotrack.h b/pc/videotrack.h
new file mode 100644
index 0000000..adbbda5
--- /dev/null
+++ b/pc/videotrack.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_VIDEOTRACK_H_
+#define PC_VIDEOTRACK_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/video_track.h"
+
+#endif  // PC_VIDEOTRACK_H_
diff --git a/pc/videotracksource.h b/pc/videotracksource.h
new file mode 100644
index 0000000..8f83fff
--- /dev/null
+++ b/pc/videotracksource.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_VIDEOTRACKSOURCE_H_
+#define PC_VIDEOTRACKSOURCE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/video_track_source.h"
+
+#endif  // PC_VIDEOTRACKSOURCE_H_
diff --git a/pc/webrtcsdp.h b/pc/webrtcsdp.h
new file mode 100644
index 0000000..2a0e5ec
--- /dev/null
+++ b/pc/webrtcsdp.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_WEBRTCSDP_H_
+#define PC_WEBRTCSDP_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/webrtc_sdp.h"
+
+#endif  // PC_WEBRTCSDP_H_
diff --git a/pc/webrtcsessiondescriptionfactory.h b/pc/webrtcsessiondescriptionfactory.h
new file mode 100644
index 0000000..94821b7
--- /dev/null
+++ b/pc/webrtcsessiondescriptionfactory.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef PC_WEBRTCSESSIONDESCRIPTIONFACTORY_H_
+#define PC_WEBRTCSESSIONDESCRIPTIONFACTORY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "pc/webrtc_session_description_factory.h"
+
+#endif  // PC_WEBRTCSESSIONDESCRIPTIONFACTORY_H_
diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn
index 4b3bdc3..0ac6610 100644
--- a/rtc_base/BUILD.gn
+++ b/rtc_base/BUILD.gn
@@ -92,16 +92,22 @@
     "bind.h",
     "bit_buffer.cc",
     "bit_buffer.h",
+    "bitbuffer.h",
     "bitrate_allocation_strategy.cc",
     "bitrate_allocation_strategy.h",
+    "bitrateallocationstrategy.h",
     "buffer.h",
     "buffer_queue.cc",
     "buffer_queue.h",
+    "bufferqueue.h",
     "byte_buffer.cc",
     "byte_buffer.h",
     "byte_order.h",
+    "bytebuffer.h",
+    "byteorder.h",
     "copy_on_write_buffer.cc",
     "copy_on_write_buffer.h",
+    "copyonwritebuffer.h",
     "event_tracer.cc",
     "event_tracer.h",
     "file.cc",
@@ -120,6 +126,7 @@
     "numerics/sample_counter.cc",
     "numerics/sample_counter.h",
     "one_time_event.h",
+    "onetimeevent.h",
     "platform_file.cc",
     "platform_file.h",
     "race_checker.cc",
@@ -130,10 +137,12 @@
     "rate_statistics.h",
     "rate_tracker.cc",
     "rate_tracker.h",
+    "ratetracker.h",
     "swap_queue.h",
     "template_util.h",
     "timestamp_aligner.cc",
     "timestamp_aligner.h",
+    "timestampaligner.h",
     "trace_event.h",
     "zero_memory.cc",
     "zero_memory.h",
@@ -185,6 +194,7 @@
   sources = [
     "arraysize.h",
     "constructor_magic.h",
+    "constructormagic.h",
     "format_macros.h",
     "stringize_macros.h",
     "thread_annotations.h",
@@ -217,6 +227,9 @@
     "ref_count.h",
     "ref_counted_object.h",
     "ref_counter.h",
+    "refcount.h",
+    "refcountedobject.h",
+    "refcounter.h",
   ]
   deps = [
     ":atomicops",
@@ -228,6 +241,7 @@
   sources = [
     "critical_section.cc",
     "critical_section.h",
+    "criticalsection.h",
   ]
   deps = [
     ":atomicops",
@@ -343,6 +357,7 @@
 rtc_source_set("atomicops") {
   sources = [
     "atomic_ops.h",
+    "atomicops.h",
   ]
 }
 
@@ -419,6 +434,7 @@
   sources = [
     "time_utils.cc",
     "time_utils.h",
+    "timeutils.h",
   ]
   deps = [
     ":checks",
@@ -435,8 +451,10 @@
     "string_to_number.h",
     "string_utils.cc",
     "string_utils.h",
+    "stringencode.h",
     "strings/string_builder.cc",
     "strings/string_builder.h",
+    "stringutils.h",
   ]
   deps = [
     ":checks",
@@ -895,22 +913,33 @@
     "async_tcp_socket.h",
     "async_udp_socket.cc",
     "async_udp_socket.h",
+    "asyncinvoker-inl.h",
+    "asyncinvoker.h",
+    "asyncpacketsocket.h",
+    "asyncresolverinterface.h",
+    "asyncsocket.h",
+    "asynctcpsocket.h",
+    "asyncudpsocket.h",
     "crc32.cc",
     "crc32.h",
     "crypt_string.cc",
     "crypt_string.h",
+    "cryptstring.h",
     "data_rate_limiter.cc",
     "data_rate_limiter.h",
     "dscp.h",
     "file_rotating_stream.cc",
     "file_rotating_stream.h",
+    "filerotatingstream.h",
     "gunit_prod.h",
     "helpers.cc",
     "helpers.h",
     "http_common.cc",
     "http_common.h",
+    "httpcommon.h",
     "ip_address.cc",
     "ip_address.h",
+    "ipaddress.h",
     "keep_ref_until_done.h",
     "key_derivation.cc",
     "key_derivation.h",
@@ -921,18 +950,26 @@
     "message_handler.h",
     "message_queue.cc",
     "message_queue.h",
+    "messagedigest.h",
+    "messagehandler.h",
+    "messagequeue.h",
     "net_helper.cc",
     "net_helper.h",
     "net_helpers.cc",
     "net_helpers.h",
+    "nethelper.h",
+    "nethelpers.h",
     "network.cc",
     "network.h",
     "network_constants.h",
     "network_monitor.cc",
     "network_monitor.h",
     "network_route.h",
+    "networkmonitor.h",
+    "networkroute.h",
     "null_socket_server.cc",
     "null_socket_server.h",
+    "nullsocketserver.h",
     "openssl.h",
     "openssl_adapter.cc",
     "openssl_adapter.h",
@@ -950,17 +987,30 @@
     "openssl_stream_adapter.h",
     "openssl_utility.cc",
     "openssl_utility.h",
+    "openssladapter.h",
+    "opensslcertificate.h",
+    "openssldigest.h",
+    "opensslidentity.h",
+    "opensslsessioncache.h",
+    "opensslstreamadapter.h",
+    "opensslutility.h",
     "physical_socket_server.cc",
     "physical_socket_server.h",
+    "physicalsocketserver.h",
     "proxy_info.cc",
     "proxy_info.h",
+    "proxyinfo.h",
     "rtc_certificate.cc",
     "rtc_certificate.h",
     "rtc_certificate_generator.cc",
     "rtc_certificate_generator.h",
+    "rtccertificate.h",
+    "rtccertificategenerator.h",
     "signal_thread.cc",
     "signal_thread.h",
+    "signalthread.h",
     "sigslot_repeater.h",
+    "sigslotrepeater.h",
     "socket.cc",
     "socket.h",
     "socket_adapters.cc",
@@ -971,6 +1021,11 @@
     "socket_address_pair.h",
     "socket_factory.h",
     "socket_server.h",
+    "socketadapters.h",
+    "socketaddress.h",
+    "socketaddresspair.h",
+    "socketfactory.h",
+    "socketserver.h",
     "ssl_adapter.cc",
     "ssl_adapter.h",
     "ssl_certificate.cc",
@@ -981,6 +1036,11 @@
     "ssl_identity.h",
     "ssl_stream_adapter.cc",
     "ssl_stream_adapter.h",
+    "ssladapter.h",
+    "sslcertificate.h",
+    "sslfingerprint.h",
+    "sslidentity.h",
+    "sslstreamadapter.h",
     "stream.cc",
     "stream.h",
     "thread.cc",
@@ -995,17 +1055,25 @@
       "callback.h",
       "log_sinks.cc",
       "log_sinks.h",
+      "logsinks.h",
       "numerics/math_utils.h",
+      "numerics/mathutils.h",
       "rolling_accumulator.h",
+      "rollingaccumulator.h",
       "ssl_roots.h",
+      "sslroots.h",
     ]
 
     if (is_win) {
-      sources += [ "win32_socket_init.h" ]
+      sources += [
+        "win32_socket_init.h",
+        "win32socketinit.h",
+      ]
       if (current_os != "winuwp") {
         sources += [
           "win32_socket_server.cc",
           "win32_socket_server.h",
+          "win32socketserver.h",
         ]
       }
     }
@@ -1019,6 +1087,7 @@
 
   if (is_android) {
     sources += [
+      "ifaddrs-android.h",
       "ifaddrs_android.cc",
       "ifaddrs_android.h",
     ]
@@ -1056,6 +1125,7 @@
     sources += [
       "mac_utils.cc",
       "mac_utils.h",
+      "macutils.h",
     ]
   }
 
@@ -1065,6 +1135,7 @@
       "win32.h",
       "win32_window.cc",
       "win32_window.h",
+      "win32window.h",
     ]
 
     libs += [
@@ -1118,6 +1189,7 @@
   sources = [
     "test_client.cc",
     "test_client.h",
+    "testclient.h",
   ]
   deps = [
     ":criticalsection",
@@ -1141,8 +1213,12 @@
     "fake_network.h",
     "fake_ssl_identity.cc",
     "fake_ssl_identity.h",
+    "fakeclock.h",
+    "fakenetwork.h",
+    "fakesslidentity.h",
     "firewall_socket_server.cc",
     "firewall_socket_server.h",
+    "firewallsocketserver.h",
     "memory_stream.cc",
     "memory_stream.h",
     "memory_usage.cc",
@@ -1153,22 +1229,33 @@
     "nat_socket_factory.h",
     "nat_types.cc",
     "nat_types.h",
+    "natserver.h",
+    "natsocketfactory.h",
+    "nattypes.h",
     "proxy_server.cc",
     "proxy_server.h",
+    "proxyserver.h",
     "server_socket_adapters.cc",
     "server_socket_adapters.h",
     "sigslot_tester.h",
+    "sigslottester.h",
     "sigslottester.h.pump",
     "socket_stream.cc",
     "socket_stream.h",
+    "socketstream.h",
     "test_base64.h",
     "test_certificate_verifier.h",
     "test_echo_server.cc",
     "test_echo_server.h",
     "test_utils.cc",
     "test_utils.h",
+    "testbase64.h",
+    "testcertificateverifier.h",
+    "testechoserver.h",
+    "testutils.h",
     "virtual_socket_server.cc",
     "virtual_socket_server.h",
+    "virtualsocketserver.h",
   ]
   deps = [
     ":checks",
diff --git a/rtc_base/asyncinvoker-inl.h b/rtc_base/asyncinvoker-inl.h
new file mode 100644
index 0000000..c631bf9
--- /dev/null
+++ b/rtc_base/asyncinvoker-inl.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_ASYNCINVOKER_INL_H_
+#define RTC_BASE_ASYNCINVOKER_INL_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/async_invoker_inl.h"
+
+#endif  // RTC_BASE_ASYNCINVOKER_INL_H_
diff --git a/rtc_base/asyncinvoker.h b/rtc_base/asyncinvoker.h
new file mode 100644
index 0000000..1a465ed
--- /dev/null
+++ b/rtc_base/asyncinvoker.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_ASYNCINVOKER_H_
+#define RTC_BASE_ASYNCINVOKER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/async_invoker.h"
+
+#endif  // RTC_BASE_ASYNCINVOKER_H_
diff --git a/rtc_base/asyncpacketsocket.h b/rtc_base/asyncpacketsocket.h
new file mode 100644
index 0000000..3d83174
--- /dev/null
+++ b/rtc_base/asyncpacketsocket.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_ASYNCPACKETSOCKET_H_
+#define RTC_BASE_ASYNCPACKETSOCKET_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/async_packet_socket.h"
+
+#endif  // RTC_BASE_ASYNCPACKETSOCKET_H_
diff --git a/rtc_base/asyncresolverinterface.h b/rtc_base/asyncresolverinterface.h
new file mode 100644
index 0000000..7398efb
--- /dev/null
+++ b/rtc_base/asyncresolverinterface.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_ASYNCRESOLVERINTERFACE_H_
+#define RTC_BASE_ASYNCRESOLVERINTERFACE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/async_resolver_interface.h"
+
+#endif  // RTC_BASE_ASYNCRESOLVERINTERFACE_H_
diff --git a/rtc_base/asyncsocket.h b/rtc_base/asyncsocket.h
new file mode 100644
index 0000000..6c60ab2
--- /dev/null
+++ b/rtc_base/asyncsocket.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_ASYNCSOCKET_H_
+#define RTC_BASE_ASYNCSOCKET_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/async_socket.h"
+
+#endif  // RTC_BASE_ASYNCSOCKET_H_
diff --git a/rtc_base/asynctcpsocket.h b/rtc_base/asynctcpsocket.h
new file mode 100644
index 0000000..ccc343b
--- /dev/null
+++ b/rtc_base/asynctcpsocket.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_ASYNCTCPSOCKET_H_
+#define RTC_BASE_ASYNCTCPSOCKET_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/async_tcp_socket.h"
+
+#endif  // RTC_BASE_ASYNCTCPSOCKET_H_
diff --git a/rtc_base/asyncudpsocket.h b/rtc_base/asyncudpsocket.h
new file mode 100644
index 0000000..a901f87
--- /dev/null
+++ b/rtc_base/asyncudpsocket.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_ASYNCUDPSOCKET_H_
+#define RTC_BASE_ASYNCUDPSOCKET_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/async_udp_socket.h"
+
+#endif  // RTC_BASE_ASYNCUDPSOCKET_H_
diff --git a/rtc_base/atomicops.h b/rtc_base/atomicops.h
new file mode 100644
index 0000000..3c6a56d
--- /dev/null
+++ b/rtc_base/atomicops.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_ATOMICOPS_H_
+#define RTC_BASE_ATOMICOPS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/atomic_ops.h"
+
+#endif  // RTC_BASE_ATOMICOPS_H_
diff --git a/rtc_base/bitbuffer.h b/rtc_base/bitbuffer.h
new file mode 100644
index 0000000..bef05e7
--- /dev/null
+++ b/rtc_base/bitbuffer.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_BITBUFFER_H_
+#define RTC_BASE_BITBUFFER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/bit_buffer.h"
+
+#endif  // RTC_BASE_BITBUFFER_H_
diff --git a/rtc_base/bitrateallocationstrategy.h b/rtc_base/bitrateallocationstrategy.h
new file mode 100644
index 0000000..f378637
--- /dev/null
+++ b/rtc_base/bitrateallocationstrategy.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_BITRATEALLOCATIONSTRATEGY_H_
+#define RTC_BASE_BITRATEALLOCATIONSTRATEGY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/bitrate_allocation_strategy.h"
+
+#endif  // RTC_BASE_BITRATEALLOCATIONSTRATEGY_H_
diff --git a/rtc_base/bufferqueue.h b/rtc_base/bufferqueue.h
new file mode 100644
index 0000000..f51d036
--- /dev/null
+++ b/rtc_base/bufferqueue.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_BUFFERQUEUE_H_
+#define RTC_BASE_BUFFERQUEUE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/buffer_queue.h"
+
+#endif  // RTC_BASE_BUFFERQUEUE_H_
diff --git a/rtc_base/bytebuffer.h b/rtc_base/bytebuffer.h
new file mode 100644
index 0000000..4d51dee
--- /dev/null
+++ b/rtc_base/bytebuffer.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_BYTEBUFFER_H_
+#define RTC_BASE_BYTEBUFFER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/byte_buffer.h"
+
+#endif  // RTC_BASE_BYTEBUFFER_H_
diff --git a/rtc_base/byteorder.h b/rtc_base/byteorder.h
new file mode 100644
index 0000000..ab756be
--- /dev/null
+++ b/rtc_base/byteorder.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_BYTEORDER_H_
+#define RTC_BASE_BYTEORDER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/byte_order.h"
+
+#endif  // RTC_BASE_BYTEORDER_H_
diff --git a/rtc_base/constructormagic.h b/rtc_base/constructormagic.h
new file mode 100644
index 0000000..427ffb3
--- /dev/null
+++ b/rtc_base/constructormagic.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_CONSTRUCTORMAGIC_H_
+#define RTC_BASE_CONSTRUCTORMAGIC_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/constructor_magic.h"
+
+#endif  // RTC_BASE_CONSTRUCTORMAGIC_H_
diff --git a/rtc_base/copyonwritebuffer.h b/rtc_base/copyonwritebuffer.h
new file mode 100644
index 0000000..c2ad15b
--- /dev/null
+++ b/rtc_base/copyonwritebuffer.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_COPYONWRITEBUFFER_H_
+#define RTC_BASE_COPYONWRITEBUFFER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/copy_on_write_buffer.h"
+
+#endif  // RTC_BASE_COPYONWRITEBUFFER_H_
diff --git a/rtc_base/criticalsection.h b/rtc_base/criticalsection.h
new file mode 100644
index 0000000..1b73fc2
--- /dev/null
+++ b/rtc_base/criticalsection.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_CRITICALSECTION_H_
+#define RTC_BASE_CRITICALSECTION_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/critical_section.h"
+
+#endif  // RTC_BASE_CRITICALSECTION_H_
diff --git a/rtc_base/cryptstring.h b/rtc_base/cryptstring.h
new file mode 100644
index 0000000..8816fbc
--- /dev/null
+++ b/rtc_base/cryptstring.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_CRYPTSTRING_H_
+#define RTC_BASE_CRYPTSTRING_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/crypt_string.h"
+
+#endif  // RTC_BASE_CRYPTSTRING_H_
diff --git a/rtc_base/fakeclock.h b/rtc_base/fakeclock.h
new file mode 100644
index 0000000..97f7058
--- /dev/null
+++ b/rtc_base/fakeclock.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_FAKECLOCK_H_
+#define RTC_BASE_FAKECLOCK_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/fake_clock.h"
+
+#endif  // RTC_BASE_FAKECLOCK_H_
diff --git a/rtc_base/fakenetwork.h b/rtc_base/fakenetwork.h
new file mode 100644
index 0000000..350c1f2
--- /dev/null
+++ b/rtc_base/fakenetwork.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_FAKENETWORK_H_
+#define RTC_BASE_FAKENETWORK_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/fake_network.h"
+
+#endif  // RTC_BASE_FAKENETWORK_H_
diff --git a/rtc_base/fakesslidentity.h b/rtc_base/fakesslidentity.h
new file mode 100644
index 0000000..43dd76c
--- /dev/null
+++ b/rtc_base/fakesslidentity.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_FAKESSLIDENTITY_H_
+#define RTC_BASE_FAKESSLIDENTITY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/fake_ssl_identity.h"
+
+#endif  // RTC_BASE_FAKESSLIDENTITY_H_
diff --git a/rtc_base/filerotatingstream.h b/rtc_base/filerotatingstream.h
new file mode 100644
index 0000000..eaff670
--- /dev/null
+++ b/rtc_base/filerotatingstream.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_FILEROTATINGSTREAM_H_
+#define RTC_BASE_FILEROTATINGSTREAM_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/file_rotating_stream.h"
+
+#endif  // RTC_BASE_FILEROTATINGSTREAM_H_
diff --git a/rtc_base/firewallsocketserver.h b/rtc_base/firewallsocketserver.h
new file mode 100644
index 0000000..ab31968
--- /dev/null
+++ b/rtc_base/firewallsocketserver.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_FIREWALLSOCKETSERVER_H_
+#define RTC_BASE_FIREWALLSOCKETSERVER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/firewall_socket_server.h"
+
+#endif  // RTC_BASE_FIREWALLSOCKETSERVER_H_
diff --git a/rtc_base/httpcommon.h b/rtc_base/httpcommon.h
new file mode 100644
index 0000000..d30ab3c
--- /dev/null
+++ b/rtc_base/httpcommon.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_HTTPCOMMON_H_
+#define RTC_BASE_HTTPCOMMON_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/http_common.h"
+
+#endif  // RTC_BASE_HTTPCOMMON_H_
diff --git a/rtc_base/ifaddrs-android.h b/rtc_base/ifaddrs-android.h
new file mode 100644
index 0000000..b3d28e2
--- /dev/null
+++ b/rtc_base/ifaddrs-android.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_IFADDRS_ANDROID_H_
+#define RTC_BASE_IFADDRS_ANDROID_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/ifaddrs_android.h"
+
+#endif  // RTC_BASE_IFADDRS_ANDROID_H_
diff --git a/rtc_base/ipaddress.h b/rtc_base/ipaddress.h
new file mode 100644
index 0000000..258613c
--- /dev/null
+++ b/rtc_base/ipaddress.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_IPADDRESS_H_
+#define RTC_BASE_IPADDRESS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/ip_address.h"
+
+#endif  // RTC_BASE_IPADDRESS_H_
diff --git a/rtc_base/logsinks.h b/rtc_base/logsinks.h
new file mode 100644
index 0000000..01f3d50
--- /dev/null
+++ b/rtc_base/logsinks.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_LOGSINKS_H_
+#define RTC_BASE_LOGSINKS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/log_sinks.h"
+
+#endif  // RTC_BASE_LOGSINKS_H_
diff --git a/rtc_base/macutils.h b/rtc_base/macutils.h
new file mode 100644
index 0000000..a141833
--- /dev/null
+++ b/rtc_base/macutils.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_MACUTILS_H_
+#define RTC_BASE_MACUTILS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/mac_utils.h"
+
+#endif  // RTC_BASE_MACUTILS_H_
diff --git a/rtc_base/messagedigest.h b/rtc_base/messagedigest.h
new file mode 100644
index 0000000..0b14045
--- /dev/null
+++ b/rtc_base/messagedigest.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_MESSAGEDIGEST_H_
+#define RTC_BASE_MESSAGEDIGEST_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/message_digest.h"
+
+#endif  // RTC_BASE_MESSAGEDIGEST_H_
diff --git a/rtc_base/messagehandler.h b/rtc_base/messagehandler.h
new file mode 100644
index 0000000..5d5098d
--- /dev/null
+++ b/rtc_base/messagehandler.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_MESSAGEHANDLER_H_
+#define RTC_BASE_MESSAGEHANDLER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/message_handler.h"
+
+#endif  // RTC_BASE_MESSAGEHANDLER_H_
diff --git a/rtc_base/messagequeue.h b/rtc_base/messagequeue.h
new file mode 100644
index 0000000..77a989e
--- /dev/null
+++ b/rtc_base/messagequeue.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_MESSAGEQUEUE_H_
+#define RTC_BASE_MESSAGEQUEUE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/message_queue.h"
+
+#endif  // RTC_BASE_MESSAGEQUEUE_H_
diff --git a/rtc_base/natserver.h b/rtc_base/natserver.h
new file mode 100644
index 0000000..303b0d7
--- /dev/null
+++ b/rtc_base/natserver.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_NATSERVER_H_
+#define RTC_BASE_NATSERVER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/nat_server.h"
+
+#endif  // RTC_BASE_NATSERVER_H_
diff --git a/rtc_base/natsocketfactory.h b/rtc_base/natsocketfactory.h
new file mode 100644
index 0000000..3235167
--- /dev/null
+++ b/rtc_base/natsocketfactory.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_NATSOCKETFACTORY_H_
+#define RTC_BASE_NATSOCKETFACTORY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/nat_socket_factory.h"
+
+#endif  // RTC_BASE_NATSOCKETFACTORY_H_
diff --git a/rtc_base/nattypes.h b/rtc_base/nattypes.h
new file mode 100644
index 0000000..dd6d5ce
--- /dev/null
+++ b/rtc_base/nattypes.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_NATTYPES_H_
+#define RTC_BASE_NATTYPES_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/nat_types.h"
+
+#endif  // RTC_BASE_NATTYPES_H_
diff --git a/rtc_base/nethelper.h b/rtc_base/nethelper.h
new file mode 100644
index 0000000..276b3c7
--- /dev/null
+++ b/rtc_base/nethelper.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_NETHELPER_H_
+#define RTC_BASE_NETHELPER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/net_helper.h"
+
+#endif  // RTC_BASE_NETHELPER_H_
diff --git a/rtc_base/nethelpers.h b/rtc_base/nethelpers.h
new file mode 100644
index 0000000..f28d4cc
--- /dev/null
+++ b/rtc_base/nethelpers.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_NETHELPERS_H_
+#define RTC_BASE_NETHELPERS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/net_helpers.h"
+
+#endif  // RTC_BASE_NETHELPERS_H_
diff --git a/rtc_base/networkmonitor.h b/rtc_base/networkmonitor.h
new file mode 100644
index 0000000..6459e78
--- /dev/null
+++ b/rtc_base/networkmonitor.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_NETWORKMONITOR_H_
+#define RTC_BASE_NETWORKMONITOR_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/network_monitor.h"
+
+#endif  // RTC_BASE_NETWORKMONITOR_H_
diff --git a/rtc_base/networkroute.h b/rtc_base/networkroute.h
new file mode 100644
index 0000000..37a8942
--- /dev/null
+++ b/rtc_base/networkroute.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_NETWORKROUTE_H_
+#define RTC_BASE_NETWORKROUTE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/network_route.h"
+
+#endif  // RTC_BASE_NETWORKROUTE_H_
diff --git a/rtc_base/nullsocketserver.h b/rtc_base/nullsocketserver.h
new file mode 100644
index 0000000..2340e68
--- /dev/null
+++ b/rtc_base/nullsocketserver.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_NULLSOCKETSERVER_H_
+#define RTC_BASE_NULLSOCKETSERVER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/null_socket_server.h"
+
+#endif  // RTC_BASE_NULLSOCKETSERVER_H_
diff --git a/rtc_base/numerics/mathutils.h b/rtc_base/numerics/mathutils.h
new file mode 100644
index 0000000..9ee15d2
--- /dev/null
+++ b/rtc_base/numerics/mathutils.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_NUMERICS_MATHUTILS_H_
+#define RTC_BASE_NUMERICS_MATHUTILS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/numerics/math_utils.h"
+
+#endif  // RTC_BASE_NUMERICS_MATHUTILS_H_
diff --git a/rtc_base/onetimeevent.h b/rtc_base/onetimeevent.h
new file mode 100644
index 0000000..6c32f5e
--- /dev/null
+++ b/rtc_base/onetimeevent.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_ONETIMEEVENT_H_
+#define RTC_BASE_ONETIMEEVENT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/one_time_event.h"
+
+#endif  // RTC_BASE_ONETIMEEVENT_H_
diff --git a/rtc_base/openssladapter.h b/rtc_base/openssladapter.h
new file mode 100644
index 0000000..17021ce
--- /dev/null
+++ b/rtc_base/openssladapter.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_OPENSSLADAPTER_H_
+#define RTC_BASE_OPENSSLADAPTER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/openssl_adapter.h"
+
+#endif  // RTC_BASE_OPENSSLADAPTER_H_
diff --git a/rtc_base/opensslcertificate.h b/rtc_base/opensslcertificate.h
new file mode 100644
index 0000000..daabf70
--- /dev/null
+++ b/rtc_base/opensslcertificate.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_OPENSSLCERTIFICATE_H_
+#define RTC_BASE_OPENSSLCERTIFICATE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/openssl_certificate.h"
+
+#endif  // RTC_BASE_OPENSSLCERTIFICATE_H_
diff --git a/rtc_base/openssldigest.h b/rtc_base/openssldigest.h
new file mode 100644
index 0000000..eee65af
--- /dev/null
+++ b/rtc_base/openssldigest.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_OPENSSLDIGEST_H_
+#define RTC_BASE_OPENSSLDIGEST_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/openssl_digest.h"
+
+#endif  // RTC_BASE_OPENSSLDIGEST_H_
diff --git a/rtc_base/opensslidentity.h b/rtc_base/opensslidentity.h
new file mode 100644
index 0000000..7926f08
--- /dev/null
+++ b/rtc_base/opensslidentity.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_OPENSSLIDENTITY_H_
+#define RTC_BASE_OPENSSLIDENTITY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/openssl_identity.h"
+
+#endif  // RTC_BASE_OPENSSLIDENTITY_H_
diff --git a/rtc_base/opensslsessioncache.h b/rtc_base/opensslsessioncache.h
new file mode 100644
index 0000000..3446788
--- /dev/null
+++ b/rtc_base/opensslsessioncache.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_OPENSSLSESSIONCACHE_H_
+#define RTC_BASE_OPENSSLSESSIONCACHE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/openssl_session_cache.h"
+
+#endif  // RTC_BASE_OPENSSLSESSIONCACHE_H_
diff --git a/rtc_base/opensslstreamadapter.h b/rtc_base/opensslstreamadapter.h
new file mode 100644
index 0000000..94c5585
--- /dev/null
+++ b/rtc_base/opensslstreamadapter.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_OPENSSLSTREAMADAPTER_H_
+#define RTC_BASE_OPENSSLSTREAMADAPTER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/openssl_stream_adapter.h"
+
+#endif  // RTC_BASE_OPENSSLSTREAMADAPTER_H_
diff --git a/rtc_base/opensslutility.h b/rtc_base/opensslutility.h
new file mode 100644
index 0000000..d19c931
--- /dev/null
+++ b/rtc_base/opensslutility.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_OPENSSLUTILITY_H_
+#define RTC_BASE_OPENSSLUTILITY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/openssl_utility.h"
+
+#endif  // RTC_BASE_OPENSSLUTILITY_H_
diff --git a/rtc_base/physicalsocketserver.h b/rtc_base/physicalsocketserver.h
new file mode 100644
index 0000000..95f2514
--- /dev/null
+++ b/rtc_base/physicalsocketserver.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_PHYSICALSOCKETSERVER_H_
+#define RTC_BASE_PHYSICALSOCKETSERVER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/physical_socket_server.h"
+
+#endif  // RTC_BASE_PHYSICALSOCKETSERVER_H_
diff --git a/rtc_base/proxyinfo.h b/rtc_base/proxyinfo.h
new file mode 100644
index 0000000..93b85d1
--- /dev/null
+++ b/rtc_base/proxyinfo.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_PROXYINFO_H_
+#define RTC_BASE_PROXYINFO_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/proxy_info.h"
+
+#endif  // RTC_BASE_PROXYINFO_H_
diff --git a/rtc_base/proxyserver.h b/rtc_base/proxyserver.h
new file mode 100644
index 0000000..5b3ed47
--- /dev/null
+++ b/rtc_base/proxyserver.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_PROXYSERVER_H_
+#define RTC_BASE_PROXYSERVER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/proxy_server.h"
+
+#endif  // RTC_BASE_PROXYSERVER_H_
diff --git a/rtc_base/ratetracker.h b/rtc_base/ratetracker.h
new file mode 100644
index 0000000..4d823a2
--- /dev/null
+++ b/rtc_base/ratetracker.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_RATETRACKER_H_
+#define RTC_BASE_RATETRACKER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/rate_tracker.h"
+
+#endif  // RTC_BASE_RATETRACKER_H_
diff --git a/rtc_base/refcount.h b/rtc_base/refcount.h
new file mode 100644
index 0000000..35c05e6
--- /dev/null
+++ b/rtc_base/refcount.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_REFCOUNT_H_
+#define RTC_BASE_REFCOUNT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/ref_count.h"
+
+#endif  // RTC_BASE_REFCOUNT_H_
diff --git a/rtc_base/refcountedobject.h b/rtc_base/refcountedobject.h
new file mode 100644
index 0000000..47e1a55
--- /dev/null
+++ b/rtc_base/refcountedobject.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_REFCOUNTEDOBJECT_H_
+#define RTC_BASE_REFCOUNTEDOBJECT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/ref_counted_object.h"
+
+#endif  // RTC_BASE_REFCOUNTEDOBJECT_H_
diff --git a/rtc_base/refcounter.h b/rtc_base/refcounter.h
new file mode 100644
index 0000000..eb9bdd0
--- /dev/null
+++ b/rtc_base/refcounter.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_REFCOUNTER_H_
+#define RTC_BASE_REFCOUNTER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/ref_counter.h"
+
+#endif  // RTC_BASE_REFCOUNTER_H_
diff --git a/rtc_base/rollingaccumulator.h b/rtc_base/rollingaccumulator.h
new file mode 100644
index 0000000..c05b206
--- /dev/null
+++ b/rtc_base/rollingaccumulator.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_ROLLINGACCUMULATOR_H_
+#define RTC_BASE_ROLLINGACCUMULATOR_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/rolling_accumulator.h"
+
+#endif  // RTC_BASE_ROLLINGACCUMULATOR_H_
diff --git a/rtc_base/rtccertificate.h b/rtc_base/rtccertificate.h
new file mode 100644
index 0000000..2c624ff
--- /dev/null
+++ b/rtc_base/rtccertificate.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_RTCCERTIFICATE_H_
+#define RTC_BASE_RTCCERTIFICATE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/rtc_certificate.h"
+
+#endif  // RTC_BASE_RTCCERTIFICATE_H_
diff --git a/rtc_base/rtccertificategenerator.h b/rtc_base/rtccertificategenerator.h
new file mode 100644
index 0000000..214edd3
--- /dev/null
+++ b/rtc_base/rtccertificategenerator.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_RTCCERTIFICATEGENERATOR_H_
+#define RTC_BASE_RTCCERTIFICATEGENERATOR_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/rtc_certificate_generator.h"
+
+#endif  // RTC_BASE_RTCCERTIFICATEGENERATOR_H_
diff --git a/rtc_base/signalthread.h b/rtc_base/signalthread.h
new file mode 100644
index 0000000..bc3244b
--- /dev/null
+++ b/rtc_base/signalthread.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_SIGNALTHREAD_H_
+#define RTC_BASE_SIGNALTHREAD_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/signal_thread.h"
+
+#endif  // RTC_BASE_SIGNALTHREAD_H_
diff --git a/rtc_base/sigslotrepeater.h b/rtc_base/sigslotrepeater.h
new file mode 100644
index 0000000..7835940
--- /dev/null
+++ b/rtc_base/sigslotrepeater.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_SIGSLOTREPEATER_H_
+#define RTC_BASE_SIGSLOTREPEATER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/sigslot_repeater.h"
+
+#endif  // RTC_BASE_SIGSLOTREPEATER_H_
diff --git a/rtc_base/sigslottester.h b/rtc_base/sigslottester.h
new file mode 100644
index 0000000..0331361
--- /dev/null
+++ b/rtc_base/sigslottester.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_SIGSLOTTESTER_H_
+#define RTC_BASE_SIGSLOTTESTER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/sigslot_tester.h"
+
+#endif  // RTC_BASE_SIGSLOTTESTER_H_
diff --git a/rtc_base/socketadapters.h b/rtc_base/socketadapters.h
new file mode 100644
index 0000000..4c5cd14
--- /dev/null
+++ b/rtc_base/socketadapters.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_SOCKETADAPTERS_H_
+#define RTC_BASE_SOCKETADAPTERS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/socket_adapters.h"
+
+#endif  // RTC_BASE_SOCKETADAPTERS_H_
diff --git a/rtc_base/socketaddress.h b/rtc_base/socketaddress.h
new file mode 100644
index 0000000..b4b0cc2
--- /dev/null
+++ b/rtc_base/socketaddress.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_SOCKETADDRESS_H_
+#define RTC_BASE_SOCKETADDRESS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/socket_address.h"
+
+#endif  // RTC_BASE_SOCKETADDRESS_H_
diff --git a/rtc_base/socketaddresspair.h b/rtc_base/socketaddresspair.h
new file mode 100644
index 0000000..8b2875b
--- /dev/null
+++ b/rtc_base/socketaddresspair.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_SOCKETADDRESSPAIR_H_
+#define RTC_BASE_SOCKETADDRESSPAIR_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/socket_address_pair.h"
+
+#endif  // RTC_BASE_SOCKETADDRESSPAIR_H_
diff --git a/rtc_base/socketfactory.h b/rtc_base/socketfactory.h
new file mode 100644
index 0000000..df2c203
--- /dev/null
+++ b/rtc_base/socketfactory.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_SOCKETFACTORY_H_
+#define RTC_BASE_SOCKETFACTORY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/socket_factory.h"
+
+#endif  // RTC_BASE_SOCKETFACTORY_H_
diff --git a/rtc_base/socketserver.h b/rtc_base/socketserver.h
new file mode 100644
index 0000000..4b708ea
--- /dev/null
+++ b/rtc_base/socketserver.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_SOCKETSERVER_H_
+#define RTC_BASE_SOCKETSERVER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/socket_server.h"
+
+#endif  // RTC_BASE_SOCKETSERVER_H_
diff --git a/rtc_base/socketstream.h b/rtc_base/socketstream.h
new file mode 100644
index 0000000..aeb0c14
--- /dev/null
+++ b/rtc_base/socketstream.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_SOCKETSTREAM_H_
+#define RTC_BASE_SOCKETSTREAM_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/socket_stream.h"
+
+#endif  // RTC_BASE_SOCKETSTREAM_H_
diff --git a/rtc_base/ssladapter.h b/rtc_base/ssladapter.h
new file mode 100644
index 0000000..956a6c8
--- /dev/null
+++ b/rtc_base/ssladapter.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_SSLADAPTER_H_
+#define RTC_BASE_SSLADAPTER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/ssl_adapter.h"
+
+#endif  // RTC_BASE_SSLADAPTER_H_
diff --git a/rtc_base/sslcertificate.h b/rtc_base/sslcertificate.h
new file mode 100644
index 0000000..15341af
--- /dev/null
+++ b/rtc_base/sslcertificate.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_SSLCERTIFICATE_H_
+#define RTC_BASE_SSLCERTIFICATE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/ssl_certificate.h"
+
+#endif  // RTC_BASE_SSLCERTIFICATE_H_
diff --git a/rtc_base/sslfingerprint.h b/rtc_base/sslfingerprint.h
new file mode 100644
index 0000000..35251c7
--- /dev/null
+++ b/rtc_base/sslfingerprint.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_SSLFINGERPRINT_H_
+#define RTC_BASE_SSLFINGERPRINT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/ssl_fingerprint.h"
+
+#endif  // RTC_BASE_SSLFINGERPRINT_H_
diff --git a/rtc_base/sslidentity.h b/rtc_base/sslidentity.h
new file mode 100644
index 0000000..f1b69d4
--- /dev/null
+++ b/rtc_base/sslidentity.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_SSLIDENTITY_H_
+#define RTC_BASE_SSLIDENTITY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/ssl_identity.h"
+
+#endif  // RTC_BASE_SSLIDENTITY_H_
diff --git a/rtc_base/sslroots.h b/rtc_base/sslroots.h
new file mode 100644
index 0000000..2e01a7e
--- /dev/null
+++ b/rtc_base/sslroots.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_SSLROOTS_H_
+#define RTC_BASE_SSLROOTS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/ssl_roots.h"
+
+#endif  // RTC_BASE_SSLROOTS_H_
diff --git a/rtc_base/sslstreamadapter.h b/rtc_base/sslstreamadapter.h
new file mode 100644
index 0000000..b051066
--- /dev/null
+++ b/rtc_base/sslstreamadapter.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_SSLSTREAMADAPTER_H_
+#define RTC_BASE_SSLSTREAMADAPTER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/ssl_stream_adapter.h"
+
+#endif  // RTC_BASE_SSLSTREAMADAPTER_H_
diff --git a/rtc_base/stringencode.h b/rtc_base/stringencode.h
new file mode 100644
index 0000000..3475286
--- /dev/null
+++ b/rtc_base/stringencode.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_STRINGENCODE_H_
+#define RTC_BASE_STRINGENCODE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/string_encode.h"
+
+#endif  // RTC_BASE_STRINGENCODE_H_
diff --git a/rtc_base/stringutils.h b/rtc_base/stringutils.h
new file mode 100644
index 0000000..a593e57
--- /dev/null
+++ b/rtc_base/stringutils.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_STRINGUTILS_H_
+#define RTC_BASE_STRINGUTILS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/string_utils.h"
+
+#endif  // RTC_BASE_STRINGUTILS_H_
diff --git a/rtc_base/testbase64.h b/rtc_base/testbase64.h
new file mode 100644
index 0000000..e3416e3
--- /dev/null
+++ b/rtc_base/testbase64.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_TESTBASE64_H_
+#define RTC_BASE_TESTBASE64_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/test_base64.h"
+
+#endif  // RTC_BASE_TESTBASE64_H_
diff --git a/rtc_base/testcertificateverifier.h b/rtc_base/testcertificateverifier.h
new file mode 100644
index 0000000..a28ca51
--- /dev/null
+++ b/rtc_base/testcertificateverifier.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_TESTCERTIFICATEVERIFIER_H_
+#define RTC_BASE_TESTCERTIFICATEVERIFIER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/test_certificate_verifier.h"
+
+#endif  // RTC_BASE_TESTCERTIFICATEVERIFIER_H_
diff --git a/rtc_base/testclient.h b/rtc_base/testclient.h
new file mode 100644
index 0000000..7d1f442
--- /dev/null
+++ b/rtc_base/testclient.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_TESTCLIENT_H_
+#define RTC_BASE_TESTCLIENT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/test_client.h"
+
+#endif  // RTC_BASE_TESTCLIENT_H_
diff --git a/rtc_base/testechoserver.h b/rtc_base/testechoserver.h
new file mode 100644
index 0000000..c261484
--- /dev/null
+++ b/rtc_base/testechoserver.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_TESTECHOSERVER_H_
+#define RTC_BASE_TESTECHOSERVER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/test_echo_server.h"
+
+#endif  // RTC_BASE_TESTECHOSERVER_H_
diff --git a/rtc_base/testutils.h b/rtc_base/testutils.h
new file mode 100644
index 0000000..40f16d23
--- /dev/null
+++ b/rtc_base/testutils.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_TESTUTILS_H_
+#define RTC_BASE_TESTUTILS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/test_utils.h"
+
+#endif  // RTC_BASE_TESTUTILS_H_
diff --git a/rtc_base/timestampaligner.h b/rtc_base/timestampaligner.h
new file mode 100644
index 0000000..8c9a85f
--- /dev/null
+++ b/rtc_base/timestampaligner.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_TIMESTAMPALIGNER_H_
+#define RTC_BASE_TIMESTAMPALIGNER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/timestamp_aligner.h"
+
+#endif  // RTC_BASE_TIMESTAMPALIGNER_H_
diff --git a/rtc_base/timeutils.h b/rtc_base/timeutils.h
new file mode 100644
index 0000000..7926d12
--- /dev/null
+++ b/rtc_base/timeutils.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_TIMEUTILS_H_
+#define RTC_BASE_TIMEUTILS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/time_utils.h"
+
+#endif  // RTC_BASE_TIMEUTILS_H_
diff --git a/rtc_base/virtualsocketserver.h b/rtc_base/virtualsocketserver.h
new file mode 100644
index 0000000..5840023
--- /dev/null
+++ b/rtc_base/virtualsocketserver.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_VIRTUALSOCKETSERVER_H_
+#define RTC_BASE_VIRTUALSOCKETSERVER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/virtual_socket_server.h"
+
+#endif  // RTC_BASE_VIRTUALSOCKETSERVER_H_
diff --git a/rtc_base/win32socketinit.h b/rtc_base/win32socketinit.h
new file mode 100644
index 0000000..acb43d4
--- /dev/null
+++ b/rtc_base/win32socketinit.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_WIN32SOCKETINIT_H_
+#define RTC_BASE_WIN32SOCKETINIT_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/win32_socket_init.h"
+
+#endif  // RTC_BASE_WIN32SOCKETINIT_H_
diff --git a/rtc_base/win32socketserver.h b/rtc_base/win32socketserver.h
new file mode 100644
index 0000000..ddc464b
--- /dev/null
+++ b/rtc_base/win32socketserver.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_WIN32SOCKETSERVER_H_
+#define RTC_BASE_WIN32SOCKETSERVER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/win32_socket_server.h"
+
+#endif  // RTC_BASE_WIN32SOCKETSERVER_H_
diff --git a/rtc_base/win32window.h b/rtc_base/win32window.h
new file mode 100644
index 0000000..327cb45
--- /dev/null
+++ b/rtc_base/win32window.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef RTC_BASE_WIN32WINDOW_H_
+#define RTC_BASE_WIN32WINDOW_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "rtc_base/win32_window.h"
+
+#endif  // RTC_BASE_WIN32WINDOW_H_
diff --git a/sdk/android/BUILD.gn b/sdk/android/BUILD.gn
index ed0bdc4..60b5517 100644
--- a/sdk/android/BUILD.gn
+++ b/sdk/android/BUILD.gn
@@ -538,8 +538,10 @@
       "src/jni/android_histogram.cc",
       "src/jni/android_network_monitor.cc",
       "src/jni/android_network_monitor.h",
+      "src/jni/androidnetworkmonitor.h",
       "src/jni/class_loader.h",
       "src/jni/class_reference_holder.h",
+      "src/jni/classreferenceholder.h",
       "src/jni/jni_common.cc",
       "src/jni/jni_helpers.cc",
       "src/jni/jni_helpers.h",
@@ -603,6 +605,7 @@
       "src/jni/android_media_codec_common.h",
       "src/jni/android_media_decoder.cc",
       "src/jni/android_media_encoder.cc",
+      "src/jni/androidmediacodeccommon.h",
     ]
     deps = [
       ":base_jni",
@@ -632,13 +635,16 @@
     sources = [
       "src/jni/android_video_track_source.cc",
       "src/jni/android_video_track_source.h",
+      "src/jni/androidvideotracksource.h",
       "src/jni/encoded_image.cc",
       "src/jni/encoded_image.h",
+      "src/jni/encodedimage.h",
       "src/jni/h264_utils.cc",
       "src/jni/java_i420_buffer.cc",
       "src/jni/jni_generator_helper.h",
       "src/jni/native_capturer_observer.cc",
       "src/jni/native_capturer_observer.h",
+      "src/jni/nativecapturerobserver.h",
       "src/jni/nv12_buffer.cc",
       "src/jni/nv21_buffer.cc",
       "src/jni/pc/video.cc",
@@ -661,6 +667,13 @@
       "src/jni/video_sink.h",
       "src/jni/video_source.cc",
       "src/jni/video_track.cc",
+      "src/jni/videocodecinfo.h",
+      "src/jni/videocodecstatus.h",
+      "src/jni/videodecoderfactorywrapper.h",
+      "src/jni/videodecoderwrapper.h",
+      "src/jni/videoencoderfactorywrapper.h",
+      "src/jni/videoencoderwrapper.h",
+      "src/jni/videosink.h",
       "src/jni/yuv_helper.cc",
     ]
 
@@ -695,16 +708,21 @@
 
     sources = [
       "src/jni/android_network_monitor_jni.h",
+      "src/jni/androidnetworkmonitor_jni.h",
       "src/jni/pc/android_network_monitor.h",
+      "src/jni/pc/androidnetworkmonitor.h",
       "src/jni/pc/audio_track.cc",
       "src/jni/pc/call_session_file_rotating_log_sink.cc",
       "src/jni/pc/crypto_options.cc",
       "src/jni/pc/crypto_options.h",
+      "src/jni/pc/cryptooptions.h",
       "src/jni/pc/data_channel.cc",
       "src/jni/pc/data_channel.h",
+      "src/jni/pc/datachannel.h",
       "src/jni/pc/dtmf_sender.cc",
       "src/jni/pc/ice_candidate.cc",
       "src/jni/pc/ice_candidate.h",
+      "src/jni/pc/icecandidate.h",
       "src/jni/pc/media_constraints.cc",
       "src/jni/pc/media_constraints.h",
       "src/jni/pc/media_source.cc",
@@ -712,16 +730,24 @@
       "src/jni/pc/media_stream.h",
       "src/jni/pc/media_stream_track.cc",
       "src/jni/pc/media_stream_track.h",
+      "src/jni/pc/mediaconstraints.h",
+      "src/jni/pc/mediastream.h",
+      "src/jni/pc/mediastreamtrack.h",
       "src/jni/pc/owned_factory_and_threads.cc",
       "src/jni/pc/owned_factory_and_threads.h",
+      "src/jni/pc/ownedfactoryandthreads.h",
       "src/jni/pc/peer_connection.cc",
       "src/jni/pc/peer_connection.h",
       "src/jni/pc/peer_connection_factory.cc",
       "src/jni/pc/peer_connection_factory.h",
+      "src/jni/pc/peerconnection.h",
+      "src/jni/pc/peerconnectionfactory.h",
       "src/jni/pc/rtc_certificate.cc",
       "src/jni/pc/rtc_certificate.h",
       "src/jni/pc/rtc_stats_collector_callback_wrapper.cc",
       "src/jni/pc/rtc_stats_collector_callback_wrapper.h",
+      "src/jni/pc/rtccertificate.h",
+      "src/jni/pc/rtcstatscollectorcallbackwrapper.h",
       "src/jni/pc/rtp_parameters.cc",
       "src/jni/pc/rtp_parameters.h",
       "src/jni/pc/rtp_receiver.cc",
@@ -730,16 +756,25 @@
       "src/jni/pc/rtp_sender.h",
       "src/jni/pc/rtp_transceiver.cc",
       "src/jni/pc/rtp_transceiver.h",
+      "src/jni/pc/rtpparameters.h",
+      "src/jni/pc/rtpreceiver.h",
+      "src/jni/pc/rtpsender.h",
+      "src/jni/pc/rtptransceiver.h",
       "src/jni/pc/sdp_observer.cc",
       "src/jni/pc/sdp_observer.h",
+      "src/jni/pc/sdpobserver.h",
       "src/jni/pc/session_description.cc",
       "src/jni/pc/session_description.h",
+      "src/jni/pc/sessiondescription.h",
       "src/jni/pc/ssl_certificate_verifier_wrapper.cc",
       "src/jni/pc/ssl_certificate_verifier_wrapper.h",
+      "src/jni/pc/sslcertificateverifierwrapper.h",
       "src/jni/pc/stats_observer.cc",
       "src/jni/pc/stats_observer.h",
+      "src/jni/pc/statsobserver.h",
       "src/jni/pc/turn_customizer.cc",
       "src/jni/pc/turn_customizer.h",
+      "src/jni/pc/turncustomizer.h",
     ]
 
     deps = [
@@ -869,6 +904,7 @@
       "native_api/base/init.h",
       "native_api/base/network_monitor.cc",
       "native_api/base/network_monitor.h",
+      "native_api/base/networkmonitor.h",
     ]
 
     deps = [
@@ -933,6 +969,7 @@
     sources = [
       "native_api/peerconnection/peer_connection_factory.cc",
       "native_api/peerconnection/peer_connection_factory.h",
+      "native_api/peerconnection/peerconnectionfactory.h",
     ]
     deps = [
       ":base_jni",
@@ -951,6 +988,7 @@
     sources = [
       "native_api/video/video_source.cc",
       "native_api/video/video_source.h",
+      "native_api/video/videosource.h",
       "native_api/video/wrapper.cc",
       "native_api/video/wrapper.h",
     ]
@@ -1047,6 +1085,7 @@
     sources = [
       "src/jni/video_frame.cc",
       "src/jni/video_frame.h",
+      "src/jni/videoframe.h",
       "src/jni/wrapped_native_i420_buffer.cc",
       "src/jni/wrapped_native_i420_buffer.h",
     ]
@@ -1068,6 +1107,7 @@
     sources = [
       "src/jni/logging/log_sink.cc",
       "src/jni/logging/log_sink.h",
+      "src/jni/logging/logsink.h",
     ]
 
     deps = [
diff --git a/sdk/android/native_api/base/networkmonitor.h b/sdk/android/native_api/base/networkmonitor.h
new file mode 100644
index 0000000..b903741
--- /dev/null
+++ b/sdk/android/native_api/base/networkmonitor.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_NATIVE_API_BASE_NETWORKMONITOR_H_
+#define SDK_ANDROID_NATIVE_API_BASE_NETWORKMONITOR_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/native_api/base/network_monitor.h"
+
+#endif  // SDK_ANDROID_NATIVE_API_BASE_NETWORKMONITOR_H_
diff --git a/sdk/android/native_api/peerconnection/peerconnectionfactory.h b/sdk/android/native_api/peerconnection/peerconnectionfactory.h
new file mode 100644
index 0000000..a9cea0a
--- /dev/null
+++ b/sdk/android/native_api/peerconnection/peerconnectionfactory.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_NATIVE_API_PEERCONNECTION_PEERCONNECTIONFACTORY_H_
+#define SDK_ANDROID_NATIVE_API_PEERCONNECTION_PEERCONNECTIONFACTORY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/native_api/peerconnection/peer_connection_factory.h"
+
+#endif  // SDK_ANDROID_NATIVE_API_PEERCONNECTION_PEERCONNECTIONFACTORY_H_
diff --git a/sdk/android/native_api/video/videosource.h b/sdk/android/native_api/video/videosource.h
new file mode 100644
index 0000000..6b18c84
--- /dev/null
+++ b/sdk/android/native_api/video/videosource.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_NATIVE_API_VIDEO_VIDEOSOURCE_H_
+#define SDK_ANDROID_NATIVE_API_VIDEO_VIDEOSOURCE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/native_api/video/video_source.h"
+
+#endif  // SDK_ANDROID_NATIVE_API_VIDEO_VIDEOSOURCE_H_
diff --git a/sdk/android/src/jni/androidmediacodeccommon.h b/sdk/android/src/jni/androidmediacodeccommon.h
new file mode 100644
index 0000000..c0395ee
--- /dev/null
+++ b/sdk/android/src/jni/androidmediacodeccommon.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_ANDROIDMEDIACODECCOMMON_H_
+#define SDK_ANDROID_SRC_JNI_ANDROIDMEDIACODECCOMMON_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/android_media_codec_common.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_ANDROIDMEDIACODECCOMMON_H_
diff --git a/sdk/android/src/jni/androidnetworkmonitor.h b/sdk/android/src/jni/androidnetworkmonitor.h
new file mode 100644
index 0000000..704ffcb
--- /dev/null
+++ b/sdk/android/src/jni/androidnetworkmonitor.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_ANDROIDNETWORKMONITOR_H_
+#define SDK_ANDROID_SRC_JNI_ANDROIDNETWORKMONITOR_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/android_network_monitor.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_ANDROIDNETWORKMONITOR_H_
diff --git a/sdk/android/src/jni/androidnetworkmonitor_jni.h b/sdk/android/src/jni/androidnetworkmonitor_jni.h
new file mode 100644
index 0000000..4bd3d80
--- /dev/null
+++ b/sdk/android/src/jni/androidnetworkmonitor_jni.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_ANDROIDNETWORKMONITOR_JNI_H_
+#define SDK_ANDROID_SRC_JNI_ANDROIDNETWORKMONITOR_JNI_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/android_network_monitor_jni.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_ANDROIDNETWORKMONITOR_JNI_H_
diff --git a/sdk/android/src/jni/androidvideotracksource.h b/sdk/android/src/jni/androidvideotracksource.h
new file mode 100644
index 0000000..cfa2064
--- /dev/null
+++ b/sdk/android/src/jni/androidvideotracksource.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_ANDROIDVIDEOTRACKSOURCE_H_
+#define SDK_ANDROID_SRC_JNI_ANDROIDVIDEOTRACKSOURCE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/android_video_track_source.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_ANDROIDVIDEOTRACKSOURCE_H_
diff --git a/sdk/android/src/jni/classreferenceholder.h b/sdk/android/src/jni/classreferenceholder.h
new file mode 100644
index 0000000..a404336
--- /dev/null
+++ b/sdk/android/src/jni/classreferenceholder.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_CLASSREFERENCEHOLDER_H_
+#define SDK_ANDROID_SRC_JNI_CLASSREFERENCEHOLDER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/class_reference_holder.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_CLASSREFERENCEHOLDER_H_
diff --git a/sdk/android/src/jni/encodedimage.h b/sdk/android/src/jni/encodedimage.h
new file mode 100644
index 0000000..6192785
--- /dev/null
+++ b/sdk/android/src/jni/encodedimage.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_ENCODEDIMAGE_H_
+#define SDK_ANDROID_SRC_JNI_ENCODEDIMAGE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/encoded_image.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_ENCODEDIMAGE_H_
diff --git a/sdk/android/src/jni/logging/logsink.h b/sdk/android/src/jni/logging/logsink.h
new file mode 100644
index 0000000..8983cdd
--- /dev/null
+++ b/sdk/android/src/jni/logging/logsink.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_LOGGING_LOGSINK_H_
+#define SDK_ANDROID_SRC_JNI_LOGGING_LOGSINK_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/logging/log_sink.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_LOGGING_LOGSINK_H_
diff --git a/sdk/android/src/jni/nativecapturerobserver.h b/sdk/android/src/jni/nativecapturerobserver.h
new file mode 100644
index 0000000..98dcc70
--- /dev/null
+++ b/sdk/android/src/jni/nativecapturerobserver.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_NATIVECAPTUREROBSERVER_H_
+#define SDK_ANDROID_SRC_JNI_NATIVECAPTUREROBSERVER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/native_capturer_observer.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_NATIVECAPTUREROBSERVER_H_
diff --git a/sdk/android/src/jni/pc/androidnetworkmonitor.h b/sdk/android/src/jni/pc/androidnetworkmonitor.h
new file mode 100644
index 0000000..c5409a0
--- /dev/null
+++ b/sdk/android/src/jni/pc/androidnetworkmonitor.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_PC_ANDROIDNETWORKMONITOR_H_
+#define SDK_ANDROID_SRC_JNI_PC_ANDROIDNETWORKMONITOR_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/pc/android_network_monitor.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_PC_ANDROIDNETWORKMONITOR_H_
diff --git a/sdk/android/src/jni/pc/cryptooptions.h b/sdk/android/src/jni/pc/cryptooptions.h
new file mode 100644
index 0000000..ebd88bc
--- /dev/null
+++ b/sdk/android/src/jni/pc/cryptooptions.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_PC_CRYPTOOPTIONS_H_
+#define SDK_ANDROID_SRC_JNI_PC_CRYPTOOPTIONS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/pc/crypto_options.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_PC_CRYPTOOPTIONS_H_
diff --git a/sdk/android/src/jni/pc/datachannel.h b/sdk/android/src/jni/pc/datachannel.h
new file mode 100644
index 0000000..f62d773
--- /dev/null
+++ b/sdk/android/src/jni/pc/datachannel.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_PC_DATACHANNEL_H_
+#define SDK_ANDROID_SRC_JNI_PC_DATACHANNEL_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/pc/data_channel.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_PC_DATACHANNEL_H_
diff --git a/sdk/android/src/jni/pc/icecandidate.h b/sdk/android/src/jni/pc/icecandidate.h
new file mode 100644
index 0000000..96a659e
--- /dev/null
+++ b/sdk/android/src/jni/pc/icecandidate.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_PC_ICECANDIDATE_H_
+#define SDK_ANDROID_SRC_JNI_PC_ICECANDIDATE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/pc/ice_candidate.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_PC_ICECANDIDATE_H_
diff --git a/sdk/android/src/jni/pc/mediaconstraints.h b/sdk/android/src/jni/pc/mediaconstraints.h
new file mode 100644
index 0000000..f46a79f
--- /dev/null
+++ b/sdk/android/src/jni/pc/mediaconstraints.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_PC_MEDIACONSTRAINTS_H_
+#define SDK_ANDROID_SRC_JNI_PC_MEDIACONSTRAINTS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/pc/media_constraints.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_PC_MEDIACONSTRAINTS_H_
diff --git a/sdk/android/src/jni/pc/mediastream.h b/sdk/android/src/jni/pc/mediastream.h
new file mode 100644
index 0000000..81216b9
--- /dev/null
+++ b/sdk/android/src/jni/pc/mediastream.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_PC_MEDIASTREAM_H_
+#define SDK_ANDROID_SRC_JNI_PC_MEDIASTREAM_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/pc/media_stream.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_PC_MEDIASTREAM_H_
diff --git a/sdk/android/src/jni/pc/mediastreamtrack.h b/sdk/android/src/jni/pc/mediastreamtrack.h
new file mode 100644
index 0000000..779b80d
--- /dev/null
+++ b/sdk/android/src/jni/pc/mediastreamtrack.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_PC_MEDIASTREAMTRACK_H_
+#define SDK_ANDROID_SRC_JNI_PC_MEDIASTREAMTRACK_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/pc/media_stream_track.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_PC_MEDIASTREAMTRACK_H_
diff --git a/sdk/android/src/jni/pc/ownedfactoryandthreads.h b/sdk/android/src/jni/pc/ownedfactoryandthreads.h
new file mode 100644
index 0000000..2fb4d3d
--- /dev/null
+++ b/sdk/android/src/jni/pc/ownedfactoryandthreads.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_PC_OWNEDFACTORYANDTHREADS_H_
+#define SDK_ANDROID_SRC_JNI_PC_OWNEDFACTORYANDTHREADS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/pc/owned_factory_and_threads.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_PC_OWNEDFACTORYANDTHREADS_H_
diff --git a/sdk/android/src/jni/pc/peerconnection.h b/sdk/android/src/jni/pc/peerconnection.h
new file mode 100644
index 0000000..97e3870
--- /dev/null
+++ b/sdk/android/src/jni/pc/peerconnection.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_PC_PEERCONNECTION_H_
+#define SDK_ANDROID_SRC_JNI_PC_PEERCONNECTION_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/pc/peer_connection.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_PC_PEERCONNECTION_H_
diff --git a/sdk/android/src/jni/pc/peerconnectionfactory.h b/sdk/android/src/jni/pc/peerconnectionfactory.h
new file mode 100644
index 0000000..42f6fda
--- /dev/null
+++ b/sdk/android/src/jni/pc/peerconnectionfactory.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_PC_PEERCONNECTIONFACTORY_H_
+#define SDK_ANDROID_SRC_JNI_PC_PEERCONNECTIONFACTORY_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/pc/peer_connection_factory.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_PC_PEERCONNECTIONFACTORY_H_
diff --git a/sdk/android/src/jni/pc/rtccertificate.h b/sdk/android/src/jni/pc/rtccertificate.h
new file mode 100644
index 0000000..5ea5eba
--- /dev/null
+++ b/sdk/android/src/jni/pc/rtccertificate.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_PC_RTCCERTIFICATE_H_
+#define SDK_ANDROID_SRC_JNI_PC_RTCCERTIFICATE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/pc/rtc_certificate.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_PC_RTCCERTIFICATE_H_
diff --git a/sdk/android/src/jni/pc/rtcstatscollectorcallbackwrapper.h b/sdk/android/src/jni/pc/rtcstatscollectorcallbackwrapper.h
new file mode 100644
index 0000000..61c5ec3
--- /dev/null
+++ b/sdk/android/src/jni/pc/rtcstatscollectorcallbackwrapper.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_PC_RTCSTATSCOLLECTORCALLBACKWRAPPER_H_
+#define SDK_ANDROID_SRC_JNI_PC_RTCSTATSCOLLECTORCALLBACKWRAPPER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/pc/rtc_stats_collector_callback_wrapper.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_PC_RTCSTATSCOLLECTORCALLBACKWRAPPER_H_
diff --git a/sdk/android/src/jni/pc/rtpparameters.h b/sdk/android/src/jni/pc/rtpparameters.h
new file mode 100644
index 0000000..646a550
--- /dev/null
+++ b/sdk/android/src/jni/pc/rtpparameters.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_PC_RTPPARAMETERS_H_
+#define SDK_ANDROID_SRC_JNI_PC_RTPPARAMETERS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/pc/rtp_parameters.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_PC_RTPPARAMETERS_H_
diff --git a/sdk/android/src/jni/pc/rtpreceiver.h b/sdk/android/src/jni/pc/rtpreceiver.h
new file mode 100644
index 0000000..a96c0ca
--- /dev/null
+++ b/sdk/android/src/jni/pc/rtpreceiver.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_PC_RTPRECEIVER_H_
+#define SDK_ANDROID_SRC_JNI_PC_RTPRECEIVER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/pc/rtp_receiver.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_PC_RTPRECEIVER_H_
diff --git a/sdk/android/src/jni/pc/rtpsender.h b/sdk/android/src/jni/pc/rtpsender.h
new file mode 100644
index 0000000..a7d4328
--- /dev/null
+++ b/sdk/android/src/jni/pc/rtpsender.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_PC_RTPSENDER_H_
+#define SDK_ANDROID_SRC_JNI_PC_RTPSENDER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/pc/rtp_sender.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_PC_RTPSENDER_H_
diff --git a/sdk/android/src/jni/pc/rtptransceiver.h b/sdk/android/src/jni/pc/rtptransceiver.h
new file mode 100644
index 0000000..1696a8a
--- /dev/null
+++ b/sdk/android/src/jni/pc/rtptransceiver.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_PC_RTPTRANSCEIVER_H_
+#define SDK_ANDROID_SRC_JNI_PC_RTPTRANSCEIVER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/pc/rtp_transceiver.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_PC_RTPTRANSCEIVER_H_
diff --git a/sdk/android/src/jni/pc/sdpobserver.h b/sdk/android/src/jni/pc/sdpobserver.h
new file mode 100644
index 0000000..6a91933
--- /dev/null
+++ b/sdk/android/src/jni/pc/sdpobserver.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_PC_SDPOBSERVER_H_
+#define SDK_ANDROID_SRC_JNI_PC_SDPOBSERVER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/pc/sdp_observer.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_PC_SDPOBSERVER_H_
diff --git a/sdk/android/src/jni/pc/sessiondescription.h b/sdk/android/src/jni/pc/sessiondescription.h
new file mode 100644
index 0000000..939a430
--- /dev/null
+++ b/sdk/android/src/jni/pc/sessiondescription.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_PC_SESSIONDESCRIPTION_H_
+#define SDK_ANDROID_SRC_JNI_PC_SESSIONDESCRIPTION_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/pc/session_description.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_PC_SESSIONDESCRIPTION_H_
diff --git a/sdk/android/src/jni/pc/sslcertificateverifierwrapper.h b/sdk/android/src/jni/pc/sslcertificateverifierwrapper.h
new file mode 100644
index 0000000..f22f171
--- /dev/null
+++ b/sdk/android/src/jni/pc/sslcertificateverifierwrapper.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_PC_SSLCERTIFICATEVERIFIERWRAPPER_H_
+#define SDK_ANDROID_SRC_JNI_PC_SSLCERTIFICATEVERIFIERWRAPPER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/pc/ssl_certificate_verifier_wrapper.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_PC_SSLCERTIFICATEVERIFIERWRAPPER_H_
diff --git a/sdk/android/src/jni/pc/statsobserver.h b/sdk/android/src/jni/pc/statsobserver.h
new file mode 100644
index 0000000..50d6355
--- /dev/null
+++ b/sdk/android/src/jni/pc/statsobserver.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_PC_STATSOBSERVER_H_
+#define SDK_ANDROID_SRC_JNI_PC_STATSOBSERVER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/pc/stats_observer.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_PC_STATSOBSERVER_H_
diff --git a/sdk/android/src/jni/pc/turncustomizer.h b/sdk/android/src/jni/pc/turncustomizer.h
new file mode 100644
index 0000000..9718dd4
--- /dev/null
+++ b/sdk/android/src/jni/pc/turncustomizer.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_PC_TURNCUSTOMIZER_H_
+#define SDK_ANDROID_SRC_JNI_PC_TURNCUSTOMIZER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/pc/turn_customizer.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_PC_TURNCUSTOMIZER_H_
diff --git a/sdk/android/src/jni/videocodecinfo.h b/sdk/android/src/jni/videocodecinfo.h
new file mode 100644
index 0000000..5ceb010
--- /dev/null
+++ b/sdk/android/src/jni/videocodecinfo.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_VIDEOCODECINFO_H_
+#define SDK_ANDROID_SRC_JNI_VIDEOCODECINFO_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/video_codec_info.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_VIDEOCODECINFO_H_
diff --git a/sdk/android/src/jni/videocodecstatus.h b/sdk/android/src/jni/videocodecstatus.h
new file mode 100644
index 0000000..c8136ba
--- /dev/null
+++ b/sdk/android/src/jni/videocodecstatus.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_VIDEOCODECSTATUS_H_
+#define SDK_ANDROID_SRC_JNI_VIDEOCODECSTATUS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/video_codec_status.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_VIDEOCODECSTATUS_H_
diff --git a/sdk/android/src/jni/videodecoderfactorywrapper.h b/sdk/android/src/jni/videodecoderfactorywrapper.h
new file mode 100644
index 0000000..60513bd
--- /dev/null
+++ b/sdk/android/src/jni/videodecoderfactorywrapper.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_VIDEODECODERFACTORYWRAPPER_H_
+#define SDK_ANDROID_SRC_JNI_VIDEODECODERFACTORYWRAPPER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/video_decoder_factory_wrapper.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_VIDEODECODERFACTORYWRAPPER_H_
diff --git a/sdk/android/src/jni/videodecoderwrapper.h b/sdk/android/src/jni/videodecoderwrapper.h
new file mode 100644
index 0000000..78fd73d
--- /dev/null
+++ b/sdk/android/src/jni/videodecoderwrapper.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_VIDEODECODERWRAPPER_H_
+#define SDK_ANDROID_SRC_JNI_VIDEODECODERWRAPPER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/video_decoder_wrapper.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_VIDEODECODERWRAPPER_H_
diff --git a/sdk/android/src/jni/videoencoderfactorywrapper.h b/sdk/android/src/jni/videoencoderfactorywrapper.h
new file mode 100644
index 0000000..c42771c
--- /dev/null
+++ b/sdk/android/src/jni/videoencoderfactorywrapper.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_VIDEOENCODERFACTORYWRAPPER_H_
+#define SDK_ANDROID_SRC_JNI_VIDEOENCODERFACTORYWRAPPER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/video_encoder_factory_wrapper.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_VIDEOENCODERFACTORYWRAPPER_H_
diff --git a/sdk/android/src/jni/videoencoderwrapper.h b/sdk/android/src/jni/videoencoderwrapper.h
new file mode 100644
index 0000000..144a001
--- /dev/null
+++ b/sdk/android/src/jni/videoencoderwrapper.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_VIDEOENCODERWRAPPER_H_
+#define SDK_ANDROID_SRC_JNI_VIDEOENCODERWRAPPER_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/video_encoder_wrapper.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_VIDEOENCODERWRAPPER_H_
diff --git a/sdk/android/src/jni/videoframe.h b/sdk/android/src/jni/videoframe.h
new file mode 100644
index 0000000..3a8110e
--- /dev/null
+++ b/sdk/android/src/jni/videoframe.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_VIDEOFRAME_H_
+#define SDK_ANDROID_SRC_JNI_VIDEOFRAME_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/video_frame.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_VIDEOFRAME_H_
diff --git a/sdk/android/src/jni/videosink.h b/sdk/android/src/jni/videosink.h
new file mode 100644
index 0000000..04a337d
--- /dev/null
+++ b/sdk/android/src/jni/videosink.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef SDK_ANDROID_SRC_JNI_VIDEOSINK_H_
+#define SDK_ANDROID_SRC_JNI_VIDEOSINK_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "sdk/android/src/jni/video_sink.h"
+
+#endif  // SDK_ANDROID_SRC_JNI_VIDEOSINK_H_
diff --git a/stats/BUILD.gn b/stats/BUILD.gn
index 85fe091..4cd2fc8 100644
--- a/stats/BUILD.gn
+++ b/stats/BUILD.gn
@@ -36,6 +36,7 @@
   sources = [
     "test/rtc_test_stats.cc",
     "test/rtc_test_stats.h",
+    "test/rtcteststats.h",
   ]
 
   deps = [
diff --git a/stats/test/rtcteststats.h b/stats/test/rtcteststats.h
new file mode 100644
index 0000000..9e61c9d
--- /dev/null
+++ b/stats/test/rtcteststats.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef STATS_TEST_RTCTESTSTATS_H_
+#define STATS_TEST_RTCTESTSTATS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "stats/test/rtc_test_stats.h"
+
+#endif  // STATS_TEST_RTCTESTSTATS_H_
diff --git a/test/BUILD.gn b/test/BUILD.gn
index 786f3c0..bbd0ebb 100644
--- a/test/BUILD.gn
+++ b/test/BUILD.gn
@@ -400,6 +400,7 @@
     sources = [
       "testsupport/ios_file_utils.h",
       "testsupport/ios_file_utils.mm",
+      "testsupport/iosfileutils.h",
     ]
     deps = [
       "..:webrtc_common",
@@ -419,6 +420,7 @@
     sources = [
       "testsupport/mac_file_utils.h",
       "testsupport/mac_file_utils.mm",
+      "testsupport/macfileutils.h",
     ]
     deps = [
       "../rtc_base:checks",
@@ -432,6 +434,7 @@
   sources = [
     "testsupport/file_utils.cc",
     "testsupport/file_utils.h",
+    "testsupport/fileutils.h",
   ]
   deps = [
     ":fileutils_override_api",
@@ -459,6 +462,7 @@
   testonly = true
   sources = [
     "testsupport/file_utils_override.h",
+    "testsupport/fileutils_override.h",
   ]
 }
 
diff --git a/test/testsupport/fileutils.h b/test/testsupport/fileutils.h
new file mode 100644
index 0000000..a5cf8c0
--- /dev/null
+++ b/test/testsupport/fileutils.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef TEST_TESTSUPPORT_FILEUTILS_H_
+#define TEST_TESTSUPPORT_FILEUTILS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "test/testsupport/file_utils.h"
+
+#endif  // TEST_TESTSUPPORT_FILEUTILS_H_
diff --git a/test/testsupport/fileutils_override.h b/test/testsupport/fileutils_override.h
new file mode 100644
index 0000000..3cae9aa
--- /dev/null
+++ b/test/testsupport/fileutils_override.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef TEST_TESTSUPPORT_FILEUTILS_OVERRIDE_H_
+#define TEST_TESTSUPPORT_FILEUTILS_OVERRIDE_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "test/testsupport/file_utils_override.h"
+
+#endif  // TEST_TESTSUPPORT_FILEUTILS_OVERRIDE_H_
diff --git a/test/testsupport/iosfileutils.h b/test/testsupport/iosfileutils.h
new file mode 100644
index 0000000..ad5a1f1
--- /dev/null
+++ b/test/testsupport/iosfileutils.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef TEST_TESTSUPPORT_IOSFILEUTILS_H_
+#define TEST_TESTSUPPORT_IOSFILEUTILS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "test/testsupport/ios_file_utils.h"
+
+#endif  // TEST_TESTSUPPORT_IOSFILEUTILS_H_
diff --git a/test/testsupport/macfileutils.h b/test/testsupport/macfileutils.h
new file mode 100644
index 0000000..56c6860
--- /dev/null
+++ b/test/testsupport/macfileutils.h
@@ -0,0 +1,19 @@
+/*
+ *  Copyright 2019 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.
+ */
+
+#ifndef TEST_TESTSUPPORT_MACFILEUTILS_H_
+#define TEST_TESTSUPPORT_MACFILEUTILS_H_
+
+// TODO(bugs.webrtc.org/10159): Remove this files once downstream projects have
+// been updated to include the new path.
+
+#include "test/testsupport/mac_file_utils.h"
+
+#endif  // TEST_TESTSUPPORT_MACFILEUTILS_H_
