Subject: [rtcweb] JSEP: RemoveTrack()

From: Bernard Aboba <[email-masked]>
Date: Fri, 11 Nov 2016 15:33:01 -0800

JSEP Section 4.1.2 talks about addTrack(), but there is no equivalent
section relating to removeTrack().

The current text relating to removeTrack in WebRTC 1.0 Section 5.1 is a bit
confusing:

"Stops sending media from sender. The RTCRtpSender
<https://www.w3.org/TR/webrtc/#dom-rtcrtpsender> will still appear in
getSenders. Doing so will cause future calls to createOffer to mark the media
description <https://www.w3.org/TR/webrtc/#dfn-media-description> for the
corresponding transceiver as recvonlyor inactive, as defined in [JSEP
<https://www.w3.org/TR/webrtc/#bib-JSEP>] (section 5.2.2.
<https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-15#section-5.2.2>)."

[BA] Since the above text refers to future calls marking the media
description, this sounds a lot like a call to setDirection("recvonly") or
setDirection("inactive").  However, this would not result in the sender
immediately stopping the sending of media.

Since removeTrack is reversible, I would presume it is not equivalent to
transceiver.stop() which would be permanent.  While setting the
encodings[].active attribute to false would stop sending, that would seem
inconsistent with the reference to future calls, which seems to lean more
towards setting the direction of the transceiver.