New issue: switching sources

The scenario is simple: a user acquires a front-facing camera and wish
to switch to a rear-facing camera.

This currently requires all sorts of work: gUM, futzing with
RTCPeerConnection, signaling/negotiation, manual switching of what is
displayed at the receiver.

The only method we have that would allow for seamless switching of
sources is to use webaudio to switch between sources.  The identifier
of the stream produced by the webaudio graph would be stable as a

One reason that we don't have an elegant way to switch sources is that
we have a very old decision to copy the identifier used at the sender
through to the receiving end.  That decision constrains us.

It's also possible that two tracks are incompatible, so we have to be
prepared to deal with that possibility and have a way to signal errors
(we couldn't switch out an audio track for a video track, same goes
for tracks from cameras with incompatible hardware encoders).

Potential solutions would be to:
 - make the track id mutable so that you can change tracks; that makes basically useless, but then that was already the case when we
allowed id to be duplicated.

 - decouple the track identifiers and make a new API for switching
tracks out; that makes it hard for us to manage the whole morass of
msid and SDP mappings

I think that's all there was.  The discussion was moving pretty fast.

Received on Monday, 19 May 2014 20:35:03 UTC