Related WebRTC 1.0 issue: w3c/webrtc-pc#961
Here is the resolution being proposed in the WEBRTC WG:
BYE is sent only if SSRC won’t be used again.
When sender.stop() is called, a BYE is sent for all of the sender’s encodings.ssrc
No BYE sent when setTrack(null) is called because setTrack(anotherTrack) might cause the SSRC to become active again (though the remote receiver might timeout the SSRC, as described in RFC 3550 Section 6.3.5).
No BYE sent when sender.track.enabled is set to "false" since sender.track.enabled could be set back to “true”, reactivating the SSRC.
Steps taken when RTCRtpSender.stop() is called
Fix for Issue #639
Effect of a BYE on receiver.track
Partial fix for Issue #639