Whenever an receives data on an RTP source whose corresponding MediaStreamTrack is muted, but not ended, and the slot of the RTCRtpTransceiver object the is a member of is true, it MUST queue a task to set the muted state of the corresponding to false.

    When one of the SSRCs for RTP source media streams received by an RTCRtpReceiver is removed either due to reception of a BYE or via timeout, it MUST queue a task to of the corresponding MediaStreamTrack to true. Note that can also lead to the setting of the muted state of the to the value true.

    When a MediaStreamTrack track produced by an receiver has ended [GETUSERMEDIA] (such as via a call to receiver..stop), the user agent MAY choose to free resources allocated for the incoming stream, by for instance turning off the decoder of receiver.

    9.3.1 MediaTrackSupportedConstraints, MediaTrackCapabilities, MediaTrackConstraints and MediaTrackSettings

    The concept of constraints and constrainable properties, including MediaTrackConstraints (.getConstraints(), MediaStreamTrack.applyConstraints()), and (.getSettings()) are outlined in []. However, the constrainable properties of tracks sourced from a peer connection are different than those sourced by getUserMedia(); the constraints and settings applicable to MediaStreamTracks sourced from a are defined here. The settings of a remote track represent the latest frame received.

    The following constrainable properties are defined to apply to video MediaStreamTracks sourced from a :

    This document does not define any constrainable properties to apply to audio s sourced from a .