Break out data_channel_controller from peerconnection target

Bug: webrtc:11943
Change-Id: I80c6b1be770f4e99cc7e21ef0e30977198166f88
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251323
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35949}
diff --git a/pc/data_channel_controller.h b/pc/data_channel_controller.h
index af0e063..00d38f0 100644
--- a/pc/data_channel_controller.h
+++ b/pc/data_channel_controller.h
@@ -38,12 +38,12 @@
 
 namespace webrtc {
 
-class PeerConnection;
+class PeerConnectionInternal;
 
 class DataChannelController : public SctpDataChannelProviderInterface,
                               public DataChannelSink {
  public:
-  explicit DataChannelController(PeerConnection* pc) : pc_(pc) {}
+  explicit DataChannelController(PeerConnectionInternal* pc) : pc_(pc) {}
 
   // Not copyable or movable.
   DataChannelController(DataChannelController&) = delete;
@@ -180,7 +180,7 @@
       RTC_GUARDED_BY(signaling_thread());
 
   // Owning PeerConnection.
-  PeerConnection* const pc_;
+  PeerConnectionInternal* const pc_;
   // The weak pointers must be dereferenced and invalidated on the signalling
   // thread only.
   rtc::WeakPtrFactory<DataChannelController> weak_factory_{this};