RTCPeerConnection: removeStream() method

Deprecated

Avoid using this feature in new projects. This feature may be a candidate for removal from web standards or browsers.

Non-standard: This feature is not standardized. We do not recommend using non-standard features in production, as they have limited browser support, and may change or be removed. However, they can be a suitable alternative in specific cases where no standard option exists.

The removeStream() method of the RTCPeerConnection interface removes a MediaStream as a local source of audio or video. If the negotiation already happened, a new one will be needed for the remote peer to be able to use it. Because this method has been deprecated, you should instead use removeTrack() if your target browser versions have implemented it.

If the signalingState is set to "closed", an InvalidStateError is raised. If the signalingState is set to "stable", the event negotiationneeded is sent on the RTCPeerConnection.

Syntax

js
removeStream(mediaStream)

Parameters

mediaStream

A MediaStream specifying the stream to remove from the connection.

Return value

undefined.

Example

js
let pc;
let videoStream;
navigator.getUserMedia({ video: true }, (stream) => {
  pc = new RTCPeerConnection();
  videoStream = stream;
  pc.addStream(stream);
});
document.getElementById("closeButton").addEventListener("click", (event) => {
  pc.removeStream(videoStream);
  pc.close();
});

Browser compatibility

See also