docs: def addTransceiver(self, trackOrKind, direction='sendrecv'):
          """
          Add a new :class:`RTCRtpTransceiver`.
          """
          self.__assertNotClosed()
  
          # determine track or kind
          if hasattr(trackOrKind, 'kind'):
              kind = trackOrKind.kind
              track = trackOrKind
          else:
              kind = trackOrKind
              track = None
          if kind not in ['audio', 'video']:
              raise InternalError('Invalid track kind "%s"' % kind)
  
          # check direction
          if direction not in sdp.DIRECTIONS:
              raise InternalError('Invalid direction "%s"' % direction)
  
          # don't add track twice
          if track:
              self.__assertTrackHasNoSender(track)
  
          return self.__createTransceiver(
              direction=direction,
              kind=kind,
              sender_track=track)