title: WebRTC logic for stream renegotiation (enable/disable video)
body: <p>I've been using SimpleWebRTC in my app for a while. It's very easy to setup and works well for simple apps. However, I need to be able to disable/enable video without affecting audio in my app, and this is where SimpleWebRTC falls short. Searching a few other StackOverflow questions revealed that this seems to be called 'renegotiation'.</p>
  
  <p>Apparently up until relatively recently (last year or two?) browsers did not expose <code>MediaStreamTrack</code>s (<a href="https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack" rel="nofollow noreferrer">https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack</a>), which made renegotiation impossible. Now this is apparently possible, but I don't see any wrapper library doing this. Actually, most of the popular WebRTC libraries don't seem to be maintained at all anymore.</p>
  
  <p>Has anyone worked with stream renegotiation and can point me in the right direction, either to a library that implements it, a polyfill, or some guidance on how I can implement this via current WebRTC standards? I don't mind getting rid of a library in favor of barebones WebRTC, I'm just not sure what's the proper way of ending/starting connection consistently is, since implementations still seem finicky between browsers.</p>