files/en-us/web/api/rtcpeerconnection/removestream/index.md
{{APIRef("WebRTC")}}{{Deprecated_Header}}{{Non-standard_Header}}
The removeStream() method of the {{domxref("RTCPeerConnection")}} interface removes a {{domxref("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 {{domxref("RTCPeerConnection.removeTrack", "removeTrack()")}} if your target browser versions have implemented it.
If the {{domxref("RTCPeerConnection.signalingState", "signalingState")}} is set to "closed", an InvalidStateError is raised.
If the {{domxref("RTCPeerConnection.signalingState", "signalingState")}} is set to "stable", the event {{DOMxRef("RTCPeerConnection/negotiationneeded_event", "negotiationneeded")}} is sent on the {{domxref("RTCPeerConnection")}}.
removeStream(mediaStream)
mediaStream
{{jsxref("undefined")}}.
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();
});
{{Compat}}