<!-- go/cmark -->

<!--* freshness: {owner: 'hbos' reviewed: '2026-06-17'} *-->

# PeerConnection and friends

The PeerConnection is the C++-level implementation of the Javascript object
"RTCPeerConnection" from the
[WEBRTC specification](https://w3c.github.io/webrtc-pc/).

Like many objects in WebRTC, the PeerConnection is used via a factory and an
observer:

- PeerConnectionFactory, which is created via a static Create method and takes a
  PeerConnectionFactoryDependencies structure listing such things as non-default
  threads and factories for use by all PeerConnections using the same factory.
  (Using more than one factory should be avoided, since it takes more
  resources.)
- PeerConnection itself, which is created by the method called
  PeerConnectionFactory::CreatePeerConnectionOrError, and takes a
  PeerConnectionInterface::RTCConfiguration argument, as well as a
  PeerConnectionDependencies (even more factories, plus other stuff).
- PeerConnectionObserver (a member of PeerConnectionDependencies), which
  contains the functions that will be called on events in the PeerConnection

These types are visible in the API.

## Internal structure of PeerConnection and friends

The PeerConnection is, to a large extent, a "God object" - most things that are
done in WebRTC require a PeerConnection.

Internally, it is divided into several objects, each with its own
responsibilities, all of which are owned by the PeerConnection and live as long
as the PeerConnection:

- SdpOfferAnswerHandler takes care of negotiating configurations with a remote
  peer, using SDP-formatted descriptions.
- RtpTransmissionManager takes care of the lists of RtpSenders, RtpReceivers and
  RtpTransceivers that form the heart of the transmission service.
- DataChannelController takes care of managing the PeerConnection's DataChannels
  and its SctpTransport.
- JsepTransportController takes care of configuring the details of senders and
  receivers.
- Call does management of overall call state.
- RtcStatsCollector (and its obsolete sibling, LegacyStatsCollector) collects
  statistics from all the objects comprising the PeerConnection when requested.

There are a number of other smaller objects that are also owned by the
PeerConnection, but it would take too much space to describe them all here;
please consult the .h files.

PeerConnectionFactory owns an object called ConnectionContext, and a reference
to this is passed to each PeerConnection. It is referenced via an
webrtc::scoped_refptr, which means that it is guaranteed to be alive as long as
either the factory or one of the PeerConnections is using it.
