The PeerConnection API went through a transition from Track-based to Transceiver-based API. Nowadays, it's a very common mistake to mix them inconsistently, especially caused by Google- or StackOverflow-based development, because examples online tend to be old and BAD. Corresponds to equivalent code in OpenVidu-Browser: https://github.com/OpenVidu/openvidu/blob/v2.20.0/openvidu-browser/src/OpenViduInternal/WebRtcPeer/WebRtcPeer.ts#L187-L248