@@ -185,10 +185,35 @@ def get_receivers(self) -> List['webrtc.RTCRtpReceiver']:
185185
186186 return RTCRtpReceiver ._wrap_many (self ._native_obj .getReceivers ())
187187
188+ def remove_track (self , sender : 'webrtc.RTCRtpSender' ) -> None :
189+ """Tells the local end of the connection to stop sending media from the specified track, without
190+ actually removing the corresponding :obj:`webrtc.RTCRtpSender` from the list of senders as reported
191+ by :attr:`get_senders``. If the track is already stopped, or is not in the connection's senders list,
192+ this method has no effect."""
193+ return self ._native_obj .removeTrack (sender ._native_obj )
194+
195+ def restart_ice (self ) -> None :
196+ """Allows to easily request that ICE candidate gathering be redone on both ends of the connection.
197+ This simplifies the process by allowing the same method to be used by either the caller or the receiver
198+ to trigger an ICE restart."""
199+ return self ._native_obj .restartIce ()
200+
188201 def close (self ):
189202 """Closes the current peer connection."""
190203 return self ._native_obj .close ()
191204
205+ @property
206+ def sctp (self ) -> Optional ['webrtc.RTCSctpTransport' ]:
207+ """:obj:`webrtc.RTCSctpTransport`, optional: An object describing the SCTP transport layer over which SCTP
208+ data is being sent and received. If SCTP hasn't been negotiated, this value is :obj:`None`"""
209+ from webrtc import RTCSctpTransport
210+
211+ sctp = self ._native_obj .sctp
212+ if sctp :
213+ return RTCSctpTransport ._wrap (sctp )
214+
215+ return None
216+
192217 #: Alias for :attr:`create_offer`
193218 createOffer = create_offer
194219 #: Alias for :attr:`create_answer`
@@ -207,3 +232,7 @@ def close(self):
207232 getSenders = get_senders
208233 #: Alias for :attr:`get_receivers`
209234 getReceivers = get_receivers
235+ #: Alias for :attr:`remove_track`
236+ removeTrack = remove_track
237+ #: Alias for :attr:`restart_ice`
238+ restartIce = restart_ice
0 commit comments